keep it as close with archy.js as possible...
[jalview.git] / forester / java / src / org / forester / io / writers / SequenceWriter.java
index 8e6ef95..bd5a5ae 100644 (file)
@@ -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<Sequence> seqs,
+    public static void writeSeqs( final List<MolecularSequence> 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<MolecularSequence> 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 );
                 }