*/
package jalview.io;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Enumeration;
-import java.util.Hashtable;
-import java.util.List;
-import java.util.Vector;
-
-import jalview.datamodel.Alignment;
import jalview.datamodel.AlignmentAnnotation;
import jalview.datamodel.AlignmentI;
import jalview.datamodel.Sequence;
import jalview.datamodel.SequenceI;
import jalview.util.MessageManager;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Enumeration;
+import java.util.Hashtable;
+import java.util.List;
+import java.util.Vector;
+
/**
* DOCUMENT ME!
*
{
this(true, inFile, type);
}
-
+
/**
- * Constructor which (optionally delays) parsing of data from a file of some specified type.
+ * Constructor which (optionally delays) parsing of data from a file of some
+ * specified type.
*
* @param parseImmediately
* if false, need to call 'doParse()' to begin parsing data
* What type of file to read from (File, URL)
* @throws IOException
*/
- public AlignFile(boolean parseImmediately, String inFile, String type) throws IOException
+ public AlignFile(boolean parseImmediately, String inFile, String type)
+ throws IOException
{
super(inFile, type);
initData();
- if (parseImmediately) {
+ if (parseImmediately)
+ {
doParse();
}
}
+
/**
* Attempt to read from the position where some other parsing process left
* off.
*/
public AlignFile(FileParse source) throws IOException
{
- this(true,source);
+ this(true, source);
}
+
/**
- * Construct a new parser to read from the position where some other parsing process left
+ * Construct a new parser to read from the position where some other parsing
+ * process left
*
* @param parseImmediately
* if false, need to call 'doParse()' to begin parsing data
* @param source
*/
- public AlignFile(boolean parseImmediately, FileParse source) throws IOException
+ public AlignFile(boolean parseImmediately, FileParse source)
+ throws IOException
{
super(source);
initData();
- if (parseImmediately) {
+ if (parseImmediately)
+ {
doParse();
}
}
+
/**
* called if parsing was delayed till after parser was constructed
+ *
* @throws IOException
*/
public void doParse() throws IOException
"Implementation error: Parser called twice for same data.\n"
+ "Need to call initData() again before parsing can be reattempted.");
}
- parseCalled=true;
+ parseCalled = true;
parse();
// sets the index of each sequence in the alignment
for (int i = 0, c = seqs.size(); i < c; i++)
}
}
-
/**
* Return the seqs Vector
*/
*
* @param al
*/
- public void addAnnotations(Alignment al)
+ public void addAnnotations(AlignmentI al)
{
addProperties(al);
for (int i = 0; i < annotations.size(); i++)
* Rna.GetBasePairsFromAlignmentAnnotation(annotations.elementAt(i));
* Rna.HelixMap(pairArray);
*/
- AlignmentAnnotation an = annotations
- .elementAt(i);
+ AlignmentAnnotation an = annotations.elementAt(i);
an.validateRangeAndDisplay();
al.addAnnotation(an);
}
}
+ /**
+ * register sequence groups on the alignment for **output**
+ *
+ * @param al
+ */
public void addSeqGroups(AlignmentI al)
{
this.seqGroups = al.getGroups();
* @note implicitly called by addAnnotations()
* @param al
*/
- public void addProperties(Alignment al)
+ public void addProperties(AlignmentI al)
{
if (properties != null && properties.size() > 0)
{
{
if (key == null)
{
- throw new Error(MessageManager.getString("error.implementation_error_cannot_have_null_alignment"));
+ throw new Error(
+ MessageManager
+ .getString("error.implementation_error_cannot_have_null_alignment"));
}
if (value == null)
{
seqs = new Vector<SequenceI>();
annotations = new Vector<AlignmentAnnotation>();
seqGroups = new ArrayList<SequenceGroup>();
- parseCalled=false;
+ parseCalled = false;
}
/**
{
newickStrings = new Vector<String[]>();
}
- newickStrings.addElement(new String[]
- { treeName, newickString });
+ newickStrings.addElement(new String[] { treeName, newickString });
}
protected int getTreeCount()
return newickStrings == null ? 0 : newickStrings.size();
}
+ public void addGroups(AlignmentI al)
+ {
+
+ for (SequenceGroup sg : getSeqGroups())
+ {
+ al.addGroup(sg);
+ }
+ }
+
}