X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fio%2FEMBLLikeFlatFile.java;h=f6f53a6994aeecbc4579fe42d7e7f2eac975d43b;hb=94ca0419cc7afa75b3c51917a8beaf46a7c05540;hp=8fba76c53dfd89473725ec77f3ee62ebbbfff543;hpb=56b18f65d6718fc6cfd7eeae53fdec97fdc7a360;p=jalview.git
diff --git a/src/jalview/io/EMBLLikeFlatFile.java b/src/jalview/io/EMBLLikeFlatFile.java
index 8fba76c..f6f53a6 100644
--- a/src/jalview/io/EMBLLikeFlatFile.java
+++ b/src/jalview/io/EMBLLikeFlatFile.java
@@ -1,3 +1,23 @@
+/*
+ * 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;
@@ -12,7 +32,7 @@ import java.util.Map;
import java.util.Map.Entry;
import java.util.TreeMap;
-import jalview.bin.Cache;
+import jalview.bin.Console;
import jalview.datamodel.DBRefEntry;
import jalview.datamodel.DBRefSource;
import jalview.datamodel.FeatureProperties;
@@ -160,8 +180,7 @@ public abstract class EMBLLikeFlatFile extends AlignFile
* when true, interpret the mol_type 'source' feature attribute
* and generate an RNA sequence from the DNA record
*/
- protected boolean produceRna=true;
-
+ protected boolean produceRna = true;
/*
* values parsed from the data file
@@ -178,7 +197,7 @@ public abstract class EMBLLikeFlatFile extends AlignFile
protected List dbrefs;
- protected boolean sequenceStringIsRNA=false;
+ protected boolean sequenceStringIsRNA = false;
protected String sequenceString;
@@ -201,13 +220,14 @@ public abstract class EMBLLikeFlatFile extends AlignFile
* using TreeMap gives CDS sequences in alphabetical, so readable, order
*/
cds = new TreeMap<>(String.CASE_INSENSITIVE_ORDER);
-
+
parse();
}
/**
- * process attributes for 'source' until the next FT feature entry
- * only interested in 'mol_type'
+ * process attributes for 'source' until the next FT feature entry only
+ * interested in 'mol_type'
+ *
* @param tokens
* @return
* @throws IOException
@@ -236,7 +256,7 @@ public abstract class EMBLLikeFlatFile extends AlignFile
int p = line.indexOf("\\mol_type");
int qs = line.indexOf("\"", p);
int qe = line.indexOf("\"", qs + 1);
- String qualifier=line.substring(qs,qe).toLowerCase(Locale.ROOT);
+ String qualifier = line.substring(qs, qe).toLowerCase(Locale.ROOT);
if (qualifier.indexOf("rna") > -1)
{
sequenceStringIsRNA = true;
@@ -245,12 +265,11 @@ public abstract class EMBLLikeFlatFile extends AlignFile
{
sequenceStringIsRNA = false;
}
- line=parseFeatureQualifier(sb, false);
+ line = parseFeatureQualifier(sb, false);
}
return line;
}
-
/**
* Parses one (GenBank or EMBL format) CDS feature, saves the parsed data, and
* returns the next line
@@ -288,7 +307,7 @@ public abstract class EMBLLikeFlatFile extends AlignFile
int slashPos = line.indexOf('/');
if (slashPos == -1)
{
- Cache.error("Unexpected EMBL line ignored: " + line);
+ Console.error("Unexpected EMBL line ignored: " + line);
line = nextLine();
continue;
}
@@ -318,7 +337,7 @@ public abstract class EMBLLikeFlatFile extends AlignFile
data.codonStart = Integer.parseInt(featureValue.trim());
} catch (NumberFormatException e)
{
- Cache.error("Invalid codon_start in XML for " + this.accession
+ Console.error("Invalid codon_start in XML for " + this.accession
+ ": " + e.getMessage());
}
}
@@ -354,7 +373,7 @@ public abstract class EMBLLikeFlatFile extends AlignFile
}
else
{
- Cache.error("Ignoring CDS feature with no protein_id for "
+ Console.error("Ignoring CDS feature with no protein_id for "
+ sourceDb + ":" + accession);
}
@@ -379,7 +398,7 @@ public abstract class EMBLLikeFlatFile extends AlignFile
{
if (this.accession == null || this.sequenceString == null)
{
- Cache.error("Failed to parse data from EMBL");
+ Console.error("Failed to parse data from EMBL");
return;
}
@@ -581,7 +600,7 @@ public abstract class EMBLLikeFlatFile extends AlignFile
* workaround until we handle all 'location' formats fully
* e.g. X53828.1:60..1058 or <123..>289
*/
- Cache.error(String.format(
+ Console.error(String.format(
"Implementation Notice: EMBLCDS location '%s'not properly supported yet"
+ " - Making up the CDNA region of (%s:%s)... may be incorrect",
data.cdsLocation, sourceDb, this.accession));
@@ -591,12 +610,12 @@ public abstract class EMBLLikeFlatFile extends AlignFile
if (peptideLength * 3 == completeCodonsLength)
{
// this might occur for CDS sequences where no features are marked
- Cache.warn("Assuming no stop codon at end of cDNA fragment");
+ Console.warn("Assuming no stop codon at end of cDNA fragment");
mappedDnaEnd = dna.getEnd();
}
else if ((peptideLength + 1) * 3 == completeCodonsLength)
{
- Cache.warn("Assuming stop codon at end of cDNA fragment");
+ Console.warn("Assuming stop codon at end of cDNA fragment");
mappedDnaEnd = dna.getEnd() - 3;
}
@@ -670,7 +689,7 @@ public abstract class EMBLLikeFlatFile extends AlignFile
return MappingUtils.rangeListToArray(ranges);
} catch (ParseException e)
{
- Cache.warn(
+ Console.warn(
String.format("Not parsing inexact CDS location %s in ENA %s",
location, accession));
return new int[] {};
@@ -715,8 +734,8 @@ public abstract class EMBLLikeFlatFile extends AlignFile
String[] tokens = line.split(WHITESPACE);
if (tokens.length < 2)
{
- Cache.error("Ignoring bad EMBL line for " + this.accession
- + ": " + line);
+ Console.error("Ignoring bad EMBL line for " + this.accession + ": "
+ + line);
break;
}
if (tokens[1].startsWith("/"))
@@ -797,7 +816,8 @@ public abstract class EMBLLikeFlatFile extends AlignFile
protected String parseFeature(String line) throws IOException
{
String[] tokens = line.trim().split(WHITESPACE);
- if (tokens.length < 2 || (!"CDS".equals(tokens[0]) && (!"source".equals(tokens[0]))))
+ if (tokens.length < 2
+ || (!"CDS".equals(tokens[0]) && (!"source".equals(tokens[0]))))
{
return nextLine();
}