diff --git a/Dockerfile b/Dockerfile index 1623f91..7f1354e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,4 +3,4 @@ USER root RUN apt-get update && apt-get -y install openjdk-8-jre USER vep COPY target/vep_wrapper*.jar /opt/vep/src/ensembl-vep/vep_wrapper.jar -CMD ["java", "-jar", "vep_wrapper.jar"] \ No newline at end of file +ENTRYPOINT exec java ${JAVA_OPTS} -jar vep_wrapper.jar diff --git a/src/main/java/org/genomenexus/vep_wrapper/VepRunner.java b/src/main/java/org/genomenexus/vep_wrapper/VepRunner.java index 9e22b94..80c3385 100644 --- a/src/main/java/org/genomenexus/vep_wrapper/VepRunner.java +++ b/src/main/java/org/genomenexus/vep_wrapper/VepRunner.java @@ -11,28 +11,36 @@ import java.util.ArrayList; import java.util.List; +import org.springframework.beans.factory.annotation.Value; + public class VepRunner { + public static final String VEP_DEFAULT_PARAMS = null; + public static String run(List regions, Boolean convertToListJSON) throws IOException, InterruptedException { + // get vep pameters (use -Dvep.params to change) + String vepParameters = System.getProperty("vep.params", String.join(" ", + "--cache", + "--offline", + "--fasta", + "/opt/vep/.vep/homo_sapiens/92_GRCh37/Homo_sapiens.GRCh37.75.dna.primary_assembly.fa.gz", + "--everything", + "--hgvsg", + "--assembly", + "GRCh37", + "--format", + "region", + "--json", + "-o", + "STDOUT", + "--no_stats" + )); + //Build command List commands = new ArrayList(); commands.add("vep"); - commands.add("--cache"); - commands.add("--offline"); - commands.add("--fasta"); - commands.add("/opt/vep/.vep/homo_sapiens/92_GRCh37/Homo_sapiens.GRCh37.75.dna.primary_assembly.fa.gz"); - commands.add("--symbol"); - commands.add("--hgvs"); - commands.add("--hgvsg"); - //commands.add("--port"); - //commands.add("3337"); - commands.add("--assembly"); - commands.add("GRCh37"); - commands.add("--format"); - commands.add("region"); - commands.add("--json"); - commands.add("-o"); - commands.add("STDOUT"); - commands.add("--no_stats"); + for (String param : vepParameters.split(" ")) { + commands.add(param); + } //Run macro on target ProcessBuilder pb = new ProcessBuilder(commands); @@ -71,7 +79,7 @@ public static String run(List regions, Boolean convertToListJSON) throws out.append('\n'); } - //Check result + // Check result if (process.waitFor() == 0) { //System.out.println("OK"); //System.out.println(out.toString());