Skip to content

Commit 1e2402b

Browse files
committed
Merge discvr-21.3 to develop
2 parents d1b4a9b + a745453 commit 1e2402b

File tree

7 files changed

+22
-154
lines changed

7 files changed

+22
-154
lines changed

SequenceAnalysis/pipeline_code/sequence_tools_install.sh

Lines changed: 3 additions & 120 deletions
Original file line numberDiff line numberDiff line change
@@ -276,107 +276,13 @@ else
276276
echo "Already installed"
277277
fi
278278

279-
#
280-
# GATK
281-
#
282-
echo ""
283-
echo ""
284-
echo "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%"
285-
echo "Install GATK"
286-
echo ""
287-
cd $LKSRC_DIR
288-
289-
if [[ ! -e ${LKTOOLS_DIR}/Queue.jar || ! -z $FORCE_REINSTALL ]];
290-
then
291-
rm -Rf ${LKTOOLS_DIR}/Queue.jar
292-
rm -Rf ${LKTOOLS_DIR}/GenomeAnalysisTK.jar
293-
rm -Rf ${LKSRC_DIR}/gatk
294-
295-
mkdir -p gatk
296-
cd gatk
297-
298-
echo "Downloading GATK from GIT"
299-
git clone git://github.com/broadgsa/gatk-protected.git
300-
cd gatk-protected
301-
git checkout tags/3.7
302-
cd ../
303-
304-
#this manually increases Xss in the hope of fixing intermittent StackOverlowErrors
305-
sed -i '/<groupId>org.scala-tools<\/groupId>/a <configuration><jvmArgs><jvmArg>-Xss10m<\/jvmArg><\/jvmArgs><\/configuration>' ./gatk-protected/pom.xml
306-
307-
#fix multithreading bug
308-
sed -i 's/private final List<GenomeLoc> upstreamDeletionsLoc = new LinkedList<>();/private final ThreadLocal< List<GenomeLoc> > upstreamDeletionsLoc = ThreadLocal.withInitial(() -> new LinkedList<GenomeLoc>());/g' ./gatk-protected/protected/gatk-tools-protected/src/main/java/org/broadinstitute/gatk/tools/walkers/genotyper/GenotypingEngine.java
309-
sed -i 's/upstreamDeletionsLoc.add(genomeLoc);/upstreamDeletionsLoc.get().add(genomeLoc);/g' ./gatk-protected/protected/gatk-tools-protected/src/main/java/org/broadinstitute/gatk/tools/walkers/genotyper/GenotypingEngine.java
310-
sed -i 's/upstreamDeletionsLoc.iterator();/upstreamDeletionsLoc.get().iterator();/g' ./gatk-protected/protected/gatk-tools-protected/src/main/java/org/broadinstitute/gatk/tools/walkers/genotyper/GenotypingEngine.java
311-
312-
#libVectorLogless compile:
313-
#see: https://gatkforums.broadinstitute.org/gatk/discussion/9947/crashes-with-segmentation-fault-in-shipped-libvectorloglesspairhmm-so
314-
sed -i 's/<!--<USE_GCC>1<\/USE_GCC>-->/<USE_GCC>1<\/USE_GCC>/g' ./gatk-protected/public/VectorPairHMM/pom.xml
315-
sed -i 's/<!--<C_COMPILER>\/opt\/gcc-4.8.2\/bin\/gcc<\/C_COMPILER>-->/<C_COMPILER>\/usr\/bin\/gcc<\/C_COMPILER>/g' ./gatk-protected/public/VectorPairHMM/pom.xml
316-
sed -i 's/<!--<CPP_COMPILER>\/opt\/gcc-4.8.2\/bin\/g++<\/CPP_COMPILER>-->/<CPP_COMPILER>\/usr\/bin\/g++<\/CPP_COMPILER>/g' ./gatk-protected/public/VectorPairHMM/pom.xml
317-
cd gatk-protected/public/VectorPairHMM/
318-
mvn verify
319-
cd ../../../
320-
cp gatk-protected/public/VectorPairHMM/target/libVectorLoglessPairHMM.so ${LKTOOLS_DIR}
321-
322-
#this is a custom extension: https://github.com/biodev/HTCondor_drivers
323-
#git clone https://github.com/biodev/HTCondor_drivers.git
324-
#mkdir ./gatk-protected/public/gatk-queue/src/main/scala/org/broadinstitute/gatk/queue/engine/condor
325-
#cp ./HTCondor_drivers/Queue/CondorJob* ./gatk-protected/public/gatk-queue/src/main/scala/org/broadinstitute/gatk/queue/engine/condor/
326-
327-
#another, for MV checking
328-
mkdir -p ${LK_HOME}/svn/trunk/pipeline_code/
329-
svn co --no-auth-cache https://github.com/BimberLab/DiscvrLabkeyModules/trunk/SequenceAnalysis/pipeline_code/gatk ${LK_HOME}/svn/trunk/pipeline_code/gatk/
330-
331-
mv ${LK_HOME}/svn/trunk/pipeline_code/gatk/MendelianViolationCount.java ./gatk-protected/protected/gatk-tools-protected/src/main/java/org/broadinstitute/gatk/tools/walkers/annotator/
332-
mv ${LK_HOME}/svn/trunk/pipeline_code/gatk/MendelianViolationBySample.java ./gatk-protected/protected/gatk-tools-protected/src/main/java/org/broadinstitute/gatk/tools/walkers/annotator/
333-
mv ${LK_HOME}/svn/trunk/pipeline_code/gatk/GenotypeConcordance.java ./gatk-protected/protected/gatk-tools-protected/src/main/java/org/broadinstitute/gatk/tools/walkers/annotator/
334-
mv ${LK_HOME}/svn/trunk/pipeline_code/gatk/GenotypeConcordanceBySite.java ./gatk-protected/protected/gatk-tools-protected/src/main/java/org/broadinstitute/gatk/tools/walkers/annotator/
335-
mv ${LK_HOME}/svn/trunk/pipeline_code/gatk/MinorAlleleFrequency.java ./gatk-protected/protected/gatk-tools-protected/src/main/java/org/broadinstitute/gatk/tools/walkers/annotator/
336-
337-
cd gatk-protected
338-
339-
#remove due to compilation / dependency resolution error
340-
rm ./public/external-example/src/main/java/org/mycompany/app/*
341-
rm ./public/external-example/src/test/java/org/mycompany/app/*
342-
sed -i '/<module>external-example<\/module>/d' ./public/pom.xml
343-
344-
#NOTE: can add -P\!queue to skip queue in some cases
345-
mvn verify -U
346-
mvn package
347-
cp ./protected/gatk-package-distribution/target/gatk-package-distribution-3.7.jar ${LKTOOLS_DIR}/GenomeAnalysisTK.jar
348-
cp ./protected/gatk-queue-package-distribution/target/gatk-queue-package-distribution-3.7.jar ${LKTOOLS_DIR}/Queue.jar
349-
fi
350-
351279
if [[ ! -e ${LKTOOLS_DIR}/DISCVRSeq.jar || ! -z $FORCE_REINSTALL ]];
352280
then
353281
rm -Rf DISCVRSeq*
354282
rm -Rf ${LKTOOLS_DIR}/DISCVRSeq.jar
355283

356-
wget $WGET_OPTS https://github.com/BimberLab/DISCVRSeq/releases/download/1.0/DISCVRSeq-1.0.jar
357-
cp DISCVRSeq-1.0.jar ${LKTOOLS_DIR}/DISCVRSeq.jar
358-
fi
359-
360-
if [[ ! -e ${LKTOOLS_DIR}/GenomeAnalysisTK-discvr.jar || ! -z $FORCE_REINSTALL ]];
361-
then
362-
rm -Rf ${LKTOOLS_DIR}/GenomeAnalysisTK-discvr.jar
363-
rm -Rf ${LKSRC_DIR}/gatk-discvr
364-
365-
mkdir -p gatk-discvr
366-
cd gatk-discvr
367-
368-
echo "Downloading GATK from GIT"
369-
git clone git://github.com/bbimber/gatk-protected.git
370-
cd gatk-protected
371-
372-
#remove due to compilation error
373-
rm ./public/external-example/src/main/java/org/mycompany/app/*
374-
rm ./public/external-example/src/test/java/org/mycompany/app/*
375-
376-
mvn verify -U -P\!queue
377-
mvn package -P\!queue
378-
379-
cp ./protected/gatk-package-distribution/target/gatk-package-distribution-3.7.jar ${LKTOOLS_DIR}/GenomeAnalysisTK-discvr.jar
284+
wget $WGET_OPTS https://github.com/BimberLab/DISCVRSeq/releases/download/1.29/DISCVRSeq-1.29.jar
285+
cp DISCVRSeq-1.29.jar ${LKTOOLS_DIR}/DISCVRSeq.jar
380286
fi
381287

382288

@@ -1336,7 +1242,7 @@ fi
13361242
echo ""
13371243
echo ""
13381244
echo "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%"
1339-
echo "Installing Trimmomatic"
1245+
echo "Installing lofreq"
13401246
echo ""
13411247
cd $LKSRC_DIR
13421248

@@ -1355,29 +1261,6 @@ else
13551261
fi
13561262

13571263

1358-
#
1359-
#CITE-seq-count
1360-
#
1361-
#
1362-
#echo ""
1363-
#echo ""
1364-
#echo "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%"
1365-
#echo "Installing CITE-seq-count"
1366-
#echo ""
1367-
#cd $LKSRC_DIR
1368-
#
1369-
#if [[ ! -e ${LKTOOLS_DIR}/CITE-seq-Count || ! -z $FORCE_REINSTALL ]];
1370-
#then
1371-
# rm -Rf ${LKTOOLS_DIR}/CITE-seq*
1372-
# mkdir -p ${LKTOOLS_DIR}/CITE-seq-count-base
1373-
#
1374-
# pip install CITE-seq-Count --upgrade --install-option="--prefix=${LKTOOLS_DIR}/CITE-seq-count-base"
1375-
# mv ${LKTOOLS_DIR}/CITE-seq-count-base/bin/* ${LKTOOLS_DIR}
1376-
#
1377-
#else
1378-
# echo "Already installed"
1379-
#fi
1380-
13811264
if [ ! -z $LK_USER ];
13821265
then
13831266
echo "Setting owner of files to: ${LK_USER}"

SequenceAnalysis/src/org/labkey/sequenceanalysis/run/util/VariantAnnotatorWrapper.java

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
package org.labkey.sequenceanalysis.run.util;
22

33
import org.apache.logging.log4j.Logger;
4-
import org.apache.logging.log4j.LogManager;
54
import org.labkey.api.pipeline.PipelineJobException;
6-
import org.labkey.api.sequenceanalysis.run.AbstractGatkWrapper;
5+
import org.labkey.api.sequenceanalysis.run.AbstractDiscvrSeqWrapper;
76

87
import java.io.File;
98
import java.util.ArrayList;
@@ -12,7 +11,7 @@
1211
/**
1312
* Created by bimber on 8/8/2014.
1413
*/
15-
public class VariantAnnotatorWrapper extends AbstractGatkWrapper
14+
public class VariantAnnotatorWrapper extends AbstractDiscvrSeqWrapper
1615
{
1716
public VariantAnnotatorWrapper(Logger log)
1817
{
@@ -21,20 +20,19 @@ public VariantAnnotatorWrapper(Logger log)
2120

2221
public void execute(File referenceFasta, File inputVcf, File outputVcf, List<String> options) throws PipelineJobException
2322
{
24-
getLogger().info("Running GATK VariantAnnotator");
23+
getLogger().info("Running DiscvrVariantAnnotator");
2524

2625
ensureDictionary(referenceFasta);
2726

2827
List<String> args = new ArrayList<>(getBaseArgs());
29-
args.add("-T");
30-
args.add("VariantAnnotator");
28+
args.add("DiscvrVariantAnnotator");
3129
args.add("-R");
3230
args.add(referenceFasta.getPath());
3331

3432
args.add("-V");
3533
args.add(inputVcf.getPath());
3634

37-
args.add("-o");
35+
args.add("-O");
3836
args.add(outputVcf.getPath());
3937

4038
if (options != null)

SequenceAnalysis/src/org/labkey/sequenceanalysis/run/variant/GenotypeConcordanceStep.java

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -100,16 +100,9 @@ public Output processVariants(File inputVCF, File outputDirectory, ReferenceGeno
100100
options.add("-A");
101101
options.add("GenotypeConcordanceBySite");
102102

103-
options.add("-resource:GT_SOURCE");
103+
options.add("-rg");
104104
options.add(refVCF.getPath());
105105

106-
Integer threads = SequencePipelineService.get().getMaxThreads(getPipelineCtx().getLogger());
107-
if (threads != null)
108-
{
109-
options.add("-nt");
110-
options.add(String.valueOf(Math.min(threads, 8)));
111-
}
112-
113106
if (intervals != null)
114107
{
115108
intervals.forEach(interval -> {

SequenceAnalysis/src/org/labkey/sequenceanalysis/run/variant/VariantAnnotatorStep.java

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -88,13 +88,6 @@ public Output processVariants(File inputVCF, File outputDirectory, ReferenceGeno
8888
options.add("MinorAlleleFrequency");
8989
}
9090

91-
Integer threads = SequencePipelineService.get().getMaxThreads(getPipelineCtx().getLogger());
92-
if (threads != null)
93-
{
94-
options.add("-nt");
95-
options.add(String.valueOf(Math.min(threads, 8)));
96-
}
97-
9891
if (intervals != null)
9992
{
10093
intervals.forEach(interval -> {
@@ -103,14 +96,6 @@ public Output processVariants(File inputVCF, File outputDirectory, ReferenceGeno
10396
});
10497
}
10598

106-
//TODO: allow annotation using fields from another VCF:
107-
/**
108-
-resource:indian "$INDIAN_SUBSET" \
109-
-E indian.AF \
110-
-resource:chinese "$CHINESE_SUBSET" \
111-
-E chinese.AF \
112-
*/
113-
11499
getWrapper().execute(genome.getWorkingFastaFile(), inputVCF, outputVcf, options);
115100
if (!outputVcf.exists())
116101
{

SequenceAnalysis/src/org/labkey/sequenceanalysis/run/variant/VcfComparisonStep.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ public VcfComparisonStep create(PipelineContext ctx)
5757
public Output processVariants(File inputVCF, File outputDirectory, ReferenceGenome genome, @Nullable List<Interval> intervals) throws PipelineJobException
5858
{
5959
VariantProcessingStepOutputImpl output = new VariantProcessingStepOutputImpl();
60-
getPipelineCtx().getLogger().info("Running SNPEff");
60+
getPipelineCtx().getLogger().info("Running VcfComparison");
6161

6262
Integer refFileId = getProvider().getParameterByName(REF_VCF).extractValue(getPipelineCtx().getJob(), getProvider(), getStepIdx(), Integer.class);
6363
File refVcf = getPipelineCtx().getSequenceSupport().getCachedData(refFileId);

singlecell/resources/chunks/AppendSaturation.R

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,16 @@ for (datasetId in names(seuratObjects)) {
66
stop(paste0('Unable to find molInfo file for: ', datasetId))
77
}
88

9-
seuratObj <- CellMembrane::AppendPerCellSaturation(seuratObj, molInfoFile = molInfoFile)
9+
if (!'DatasetId' %in% names(seuratObj@meta.data)) {
10+
stop('Seurat object lacks a DatasetId field!')
11+
}
12+
13+
datasetId <- unique(seuratObj$DatasetId)
14+
if (length(datasetId) != 1) {
15+
stop('Saturation can only be computed from single-dataset seurat objects!')
16+
}
17+
18+
seuratObj <- CellMembrane::AppendPerCellSaturation(seuratObj, molInfoFile = molInfoFile, cellbarcodePrefix = paste0(datasetId, '_'))
1019

1120
newSeuratObjects[[datasetId]] <- seuratObj
1221

singlecell/resources/chunks/DimPlots.R

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@ for (datasetId in names(seuratObjects)) {
88
next
99
}
1010

11-
if (length((unique(seuratObj@meta.data))) <= 1) {
11+
if (length(unique(na.omit(seuratObj@meta.data[[field]]))) == 0) {
1212
next
1313
} else {
14-
print(paste0('Object has one or fewer values, skipping: ', field))
14+
print(paste0('Object has no non-NA values, skipping: ', field))
1515
}
1616

1717
P1 <- Seurat::DimPlot(seuratObj, group.by = field, reduction = 'tsne')

0 commit comments

Comments
 (0)