1 package jalview.ext.so;
3 import static org.testng.AssertJUnit.assertFalse;
4 import static org.testng.AssertJUnit.assertTrue;
6 import jalview.io.gff.SequenceOntologyFactory;
7 import jalview.io.gff.SequenceOntologyI;
9 import org.testng.annotations.AfterClass;
10 import org.testng.annotations.BeforeClass;
11 import org.testng.annotations.Test;
13 public class SequenceOntologyTest
15 private SequenceOntologyI so;
17 @BeforeClass(alwaysRun = true)
19 long now = System.currentTimeMillis();
20 SequenceOntologyFactory.setInstance(new SequenceOntology());
21 long elapsed = System.currentTimeMillis() - now;
22 System.out.println("Load and cache of Sequence Ontology took "
24 so = SequenceOntologyFactory.getInstance();
27 @AfterClass(alwaysRun = true)
28 public void tearDown()
30 SequenceOntologyFactory.setInstance(null);
33 @Test(groups = "Functional")
36 assertFalse(so.isA(null, null));
37 assertFalse(so.isA(null, "SO:0000087"));
38 assertFalse(so.isA("SO:0000087", null));
39 assertFalse(so.isA("complete", "garbage"));
41 assertTrue(so.isA("SO:0000087", "SO:0000704"));
42 assertFalse(so.isA("SO:0000704", "SO:0000087"));
43 assertTrue(so.isA("SO:0000736", "SO:0000735"));
46 assertTrue(so.isA("micronuclear_sequence", "micronuclear_sequence"));
48 assertTrue(so.isA("micronuclear_sequence", "organelle_sequence"));
50 assertTrue(so.isA("micronuclear_sequence", "sequence_location"));
52 assertTrue(so.isA("micronuclear_sequence", "sequence_attribute"));
54 // same thing by name / description:
55 assertTrue(so.isA("micronuclear_sequence", "SO:0000084"));
56 assertTrue(so.isA("SO:0000084", "micronuclear_sequence"));
57 assertTrue(so.isA("SO:0000084", "SO:0000084"));
59 // SO name to description:
60 assertTrue(so.isA("SO:0000084", "organelle_sequence"));
61 assertTrue(so.isA("SO:0000084", "sequence_location"));
62 assertTrue(so.isA("SO:0000084", "sequence_attribute"));
64 // description to SO name:
65 assertTrue(so.isA("micronuclear_sequence", "SO:0000736"));
66 assertTrue(so.isA("micronuclear_sequence", "SO:0000735"));
67 assertTrue(so.isA("micronuclear_sequence", "SO:0000400"));
70 @Test(groups = "Functional")
71 public void testIsCDS()
73 assertTrue(so.isA("CDS", "CDS"));
74 assertTrue(so.isA("CDS_predicted", "CDS"));
75 assertTrue(so.isA("transposable_element_CDS", "CDS"));
76 assertTrue(so.isA("edited_CDS", "CDS"));
77 assertTrue(so.isA("CDS_independently_known", "CDS"));
78 assertTrue(so.isA("CDS_fragment", "CDS"));
79 assertFalse(so.isA("CDS_region", "CDS"));// part_of
80 assertFalse(so.isA("polypeptide", "CDS")); // derives_from