5434 |
17 May 19 |
nicklas |
1 |
package net.sf.basedb.reggie.dao; |
5434 |
17 May 19 |
nicklas |
2 |
|
5434 |
17 May 19 |
nicklas |
3 |
import java.lang.reflect.Field; |
5543 |
06 Aug 19 |
nicklas |
4 |
import java.lang.reflect.Modifier; |
5434 |
17 May 19 |
nicklas |
5 |
|
5479 |
10 Jun 19 |
nicklas |
6 |
import org.json.simple.JSONObject; |
5479 |
10 Jun 19 |
nicklas |
7 |
|
5434 |
17 May 19 |
nicklas |
8 |
import net.sf.basedb.core.Annotatable; |
5434 |
17 May 19 |
nicklas |
9 |
import net.sf.basedb.core.DbControl; |
5434 |
17 May 19 |
nicklas |
10 |
import net.sf.basedb.core.ItemQuery; |
5472 |
05 Jun 19 |
nicklas |
11 |
import net.sf.basedb.core.Type; |
5434 |
17 May 19 |
nicklas |
12 |
import net.sf.basedb.core.query.Annotations; |
5434 |
17 May 19 |
nicklas |
13 |
import net.sf.basedb.core.query.Expressions; |
5434 |
17 May 19 |
nicklas |
14 |
import net.sf.basedb.core.query.Hql; |
7201 |
25 May 23 |
nicklas |
15 |
import net.sf.basedb.core.query.Restriction; |
5434 |
17 May 19 |
nicklas |
16 |
import net.sf.basedb.core.query.Restrictions; |
5434 |
17 May 19 |
nicklas |
17 |
|
5434 |
17 May 19 |
nicklas |
18 |
/** |
5434 |
17 May 19 |
nicklas |
Class for collection pipeline-specific settings that |
5434 |
17 May 19 |
nicklas |
are needed in various stages during the lab and analysis |
5434 |
17 May 19 |
nicklas |
processes. |
5434 |
17 May 19 |
nicklas |
22 |
|
5434 |
17 May 19 |
nicklas |
Expect this class to evolve as more things are implemented. |
5434 |
17 May 19 |
nicklas |
24 |
|
5434 |
17 May 19 |
nicklas |
@author nicklas |
5434 |
17 May 19 |
nicklas |
@since 4.23 |
5434 |
17 May 19 |
nicklas |
27 |
*/ |
5434 |
17 May 19 |
nicklas |
28 |
public class Pipeline |
5434 |
17 May 19 |
nicklas |
29 |
{ |
5434 |
17 May 19 |
nicklas |
30 |
|
5434 |
17 May 19 |
nicklas |
31 |
/** |
5434 |
17 May 19 |
nicklas |
The RNA sequencing pipeline. |
5434 |
17 May 19 |
nicklas |
33 |
*/ |
7218 |
30 May 23 |
nicklas |
34 |
public static final Pipeline RNA_SEQ = new Pipeline("RNA_SEQ", "RNAseq", false, true) |
5865 |
12 Mar 20 |
nicklas |
35 |
{ |
5865 |
12 Mar 20 |
nicklas |
36 |
/** |
5865 |
12 Mar 20 |
nicklas |
On the NovaSeq we use the TruSeq Unique Dual indexes, otherwise, the TruSeq Single indexes |
5865 |
12 Mar 20 |
nicklas |
38 |
*/ |
5865 |
12 Mar 20 |
nicklas |
39 |
@Override |
5865 |
12 Mar 20 |
nicklas |
40 |
public BarcodeSet getBarcodeSet(String flowcellType) |
5865 |
12 Mar 20 |
nicklas |
41 |
{ |
5865 |
12 Mar 20 |
nicklas |
42 |
return FlowCell.FLOW_CELL_TYPE_NOVASEQ.equals(flowcellType) ? BarcodeSet.TRUSEQ_UNIQUE_DUAL : BarcodeSet.TRUSEQ_SINGLE; |
5865 |
12 Mar 20 |
nicklas |
43 |
} |
5865 |
12 Mar 20 |
nicklas |
44 |
}; |
5434 |
17 May 19 |
nicklas |
45 |
|
5434 |
17 May 19 |
nicklas |
46 |
/** |
5434 |
17 May 19 |
nicklas |
The MIPs DNA sequencing pipeline. |
5434 |
17 May 19 |
nicklas |
48 |
*/ |
7218 |
30 May 23 |
nicklas |
49 |
public static final Pipeline MIPS = new Pipeline("MIPS", "MIPs", true, true); |
5434 |
17 May 19 |
nicklas |
50 |
|
5434 |
17 May 19 |
nicklas |
51 |
/** |
5546 |
07 Aug 19 |
nicklas |
The legacy RNAseq alignment and analysis pipeline that uses Tophat and Cufflinks. |
5543 |
06 Aug 19 |
nicklas |
53 |
*/ |
7218 |
30 May 23 |
nicklas |
54 |
public static final Pipeline RNASEQ_LEGACY = new Pipeline("RNASEQ_LEGACY", "RNAseq/Legacy", false, true); |
5543 |
06 Aug 19 |
nicklas |
55 |
|
5543 |
06 Aug 19 |
nicklas |
56 |
/** |
5546 |
07 Aug 19 |
nicklas |
The new RNAseq alignment and analysis pipeline that uses Hisat and StringTie. |
5546 |
07 Aug 19 |
nicklas |
58 |
*/ |
7218 |
30 May 23 |
nicklas |
59 |
public static final Pipeline RNASEQ_HISAT_STRINGTIE = new Pipeline("RNASEQ_HISAT_STRINGTIE", "RNAseq/Hisat/StringTie", false, true); |
5546 |
07 Aug 19 |
nicklas |
60 |
|
5725 |
13 Nov 19 |
nicklas |
61 |
/** |
6811 |
25 Aug 22 |
nicklas |
The RNAseq 2023 alignment and analysis pipeline that uses newer versions of |
6807 |
24 Aug 22 |
nicklas |
Hisat and StringTie. |
6811 |
25 Aug 22 |
nicklas |
@since 4.40 |
6807 |
24 Aug 22 |
nicklas |
65 |
*/ |
7218 |
30 May 23 |
nicklas |
66 |
public static final Pipeline RNASEQ_HISAT_2023 = new Pipeline("RNASEQ_HISAT_2023", "RNAseq/Hisat/2023", false, true); |
6811 |
25 Aug 22 |
nicklas |
67 |
|
6811 |
25 Aug 22 |
nicklas |
68 |
/** |
6811 |
25 Aug 22 |
nicklas |
The RNAseq 2023 alignment and analysis pipeline that uses newer versions of |
6811 |
25 Aug 22 |
nicklas |
Hisat and StringTie. |
6811 |
25 Aug 22 |
nicklas |
@since 4.40 |
6811 |
25 Aug 22 |
nicklas |
72 |
*/ |
7218 |
30 May 23 |
nicklas |
73 |
public static final Pipeline RNASEQ_STRINGTIE_2023 = new Pipeline("RNASEQ_STRINGTIE_2023", "RNAseq/StringTie/2023", false, true); |
6811 |
25 Aug 22 |
nicklas |
74 |
|
6807 |
24 Aug 22 |
nicklas |
75 |
|
6807 |
24 Aug 22 |
nicklas |
76 |
/** |
5725 |
13 Nov 19 |
nicklas |
The new RNAseq alignment and analysis pipeline that uses Hisat and VariantCalling. |
5725 |
13 Nov 19 |
nicklas |
@since 4.24 |
5725 |
13 Nov 19 |
nicklas |
79 |
*/ |
7218 |
30 May 23 |
nicklas |
80 |
public static final Pipeline RNASEQ_HISAT_VARIANTCALL = new Pipeline("RNASEQ_HISAT_VARIANTCALL", "RNAseq/Hisat/VariantCall", false, true); |
5546 |
07 Aug 19 |
nicklas |
81 |
|
6461 |
01 Nov 21 |
nicklas |
82 |
/** |
6461 |
01 Nov 21 |
nicklas |
Pipeline for genotyping from blood DNA. |
6461 |
01 Nov 21 |
nicklas |
@since 4.34 |
6461 |
01 Nov 21 |
nicklas |
85 |
*/ |
7218 |
30 May 23 |
nicklas |
86 |
public static final Pipeline DNA_GENOTYPING = new Pipeline("DNA_GENOTYPING", "DNA/Genotyping", true, false); |
5725 |
13 Nov 19 |
nicklas |
87 |
|
5546 |
07 Aug 19 |
nicklas |
88 |
/** |
6865 |
09 Nov 22 |
nicklas |
Pipeline for methylation from tumor DNA. |
6865 |
09 Nov 22 |
nicklas |
@since 4.41 |
6865 |
09 Nov 22 |
nicklas |
91 |
*/ |
7218 |
30 May 23 |
nicklas |
92 |
public static final Pipeline DNA_METHYLATION = new Pipeline("DNA_METHYLATION", "DNA/Methylation", true, true); |
6865 |
09 Nov 22 |
nicklas |
93 |
|
6865 |
09 Nov 22 |
nicklas |
94 |
/** |
7054 |
21 Feb 23 |
nicklas |
Pipeline for Whole Genome Sequencing of tumor DNA. |
7054 |
21 Feb 23 |
nicklas |
@since 4.45 |
7054 |
21 Feb 23 |
nicklas |
97 |
*/ |
7218 |
30 May 23 |
nicklas |
98 |
public static final Pipeline DNA_TUMOR_WGS = new Pipeline("DNA_TUMOR_WGS", "DNA/Tumor/WGS", true, true); |
7054 |
21 Feb 23 |
nicklas |
99 |
|
7054 |
21 Feb 23 |
nicklas |
100 |
/** |
7054 |
21 Feb 23 |
nicklas |
Pipeline for Whole Genome Sequencing of blood DNA. |
7054 |
21 Feb 23 |
nicklas |
@since 4.45 |
7054 |
21 Feb 23 |
nicklas |
103 |
*/ |
7218 |
30 May 23 |
nicklas |
104 |
public static final Pipeline DNA_NORMAL_WGS = new Pipeline("DNA_NORMAL_WGS", "DNA/Normal/WGS", true, false); |
7054 |
21 Feb 23 |
nicklas |
105 |
|
7054 |
21 Feb 23 |
nicklas |
106 |
/** |
7411 |
10 Nov 23 |
nicklas |
Pipeline for paired variant calling of tumor/normal DNA. |
7411 |
10 Nov 23 |
nicklas |
@since 4.50 |
7411 |
10 Nov 23 |
nicklas |
109 |
*/ |
7411 |
10 Nov 23 |
nicklas |
110 |
public static final Pipeline DNA_PAIRED_VARIANTCALL = new Pipeline("DNA_PAIRED_VARIANTCALL", "DNA/Paired/VariantCall", true, true); |
7411 |
10 Nov 23 |
nicklas |
111 |
|
7411 |
10 Nov 23 |
nicklas |
112 |
/** |
5491 |
13 Jun 19 |
nicklas |
Get a pipeline by it's display name. |
5491 |
13 Jun 19 |
nicklas |
@param name The name of the pipeline |
5491 |
13 Jun 19 |
nicklas |
@return A pipeline object or null if not found |
5491 |
13 Jun 19 |
nicklas |
116 |
*/ |
5491 |
13 Jun 19 |
nicklas |
117 |
public static Pipeline getByName(String name) |
5491 |
13 Jun 19 |
nicklas |
118 |
{ |
7308 |
28 Aug 23 |
nicklas |
119 |
if (name != null) |
5491 |
13 Jun 19 |
nicklas |
120 |
{ |
7308 |
28 Aug 23 |
nicklas |
121 |
for (Field f : Pipeline.class.getDeclaredFields()) |
5543 |
06 Aug 19 |
nicklas |
122 |
{ |
7308 |
28 Aug 23 |
nicklas |
123 |
if (Modifier.isStatic(f.getModifiers()) && f.getType() == Pipeline.class) |
5543 |
06 Aug 19 |
nicklas |
124 |
{ |
7308 |
28 Aug 23 |
nicklas |
125 |
try |
7308 |
28 Aug 23 |
nicklas |
126 |
{ |
7308 |
28 Aug 23 |
nicklas |
127 |
Pipeline pipeline = (Pipeline)f.get(null); |
7308 |
28 Aug 23 |
nicklas |
128 |
if (pipeline.getName().equals(name)) return pipeline; |
7308 |
28 Aug 23 |
nicklas |
129 |
} |
7308 |
28 Aug 23 |
nicklas |
130 |
catch (IllegalArgumentException | IllegalAccessException e) |
7308 |
28 Aug 23 |
nicklas |
131 |
{} // Should not happen |
7308 |
28 Aug 23 |
nicklas |
132 |
} |
5543 |
06 Aug 19 |
nicklas |
133 |
} |
5491 |
13 Jun 19 |
nicklas |
134 |
} |
5491 |
13 Jun 19 |
nicklas |
135 |
return null; |
5491 |
13 Jun 19 |
nicklas |
136 |
} |
5491 |
13 Jun 19 |
nicklas |
137 |
|
5491 |
13 Jun 19 |
nicklas |
138 |
/** |
5434 |
17 May 19 |
nicklas |
Get the pipeline by name of the static constant defined in this class. |
5434 |
17 May 19 |
nicklas |
140 |
|
5434 |
17 May 19 |
nicklas |
@param cName The name of the static constant |
5434 |
17 May 19 |
nicklas |
@return A pipeline object or null if not found |
5434 |
17 May 19 |
nicklas |
143 |
*/ |
5434 |
17 May 19 |
nicklas |
144 |
public static Pipeline getByCName(String cName) |
5434 |
17 May 19 |
nicklas |
145 |
{ |
5434 |
17 May 19 |
nicklas |
146 |
if (cName == null) return null; |
5434 |
17 May 19 |
nicklas |
147 |
Pipeline pipeline = null; |
5434 |
17 May 19 |
nicklas |
148 |
try |
5434 |
17 May 19 |
nicklas |
149 |
{ |
5470 |
05 Jun 19 |
nicklas |
150 |
Field f = Pipeline.class.getDeclaredField(cName); |
5434 |
17 May 19 |
nicklas |
151 |
pipeline = (Pipeline)f.get(null); |
5434 |
17 May 19 |
nicklas |
152 |
} |
5434 |
17 May 19 |
nicklas |
153 |
catch (NoSuchFieldException ex) |
5434 |
17 May 19 |
nicklas |
154 |
{} |
5434 |
17 May 19 |
nicklas |
155 |
catch (IllegalAccessException ex) |
5434 |
17 May 19 |
nicklas |
156 |
{} |
5434 |
17 May 19 |
nicklas |
157 |
catch (ClassCastException ex) |
5434 |
17 May 19 |
nicklas |
158 |
{} |
5434 |
17 May 19 |
nicklas |
159 |
return pipeline; |
5434 |
17 May 19 |
nicklas |
160 |
} |
5434 |
17 May 19 |
nicklas |
161 |
|
5472 |
05 Jun 19 |
nicklas |
162 |
/** |
7308 |
28 Aug 23 |
nicklas |
Get the pipeline from the "Pipeline" annotation on the given item. |
7308 |
28 Aug 23 |
nicklas |
@since 4.49 |
7308 |
28 Aug 23 |
nicklas |
165 |
*/ |
7308 |
28 Aug 23 |
nicklas |
166 |
public static Pipeline getFromItem(DbControl dc, ReggieItem<?> item) |
7308 |
28 Aug 23 |
nicklas |
167 |
{ |
7308 |
28 Aug 23 |
nicklas |
168 |
return Pipeline.getByName((String)Annotationtype.PIPELINE.getAnnotationValue(dc, item.getItem())); |
7308 |
28 Aug 23 |
nicklas |
169 |
} |
7308 |
28 Aug 23 |
nicklas |
170 |
|
7308 |
28 Aug 23 |
nicklas |
171 |
/** |
5472 |
05 Jun 19 |
nicklas |
Add a filter to the given query to only return items that |
5472 |
05 Jun 19 |
nicklas |
has been annotated as belonging to a specific pipeline. The |
5472 |
05 Jun 19 |
nicklas |
pipeline must be specified by setting the "pipeline" parameter |
5472 |
05 Jun 19 |
nicklas |
on the query. |
5472 |
05 Jun 19 |
nicklas |
176 |
*/ |
5472 |
05 Jun 19 |
nicklas |
177 |
public static void createFilterParameter(DbControl dc, ItemQuery<?> query) |
5472 |
05 Jun 19 |
nicklas |
178 |
{ |
5493 |
13 Jun 19 |
nicklas |
179 |
createFilterParameter(dc, query, null); |
5493 |
13 Jun 19 |
nicklas |
180 |
} |
5493 |
13 Jun 19 |
nicklas |
181 |
|
5493 |
13 Jun 19 |
nicklas |
182 |
/** |
5493 |
13 Jun 19 |
nicklas |
Add a filter to the given query to only return items that |
5493 |
13 Jun 19 |
nicklas |
has been annotated as belonging to a specific pipeline. The |
5493 |
13 Jun 19 |
nicklas |
pipeline must be specified by setting the "pipeline" parameter |
5493 |
13 Jun 19 |
nicklas |
on the query. |
5493 |
13 Jun 19 |
nicklas |
187 |
*/ |
5493 |
13 Jun 19 |
nicklas |
188 |
public static void createFilterParameter(DbControl dc, ItemQuery<?> query, String alias) |
5493 |
13 Jun 19 |
nicklas |
189 |
{ |
5493 |
13 Jun 19 |
nicklas |
190 |
query.join(Annotations.innerJoin(alias, Annotationtype.PIPELINE.load(dc), "ppln")); |
5472 |
05 Jun 19 |
nicklas |
191 |
query.restrict(Restrictions.eq(Hql.alias("ppln"), Expressions.parameter("pipeline", Type.STRING))); |
5472 |
05 Jun 19 |
nicklas |
192 |
} |
5493 |
13 Jun 19 |
nicklas |
193 |
|
5472 |
05 Jun 19 |
nicklas |
194 |
|
5492 |
13 Jun 19 |
nicklas |
195 |
private final String id; |
5434 |
17 May 19 |
nicklas |
196 |
private final String name; |
7218 |
30 May 23 |
nicklas |
197 |
private final boolean dnaPipeline; |
7218 |
30 May 23 |
nicklas |
198 |
private final boolean tumorPipeline; |
5434 |
17 May 19 |
nicklas |
199 |
|
7218 |
30 May 23 |
nicklas |
200 |
private Pipeline(String id, String name, boolean dnaPipeline, boolean tumorPipeline) |
5434 |
17 May 19 |
nicklas |
201 |
{ |
5492 |
13 Jun 19 |
nicklas |
202 |
this.id = id; |
5434 |
17 May 19 |
nicklas |
203 |
this.name = name; |
7218 |
30 May 23 |
nicklas |
204 |
this.dnaPipeline = dnaPipeline; |
7218 |
30 May 23 |
nicklas |
205 |
this.tumorPipeline = tumorPipeline; |
5434 |
17 May 19 |
nicklas |
206 |
} |
5434 |
17 May 19 |
nicklas |
207 |
|
5492 |
13 Jun 19 |
nicklas |
208 |
public String getId() |
5492 |
13 Jun 19 |
nicklas |
209 |
{ |
5492 |
13 Jun 19 |
nicklas |
210 |
return id; |
5492 |
13 Jun 19 |
nicklas |
211 |
} |
5492 |
13 Jun 19 |
nicklas |
212 |
|
5434 |
17 May 19 |
nicklas |
213 |
public String getName() |
5434 |
17 May 19 |
nicklas |
214 |
{ |
5434 |
17 May 19 |
nicklas |
215 |
return name; |
5434 |
17 May 19 |
nicklas |
216 |
} |
5434 |
17 May 19 |
nicklas |
217 |
|
5434 |
17 May 19 |
nicklas |
218 |
/** |
7218 |
30 May 23 |
nicklas |
Is pipeline processing DNA items? |
7218 |
30 May 23 |
nicklas |
@since 4.48 |
7218 |
30 May 23 |
nicklas |
221 |
*/ |
7218 |
30 May 23 |
nicklas |
222 |
public boolean isDnaPipeline() |
7218 |
30 May 23 |
nicklas |
223 |
{ |
7218 |
30 May 23 |
nicklas |
224 |
return dnaPipeline; |
7218 |
30 May 23 |
nicklas |
225 |
} |
7218 |
30 May 23 |
nicklas |
226 |
|
7218 |
30 May 23 |
nicklas |
227 |
/** |
7218 |
30 May 23 |
nicklas |
Is pipeline processing RNA items? |
7218 |
30 May 23 |
nicklas |
@since 4.48 |
7218 |
30 May 23 |
nicklas |
230 |
*/ |
7218 |
30 May 23 |
nicklas |
231 |
public boolean isRnaPipeline() |
7218 |
30 May 23 |
nicklas |
232 |
{ |
7218 |
30 May 23 |
nicklas |
233 |
return !dnaPipeline; |
7218 |
30 May 23 |
nicklas |
234 |
} |
7218 |
30 May 23 |
nicklas |
235 |
|
7218 |
30 May 23 |
nicklas |
236 |
/** |
7218 |
30 May 23 |
nicklas |
Is pipeline processing Tumor items? |
7218 |
30 May 23 |
nicklas |
@since 4.48 |
7218 |
30 May 23 |
nicklas |
239 |
*/ |
7218 |
30 May 23 |
nicklas |
240 |
public boolean isTumorPipeline() |
7218 |
30 May 23 |
nicklas |
241 |
{ |
7218 |
30 May 23 |
nicklas |
242 |
return tumorPipeline; |
7218 |
30 May 23 |
nicklas |
243 |
} |
7218 |
30 May 23 |
nicklas |
244 |
|
7218 |
30 May 23 |
nicklas |
245 |
/** |
7218 |
30 May 23 |
nicklas |
Is pipeline processing Normal items? |
7218 |
30 May 23 |
nicklas |
@since 4.48 |
7218 |
30 May 23 |
nicklas |
248 |
*/ |
7218 |
30 May 23 |
nicklas |
249 |
public boolean isNormalPipeline() |
7218 |
30 May 23 |
nicklas |
250 |
{ |
7218 |
30 May 23 |
nicklas |
251 |
return !tumorPipeline; |
7218 |
30 May 23 |
nicklas |
252 |
} |
7218 |
30 May 23 |
nicklas |
253 |
|
7218 |
30 May 23 |
nicklas |
254 |
|
7218 |
30 May 23 |
nicklas |
255 |
/** |
5434 |
17 May 19 |
nicklas |
Set the PIPELINE annotation on the given item to this pipeline. |
5434 |
17 May 19 |
nicklas |
257 |
*/ |
5434 |
17 May 19 |
nicklas |
258 |
public boolean setAnnotation(DbControl dc, Annotatable item) |
5434 |
17 May 19 |
nicklas |
259 |
{ |
5434 |
17 May 19 |
nicklas |
260 |
return Annotationtype.PIPELINE.setAnnotationValue(dc, item, getName()); |
5434 |
17 May 19 |
nicklas |
261 |
} |
5434 |
17 May 19 |
nicklas |
262 |
|
5434 |
17 May 19 |
nicklas |
263 |
/** |
5434 |
17 May 19 |
nicklas |
Add a filter to the given query to only return items that |
5434 |
17 May 19 |
nicklas |
has been annotated as belonging to this pipeline. |
5434 |
17 May 19 |
nicklas |
266 |
*/ |
5434 |
17 May 19 |
nicklas |
267 |
public void addFilter(DbControl dc, ItemQuery<?> query) |
5434 |
17 May 19 |
nicklas |
268 |
{ |
5493 |
13 Jun 19 |
nicklas |
269 |
addFilter(dc, query, null); |
5493 |
13 Jun 19 |
nicklas |
270 |
} |
5493 |
13 Jun 19 |
nicklas |
271 |
|
5493 |
13 Jun 19 |
nicklas |
272 |
/** |
5493 |
13 Jun 19 |
nicklas |
Add a filter to the given query to only return items that |
7201 |
25 May 23 |
nicklas |
has been annotated as belonging to this pipeline. This method |
7201 |
25 May 23 |
nicklas |
also joins the Pipeline annotation with alias 'ppln'. |
5493 |
13 Jun 19 |
nicklas |
276 |
*/ |
5493 |
13 Jun 19 |
nicklas |
277 |
public void addFilter(DbControl dc, ItemQuery<?> query, String alias) |
5493 |
13 Jun 19 |
nicklas |
278 |
{ |
5493 |
13 Jun 19 |
nicklas |
279 |
query.join(Annotations.innerJoin(alias, Annotationtype.PIPELINE.load(dc), "ppln")); |
7201 |
25 May 23 |
nicklas |
280 |
query.restrict(restriction("ppln")); |
5434 |
17 May 19 |
nicklas |
281 |
} |
5434 |
17 May 19 |
nicklas |
282 |
|
5479 |
10 Jun 19 |
nicklas |
283 |
/** |
7201 |
25 May 23 |
nicklas |
Create a restriction to use in a query for matching items with this pipeline. |
7201 |
25 May 23 |
nicklas |
The 'Pipeline' annotation must already be joined with the query under the given |
7201 |
25 May 23 |
nicklas |
alias. |
7201 |
25 May 23 |
nicklas |
@since 4.48 |
7201 |
25 May 23 |
nicklas |
288 |
*/ |
7201 |
25 May 23 |
nicklas |
289 |
public Restriction restriction(String alias) |
7201 |
25 May 23 |
nicklas |
290 |
{ |
7201 |
25 May 23 |
nicklas |
291 |
return Restrictions.eq(Hql.alias(alias), Expressions.string(getName())); |
7201 |
25 May 23 |
nicklas |
292 |
} |
7201 |
25 May 23 |
nicklas |
293 |
|
7201 |
25 May 23 |
nicklas |
294 |
/** |
5865 |
12 Mar 20 |
nicklas |
Get a default barcode set depending on the flow cell type. |
5865 |
12 Mar 20 |
nicklas |
The default implemenation returns null. |
5865 |
12 Mar 20 |
nicklas |
@since 4.26 |
5865 |
12 Mar 20 |
nicklas |
298 |
*/ |
5865 |
12 Mar 20 |
nicklas |
299 |
public BarcodeSet getBarcodeSet(String flowcellType) |
5865 |
12 Mar 20 |
nicklas |
300 |
{ |
5865 |
12 Mar 20 |
nicklas |
301 |
return null; |
5865 |
12 Mar 20 |
nicklas |
302 |
} |
5865 |
12 Mar 20 |
nicklas |
303 |
|
5865 |
12 Mar 20 |
nicklas |
304 |
/** |
5479 |
10 Jun 19 |
nicklas |
Get the information as a JSON object ready to be sent as an AJAX response. |
5479 |
10 Jun 19 |
nicklas |
306 |
*/ |
5479 |
10 Jun 19 |
nicklas |
307 |
public JSONObject asJSONObject() |
5479 |
10 Jun 19 |
nicklas |
308 |
{ |
5479 |
10 Jun 19 |
nicklas |
309 |
JSONObject json = new JSONObject(); |
5543 |
06 Aug 19 |
nicklas |
310 |
json.put("id", getId()); |
5479 |
10 Jun 19 |
nicklas |
311 |
json.put("name", getName()); |
5479 |
10 Jun 19 |
nicklas |
312 |
return json; |
5479 |
10 Jun 19 |
nicklas |
313 |
} |
5479 |
10 Jun 19 |
nicklas |
314 |
|
5434 |
17 May 19 |
nicklas |
315 |
} |