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