X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=forester%2Fjava%2Fsrc%2Forg%2Fforester%2Fmsa%2FMafft.java;h=5a96bc38642aecf51034abec14847f498ddc2287;hb=d605114bdf420c6cb680b02bb10ea25f09db769c;hp=e175f0d76a319d230c0dcadad40738830f5a5baa;hpb=a1f96e88c8d5c06bc64a7b614dd883d696b0fefe;p=jalview.git diff --git a/forester/java/src/org/forester/msa/Mafft.java b/forester/java/src/org/forester/msa/Mafft.java index e175f0d..5a96bc3 100644 --- a/forester/java/src/org/forester/msa/Mafft.java +++ b/forester/java/src/org/forester/msa/Mafft.java @@ -21,16 +21,21 @@ // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA // // Contact: phylosoft @ gmail . com -// WWW: www.phylosoft.org/forester +// WWW: https://sites.google.com/site/cmzmasek/home/software/forester package org.forester.msa; +import java.io.BufferedWriter; import java.io.File; +import java.io.FileWriter; import java.io.IOException; import java.util.ArrayList; import java.util.List; import org.forester.io.parsers.FastaParser; +import org.forester.io.writers.SequenceWriter; +import org.forester.io.writers.SequenceWriter.SEQ_FORMAT; +import org.forester.sequence.MolecularSequence; import org.forester.util.SystemCommandExecutor; public final class Mafft extends MsaInferrer { @@ -67,6 +72,19 @@ public final class Mafft extends MsaInferrer { } @Override + public Msa infer( final List seqs, final List opts ) throws IOException, + InterruptedException { + final File file = File.createTempFile( "__mafft_input_", ".fasta" ); + file.deleteOnExit(); + final BufferedWriter writer = new BufferedWriter( new FileWriter( file ) ); + SequenceWriter.writeSeqs( seqs, writer, SEQ_FORMAT.FASTA, 100 ); + writer.close(); + final Msa msa = infer( file, opts ); + file.delete(); + return msa; + } + + @Override public Msa infer( final File path_to_input_seqs, final List opts ) throws IOException, InterruptedException { init(); final List my_opts = new ArrayList(); @@ -81,7 +99,7 @@ public final class Mafft extends MsaInferrer { _error = stderr.toString(); if ( _exit_code != 0 ) { throw new IOException( "MAFFT program failed, exit code: " + _exit_code + "\nCommand:\n" + my_opts - + "\nError:\n" + stderr ); + + "\nError:\n" + stderr ); } final StringBuilder stdout = command_executor.getStandardOutputFromCommand(); if ( ( stdout == null ) || ( stdout.length() < 2 ) ) {