Skip to content

Commit 33a7870

Browse files
committed
Merge discvr-24.7 to discvr-24.11
2 parents 58967e0 + b97713f commit 33a7870

File tree

36 files changed

+622
-409
lines changed

36 files changed

+622
-409
lines changed

SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/JobResourceSettings.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import org.labkey.api.data.Container;
44

5+
import java.util.Collection;
56
import java.util.List;
67

78
/**
@@ -12,4 +13,6 @@ public interface JobResourceSettings
1213
boolean isAvailable(Container c);
1314

1415
List<ToolParameterDescriptor> getParams();
16+
17+
Collection<String> getDockerVolumes(Container c);
1518
}

SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/PipelineContext.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,11 @@
1616
package org.labkey.api.sequenceanalysis.pipeline;
1717

1818
import org.apache.logging.log4j.Logger;
19-
import org.apache.logging.log4j.LogManager;
2019
import org.labkey.api.pipeline.PipelineJob;
2120
import org.labkey.api.pipeline.WorkDirectory;
2221

2322
import java.io.File;
23+
import java.util.Collection;
2424

2525
/**
2626
* User: bimber
@@ -51,4 +51,6 @@ public interface PipelineContext
5151
* This is the directory where the source files were located. In the situation where this is a split job, forceParent=true will return the parent job's sourceDirectory. This can be important if files are written here prior to split.
5252
*/
5353
File getSourceDirectory(boolean forceParent);
54+
55+
Collection<String> getDockerVolumes();
5456
}

SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/pipeline/SequencePipelineService.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,15 @@
1919
import htsjdk.samtools.SAMFileHeader;
2020
import org.apache.logging.log4j.Logger;
2121
import org.jetbrains.annotations.Nullable;
22+
import org.labkey.api.data.Container;
2223
import org.labkey.api.pipeline.PipelineJob;
2324
import org.labkey.api.pipeline.PipelineJobException;
2425
import org.labkey.api.sequenceanalysis.SequenceOutputFile;
2526
import org.labkey.api.sequenceanalysis.run.CommandWrapper;
2627

2728
import java.io.File;
2829
import java.io.IOException;
30+
import java.util.Collection;
2931
import java.util.List;
3032
import java.util.Map;
3133
import java.util.Set;
@@ -98,6 +100,8 @@ static public void setInstance(SequencePipelineService instance)
98100
*/
99101
abstract public String getDockerCommand();
100102

103+
abstract public Collection<String> getDockerVolumes(Container c);
104+
101105
abstract public List<File> getSequenceJobInputFiles(PipelineJob job);
102106

103107
/**

SequenceAnalysis/api-src/org/labkey/api/sequenceanalysis/run/DockerWrapper.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import org.apache.commons.lang3.StringUtils;
55
import org.apache.logging.log4j.Logger;
66
import org.labkey.api.pipeline.PipelineJobException;
7+
import org.labkey.api.sequenceanalysis.pipeline.PipelineContext;
78
import org.labkey.api.sequenceanalysis.pipeline.PipelineOutputTracker;
89
import org.labkey.api.sequenceanalysis.pipeline.SequencePipelineService;
910
import org.labkey.api.writer.PrintWriters;
@@ -17,12 +18,14 @@
1718
public class DockerWrapper extends AbstractCommandWrapper
1819
{
1920
private final String _containerName;
21+
private final PipelineContext _ctx;
2022
private File _tmpDir = null;
2123

22-
public DockerWrapper(String containerName, Logger log)
24+
public DockerWrapper(String containerName, Logger log, PipelineContext ctx)
2325
{
2426
super(log);
2527
_containerName = containerName;
28+
_ctx = ctx;
2629
}
2730

2831
public void setTmpDir(File tmpDir)
@@ -49,6 +52,7 @@ public void executeWithDocker(List<String> containerArgs, File workDir, Pipeline
4952
writer.println("sudo $DOCKER run --rm=true \\");
5053
writer.println("\t-v \"${WD}:/work\" \\");
5154
writer.println("\t-v \"${HOME}:/homeDir\" \\");
55+
_ctx.getDockerVolumes().forEach(ln -> writer.println(ln + " \\"));
5256
if (_tmpDir != null)
5357
{
5458
writer.println("\t-v \"" + _tmpDir.getPath() + ":/tmp\" \\");

0 commit comments

Comments
 (0)