JAL-2795 created static class for forester conversions
[jalview.git] / src / jalview / ext / forester / ForesterConversions.java
1 package jalview.ext.forester;
2
3 import jalview.datamodel.SequenceI;
4 import jalview.math.MatrixI;
5
6 import org.forester.evoinference.matrix.distance.DistanceMatrix;
7 import org.forester.io.parsers.phyloxml.PhyloXmlDataFormatException;
8
9 public final class ForesterConversions
10 {
11   public static org.forester.phylogeny.data.Sequence createForesterSequence(
12           SequenceI jalviewSequence)
13   {
14     org.forester.phylogeny.data.Sequence foresterSeq = new org.forester.phylogeny.data.Sequence();
15     if (jalviewSequence.getDescription() != null)
16     {
17       foresterSeq.setName(jalviewSequence.getDescription());
18     }
19     foresterSeq.setMolecularSequenceAligned(true); // all tree sequences should
20                                                    // be aligned already
21     foresterSeq.setMolecularSequence(jalviewSequence.getSequenceAsString());
22     if (jalviewSequence.isProtein()) // add checks for DNA or RNA (infer from
23                                      // forester itself?)
24     {
25       try
26       {
27         foresterSeq.setType("protein");
28       } catch (final PhyloXmlDataFormatException ignore)
29       {
30         // do nothing
31       }
32
33     }
34
35     return foresterSeq;
36
37   }
38
39
40   // public static org.forester.phylogeny.data.Accession
41   // createForesterAccession(
42   // SequenceI jalviewSequence)
43   // {
44   //
45   //
46   // org.forester.phylogeny.data.Accession foresterAcs = new
47   // org.forester.phylogeny.data.Accession();
48   //
49   // return foresterAcs;
50   // }
51
52   public static DistanceMatrix createForesterDistanceMatrix(
53           final MatrixI jalviewInputMatrix,
54           final String[] matrixIdentifiers)
55   {
56     if (jalviewInputMatrix.width() != jalviewInputMatrix.height())
57     {
58       // some kind of warning?
59     }
60
61     DistanceMatrix foresterMatrix = new ForesterMatrix(jalviewInputMatrix,
62             matrixIdentifiers);
63     return foresterMatrix;
64
65   }
66
67   public static DistanceMatrix createForesterDistanceMatrix(
68           final MatrixI jalviewInputMatrix,
69           final SequenceI[] matrixSequences)
70   {
71     if (jalviewInputMatrix.width() != jalviewInputMatrix.height())
72     {
73       // some kind of warning?
74     }
75     DistanceMatrix foresterMatrix = new ForesterMatrix(jalviewInputMatrix,
76             matrixSequences);
77     return foresterMatrix;
78
79   }
80 }