moved to: https://sites.google.com/site/cmzmasek/home/software/forester
[jalview.git] / forester / java / src / org / forester / msa / Mafft.java
index e175f0d..ae9fdf1 100644 (file)
 // 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.Sequence;
 import org.forester.util.SystemCommandExecutor;
 
 public final class Mafft extends MsaInferrer {
@@ -67,6 +72,18 @@ public final class Mafft extends MsaInferrer {
     }
 
     @Override
+    public Msa infer( final List<Sequence> seqs, final List<String> 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<String> opts ) throws IOException, InterruptedException {
         init();
         final List<String> my_opts = new ArrayList<String>();