Skip to content

Commit 430c06a

Browse files
authored
Merge pull request #31 from BimberLab/fb_merge_discvr-20.11
Merge discvr-20.11 to discvr-21.3
2 parents 93dc3b0 + a683f0d commit 430c06a

File tree

14 files changed

+147
-19
lines changed

14 files changed

+147
-19
lines changed

SequenceAnalysis/resources/queries/sequenceanalysis/quality_metrics/.qview.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
<column name="readset" />
1010
<column name="analysis_id" />
1111
<column name="runid" />
12+
<column name="workbook" />
1213
</columns>
1314
<sorts>
1415
<sort column="dataid/Name"/>

SequenceAnalysis/resources/queries/sequenceanalysis/readData/.qview.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
</properties>
2020
</column>
2121
<column name="created" />
22-
<column name="readset/workbook" />
22+
<column name="workbook" />
2323
</columns>
2424
<sorts>
2525
<sort column="readset" />

SequenceAnalysis/resources/queries/sequenceanalysis/readData/File Details.qview.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
<column name="archived" />
1616

1717
<column name="created" />
18-
<column name="readset/workbook" />
18+
<column name="workbook" />
1919
</columns>
2020
<sorts>
2121
<sort column="readset" />

SequenceAnalysis/resources/queries/sequenceanalysis/readData/With Filepath.qview.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
<column name="archived" />
1616

1717
<column name="created" />
18-
<column name="readset/workbook" />
18+
<column name="workbook" />
1919
</columns>
2020
<sorts>
2121
<sort column="readset" />
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
ALTER TABLE sequenceanalysis.alignment_summary_junction ADD container ENTITYID;
2+
3+
UPDATE sequenceanalysis.alignment_summary_junction
4+
SET container = (SELECT s.container FROM sequenceanalysis.alignment_summary s WHERE s.rowid = alignment_id);
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
ALTER TABLE sequenceanalysis.alignment_summary_junction ADD container ENTITYID;
2+
GO
3+
UPDATE sequenceanalysis.alignment_summary_junction
4+
SET container = (SELECT s.container FROM sequenceanalysis.alignment_summary s WHERE s.rowid = alignment_id);

SequenceAnalysis/resources/schemas/sequenceanalysis.xml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1237,7 +1237,7 @@
12371237
</buttonBarOptions>
12381238
</table>
12391239
<table tableName="readData" tableDbType="TABLE" useColumnOrder="true">
1240-
<javaCustomizer class="org.labkey.ldk.query.DefaultTableCustomizer" />
1240+
<javaCustomizer class="org.labkey.laboratory.query.LaboratoryTableCustomizer" />
12411241
<auditLogging>DETAILED</auditLogging>
12421242
<tableTitle>Sequence Read Data</tableTitle>
12431243
<pkColumnName>rowid</pkColumnName>
@@ -1542,7 +1542,7 @@
15421542
</columns>
15431543
</table>
15441544
<table tableName="quality_metrics" tableDbType="TABLE" useColumnOrder="true">
1545-
<javaCustomizer class="org.labkey.ldk.query.BuiltInColumnsCustomizer" />
1545+
<javaCustomizer class="org.labkey.laboratory.query.LaboratoryTableCustomizer" />
15461546
<auditLogging>DETAILED</auditLogging>
15471547
<tableTitle>Quality Metrics</tableTitle>
15481548
<tableUrl>/query/recordDetails.view?schemaName=sequenceanalysis&amp;query.queryName=Quality_Metrics&amp;keyField=rowid&amp;key=${rowid}</tableUrl>
@@ -1831,6 +1831,9 @@
18311831
<columnTitle>Status</columnTitle>
18321832
<defaultValue>true</defaultValue>
18331833
</column>
1834+
<column columnName="container">
1835+
<isHidden>true</isHidden>
1836+
</column>
18341837
<column columnName="createdby">
18351838
<isHidden>true</isHidden>
18361839
</column>

SequenceAnalysis/src/org/labkey/sequenceanalysis/SequenceAnalysisModule.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,7 @@
139139
import org.labkey.sequenceanalysis.run.variant.GenotypeFiltrationStep;
140140
import org.labkey.sequenceanalysis.run.variant.MendelianViolationReportStep;
141141
import org.labkey.sequenceanalysis.run.variant.MultiAllelicPositionsHandler;
142+
import org.labkey.sequenceanalysis.run.variant.PlinkPcaStep;
142143
import org.labkey.sequenceanalysis.run.variant.SNPEffStep;
143144
import org.labkey.sequenceanalysis.run.variant.SampleRenameStep;
144145
import org.labkey.sequenceanalysis.run.variant.SelectSNVsStep;
@@ -179,7 +180,7 @@ public String getName()
179180
@Override
180181
public Double getSchemaVersion()
181182
{
182-
return 12.327;
183+
return 12.328;
183184
}
184185

185186
@Override
@@ -322,6 +323,7 @@ public static void registerPipelineSteps()
322323
SequencePipelineService.get().registerPipelineStep(new VariantEvalBySampleStep.Provider());
323324
SequencePipelineService.get().registerPipelineStep(new VariantsToTableStep.Provider());
324325
SequencePipelineService.get().registerPipelineStep(new VariantQCStep.Provider());
326+
SequencePipelineService.get().registerPipelineStep(new PlinkPcaStep.Provider());
325327
SequencePipelineService.get().registerPipelineStep(new MendelianViolationReportStep.Provider());
326328

