/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2)
- * Copyright (C) 2014 The Jalview Authors
+ * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
+ * Copyright (C) $$Year-Rel$$ The Jalview Authors
*
* This file is part of Jalview.
*
this.al = al;
}
- public StockholmFile(String inFile, String type) throws IOException
+ public StockholmFile(String inFile, DataSourceType sourceType)
+ throws IOException
{
- super(inFile, type);
+ super(inFile, sourceType);
}
public StockholmFile(FileParse source) throws IOException
super(source);
}
+ @Override
public void initData()
{
super.initData();
* @throws IOException
* If there is an error with the input file
*/
+ @Override
public void parse() throws IOException
{
StringBuffer treeString = new StringBuffer();
{
// logger.error("Could not parse sequence line: " + line);
throw new IOException(MessageManager.formatMessage(
- "exception.couldnt_parse_sequence_line", new String[]
- { line }));
+ "exception.couldnt_parse_sequence_line",
+ new String[] { line }));
}
String ns = seqs.get(x.stringMatched(1));
if (ns == null)
}
else
{
- throw new IOException(MessageManager.formatMessage(
- "exception.error_parsing_line", new String[]
- { line }));
+ // throw new IOException(MessageManager.formatMessage(
+ // "exception.error_parsing_line", new String[] { line }));
+ System.err.println(">> missing annotation: " + line);
}
}
else if (annType.equals("GC"))
else
{
throw new IOException(MessageManager.formatMessage(
- "exception.unknown_annotation_detected", new String[]
- { annType, annContent }));
+ "exception.unknown_annotation_detected", new String[] {
+ annType, annContent }));
}
}
}
{
for (DBRefEntry d : dbrs)
{
- jalview.util.MapList mp = new jalview.util.MapList(new int[]
- { seqO.getStart(), seqO.getEnd() }, new int[]
- { st, en }, 1, 1);
+ jalview.util.MapList mp = new jalview.util.MapList(new int[] {
+ seqO.getStart(), seqO.getEnd() }, new int[] { st, en }, 1, 1);
jalview.datamodel.Mapping mping = new Mapping(mp);
d.setMap(mping);
}
// be written out
if (ss)
{
- //if (" .-_".indexOf(pos) == -1)
+ // if (" .-_".indexOf(pos) == -1)
{
if (detectbrackets.search(pos))
{
ann.displayCharacter = " " + ann.displayCharacter;
}
}
-
+
}
els[i] = ann;
return annot;
}
- public String print(SequenceI[] s)
+ @Override
+ public String print(SequenceI[] s, boolean jvsuffix)
{
+ // out.append("# STOCKHOLM 1.0");
+ // out.append(newline);
+
// find max length of id
int max = 0;
int maxid = 0;
Hashtable dataRef = null;
while ((in < s.length) && (s[in] != null))
{
- String tmp = printId(s[in]);
+ String tmp = printId(s[in], jvsuffix);
if (s[in].getSequence().length > max)
{
max = s[in].getSequence().length;
{
maxid = tmp.length();
}
- if (s[in].getDBRef() != null)
+ if (s[in].getDBRefs() != null)
{
- for (int idb = 0; idb < s[in].getDBRef().length; idb++)
+ for (int idb = 0; idb < s[in].getDBRefs().length; idb++)
{
if (dataRef == null)
{
dataRef = new Hashtable();
}
- String datAs1 = s[in].getDBRef()[idb].getSource().toString()
+ String datAs1 = s[in].getDBRefs()[idb].getSource().toString()
+ " ; "
- + s[in].getDBRef()[idb].getAccessionId().toString();
+ + s[in].getDBRefs()[idb].getAccessionId().toString();
dataRef.put(tmp, datAs1);
}
}
// out.append("#=GR ");
out.append(new Format("%-" + maxid + "s").form("#=GR "
- + printId(s[i]) + " " + key + " "));
+ + printId(s[i], jvsuffix) + " " + key + " "));
ann = alAnot[j].annotations;
boolean isrna = alAnot[j].isValidStruc();
String seq = "";
}
}
- out.append(new Format("%-" + maxid + "s").form(printId(s[i]) + " "));
+ out.append(new Format("%-" + maxid + "s")
+ .form(printId(s[i], jvsuffix) + " "));
out.append(s[i].getSequenceAsString());
out.append(newline);
i++;
out.append(newline);
}
}
+ // out.append("//");
+ // out.append(newline);
return out.toString();
}
* @param ann
* @param sequenceI
*/
- private char outputCharacter(String key, int k,
- boolean isrna, Annotation[] ann, SequenceI sequenceI)
+ private char outputCharacter(String key, int k, boolean isrna,
+ Annotation[] ann, SequenceI sequenceI)
{
char seq = ' ';
Annotation annot = ann[k];
String ch = (annot == null) ? ((sequenceI == null) ? "-" : Character
- .toString(sequenceI.getCharAt(k)))
- : annot.displayCharacter;
+ .toString(sequenceI.getCharAt(k))) : annot.displayCharacter;
if (key != null && key.equals("SS"))
{
if (annot == null)
{
// sensible gap character if one is available or make one up
- return sequenceI == null ? '-' : sequenceI
- .getCharAt(k);
+ return sequenceI == null ? '-' : sequenceI.getCharAt(k);
}
else
{
return seq;
}
- public String print()
- {
- out = new StringBuffer();
- out.append("# STOCKHOLM 1.0");
- out.append(newline);
- print(getSeqsAsArray());
-
- out.append("//");
- out.append(newline);
- return out.toString();
- }
-
private static Hashtable typeIds = null;
static
{