Skip to content

Commit a390b83

Browse files
authored
Merge pull request #19 from LabKey/fb_merge_discvr-19.3
Merge discvr-19.3 to develop, automatically created
2 parents aff055f + 667cb67 commit a390b83

File tree

7 files changed

+28
-221
lines changed

7 files changed

+28
-221
lines changed

.travis.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ cache:
1919

2020
install: skip
2121
script:
22+
- wget -O ./travis.sh https://github.com/bimberlabinternal/DevOps/raw/master/travisci/travis.sh
2223
- bash ./travis.sh
2324

2425
before_deploy:

SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/SequenceAnalysisService.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717

1818

1919
import org.apache.log4j.Logger;
20+
import org.jetbrains.annotations.Nullable;
2021
import org.labkey.api.data.Container;
2122
import org.labkey.api.laboratory.NavItem;
2223
import org.labkey.api.pipeline.PipelineJob;
@@ -96,7 +97,7 @@ static public void setInstance(SequenceAnalysisService instance)
9697

9798
abstract public String createReferenceLibrary(List<Integer> sequenceIds, Container c, User u, String name, String assemblyId, String description, boolean skipCacheIndexes, boolean skipTriggers, Set<GenomeTrigger> extraTriggers) throws IOException;
9899

99-
abstract public File combineVcfs(List<File> files, File outputGz, ReferenceGenome genome, Logger log) throws PipelineJobException;
100+
abstract public File combineVcfs(List<File> files, File outputGz, ReferenceGenome genome, Logger log, boolean multiThreaded, @Nullable Integer compressionLevel) throws PipelineJobException;
100101

101102
abstract public String getScriptPath(String moduleName, String path) throws PipelineJobException;
102103
}

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

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import org.apache.commons.lang3.StringUtils;
88
import org.apache.commons.lang3.SystemUtils;
99
import org.apache.log4j.Logger;
10+
import org.jetbrains.annotations.Nullable;
1011
import org.labkey.api.data.CompareType;
1112
import org.labkey.api.data.Container;
1213
import org.labkey.api.data.ContainerManager;
@@ -473,8 +474,8 @@ public String createReferenceLibrary(List<Integer> sequenceIds, Container c, Use
473474
}
474475

475476
@Override
476-
public File combineVcfs(List<File> files, File outputGz, ReferenceGenome genome, Logger log) throws PipelineJobException
477+
public File combineVcfs(List<File> files, File outputGz, ReferenceGenome genome, Logger log, boolean multiThreaded, @Nullable Integer compressionLevel) throws PipelineJobException
477478
{
478-
return SequenceUtil.combineVcfs(files, genome, outputGz, log);
479+
return SequenceUtil.combineVcfs(files, genome, outputGz, log, multiThreaded, compressionLevel);
479480
}
480481
}

SequenceAnalysis/src/org/labkey/sequenceanalysis/pipeline/VariantProcessingRemoteMergeTask.java

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package org.labkey.sequenceanalysis.pipeline;
22

33
import htsjdk.samtools.util.Interval;
4+
import org.apache.commons.lang3.StringUtils;
45
import org.jetbrains.annotations.NotNull;
56
import org.labkey.api.pipeline.AbstractTaskFactory;
67
import org.labkey.api.pipeline.AbstractTaskFactorySettings;
@@ -138,13 +139,15 @@ private VariantProcessingJob getPipelineJob()
138139
}
139140
else
140141
{
141-
if (getPipelineJob().getSequenceSupport().getCachedGenomes().size() != 1)
142+
Set<Integer> genomeIds = new HashSet<>();
143+
getPipelineJob().getFiles().forEach(x -> genomeIds.add(x.getLibrary_id()));
144+
if (genomeIds.size() != 1)
142145
{
143-
throw new PipelineJobException("Expected a single genome, found: " + getPipelineJob().getSequenceSupport().getCachedGenomes().size());
146+
throw new PipelineJobException("Expected a single genome, found: " + StringUtils.join(genomeIds, ", "));
144147
}
145148

146-
ReferenceGenome genome = getPipelineJob().getSequenceSupport().getCachedGenomes().iterator().next();
147-
combined = SequenceAnalysisService.get().combineVcfs(toConcat, combined, genome, getJob().getLogger());
149+
ReferenceGenome genome = getPipelineJob().getSequenceSupport().getCachedGenome(genomeIds.iterator().next());
150+
combined = SequenceAnalysisService.get().combineVcfs(toConcat, combined, genome, getJob().getLogger(), true, null);
148151
}
149152
manager.addOutput(action, "Merged VCF", combined);
150153

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

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
public class BgzipRunner extends AbstractCommandWrapper
1717
{
1818
private int _maxThreads = -1;
19+
private Integer _compressionLevel = null;
1920

2021
public BgzipRunner(@Nullable Logger logger)
2122
{
@@ -27,6 +28,11 @@ public void setMaxThreads(int maxThreads)
2728
_maxThreads = maxThreads;
2829
}
2930

31+
public void setCompressionLevel(int compressionLevel)
32+
{
33+
_compressionLevel = compressionLevel;
34+
}
35+
3036
public File execute(File input) throws PipelineJobException
3137
{
3238
getLogger().info("BGZipping file: " + input.getPath());
@@ -68,6 +74,12 @@ public List<String> getParams(File input)
6874
params.add(threads.toString());
6975
}
7076

77+
if (_compressionLevel != null)
78+
{
79+
params.add("--compress-level");
80+
params.add(_compressionLevel.toString());
81+
}
82+
7183
params.add(input.getPath());
7284

7385
return params;

SequenceAnalysis/src/org/labkey/sequenceanalysis/util/SequenceUtil.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -447,7 +447,7 @@ public static void sortROD(File input, Logger log, Integer startColumnIdx) throw
447447
sorted.delete();
448448
}
449449

450-
public static File combineVcfs(List<File> files, ReferenceGenome genome, File outputGzip, Logger log) throws PipelineJobException
450+
public static File combineVcfs(List<File> files, ReferenceGenome genome, File outputGzip, Logger log, boolean multiThreaded, @Nullable Integer compressionLevel) throws PipelineJobException
451451
{
452452
log.info("combining VCFs: ");
453453

@@ -500,13 +500,13 @@ else if (!samples.equals(header.getSampleNamesInOrder()))
500500
writer.write("{\n");
501501
bashCommands.forEach(x -> writer.write(x + '\n'));
502502

503-
Integer threads = SequencePipelineService.get().getMaxThreads(log);
503+
Integer threads = multiThreaded ? SequencePipelineService.get().getMaxThreads(log) : null;
504504
if (threads != null)
505505
{
506506
threads = Math.max(1, threads - 1);
507507
}
508508

509-
writer.write("} | bgzip -f" + (threads == null ? "" : " --threads " + threads) + " > " + outputGzip + "\n");
509+
writer.write("} | bgzip -f" + (compressionLevel == null ? "" : " --compress-level 9") + (threads == null ? "" : " --threads " + threads) + " > " + outputGzip + "\n");
510510
}
511511

512512
SimpleScriptWrapper wrapper = new SimpleScriptWrapper(log);

travis.sh

Lines changed: 0 additions & 211 deletions
This file was deleted.

0 commit comments

Comments
 (0)