327329
//handlers
Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
package org.labkey.sequenceanalysis.run.variant;
2+
3+
import htsjdk.samtools.util.Interval;
4+
import org.apache.logging.log4j.Logger;
5+
import org.json.JSONObject;
6+
import org.labkey.api.pipeline.PipelineJobException;
7+
import org.labkey.api.sequenceanalysis.pipeline.AbstractVariantProcessingStepProvider;
8+
import org.labkey.api.sequenceanalysis.pipeline.CommandLineParam;
9+
import org.labkey.api.sequenceanalysis.pipeline.PipelineContext;
10+
import org.labkey.api.sequenceanalysis.pipeline.PipelineStepProvider;
11+
import org.labkey.api.sequenceanalysis.pipeline.ReferenceGenome;
12+
import org.labkey.api.sequenceanalysis.pipeline.SequencePipelineService;
13+
import org.labkey.api.sequenceanalysis.pipeline.ToolParameterDescriptor;
14+
import org.labkey.api.sequenceanalysis.pipeline.VariantProcessingStep;
15+
import org.labkey.api.sequenceanalysis.pipeline.VariantProcessingStepOutputImpl;
16+
import org.labkey.api.sequenceanalysis.run.AbstractCommandPipelineStep;
17+
import org.labkey.api.sequenceanalysis.run.AbstractCommandWrapper;
18+
19+
import javax.annotation.Nullable;
20+
import java.io.File;
21+
import java.util.ArrayList;
22+
import java.util.Arrays;
23+
import java.util.List;
24+
25+
public class PlinkPcaStep extends AbstractCommandPipelineStep<PlinkPcaStep.PlinkWrapper> implements VariantProcessingStep
26+
{
27+
public PlinkPcaStep(PipelineStepProvider provider, PipelineContext ctx)
28+
{
29+
super(provider, ctx, new PlinkPcaStep.PlinkWrapper(ctx.getLogger()));
30+
}
31+
32+
public static class Provider extends AbstractVariantProcessingStepProvider<PlinkPcaStep>
33+
{
34+
public Provider()
35+
{
36+
super("PlinkPcaStep", "Plink/PCA", "", "This will run plink to generate the data for MDS/PCA", Arrays.asList(
37+
ToolParameterDescriptor.createCommandLineParam(CommandLineParam.create("--not-chr"), "excludedContigs", "Excluded Contigs", "A comma separated list of contigs to exclude, such as X,Y,MT.", "textfield", new JSONObject(){{
38+
39+
}}, "X,Y,MT")
40+
), null, "https://zzz.bwh.harvard.edu/plink/");
41+
}
42+
43+
public PlinkPcaStep create(PipelineContext ctx)
44+
{
45+
return new PlinkPcaStep(this, ctx);
46+
}
47+
}
48+
49+
@Override
50+
public Output processVariants(File inputVCF, File outputDirectory, ReferenceGenome genome, @Nullable List<Interval> intervals) throws PipelineJobException
51+
{
52+
VariantProcessingStepOutputImpl output = new VariantProcessingStepOutputImpl();
53+
54+
List<String> args = new ArrayList<>();
55+
args.add(getWrapper().getExe().getPath());
56+
args.add("--pca");
57+
args.add("--allow-extra-chr");
58+
args.add("--keep WGS.names");
59+
args.add("--vcf");
60+
args.add(inputVCF.getPath());
61+
62+
File outPrefix = new File(outputDirectory, "plink");
63+
args.add("--out");
64+
args.add(outPrefix.getPath());
65+
66+
args.addAll(getClientCommandArgs());
67+
68+
getWrapper().execute(args);
69+
70+
output.addInput(inputVCF, "Input VCF");
71+
output.addInput(genome.getWorkingFastaFile(), "Reference Genome");
72+
73+
File outputFile = new File(outPrefix.getPath() + ".eigenvec");
74+
if (!outputFile.exists())
75+
{
76+
throw new PipelineJobException("Unable to find expected file: " + outputFile);
77+
}
78+
79+
output.addOutput(outputFile, "PLink PCA");
80+
output.addSequenceOutput(outputFile, "PLink PCA for: " + inputVCF.getName(), "PLink PCA", null, null, genome.getGenomeId(), null);
81+
82+
return output;
83+
}
84+
85+
public static class PlinkWrapper extends AbstractCommandWrapper
86+
{
87+
public PlinkWrapper(@Nullable Logger logger)
88+
{
89+
super(logger);
90+
}
91+
92+
public File getExe()
93+
{
94+
return SequencePipelineService.get().getExeForPackage("PLINK2PATH", "plink");
95+
}
96+
}
97+
}

singlecell/api-src/org/labkey/api/singlecell/CellHashingService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -277,7 +277,7 @@ public enum CALLING_METHOD
277277
multiseq(true),
278278
htodemux(false),
279279
dropletutils(true),
280-
bff(true);
280+
bff_quantile(true);
281281
//bff_rec(true);
282282

283283
boolean isDefault;

0 commit comments

Comments
 (0)