{
int i = 0;
boolean flag = false;
-
+ boolean rna=false;
+ boolean top=false;
+ StringBuffer pssecstr=new StringBuffer(),consstr=new StringBuffer();
Vector headers = new Vector();
Hashtable seqhash = new Hashtable();
StringBuffer tempseq;
{
while ((line = nextLine()) != null)
{
+ if (line.length()==0)
+ {
+ top=true;
+ }
if (line.indexOf(" ") != 0)
{
str = new StringTokenizer(line, " ");
{
tempseq.append(str.nextToken());
}
+ top=false;
}
}
}
{
flag = true;
}
+ } else {
+ if (line.matches("\\s+(-|\\.|\\(|\\[|\\]|\\))+"))
+ {
+ if (top)
+ {
+ pssecstr.append(line.trim());
+ } else {
+ consstr.append(line.trim());
+ }
+ }
}
}
} catch (IOException e)
+ headers.elementAt(i));
}
}
+ AlignmentAnnotation lastssa=null;
+ if (pssecstr.length()==maxLength)
+ {
+ Vector ss=new Vector();
+ AlignmentAnnotation ssa=lastssa=StockholmFile.parseAnnotationRow(ss, "secondary structure", pssecstr.toString());
+ ssa.label="Secondary Structure";
+ annotations.addElement(ssa);
+ }
+ if (consstr.length()==maxLength)
+ {
+ Vector ss=new Vector();
+ AlignmentAnnotation ssa=StockholmFile.parseAnnotationRow(ss, "secondary structure", consstr.toString());
+ ssa.label="Consensus Secondary Structure";
+ if (lastssa==null || !lastssa.getRNAStruc().equals(ssa.getRNAStruc().replace('-', '.')))
+ {
+ annotations.addElement(ssa);
+ }
+ }
}
}
-
public String print()
{
return print(getSeqsAsArray());