1 package jalview.ext.forester;
3 import jalview.datamodel.Sequence;
4 import jalview.datamodel.SequenceI;
5 import jalview.math.MatrixI;
7 import org.forester.evoinference.matrix.distance.DistanceMatrix;
8 import org.forester.io.parsers.phyloxml.PhyloXmlDataFormatException;
10 public final class DataConversions
12 public static org.forester.phylogeny.data.Sequence createForesterSequence(
13 final SequenceI jalviewSequence, final boolean sequenceIsAligned)
15 org.forester.phylogeny.data.Sequence foresterSeq = new org.forester.phylogeny.data.Sequence();
17 if (jalviewSequence.getDescription() != null)
19 foresterSeq.setName(jalviewSequence.getDescription());
22 // all tree sequences should be aligned already
23 foresterSeq.setMolecularSequenceAligned(sequenceIsAligned);
25 foresterSeq.setMolecularSequence(jalviewSequence.getSequenceAsString());
27 // add checks for DNA or RNA (infer from forester itself?)
28 if (jalviewSequence.isProtein())
32 foresterSeq.setType("protein");
33 } catch (final PhyloXmlDataFormatException ignore)
44 public static SequenceI createJalviewSequence(
45 org.forester.phylogeny.data.Sequence foresterSeq)
47 String seq = foresterSeq.getMolecularSequence();
48 SequenceI jalviewSeq = new Sequence(foresterSeq.getName(), seq, 1,
50 return jalviewSeq.deriveSequence();
56 // public static org.forester.phylogeny.data.Accession
57 // createForesterAccession(
58 // SequenceI jalviewSequence)
62 // org.forester.phylogeny.data.Accession foresterAcs = new
63 // org.forester.phylogeny.data.Accession();
65 // return foresterAcs;
68 public static DistanceMatrix createForesterDistanceMatrix(
69 final MatrixI jalviewInputMatrix,
70 final String[] matrixIdentifiers)
73 DistanceMatrix foresterMatrix = new ForesterMatrix(jalviewInputMatrix,
75 return foresterMatrix;
79 public static DistanceMatrix createForesterDistanceMatrix(
80 final MatrixI jalviewInputMatrix,
81 final SequenceI[] matrixSequences)
83 DistanceMatrix foresterMatrix = new ForesterMatrix(jalviewInputMatrix,
85 return foresterMatrix;