package test.beast; import java.util.ArrayList; import java.util.List; import beast.evolution.alignment.Alignment; import beast.evolution.alignment.Sequence; import beast.evolution.tree.Tree; import beast.util.TreeParser; import junit.framework.TestCase; public class BEASTTestCase extends TestCase { public static final double PRECISION = 1e-6; public Alignment getFourTaxaNoData() throws Exception { Sequence a = new Sequence("A", "A"); Sequence b = new Sequence("B", "A"); Sequence c = new Sequence("C", "A"); Sequence d = new Sequence("D", "A"); Alignment data = new Alignment(); data.initByName("sequence", a, "sequence", b, "sequence", c, "sequence", d, "dataType", "nucleotide"); return data; } static public Tree getTree(Alignment data, String tree) throws Exception { TreeParser t = new TreeParser(); t.initByName("taxa", data, "newick", tree, "IsLabelledNewick", true); return t; } static public Alignment getAlignment() throws Exception { Sequence human = new Sequence("human", "AGAAATATGTCTGATAAAAGAGTTACTTTGATAGAGTAAATAATAGGAGCTTAAACCCCCTTATTTCTACTAGGACTATGAGAATCGAACCCATCCCTGAGAATCCAAAATTCTCCGTGCCACCTATCACACCCCATCCTAAGTAAGGTCAGCTAAATAAGCTATCGGGCCCATACCCCGAAAATGTTGGTTATACCCTTCCCGTACTAAGAAATTTAGGTTAAATACAGACCAAGAGCCTTCAAAGCCCTCAGTAAGTTG-CAATACTTAATTTCTGTAAGGACTGCAAAACCCCACTCTGCATCAACTGAACGCAAATCAGCCACTTTAATTAAGCTAAGCCCTTCTAGACCAATGGGACTTAAACCCACAAACACTTAGTTAACAGCTAAGCACCCTAATCAAC-TGGCTTCAATCTAAAGCCCCGGCAGG-TTTGAAGCTGCTTCTTCGAATTTGCAATTCAATATGAAAA-TCACCTCGGAGCTTGGTAAAAAGAGGCCTAACCCCTGTCTTTAGATTTACAGTCCAATGCTTCA-CTCAGCCATTTTACCACAAAAAAGGAAGGAATCGAACCCCCCAAAGCTGGTTTCAAGCCAACCCCATGGCCTCCATGACTTTTTCAAAAGGTATTAGAAAAACCATTTCATAACTTTGTCAAAGTTAAATTATAGGCT-AAATCCTATATATCTTA-CACTGTAAAGCTAACTTAGCATTAACCTTTTAAGTTAAAGATTAAGAGAACCAACACCTCTTTACAGTGA"); Sequence chimp = new Sequence("chimp", "AGAAATATGTCTGATAAAAGAATTACTTTGATAGAGTAAATAATAGGAGTTCAAATCCCCTTATTTCTACTAGGACTATAAGAATCGAACTCATCCCTGAGAATCCAAAATTCTCCGTGCCACCTATCACACCCCATCCTAAGTAAGGTCAGCTAAATAAGCTATCGGGCCCATACCCCGAAAATGTTGGTTACACCCTTCCCGTACTAAGAAATTTAGGTTAAGCACAGACCAAGAGCCTTCAAAGCCCTCAGCAAGTTA-CAATACTTAATTTCTGTAAGGACTGCAAAACCCCACTCTGCATCAACTGAACGCAAATCAGCCACTTTAATTAAGCTAAGCCCTTCTAGATTAATGGGACTTAAACCCACAAACATTTAGTTAACAGCTAAACACCCTAATCAAC-TGGCTTCAATCTAAAGCCCCGGCAGG-TTTGAAGCTGCTTCTTCGAATTTGCAATTCAATATGAAAA-TCACCTCAGAGCTTGGTAAAAAGAGGCTTAACCCCTGTCTTTAGATTTACAGTCCAATGCTTCA-CTCAGCCATTTTACCACAAAAAAGGAAGGAATCGAACCCCCTAAAGCTGGTTTCAAGCCAACCCCATGACCTCCATGACTTTTTCAAAAGATATTAGAAAAACTATTTCATAACTTTGTCAAAGTTAAATTACAGGTT-AACCCCCGTATATCTTA-CACTGTAAAGCTAACCTAGCATTAACCTTTTAAGTTAAAGATTAAGAGGACCGACACCTCTTTACAGTGA"); Sequence bonobo = new Sequence("bonobo", "AGAAATATGTCTGATAAAAGAATTACTTTGATAGAGTAAATAATAGGAGTTTAAATCCCCTTATTTCTACTAGGACTATGAGAGTCGAACCCATCCCTGAGAATCCAAAATTCTCCGTGCCACCTATCACACCCCATCCTAAGTAAGGTCAGCTAAATAAGCTATCGGGCCCATACCCCGAAAATGTTGGTTATACCCTTCCCGTACTAAGAAATTTAGGTTAAACACAGACCAAGAGCCTTCAAAGCTCTCAGTAAGTTA-CAATACTTAATTTCTGTAAGGACTGCAAAACCCCACTCTGCATCAACTGAACGCAAATCAGCCACTTTAATTAAGCTAAGCCCTTCTAGATTAATGGGACTTAAACCCACAAACATTTAGTTAACAGCTAAACACCCTAATCAGC-TGGCTTCAATCTAAAGCCCCGGCAGG-TTTGAAGCTGCTTCTTTGAATTTGCAATTCAATATGAAAA-TCACCTCAGAGCTTGGTAAAAAGAGGCTTAACCCCTGTCTTTAGATTTACAGTCCAATGCTTCA-CTCAGCCATTTTACCACAAAAAAGGAAGGAATCGAACCCCCTAAAGCTGGTTTCAAGCCAACCCCATGACCCCCATGACTTTTTCAAAAGATATTAGAAAAACTATTTCATAACTTTGTCAAAGTTAAATTACAGGTT-AAACCCCGTATATCTTA-CACTGTAAAGCTAACCTAGCATTAACCTTTTAAGTTAAAGATTAAGAGGACCAACACCTCTTTACAGTGA"); Sequence gorilla = new Sequence("gorilla", "AGAAATATGTCTGATAAAAGAGTTACTTTGATAGAGTAAATAATAGAGGTTTAAACCCCCTTATTTCTACTAGGACTATGAGAATTGAACCCATCCCTGAGAATCCAAAATTCTCCGTGCCACCTGTCACACCCCATCCTAAGTAAGGTCAGCTAAATAAGCTATCGGGCCCATACCCCGAAAATGTTGGTCACATCCTTCCCGTACTAAGAAATTTAGGTTAAACATAGACCAAGAGCCTTCAAAGCCCTTAGTAAGTTA-CAACACTTAATTTCTGTAAGGACTGCAAAACCCTACTCTGCATCAACTGAACGCAAATCAGCCACTTTAATTAAGCTAAGCCCTTCTAGATCAATGGGACTCAAACCCACAAACATTTAGTTAACAGCTAAACACCCTAGTCAAC-TGGCTTCAATCTAAAGCCCCGGCAGG-TTTGAAGCTGCTTCTTCGAATTTGCAATTCAATATGAAAT-TCACCTCGGAGCTTGGTAAAAAGAGGCCCAGCCTCTGTCTTTAGATTTACAGTCCAATGCCTTA-CTCAGCCATTTTACCACAAAAAAGGAAGGAATCGAACCCCCCAAAGCTGGTTTCAAGCCAACCCCATGACCTTCATGACTTTTTCAAAAGATATTAGAAAAACTATTTCATAACTTTGTCAAGGTTAAATTACGGGTT-AAACCCCGTATATCTTA-CACTGTAAAGCTAACCTAGCGTTAACCTTTTAAGTTAAAGATTAAGAGTATCGGCACCTCTTTGCAGTGA"); Sequence orangutan = new Sequence("orangutan", "AGAAATATGTCTGACAAAAGAGTTACTTTGATAGAGTAAAAAATAGAGGTCTAAATCCCCTTATTTCTACTAGGACTATGGGAATTGAACCCACCCCTGAGAATCCAAAATTCTCCGTGCCACCCATCACACCCCATCCTAAGTAAGGTCAGCTAAATAAGCTATCGGGCCCATACCCCGAAAATGTTGGTTACACCCTTCCCGTACTAAGAAATTTAGGTTA--CACAGACCAAGAGCCTTCAAAGCCCTCAGCAAGTCA-CAGCACTTAATTTCTGTAAGGACTGCAAAACCCCACTTTGCATCAACTGAGCGCAAATCAGCCACTTTAATTAAGCTAAGCCCTCCTAGACCGATGGGACTTAAACCCACAAACATTTAGTTAACAGCTAAACACCCTAGTCAAT-TGGCTTCAGTCCAAAGCCCCGGCAGGCCTTAAAGCTGCTCCTTCGAATTTGCAATTCAACATGACAA-TCACCTCAGGGCTTGGTAAAAAGAGGTCTGACCCCTGTTCTTAGATTTACAGCCTAATGCCTTAACTCGGCCATTTTACCGCAAAAAAGGAAGGAATCGAACCTCCTAAAGCTGGTTTCAAGCCAACCCCATAACCCCCATGACTTTTTCAAAAGGTACTAGAAAAACCATTTCGTAACTTTGTCAAAGTTAAATTACAGGTC-AGACCCTGTGTATCTTA-CATTGCAAAGCTAACCTAGCATTAACCTTTTAAGTTAAAGACTAAGAGAACCAGCCTCTCTTTGCAATGA"); Sequence siamang = new Sequence("siamang", "AGAAATACGTCTGACGAAAGAGTTACTTTGATAGAGTAAATAACAGGGGTTTAAATCCCCTTATTTCTACTAGAACCATAGGAGTCGAACCCATCCTTGAGAATCCAAAACTCTCCGTGCCACCCGTCGCACCCTGTTCTAAGTAAGGTCAGCTAAATAAGCTATCGGGCCCATACCCCGAAAATGTTGGTTATACCCTTCCCATACTAAGAAATTTAGGTTAAACACAGACCAAGAGCCTTCAAAGCCCTCAGTAAGTTAACAAAACTTAATTTCTGCAAGGGCTGCAAAACCCTACTTTGCATCAACCGAACGCAAATCAGCCACTTTAATTAAGCTAAGCCCTTCTAGATCGATGGGACTTAAACCCATAAAAATTTAGTTAACAGCTAAACACCCTAAACAACCTGGCTTCAATCTAAAGCCCCGGCAGA-GTTGAAGCTGCTTCTTTGAACTTGCAATTCAACGTGAAAAATCACTTCGGAGCTTGGCAAAAAGAGGTTTCACCTCTGTCCTTAGATTTACAGTCTAATGCTTTA-CTCAGCCACTTTACCACAAAAAAGGAAGGAATCGAACCCTCTAAAACCGGTTTCAAGCCAGCCCCATAACCTTTATGACTTTTTCAAAAGATATTAGAAAAACTATTTCATAACTTTGTCAAAGTTAAATCACAGGTCCAAACCCCGTATATCTTATCACTGTAGAGCTAGACCAGCATTAACCTTTTAAGTTAAAGACTAAGAGAACTACCGCCTCTTTACAGTGA"); Alignment data = new Alignment(); data.initByName("sequence", human, "sequence", chimp, "sequence", bonobo, "sequence", gorilla, "sequence", orangutan, "sequence", siamang, "dataType", "nucleotide" ); return data; } static public Sequence German_ST; static public Sequence Dutch_List; static public Sequence English_ST; static public Sequence French; static public Sequence Italian; static public Sequence Spanish; static { try { German_ST = new Sequence("German_ST", " 1000000010000000000000000000000001000000000000000000000000100000000000000000100000000000000000000000000000000000000001000000000000000000000000000000010000000000000000000001000000000000000000000000000000000000000000000000000000000001010000000000000000000000000000000000000100000000000000000000000000000000000000000000000001000000000000000000000000000000001000000000000000000000001000000000000000000100000000000000000000000000000010000000000000000000000010000000000000000000010000000000000000000000010000000???????????????????100000000000000000000000100000000000000000000001000000000000000000000000000000000000000000000100000000000000000000000000000010000000000000000000000010000000000000000000000000000010000000000000000000000001000000000000000000000000000000000010000000000000100000000000000000000010000000000000000000000000000000010000000000000000000000000000000000000000000001000000000000000001000000000000100000000000000001000000000000000000000000000000000100000000000000000000000000000100001000000000000000000000000000000100000000000000001000000000000000100000000001000000000000000000000000000000001000000000000000001000000000000000000000000000000000001000000000000000000001000000000000000001000000000000100000000000000000000000000000000000100000000000000000000000000000000000000000010000100000000000000000000000100000000010000000010000000000000000000000010000000000000000000000100000000000010000000000000000000000000000010000000000000000000000100000000000000000101000000000000000000000000000000000000000000000010000010000000000010000000000000000000000000000000000100000000000000000000001000000000000000000001000000000010000000000000000000000000010000000000000000000000000000000001000000000000001000000000000000001000000000000000000001000000000000000000000100000000000000001000000000000000000000000100000000000000000000000000000000000000000000000000001100000000000000000000000000000010000000000000000000000000000000001000000000100000000010000000000000000000000010000000000000000001000000000000000000000000010000000000000000000000000000000000000001000000000000000000000001000000000000000000000000000000000010000000000000001000000000000010000000000000000100000000000000000000100000000000000010000000000000000010000000000000000000000000000100000000000000000000000000100000000000000000000000000000000000000100000000000001000000000000000000000010000000000000010000000000000000100000000000000000100000000000000000000000000000000000000000100000000000000???????????1000000000010000000000000000000000001000000000000000000010000100000000000000000000100000000000000000000000000000000000000000000000000100000000010000000000000000000000010000001000001000000000000001000001000000000000000001000001000000000000000100000000000000000000000000000000000000010000000000000000000000000000000000000100000000000000000000000000000000000000000010000000000000000000000000000000001000000000000000000000000001000000000000000000001000000000000000000000000000000010000000000000000000000000000000000010000000100000000000001000000000000000000000000000000100000000000000000000000000000000000001000000000000000000000000001000000000000000000000000000000000000010000000000000000000000000000010000000010000000000000000000000010000000000000000000000000000000000000000100000000000000000000000000000010000001000000000010000000000000000000000010000000000000000100000000000000100000000000000000000000010000000000000000000000001000000000000000000000100000000000000001000000000000000000010000000000000000000000010000000000000000000100000000000000000000000000000000000010000000000000000000000000000000000100000000000000100000000000000000000000000000000000000000100000000000000000000001000000000000000000000000000000000000010000000000000000000100000000000000000000000000000000000010000000000000000000000000000000000000010000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000001000000000000000000000000010000000001000000000000000000000000000000000000000000000000001000000000000000000000000000000000000100000000000000000100000000000000000000000001000000001000000000000000000000000000001000000000000000000000000000000000000001000000000000000000000000010000100000000000000000001000000000000000000000000000001000000000000000000000001000000000000000000000000000001000000000000000000000000000100000000000000000000000000000000010000000000000000001000001010000000000000000000000000000000000000000000000000100000000000000000000000000001000000010000000001000000000000000000000000000000000000000000000010000000000000000101000000000000000000000000000000000001000000000000000000000000000000000000000010000000000000000000010000000000000000000000000000010000000000010001000000000000000000000000000000100001000000001000000000000000010000000000000000000000001000000000000000100000000000000000000000000010100000000000000000001000000000000000010000000000000000000000000000000000000000100000000000000000000000010000000000000000000000000001000001000000000000000000000000000000100000000000000001000000000000000000000000010000000000000000000010000000000000000000001000000000000"); Dutch_List = new Sequence("Dutch_List", " 1000000010000000000000000000000001000000000000000000000000100000000000000000100000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000001000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000100000000000000000010000000000000000000000000000000000000001000000000000000000000000000000001000000000000000000000001000000000000000000100000000000000000000000000000010000000000000000000000010000000000000000100010000000000000000001000000000000???????????????????1000000000000000000000001000000000000000000000010000000000000000000000000000000000000000000001000000000000000000000000000000100000000000000000000000100000000000000000000000000000000000000000001000000000010000000000000000000000000000000000100000000000001000000000000000000000001000000000000000000010000000000000000000000000000000000000000000000000000000010000000000000000010000000000001000000000000000010000000000000000000000000000000001000000000000000000000000000001000010000000000000000000000000000001000000000000000010000000000000001000000000010000000000000000000000000001000000000000000000000010000000000000000000000000000000000010000000000000100000000000000000000000010000000000001000000000000000000000000000001000000000000000000000000000000000000000000000000100001000000000000000000000001000000000110000000000000000000000000000000100000100000000000000001000000000000100000000000000000000010000000100000000000000000000001000000000000000001010000000000000000000000000000000000000000000000??????10000000000010000000000000000000000000000000000100000000000000000000001000000000000000000001000000000000000000000000000000000000010000000000000000000000000000000001000000000100000000000000000000001000000000000000000001000000000000000000000100000000000000001000000000000000000000000100000000000000000000000000000000010000000000000100000000000000000000000000000000000010000000000000000000000000000000001000000000100000000010000000000000000000000000000000000000000001000000000000000000000000010000000000000000000000100000000000000000000000000000000000000011000001011000000000000000000000000110000000000000001000000000000010000000000010000000000000000000000000100000000000000010000000000000000010000000000000000000000000000100000000000001000000000000100000000000000000000000000000000000000100000000000001000000000000000000000010000000000000010000000000000000100000000000000000100000000000000000000000000000000000000000100000000000000???????????100000000001000000000000000000000000100000000000000000001000010000000010000000000010000000000000000000000000000000000000000000000000010000000001000000000000000000000001000000100000100000000000000100000100000000000000000100000100000000000100010000000000000000000000000000000000000001000000000000000000000000000001000000000000000000000000000000000000000000001000001000000000000000000000000000000000100000000000000000000000000100000000000000000000100000000000000000000000000000001000000000000000000000000000000000000000000010000000000000000000000000000000000000000000010000000000000000010000000000000000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000001000000001000000000000000000000001000000000000000000000000000000000000000100000000000000000000000000000000000000100000000001000000000000000000000001000000000000000010000000000000010000000000000000000000001000000000000000000000000100000000000000000000010000000000000000000100000000000000001000000000000000000000001000000000000000000010000000000000000000000000000000000001000000000000000000000000000000000010000000000000010000000000000000000000000000000000000000010000000000000000000000100000000000000000000000000110000000000000000000000000000010000000000000000000000010000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000100000000000000000000000001000000000100000000000000000000000000000000000000000000000000100000000000000000000000000001000000000000000000000000010000000000000000000000000100000000100000000000000000000000000000100000000000000000000000000100000000000000000000000000000000000001000000000000000000000000100000000000000000000000000000100000000000000000000000100000000000000000000000000000100000000000000000000000000010000000000000000000000000000000001000000000000000000010000101000000000010000000000000000000000000000000000000010000000000001000000000000000100000001000000000100000000000000000000000000000000000000000000001000000000000000010100000000000000000000000000000000000000000000000000000001000000000000000000001000000000000000000001000000000000000000000000000001000000000001000100000000000000000000000000000010000100000000100000000000000001000000000000000000000000100100000000000000000000000000000000000000001100000000000000000000100000000000000001000000000000000000000010000000000000000000000000000000000000000001000000000000000000000000000100000000000000000000000010000000000000000000000000000100000000000000000000000001000000000000000000001000000000000000000000?????????????"); English_ST = new Sequence("English_ST", " 1000000010000000000000000000000001000000000000000000000000000000000000000000100000000000000000000000000000000000000100000000000000000000001000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000100000100000000000000000000000000000000000001000000000000000010000000000000000100000000000000000000001000000000000???????????????????0000000000000100000000001000000000000000000000000000000000000000001000000000000000000000000000000000000000000000010000000000100000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000100000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000010000000000001000000000000000100000000000000000000000000000000000000000000010000000000000000001000010000000000000000000000000000001000000000000000010000000000000001000000000010000000000000000000000000001000000000000000000000010000000000000000000000000000000000010000000000000100000000000000000000000010000000000000000100000000000000000000000001000000000000000000000000000000000000000000000000100001000000000000000000000001000000000100010000000000000000000000000000100000000000000000000000000000000000100000000000000000000000000000000000000000100000000001000000000000000001010000000000000000000000000000000000000000000000??????1000000000001000000000000000000000000000000000010000000000000000000000100000000000000000000000000000000010000000000000000000000001000000000000000000000000000000000100000000010000000000000000000000100000000000000000000100000000000000000000010000000000000000000000010000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000?????????0100000000000000010000000000000000000000000000000000000000100000000000000000000010000000000000000000000000000000000001000000000000000000000000001000000000000000000000000100000000000000000000000001000000000100000000000000000000000000000000000000000100000000000000000000001000000000000000000000000000000000010000000000000000000000000000000100000000000000000000000000000000000000100000000000001000000000000000000000010000000000000010000000000000000100000000000000000000000100000000000000000000000000000000000000001000000000???????????1000000000000000000000000000000000001000000000000000000010000000000000010000000000100000000000000000000000000000000000000000000000000000000000010000000000000000000000010000001000001000000000000001000001000000000000000001000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000001000000000000000000001000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000010000000010000000000000000000000010000000000000000000000000000000000000000100000000000000000000000000000000000001000000000010000000000000000000000010000000000000000000010000000000100000000000000000000000000100000000000000000000001000000000000000000000100000000000000000000000000000000000000000000000000000000000010000000000000000000000000100000000000000000000000000000000000000000000000000001000000000000001000000000000000000000000001000000000000000000000000000000000001000000000000001000000000000000000000000001000000000000000000000000000000100000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000010000000000000000000000000000000001000000000000000000000000010000000001000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000010000000100000000000000000000000001000000001000000000000000000000000000001000000000000000000000000000000000000100000000000000000000000000010000000000000000000000001000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000000000000000100000000000000000000000000000000010000000000000000001000001000000000000000001000000000000000000000000000000000000000100000000000000000000001000000010000000000100000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000100000000000000000000000000000000000000010000000000000000000010000000000000000000000000000010000000000010000000000100000000000000000000000100001000000001000000000000000010000000000000000000000001001000000000000000000000000000100000000000000000000000000000000001000000000000000000000000000000000000000000000000000000001000000000000000000000000000001000000000000000000000000000001000000000000000000000000000001000000000000000001000000000000000000000000010000000000000000000010000000000000000000001000000000000"); French = new Sequence("French", " 10000000001000000000000000000000000001000000000000000000000000100000000000000000100000000000000000000000000000000001000000000000000000000000100000000000000000000000000000000100000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000110000000000000000000000000000000000000000000000000000000010000000000000000000000000000000010000000000000000000000001000000000000000000100000000000000000000000000000010000000000000000000000001000000000001000000000000000000000000100000000001000000100001000000000000000001000000000000000000000000000100000000000000000010000000000000000000000000000000000000010000000000000000000000000000010000000000000000000010000000000000000000000000000000010000000000000000000000000001000000000000000000000000000001000000001000000000000000000000000000000000001000000000000000000000100000000000000000000000000000000000000000000001000000000000000000100000000000000010000000000000100000000000000000000000000000000000100000000000000000000000000100000000100000000000000000000000000000010000000000001000000000000000100000000000000000000000000000000000000000000000010000000000000000000100000000000000000000000000001000000000000000100000100000000000000000010000000000000010000000000000000000000000000000000000000000000100000000000000000000000000010000000010000000000000000000100000000010001000000000000000000000000000000010000000000000000000100000000000000010000000000000000000000100000000000000000000000000100000000000000000100000010000000000000000000010000000000000000000010000001000000000000001000000000000000000000000000000000010000000000000000000000010000000000000000000010000000000000000000000000000000000000100000000000000000000000000000001000000001000000000000000000000000000000100000000000000000010000000000000100000000000000000000000000000100000000000100010000000010000000000000000000000000000000000000000000000001000000000000000000000000000100000000000000000000000000001000000000100000000000010000000000000000000000010000000000000000000000000000000000000000000001000000000000000000000001000000000000000000000000000000000001000000100000000000000000010000000000000000000000001000000000001000000000000000010000000000000000000000000010000000000010000000000000000000000000001000000000000000000000000100000000000000000000000000000010000000000000000000000000001000000000000000001000000000000000000010000000000000000001000000000000010000000000000000000000010000000000000000000000000000000000000000000010000001000000001000000000000001000000000000000000000000010000000000000010000000000010000000000000000000010000000000000000000000000000000000000000000100000000000000000000000000000000010000001000001000000000000001000000000100000000000001000000010000000000000000100000000000000000000000000000000000000001000000000000000000000000000000001000000000000000000000000000000000000001000000000000000000000000000000000000000010000000000000000000000001000000000000000000000000000000001000000000000000000010000000000000000000000001000000000000000000000000100000000000000000000000000000000000000100000000000000000000010000000000000000000000000000000000000000001000000000000000000001000000000000000000001000000000000000000000000010000000010000000000000000000000000001000000000000000000000000000000000000000010000000000000000000000000010000000000000000000100000000000000000000010000000000000000000010000000000000000010000000000000000000100000000000000000000000010000000000000000000100000000000000001000000000000000000000010000000000000000000000100000000000000000000000010000000000000000000000000000000000000000100000000000000000000001000000000000000001000000000000000000000000000000000000000000100000000000000000001000000000000000000010000000000000000000000000000000000000001000000000000000000000000100000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000001000000000000000000000010000000000000000100000000000000000000000000000000000000000000000100000000000000000000000010000000000000000000000000100000000000000000000000001000000000000000000000000000010000000000010000000000000000000000000000100000000000000000000000000000000000110000000000000000000000100000000000000000000000001000000000000000000000000000000000000000000100000000000000000100000000000000000000000001000000000000000000000000000000010010100000000000001000001000000001000000000000000000000000000000000000000000010000000000000000000000000001000000010000000000001000000000000000000000000000000100000000000000000000000000000100001000000000000000000000000000000000010000000000000000000000000000000000000000010000000000000000000000100000000000000000000000000010000000010000000100000000000000000000000000100001000000001000000000000000000000100000000000000000001000000100000000000000000000000000000000000000011000000000000000001000000000000000000001000000000000000000000000000000000000010000000000000000000000000010000000000000000000000000000010000000000000000000100000000000000000000000000001000000000000000000000000000001000000000000000000000100000000000000001000000000000"); Italian = new Sequence("Italian", " 10000000001000000000000000000000000001000000000000000000000000100000000000000000100000000000000000000000000000000001000000000000000000000000100000000000000000000000000000000000000000000000001000000000000000000000000000000000001000000000000000000000000000000000000000110000000000000000000000000000000000000000000000000000000010000000000000000000000000000000010000000000000000000000001000000000000000000100000000000000000000000000000010000000000000000000000001000000000001000000000000000000000000100000000001100000000001000000000000000001000000000000000000010000000100000000000000000010000000000000000000000000000000000000010000000000000000000000000000010000000000000000000010000000000000000000000000000000010000000000000000000000000000000000000010000000000000000001000000001000000000000000000001000000000000000000000000000001000000000000000000000000000000000000000000000000000001000000000000000000100000000000000000010000000000000000000000010000000000000000000000100000000000000000000000000100000000100000000000000000000000000000010000000000001000000000000000100000000000001000000000000000000000000000000000010000000000000000000100000000000000000000000000001000000000000000001000000000000000000000010000000000000010000000000000000000000000000000000000000000000100000000000000000000000000010000000010000000000000000000100000000010000010000000000000000000000000000010100010000000000000100000000000000010000000000000000000000000010000000000000000000000100000000000000000100000010000000000000000000010000000000000000000010000001000000000000001000000000000000000000000000000000010000000000000000000000010000000000000000000000100000000000000000000000000000000000100000000010000000000000000000001000000001000000000000000000000000000000100000000000000010100000000000000100000000000000000000100000010000000000000100010000000010000000000000000000000000100000000000000001000000000000000000000000000000000100000000000000000000000000001000000000100000000000010000000000000000000000010000000000010000000000000000000000000000000001000000000000000000000001000000000000000000000000000000000001000000000000000000000000000001100000000000000000001010000000001000000000000000010000000000000000000000000010000000000010000000000000000000000010000000000000000000000000000100000000000000000000000100000000000000000000000000000000001000000000000000001000000000000000000010000000000000000001000000000000010000000000000000000001000000000000000000000000000000000000001000000000000???????????1000000000000001000000000000000000000000010000000000000010000000000010000000000000000000000000000000001000000000000000000000000000000100000000000000000000000000000000010000001000001000000000000001000000000100000000000001000000010000000000000000100000000000000000000000000000000000000001000000000000000000000000000000001000000000000000000000000000000000000000100000000000000000000000000000000000000010000000000000000000000001000000000000000000000000000000001000000000000000000000100000000000000000000000000000000100000000000000000000001000000000000000000000000000000100000000000000000000010000000000000000000000000000000000000000000000010000000000000001000000000000000000001000000000000000000000000010000000010001000000000000000000000001000000000000000000000000000000000000000010000000000000000000000000010000000000000000000100000000000000000000010000000000000000000010000000000000001000000000000000000000100000000000000000000000010000000000000000000100000000000000001000000000000000000000010000000000000000000000100000000000000000000000000001000000000000000000000000000100000000100000000000000000000001000000000000000001000000000000010000000000000000000000000000100000000000000000001000000000000000000010000000100000000000000000000000000000100000000000000000000000000100000000000001000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000001000001000000000000000000000000010000000000000000100000000000000000000000000000000000000000000000100000000000000000000000010000000000000000000000000100000000000000000000000001000000000000000000000000000010000000000010000000000000000000000000000100000000000000000000000000000000000110000000000000000000000100000000000000000000000000001000000010000000000000000001000000000000000000000000000000001000000000000000000000001000000000000000000000000000000010010100000000000001000001000000001000000000000000000000000000000000000000000010000000000000000000000000001000000010000000000001000000000000000000000000000000000000000010000000000000000000100001000000000000000000000000000000000000000000000100000000000000000000000000000010000000000000000000000100000000000000000000000000010000000010000000000000000000010000000000000100001000000001000000000000000000000100000000000000000001000000100000000000000000000010000000000000000010000000000000000001000000000000000000001000000000000000000000000000000000000000000000001000000000000000100000000000000000000000000000000010000000000000000100000000000000000000000000001000000000000000000000000000001000000000000000000000100000000000000001000000000000"); Spanish = new Sequence("Spanish", " 10000000001000000000000000000000000001000000000000000000000000100000000000000000100000000000000000000000000000000001000000000000000000000000100000000010000000000000000000000100000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000110000000000000000000000000000000000000000000000000000000010000000000000000000000000000000010000000000000000000000001000000000000000000100000000000000000000000000000010000000000000000000000001000000000001000000000000000000000000100000000000000000000001000000000000000001000000000000000000010010000000000000000000001000000000000000000000000000000000000000010000000000000000000000000000010000000000000000000010000000000000000000000000000000010000000000000000000000001000000000000000000000000000000001000000001000000000000000000001000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000001000100000000000000010100000000100000000000000000000000000000000000000100000000000000000000000000100000000100000000000000000000000000001000000000000001000000000000000100000000000001000000000000000000000000000000000001000000000000000000100000000000000000000000000001000000000000000001000000000000000000000010000000000000010000000000000000000000000000000000000000000000100000000000000000000000000010000000010000000000000000000100000000010001000000000000000000000000000000000000010000000000000100000000000000010000000000000000000000000010000000000000000000000100000000000000000100000010000000000000000000010000000000000000000010000001000000000000001000000000000000000000000000000000010000000000000000000000010000000000000000000000100000000000000000000000000000000000100000000010000000000000000000001000000001000000000000000000001000000000000000000000000010000000000000000100000000000000000000100000010000000000000100010000000010000000000000000000000000100000000000000000000000000000000000000000000000000100000000000000000000000000001001000000100000000000010000000000000000000000010000000000010000000000000000000000000000000001000000000000000000000001000000000000000000000000000000000001000000000000000000000100000000000000000000000000000010000000001000000000000000010000000000000000000000000010000000000010000000000000000000000000000000000000100000000010000000000000000000000000000100000000000000000000000000000000001000000000000000001000000000000000000000000100000000000001000000000000010000000000000000000001000000000000000000000000000000000000001000000000000001000000001000000000000001000000000000000000000000010000000000000010000100000010000000000000000000000000000000000000000000000100000000000000100100000000000000000000000000000000010000001000001000000000000001000000000100000000000001000000010000000000000000110000000000000000000000000000000000000001000000000000000000000000000000001000000000000000000000000000000000000001000000000000000000000000000000000000000010000000000000000000000001000000000000000000001000000000000100000000000000000010000000000000000000000000010000000000000000000000100000000000000000000000000000000000000100000000000000000000010000000000000000000000000000000000000000001000000000000000000001000000000000000000000000000000000000000000000010000000000000000001000000000000000001000000000000000000000000000000000000000000000000001000000000000000010000000000000000000100000000000000000000010000000000000000000010000000000010000000000000000000000000100000000000000000000000010000000000000000000100000000000000001001000000000000000000010000000000000000000000100000000000000000000010000000000000000000000000000000000100000000000000000000000000000001000000000000000001000000000000000000000000000000000000000000110000000000000000001000000000000000000010000000100000000000000000000000000000100000000000000000000000000100000000000010000000000000000000000000000100100000000000000000000100000000000000000000000000000100000000000000000000000000000000000000000000000000000010000000000000000000010000000000000000000100000000000000000000000000000000000000000000100000000000000000000000010000000000000000000000000000000000010000000000000001000000000000000000000000000010000000000010000000000000000000000000000100000000000001000000000000000000000110000000000000000000000100000000000000000000000001000000000000000000000000000000000000000000100000000000000001000000000000000000000000001000000000000000000000000000000010010100000000000001000001000000001000000000001000000000000000000000000000000000000000000000100000000000001000000010000000000001000000000000000000000000000001000000000010000000000000000000100001000000000000000000000000000001000000000000000100000000000000000000000000000010000000000000000000000100000000000000000000000000010000000010000000100000000000000000000000000100001000000001000000000000000000000100000000000000000001000000001000000000000000000010000000000000000010000000000000000001000000000000000000001000000000000000000000100000000000000000000000000000000000000000100000000000000000000000000001000000000000000000000100000000000000000000000000000000010000000000000000000000001000000000000000000100000000000000000001000000000000"); } catch (Exception e) { // ignore: handle exception } } static public Alignment getBinaryAlignment() throws Exception { Alignment data = new Alignment(); data.initByName("sequence", German_ST, "sequence", Dutch_List, "sequence", English_ST, "sequence", French, "sequence", Italian, "sequence", Spanish, "dataType", "binary" ); return data; } static public Alignment getCovarionAlignment() throws Exception { Alignment data = new Alignment(); data.initByName("sequence", German_ST, "sequence", Dutch_List, "sequence", English_ST, "sequence", French, "sequence", Italian, "sequence", Spanish, "dataType", "twoStateCovarion", "strip", true ); return data; } static public Alignment getAminoAcidAlignment() throws Exception { Sequence Struthio_camelus = new Sequence("Struthio_camelus", "VKYPNTNEEGKEVVLPKILSPIGSDGVYSNELANIEYTNVSKAAAAAFATVDDYKPVPLDYMLDSKTSNKNNVVESSGTLRHFGK"); Sequence Rhea_americana = new Sequence("Rhea_americana", "VKYPNTNEEGKEVLLPEILNPVGTDGVYSNELANIEYTNVAKDAAAAFATVDDHKPVSLEYMLDSKTSNKDNVVESNGTLSHFGK"); Sequence Pterocnemia_pennata = new Sequence("Pterocnemia_pennata", "VKYPNTNEEGKEVLLPEILNPVGADGVYSNELANIEYTNVSKDHDEVFATVDDHKPVSLEYMLDSKTSNKDNVVESNGTLSHFGK"); Alignment data = new Alignment(); data.initByName("sequence", Struthio_camelus, "sequence", Rhea_americana, "sequence", Pterocnemia_pennata, "dataType", "aminoacid" ); return data; } static public Alignment getAscertainedAlignment() throws Exception { // same as getAlignment, but with first four sites the constant sites ACTG List<Sequence> sequences = new ArrayList<Sequence>(); sequences.add(new Sequence("human", "ACTGAGAAATATGTCTGATAAAAGAGTTACTTTGATAGAGTAAATAATAGGAGCTTAAACCCCCTTATTTCTACTAGGACTATGAGAATCGAACCCATCCCTGAGAATCCAAAATTCTCCGTGCCACCTATCACACCCCATCCTAAGTAAGGTCAGCTAAATAAGCTATCGGGCCCATACCCCGAAAATGTTGGTTATACCCTTCCCGTACTAAGAAATTTAGGTTAAATACAGACCAAGAGCCTTCAAAGCCCTCAGTAAGTTG-CAATACTTAATTTCTGTAAGGACTGCAAAACCCCACTCTGCATCAACTGAACGCAAATCAGCCACTTTAATTAAGCTAAGCCCTTCTAGACCAATGGGACTTAAACCCACAAACACTTAGTTAACAGCTAAGCACCCTAATCAAC-TGGCTTCAATCTAAAGCCCCGGCAGG-TTTGAAGCTGCTTCTTCGAATTTGCAATTCAATATGAAAA-TCACCTCGGAGCTTGGTAAAAAGAGGCCTAACCCCTGTCTTTAGATTTACAGTCCAATGCTTCA-CTCAGCCATTTTACCACAAAAAAGGAAGGAATCGAACCCCCCAAAGCTGGTTTCAAGCCAACCCCATGGCCTCCATGACTTTTTCAAAAGGTATTAGAAAAACCATTTCATAACTTTGTCAAAGTTAAATTATAGGCT-AAATCCTATATATCTTA-CACTGTAAAGCTAACTTAGCATTAACCTTTTAAGTTAAAGATTAAGAGAACCAACACCTCTTTACAGTGA")); sequences.add(new Sequence("chimp", "ACTGAGAAATATGTCTGATAAAAGAATTACTTTGATAGAGTAAATAATAGGAGTTCAAATCCCCTTATTTCTACTAGGACTATAAGAATCGAACTCATCCCTGAGAATCCAAAATTCTCCGTGCCACCTATCACACCCCATCCTAAGTAAGGTCAGCTAAATAAGCTATCGGGCCCATACCCCGAAAATGTTGGTTACACCCTTCCCGTACTAAGAAATTTAGGTTAAGCACAGACCAAGAGCCTTCAAAGCCCTCAGCAAGTTA-CAATACTTAATTTCTGTAAGGACTGCAAAACCCCACTCTGCATCAACTGAACGCAAATCAGCCACTTTAATTAAGCTAAGCCCTTCTAGATTAATGGGACTTAAACCCACAAACATTTAGTTAACAGCTAAACACCCTAATCAAC-TGGCTTCAATCTAAAGCCCCGGCAGG-TTTGAAGCTGCTTCTTCGAATTTGCAATTCAATATGAAAA-TCACCTCAGAGCTTGGTAAAAAGAGGCTTAACCCCTGTCTTTAGATTTACAGTCCAATGCTTCA-CTCAGCCATTTTACCACAAAAAAGGAAGGAATCGAACCCCCTAAAGCTGGTTTCAAGCCAACCCCATGACCTCCATGACTTTTTCAAAAGATATTAGAAAAACTATTTCATAACTTTGTCAAAGTTAAATTACAGGTT-AACCCCCGTATATCTTA-CACTGTAAAGCTAACCTAGCATTAACCTTTTAAGTTAAAGATTAAGAGGACCGACACCTCTTTACAGTGA")); sequences.add(new Sequence("bonobo", "ACTGAGAAATATGTCTGATAAAAGAATTACTTTGATAGAGTAAATAATAGGAGTTTAAATCCCCTTATTTCTACTAGGACTATGAGAGTCGAACCCATCCCTGAGAATCCAAAATTCTCCGTGCCACCTATCACACCCCATCCTAAGTAAGGTCAGCTAAATAAGCTATCGGGCCCATACCCCGAAAATGTTGGTTATACCCTTCCCGTACTAAGAAATTTAGGTTAAACACAGACCAAGAGCCTTCAAAGCTCTCAGTAAGTTA-CAATACTTAATTTCTGTAAGGACTGCAAAACCCCACTCTGCATCAACTGAACGCAAATCAGCCACTTTAATTAAGCTAAGCCCTTCTAGATTAATGGGACTTAAACCCACAAACATTTAGTTAACAGCTAAACACCCTAATCAGC-TGGCTTCAATCTAAAGCCCCGGCAGG-TTTGAAGCTGCTTCTTTGAATTTGCAATTCAATATGAAAA-TCACCTCAGAGCTTGGTAAAAAGAGGCTTAACCCCTGTCTTTAGATTTACAGTCCAATGCTTCA-CTCAGCCATTTTACCACAAAAAAGGAAGGAATCGAACCCCCTAAAGCTGGTTTCAAGCCAACCCCATGACCCCCATGACTTTTTCAAAAGATATTAGAAAAACTATTTCATAACTTTGTCAAAGTTAAATTACAGGTT-AAACCCCGTATATCTTA-CACTGTAAAGCTAACCTAGCATTAACCTTTTAAGTTAAAGATTAAGAGGACCAACACCTCTTTACAGTGA")); sequences.add(new Sequence("gorilla", "ACTGAGAAATATGTCTGATAAAAGAGTTACTTTGATAGAGTAAATAATAGAGGTTTAAACCCCCTTATTTCTACTAGGACTATGAGAATTGAACCCATCCCTGAGAATCCAAAATTCTCCGTGCCACCTGTCACACCCCATCCTAAGTAAGGTCAGCTAAATAAGCTATCGGGCCCATACCCCGAAAATGTTGGTCACATCCTTCCCGTACTAAGAAATTTAGGTTAAACATAGACCAAGAGCCTTCAAAGCCCTTAGTAAGTTA-CAACACTTAATTTCTGTAAGGACTGCAAAACCCTACTCTGCATCAACTGAACGCAAATCAGCCACTTTAATTAAGCTAAGCCCTTCTAGATCAATGGGACTCAAACCCACAAACATTTAGTTAACAGCTAAACACCCTAGTCAAC-TGGCTTCAATCTAAAGCCCCGGCAGG-TTTGAAGCTGCTTCTTCGAATTTGCAATTCAATATGAAAT-TCACCTCGGAGCTTGGTAAAAAGAGGCCCAGCCTCTGTCTTTAGATTTACAGTCCAATGCCTTA-CTCAGCCATTTTACCACAAAAAAGGAAGGAATCGAACCCCCCAAAGCTGGTTTCAAGCCAACCCCATGACCTTCATGACTTTTTCAAAAGATATTAGAAAAACTATTTCATAACTTTGTCAAGGTTAAATTACGGGTT-AAACCCCGTATATCTTA-CACTGTAAAGCTAACCTAGCGTTAACCTTTTAAGTTAAAGATTAAGAGTATCGGCACCTCTTTGCAGTGA")); sequences.add(new Sequence("orangutan", "ACTGAGAAATATGTCTGACAAAAGAGTTACTTTGATAGAGTAAAAAATAGAGGTCTAAATCCCCTTATTTCTACTAGGACTATGGGAATTGAACCCACCCCTGAGAATCCAAAATTCTCCGTGCCACCCATCACACCCCATCCTAAGTAAGGTCAGCTAAATAAGCTATCGGGCCCATACCCCGAAAATGTTGGTTACACCCTTCCCGTACTAAGAAATTTAGGTTA--CACAGACCAAGAGCCTTCAAAGCCCTCAGCAAGTCA-CAGCACTTAATTTCTGTAAGGACTGCAAAACCCCACTTTGCATCAACTGAGCGCAAATCAGCCACTTTAATTAAGCTAAGCCCTCCTAGACCGATGGGACTTAAACCCACAAACATTTAGTTAACAGCTAAACACCCTAGTCAAT-TGGCTTCAGTCCAAAGCCCCGGCAGGCCTTAAAGCTGCTCCTTCGAATTTGCAATTCAACATGACAA-TCACCTCAGGGCTTGGTAAAAAGAGGTCTGACCCCTGTTCTTAGATTTACAGCCTAATGCCTTAACTCGGCCATTTTACCGCAAAAAAGGAAGGAATCGAACCTCCTAAAGCTGGTTTCAAGCCAACCCCATAACCCCCATGACTTTTTCAAAAGGTACTAGAAAAACCATTTCGTAACTTTGTCAAAGTTAAATTACAGGTC-AGACCCTGTGTATCTTA-CATTGCAAAGCTAACCTAGCATTAACCTTTTAAGTTAAAGACTAAGAGAACCAGCCTCTCTTTGCAATGA")); sequences.add(new Sequence("siamang", "ACTGAGAAATACGTCTGACGAAAGAGTTACTTTGATAGAGTAAATAACAGGGGTTTAAATCCCCTTATTTCTACTAGAACCATAGGAGTCGAACCCATCCTTGAGAATCCAAAACTCTCCGTGCCACCCGTCGCACCCTGTTCTAAGTAAGGTCAGCTAAATAAGCTATCGGGCCCATACCCCGAAAATGTTGGTTATACCCTTCCCATACTAAGAAATTTAGGTTAAACACAGACCAAGAGCCTTCAAAGCCCTCAGTAAGTTAACAAAACTTAATTTCTGCAAGGGCTGCAAAACCCTACTTTGCATCAACCGAACGCAAATCAGCCACTTTAATTAAGCTAAGCCCTTCTAGATCGATGGGACTTAAACCCATAAAAATTTAGTTAACAGCTAAACACCCTAAACAACCTGGCTTCAATCTAAAGCCCCGGCAGA-GTTGAAGCTGCTTCTTTGAACTTGCAATTCAACGTGAAAAATCACTTCGGAGCTTGGCAAAAAGAGGTTTCACCTCTGTCCTTAGATTTACAGTCTAATGCTTTA-CTCAGCCACTTTACCACAAAAAAGGAAGGAATCGAACCCTCTAAAACCGGTTTCAAGCCAGCCCCATAACCTTTATGACTTTTTCAAAAGATATTAGAAAAACTATTTCATAACTTTGTCAAAGTTAAATCACAGGTCCAAACCCCGTATATCTTATCACTGTAGAGCTAGACCAGCATTAACCTTTTAAGTTAAAGACTAAGAGAACTACCGCCTCTTTACAGTGA")); Alignment data = null; data = new Alignment(); for (Sequence sequence : sequences) { data.sequenceInput.setValue(sequence, data); } //data.m_nStateCount.setValue(4, data); data.dataTypeInput.setValue("nucleotide", data); data.excludefromInput.setValue(0, data); data.excludetoInput.setValue(4, data); data.excludeeveryInput.setValue(1, data); data.isAscertainedInput.setValue(true, data); data.initAndValidate(); return data; } static public Tree getTree(Alignment data) throws Exception { TreeParser tree = new TreeParser(); tree.initByName("taxa", data, "newick", "((((human:0.024003,(chimp:0.010772,bonobo:0.010772):0.013231):0.012035,gorilla:0.036038):0.033087000000000005,orangutan:0.069125):0.030456999999999998,siamang:0.099582);", "IsLabelledNewick", true); return tree; } static public Tree getAminoAcidTree(Alignment data) throws Exception { TreeParser tree = new TreeParser(); tree.initByName("taxa", data, "newick", "(Struthio_camelus:0.09413496891819266,(Rhea_americana:0.03667415617018579,Pterocnemia_pennata:0.03667415617018579):0.05746081274800687);", "IsLabelledNewick", true); return tree; } }