X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fjalview%2Fio%2FPhylipFile.java;h=754288422ed37a68ba6abd8e31ff0227d16cea9c;hb=a9177efb4097815d9a8031aa22700c61a7d6260a;hp=2c8beae5e0e95520880cfabe1385d41b1b43f449;hpb=ee198b3ca3687f18a2ee186f4e7c7330f4ea30f0;p=jalview.git
diff --git a/src/jalview/io/PhylipFile.java b/src/jalview/io/PhylipFile.java
index 2c8beae..7542884 100644
--- a/src/jalview/io/PhylipFile.java
+++ b/src/jalview/io/PhylipFile.java
@@ -27,9 +27,9 @@ import java.io.IOException;
/**
*
- * Parser and exporter for PHYLIP file format, as defined in the
- * documentation. The parser imports PHYLIP files in both sequential and
+ * Parser and exporter for PHYLIP file format, as defined
+ * in
+ * the documentation. The parser imports PHYLIP files in both sequential and
* interleaved format, and (currently) exports in interleaved format (using 60
* characters per matrix for the sequence).
*
@@ -38,7 +38,8 @@ import java.io.IOException;
* The following assumptions have been made for input
*
* - Sequences are expressed as letters, not real numbers with decimal points
- * separated by blanks (which is a valid option according to the specification)
+ * separated by blanks (which is a valid option according to the
+ * specification)
*
*
* The following assumptions have been made for output
@@ -112,8 +113,8 @@ public class PhylipFile extends AlignFile
"First line must contain the number of specifies and number of characters");
}
- int numberSpecies = Integer.parseInt(lineElements[0]), numberCharacters = Integer
- .parseInt(lineElements[1]);
+ int numberSpecies = Integer.parseInt(lineElements[0]),
+ numberCharacters = Integer.parseInt(lineElements[1]);
if (numberSpecies <= 0)
{
@@ -144,8 +145,8 @@ public class PhylipFile extends AlignFile
}
else
{
- sequenceElements[i] = parseId(validateName(potentialName
- .substring(0, tabIndex)));
+ sequenceElements[i] = parseId(
+ validateName(potentialName.substring(0, tabIndex)));
sequences[i] = new StringBuffer(
removeWhitespace(line.substring(tabIndex)));
}
@@ -187,7 +188,7 @@ public class PhylipFile extends AlignFile
} catch (IOException e)
{
- System.err.println("Exception parsing PHYLIP file " + e);
+ jalview.bin.Console.errPrintln("Exception parsing PHYLIP file " + e);
e.printStackTrace(System.err);
throw e;
}
@@ -222,8 +223,8 @@ public class PhylipFile extends AlignFile
{
if (name.indexOf(c) > -1)
{
- throw new IOException("Species name contains illegal character "
- + c);
+ throw new IOException(
+ "Species name contains illegal character " + c);
}
}
return name;
@@ -240,15 +241,13 @@ public class PhylipFile extends AlignFile
* @see {@link AlignFile#print()}
*/
@Override
- public String print()
+ public String print(SequenceI[] sqs, boolean jvsuffix)
{
- StringBuffer sb = new StringBuffer(Integer.toString(seqs.size()));
+ StringBuffer sb = new StringBuffer(Integer.toString(sqs.length));
sb.append(" ");
// if there are no sequences, then define the number of characters as 0
- sb.append(
- (seqs.size() > 0) ? Integer
- .toString(seqs.get(0).getSequence().length) : "0")
+ sb.append((sqs.length > 0) ? Integer.toString(sqs[0].getLength()) : "0")
.append(newline);
// Due to how IO is handled, there doesn't appear to be a way to store
@@ -260,7 +259,7 @@ public class PhylipFile extends AlignFile
int numInterleavedColumns = 60;
int sequenceLength = 0;
- for (SequenceI s : seqs)
+ for (SequenceI s : sqs)
{
// ensure name is only 10 characters
@@ -279,13 +278,13 @@ public class PhylipFile extends AlignFile
// sequential has the entire sequence following the name
if (sequential)
{
- sb.append(s.getSequence());
+ sb.append(s.getSequenceAsString());
}
else
{
// Jalview ensures all sequences are of same length so no need
// to keep track of min/max length
- sequenceLength = s.getSequence().length;
+ sequenceLength = s.getLength();
// interleaved breaks the sequence into chunks for
// interleavedColumns characters
sb.append(s.getSequence(0,
@@ -311,11 +310,10 @@ public class PhylipFile extends AlignFile
// add blank line to separate this matrix from previous
sb.append(newline);
int start = i * numInterleavedColumns;
- for (SequenceI s : seqs)
+ for (SequenceI s : sqs)
{
- sb.append(
- s.getSequence(start, Math.min(start
- + numInterleavedColumns, sequenceLength)))
+ sb.append(s.getSequence(start,
+ Math.min(start + numInterleavedColumns, sequenceLength)))
.append(newline);
}
}