X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fio%2FScoreMatrixFile.java;h=ee7503d4012ccfe1a054087a80e29d16e92a639c;hb=d4271d32477e99e9fbbfa5db3e11f1b79324e60d;hp=6b2f891be5f4c47e771a5037b4dcb7380bd9b112;hpb=136c0793b90b72b928c4d77dc109dd5c644e00d3;p=jalview.git
diff --git a/src/jalview/io/ScoreMatrixFile.java b/src/jalview/io/ScoreMatrixFile.java
index 6b2f891..ee7503d 100644
--- a/src/jalview/io/ScoreMatrixFile.java
+++ b/src/jalview/io/ScoreMatrixFile.java
@@ -1,12 +1,32 @@
+/*
+ * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
+ * Copyright (C) $$Year-Rel$$ The Jalview Authors
+ *
+ * This file is part of Jalview.
+ *
+ * Jalview is free software: you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *
+ * Jalview is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Jalview. If not, see .
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
+ */
package jalview.io;
+import java.io.IOException;
+import java.util.StringTokenizer;
+
import jalview.analysis.scoremodels.ScoreMatrix;
import jalview.analysis.scoremodels.ScoreModels;
import jalview.datamodel.SequenceI;
-import java.io.IOException;
-import java.util.StringTokenizer;
-
/**
* A class that can parse a file containing a substitution matrix and register
* it for use in Jalview
@@ -30,8 +50,8 @@ import java.util.StringTokenizer;
* and the substitution scores
*
*/
-public class ScoreMatrixFile extends AlignFile implements
- AlignmentFileReaderI
+public class ScoreMatrixFile extends AlignFile
+ implements AlignmentFileReaderI
{
// first non-comment line identifier - also checked in IdentifyFile
public static final String SCOREMATRIX = "SCOREMATRIX";
@@ -111,7 +131,8 @@ public class ScoreMatrixFile extends AlignFile implements
{
continue;
}
- if (data.toUpperCase().startsWith(SCOREMATRIX))
+ // equivalent to data.startsWithIgnoreCase(SCOREMATRIX)
+ if (data.regionMatches(true, 0, SCOREMATRIX, 0, SCOREMATRIX.length()))
{
/*
* Parse name from ScoreMatrix
@@ -186,9 +207,9 @@ public class ScoreMatrixFile extends AlignFile implements
*/
if (row < size)
{
- err = String
- .format("Expected %d rows of score data in score matrix but only found %d",
- size, row);
+ err = String.format(
+ "Expected %d rows of score data in score matrix but only found %d",
+ size, row);
throw new FileFormatException(err);
}
@@ -312,9 +333,9 @@ public class ScoreMatrixFile extends AlignFile implements
String symbol = scoreLine.nextToken();
if (symbol.length() > 1 || symbol.charAt(0) != alphabet[row])
{
- err = String
- .format("Error parsing score matrix at line %d, expected '%s' but found '%s'",
- lineNo, alphabet[row], symbol);
+ err = String.format(
+ "Error parsing score matrix at line %d, expected '%s' but found '%s'",
+ lineNo, alphabet[row], symbol);
throw new FileFormatException(err);
}
tokenCount = scoreLine.countTokens(); // excluding guide symbol
@@ -328,7 +349,7 @@ public class ScoreMatrixFile extends AlignFile implements
err = String.format(
"Expected %d scores at line %d: '%s' but found %d", row + 1,
lineNo, data, tokenCount);
- throw new FileFormatException(err);
+ throw new FileFormatException(err);
}
if (!isLowerDiagonalOnly && tokenCount != size)
@@ -359,9 +380,8 @@ public class ScoreMatrixFile extends AlignFile implements
col++;
} catch (NumberFormatException e)
{
- err = String.format(
- "Invalid score value '%s' at line %d column %d", value,
- lineNo, col);
+ err = String.format("Invalid score value '%s' at line %d column %d",
+ value, lineNo, col);
throw new FileFormatException(err);
}
}
@@ -387,7 +407,7 @@ public class ScoreMatrixFile extends AlignFile implements
{
String err = "Unexpected aaIndex score matrix data at line " + lineNo
+ ": " + data;
-
+
try
{
String[] toks = data.split(",");