X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=forester%2Fjava%2Fsrc%2Forg%2Fforester%2Fmsa%2FBasicMsa.java;h=5fc25908f118587b8ab53945b12ec314af49826f;hb=656be28debec520e0e35a8b311114398a40ea366;hp=1fdef107de80aa97c7d6dd8e6d06a47334bc71b0;hpb=b1a74bd076c917d428002284a53a2c6f390226fb;p=jalview.git diff --git a/forester/java/src/org/forester/msa/BasicMsa.java b/forester/java/src/org/forester/msa/BasicMsa.java index 1fdef10..5fc2590 100644 --- a/forester/java/src/org/forester/msa/BasicMsa.java +++ b/forester/java/src/org/forester/msa/BasicMsa.java @@ -21,7 +21,7 @@ // 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; @@ -32,6 +32,8 @@ import java.util.HashSet; import java.util.List; import java.util.Set; +import org.forester.io.writers.SequenceWriter; +import org.forester.io.writers.SequenceWriter.SEQ_FORMAT; import org.forester.sequence.BasicSequence; import org.forester.sequence.Sequence; import org.forester.sequence.Sequence.TYPE; @@ -152,7 +154,24 @@ public class BasicMsa implements Msa { } @Override - public void write( final Writer w ) throws IOException { + public void write( final Writer w, final MSA_FORMAT format ) throws IOException { + switch ( format ) { + case PHYLIP: + writeToPhylip( w ); + break; + case FASTA: + writeToFasta( w ); + break; + default: + throw new RuntimeException( "unknown format " + format ); + } + } + + private void writeToFasta( final Writer w ) throws IOException { + SequenceWriter.writeSeqs( asSequenceList(), w, SEQ_FORMAT.FASTA, 100 ); + } + + private void writeToPhylip( final Writer w ) throws IOException { final int max = determineMaxIdLength() + 1; for( int row = 0; row < _data.length; ++row ) { w.write( ForesterUtil.pad( _identifiers[ row ].toString(), max, ' ', false ).toString() );