1 package jalview.io.gff;
3 import static org.testng.AssertJUnit.assertFalse;
4 import static org.testng.AssertJUnit.assertTrue;
6 import org.testng.annotations.BeforeMethod;
7 import org.testng.annotations.Test;
9 public class SequenceOntologyTest
11 private SequenceOntology so;
15 long now = System.currentTimeMillis();
16 so = SequenceOntology.getInstance();
17 long elapsed = System.currentTimeMillis() - now;
18 System.out.println("Load and cache of Sequence Ontology took "
22 @Test(groups = "Functional")
25 assertFalse(so.isA(null, null));
26 assertFalse(so.isA(null, "SO:0000087"));
27 assertFalse(so.isA("SO:0000087", null));
28 assertFalse(so.isA("complete", "garbage"));
30 assertTrue(so.isA("SO:0000087", "SO:0000704"));
31 assertFalse(so.isA("SO:0000704", "SO:0000087"));
32 assertTrue(so.isA("SO:0000736", "SO:0000735"));
35 assertTrue(so.isA("micronuclear_sequence", "micronuclear_sequence"));
37 assertTrue(so.isA("micronuclear_sequence", "organelle_sequence"));
39 assertTrue(so.isA("micronuclear_sequence", "sequence_location"));
41 assertTrue(so.isA("micronuclear_sequence", "sequence_attribute"));
43 // same thing by name / description:
44 assertTrue(so.isA("micronuclear_sequence", "SO:0000084"));
45 assertTrue(so.isA("SO:0000084", "micronuclear_sequence"));
46 assertTrue(so.isA("SO:0000084", "SO:0000084"));
48 // SO name to description:
49 assertTrue(so.isA("SO:0000084", "organelle_sequence"));
50 assertTrue(so.isA("SO:0000084", "sequence_location"));
51 assertTrue(so.isA("SO:0000084", "sequence_attribute"));
53 // description to SO name:
54 assertTrue(so.isA("micronuclear_sequence", "SO:0000736"));
55 assertTrue(so.isA("micronuclear_sequence", "SO:0000735"));
56 assertTrue(so.isA("micronuclear_sequence", "SO:0000400"));
59 @Test(groups = "Functional")
60 public void testIsProteinMatch()
62 assertTrue(so.isProteinMatch("protein_match"));
63 assertTrue(so.isProteinMatch("protein_hmm_match"));
64 assertFalse(so.isProteinMatch("Protein_match")); // case-sensitive
67 @Test(groups = "Functional")
68 public void testIsNucleotideMatch()
70 assertTrue(so.isNucleotideMatch("nucleotide_match"));
71 assertTrue(so.isNucleotideMatch("primer_match"));
72 assertTrue(so.isNucleotideMatch("cross_genome_match"));
73 assertTrue(so.isNucleotideMatch("expressed_sequence_match"));
74 assertTrue(so.isNucleotideMatch("translated_nucleotide_match"));
75 assertTrue(so.isNucleotideMatch("UST_match"));
76 assertTrue(so.isNucleotideMatch("RST_match"));
77 assertTrue(so.isNucleotideMatch("cDNA_match"));
78 assertTrue(so.isNucleotideMatch("EST_match"));
79 assertFalse(so.isNucleotideMatch("match")); // parent
82 @Test(groups = "Functional")
83 public void testIsCDS()
85 assertTrue(so.isA("CDS", "CDS"));
86 assertTrue(so.isA("CDS_predicted", "CDS"));
87 assertTrue(so.isA("transposable_element_CDS", "CDS"));
88 assertTrue(so.isA("edited_CDS", "CDS"));
89 assertTrue(so.isA("CDS_independently_known", "CDS"));
90 assertTrue(so.isA("CDS_fragment", "CDS"));
91 assertFalse(so.isA("CDS_region", "CDS"));// part_of
92 assertFalse(so.isA("polypeptide", "CDS")); // derives_from