X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=forester%2Fjava%2Fsrc%2Forg%2Fforester%2Fio%2Fwriters%2FSequenceWriter.java;h=bd5a5ae5ea6c5317a001b303f1d715b538d35626;hb=665e671efec73fcb36a9aac45f119330f290fa81;hp=8e6ef959bdff145501e4f31d0ab7b2431523d65c;hpb=7a7a89b113566b2749f1e8e4fbb3064241145201;p=jalview.git diff --git a/forester/java/src/org/forester/io/writers/SequenceWriter.java b/forester/java/src/org/forester/io/writers/SequenceWriter.java index 8e6ef95..bd5a5ae 100644 --- a/forester/java/src/org/forester/io/writers/SequenceWriter.java +++ b/forester/java/src/org/forester/io/writers/SequenceWriter.java @@ -1,11 +1,12 @@ package org.forester.io.writers; +import java.io.File; import java.io.IOException; import java.io.Writer; import java.util.List; -import org.forester.sequence.Sequence; +import org.forester.sequence.MolecularSequence; import org.forester.util.ForesterUtil; public class SequenceWriter { @@ -14,7 +15,7 @@ public class SequenceWriter { FASTA; } - public static StringBuilder toFasta( final Sequence seq, final int width ) { + public static StringBuilder toFasta( final MolecularSequence seq, final int width ) { return toFasta( seq.getIdentifier(), seq.getMolecularSequenceAsString(), width ); } @@ -43,9 +44,9 @@ public class SequenceWriter { return sb; } - public static void toFasta( final Sequence seq, final Writer w, final int width ) throws IOException { + public static void toFasta( final MolecularSequence seq, final Writer w, final int width ) throws IOException { w.write( ">" ); - w.write( seq.getIdentifier().toString() ); + w.write( seq.getIdentifier() ); w.write( ForesterUtil.LINE_SEPARATOR ); if ( ( width < 1 ) || ( width >= seq.getLength() ) ) { w.write( seq.getMolecularSequence() ); @@ -66,13 +67,22 @@ public class SequenceWriter { } } - public static void writeSeqs( final List seqs, + public static void writeSeqs( final List seqs, + final File file, + final SEQ_FORMAT format, + final int width ) throws IOException { + final Writer w = ForesterUtil.createBufferedWriter( file ); + SequenceWriter.writeSeqs( seqs, w, format, width ); + w.close(); + } + + public static void writeSeqs( final List seqs, final Writer writer, final SEQ_FORMAT format, final int width ) throws IOException { switch ( format ) { case FASTA: - for( final Sequence s : seqs ) { + for( final MolecularSequence s : seqs ) { toFasta( s, writer, width ); writer.write( ForesterUtil.LINE_SEPARATOR ); }