From 76efefe7ea3cfd6cae8347a21379e2f1cdaf886e Mon Sep 17 00:00:00 2001 From: "Workum, Dirk-Jan van" <dirk-jan.vanworkum@wur.nl> Date: Wed, 9 Mar 2022 12:59:25 +0000 Subject: [PATCH] small improvement to running fasttree --- .../pangenome/MultipleSequenceAlignment.java | 25 +++++++++++++------ 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/src/main/java/nl/wur/bif/pantools/pangenome/MultipleSequenceAlignment.java b/src/main/java/nl/wur/bif/pantools/pangenome/MultipleSequenceAlignment.java index 95c5984cd..e70796040 100644 --- a/src/main/java/nl/wur/bif/pantools/pangenome/MultipleSequenceAlignment.java +++ b/src/main/java/nl/wur/bif/pantools/pangenome/MultipleSequenceAlignment.java @@ -1585,7 +1585,7 @@ public class MultipleSequenceAlignment { String output = outPath + "nuc" + dot + "newick"; if (!check_if_file_exists(output)) { - Future<?> f = es.submit(new runFasttree(input, output)); + Future<?> f = es.submit(new runFasttree(input, output, true)); futures.add(f); } } @@ -1595,7 +1595,7 @@ public class MultipleSequenceAlignment { String output = outPath + "prot" + dot + "newick"; if (!check_if_file_exists(output)) { - Future<?> f = es.submit(new runFasttree(input, output)); + Future<?> f = es.submit(new runFasttree(input, output, false)); futures.add(f); } } @@ -2308,17 +2308,24 @@ public class MultipleSequenceAlignment { private class runFasttree implements Callable<String> { private final String input; private final String output; + private final boolean isNucleotide; + private final String log; - public runFasttree(String input, String output) { + public runFasttree(String input, String output, boolean isNucleotide) { this.input = input; this.output = output; + this.isNucleotide = isNucleotide; + this.log = output + ".log"; } public String call() { - String fasttreeCommand = "FastTree " + - input + - " 1> " + - output; + String fasttree = "FastTree "; + if (isNucleotide) { + fasttree += "-nt "; + } + String fasttreeCommand = fasttree + input + + " 1> " + output + + " 2> " + log; if (LOG) { System.out.println(fasttreeCommand); @@ -2326,6 +2333,10 @@ public class MultipleSequenceAlignment { runCommand(fasttreeCommand); //run FastTree + if (!LOG) { + delete_file_full_path(log); + } + return "Starting alignment of " + input; } -- GitLab