package jalview.ext.forester; import jalview.datamodel.Sequence; import jalview.datamodel.SequenceI; import jalview.math.MatrixI; import org.forester.evoinference.matrix.distance.DistanceMatrix; import org.forester.io.parsers.phyloxml.PhyloXmlDataFormatException; import org.forester.phylogeny.PhylogenyNode; public final class DataConversions { public static org.forester.phylogeny.data.Sequence createForesterSequence( final SequenceI jalviewSequence, final boolean sequenceIsAligned) { org.forester.phylogeny.data.Sequence foresterSeq = new org.forester.phylogeny.data.Sequence(); if (jalviewSequence.getDescription() != null) { foresterSeq.setName(jalviewSequence.getDescription()); } // all tree sequences should be aligned already foresterSeq.setMolecularSequenceAligned(sequenceIsAligned); foresterSeq.setMolecularSequence(jalviewSequence.getSequenceAsString()); // add checks for DNA or RNA (infer from forester itself?) if (jalviewSequence.isProtein()) { try { foresterSeq.setType("protein"); } catch (final PhyloXmlDataFormatException ignore) { // do nothing } } return foresterSeq; } public static SequenceI createJalviewSequence( PhylogenyNode foresterNode) { String seq = foresterNode.getNodeData().getSequence() .getMolecularSequence(); String seqName = foresterNode.getName(); SequenceI jalviewSeq = new Sequence(seqName, seq, 1, seq.length() + 1); return jalviewSeq.deriveSequence(); } // public static org.forester.phylogeny.data.Accession // createForesterAccession( // SequenceI jalviewSequence) // { // // // org.forester.phylogeny.data.Accession foresterAcs = new // org.forester.phylogeny.data.Accession(); // // return foresterAcs; // } public static DistanceMatrix createForesterDistanceMatrix( final MatrixI jalviewInputMatrix, final String[] matrixIdentifiers) { DistanceMatrix foresterMatrix = new ForesterMatrix(jalviewInputMatrix, matrixIdentifiers); return foresterMatrix; } public static DistanceMatrix createForesterDistanceMatrix( final MatrixI jalviewInputMatrix, final SequenceI[] matrixSequences) { DistanceMatrix foresterMatrix = new ForesterMatrix(jalviewInputMatrix, matrixSequences); return foresterMatrix; } }