{
int noSeqs = 0;
int maxLength = 0;
+ /**
+ * Sequences to be added to form a new alignment.
+ */
protected Vector seqs;
+ /**
+ * annotation to be added to generated alignment object
+ */
protected Vector annotations;
+ /**
+ * Properties to be added to generated alignment object
+ */
+ protected Hashtable properties;
long start;
long end;
boolean jvSuffix = true;
return s;
}
-
+ /**
+ * called by AppletFormatAdapter to generate
+ * an annotated alignment, rather than bare
+ * sequences.
+ * @param al
+ */
public void addAnnotations(Alignment al)
{
+ addProperties(al);
for (int i = 0; i < annotations.size(); i++)
{
al.addAnnotation(
}
}
-
+ /**
+ * Add any additional information extracted
+ * from the file to the alignment properties.
+ * @note implicitly called by addAnnotations()
+ * @param al
+ */
+ public void addProperties(Alignment al)
+ {
+ if (properties!=null && properties.size()>0)
+ {
+ Enumeration keys = properties.keys();
+ Enumeration vals = properties.elements();
+ while (keys.hasMoreElements())
+ {
+ al.setProperty(keys.nextElement(), vals.nextElement());
+ }
+ }
+ }
+ protected void setAlignmentProperty(Object key, Object value)
+ {
+ if (key==null)
+ {
+ throw new Error("Implementation error: Cannot have null alignment property key.");
+ }
+ if (properties==null)
+ {
+ properties = new Hashtable();
+ }
+ properties.put(key, value);
+ }
+ protected Object getAlignmentProperty(Object key)
+ {
+ if (properties!=null && key!=null)
+ {
+ return properties.get(key);
+ }
+ return null;
+ }
/**
* Initialise objects to store sequence data in.
*/