* SequenceData is a string representation of what the user
* sees. The display may contain hidden columns.
*/
- public AlignmentView seqData;
+ private AlignmentView seqData;
int noseqs;
/**
* Create a new TreeModel object with leaves associated with sequences in
- * seqs, and original alignment data represented by Cigar strings
+ * seqs, and (optionally) original alignment data represented by Cigar strings
*
* @param seqs
* SequenceI[]
* @param treefile
* NewickFile
*/
- public TreeModel(SequenceI[] seqs, AlignmentView odata, NewickFile treefile)
+ public TreeModel(SequenceI[] seqs, AlignmentView odata,
+ NewickFile treefile)
{
- this(seqs, treefile);
+ this(seqs, treefile.getTree(), treefile.HasDistances(),
+ treefile.HasBootstrap(), treefile.HasRootDistance());
seqData = odata;
- }
-
- /**
- * Creates a new TreeModel object from a tree from an external source
- *
- * @param seqs
- * SequenceI which should be associated with leafs of treefile
- * @param treefile
- * A parsed tree
- */
- public TreeModel(SequenceI[] seqs, NewickFile treefile)
- {
- this(seqs, treefile.getTree(), treefile.HasDistances(), treefile
- .HasBootstrap(), treefile.HasRootDistance());
associateLeavesToSequences(seqs);
}
*/
public TreeModel(TreeBuilder tree)
{
- this(tree.getSequences(), tree.getTopNode(), tree.hasDistances(), tree
- .hasBootstrap(), tree.hasRootDistance());
+ this(tree.getSequences(), tree.getTopNode(), tree.hasDistances(),
+ tree.hasBootstrap(), tree.hasRootDistance());
+ seqData = tree.getOriginalData();
}
/**
{
NewickFile fout = new NewickFile(getTopNode());
- return fout.print(hasBootstrap(), hasDistances(),
- hasRootDistance()); // output all data available for tree
+ return fout.print(hasBootstrap(), hasDistances(), hasRootDistance()); // output
+ // all
+ // data
+ // available
+ // for
+ // tree
}
/**
if (!leaf.isPlaceholder())
{
// Construct a new placeholder sequence object for this leaf
- leaf.setElement(new Sequence(leaf.getName(),
- "THISISAPLACEHLDER"));
+ leaf.setElement(
+ new Sequence(leaf.getName(), "THISISAPLACEHLDER"));
}
leaf.setPlaceholder(true);
}
/**
- *
- * @return true if original sequence data can be recovered
- */
- public boolean hasOriginalSequenceData()
- {
- return seqData != null;
- }
-
- /**
- * Returns original alignment data used for calculation - or null where not
- * available.
- *
- * @return null or cut'n'pasteable alignment
- */
- public String printOriginalSequenceData(char gapChar)
- {
- if (seqData == null)
- {
- return null;
- }
-
- StringBuffer sb = new StringBuffer();
- String[] seqdatas = seqData.getSequenceStrings(gapChar);
- for (int i = 0; i < seqdatas.length; i++)
- {
- sb.append(new jalview.util.Format("%-" + 15 + "s").form(sequences[i]
- .getName()));
- sb.append(" " + seqdatas[i] + "\n");
- }
- return sb.toString();
- }
-
- /**
* DOCUMENT ME!
*
* @param nd
System.out.println(" name = " + ((SequenceI) nd.element()).getName());
}
- System.out.println(" dist = " + nd.dist + " " + nd.count + " "
- + nd.height);
+ System.out.println(
+ " dist = " + nd.dist + " " + nd.count + " " + nd.height);
}
/**
{
// if (_lycount<_lylimit)
// {
- // System.err.println("Warning: depth of _recount greater than number of nodes.");
+ // System.err.println("Warning: depth of _recount greater than number of
+ // nodes.");
// }
if (nd == null)
{
public void applyToNodes(NodeTransformI nodeTransformI)
{
for (Enumeration<SequenceNode> nodes = node.elements(); nodes
- .hasMoreElements(); nodeTransformI.transform(nodes
- .nextElement()))
+ .hasMoreElements(); nodeTransformI
+ .transform(nodes.nextElement()))
{
;
}
}
+
+ public AlignmentView getOriginalData()
+ {
+ return seqData;
+ }
}