1 package jalview.io.gff;
3 import static org.testng.Assert.assertEquals;
4 import static org.testng.Assert.assertFalse;
5 import static org.testng.Assert.assertNull;
6 import static org.testng.Assert.assertTrue;
8 import jalview.datamodel.ontology.OntologyI;
10 import java.util.Arrays;
11 import java.util.Collections;
12 import java.util.HashSet;
13 import java.util.List;
16 import org.testng.annotations.BeforeClass;
17 import org.testng.annotations.Test;
19 public class SequenceOntologyLiteTest
23 @BeforeClass(alwaysRun = true)
26 so = new SequenceOntologyLite();
29 @Test(groups = "Functional")
30 public void testIsA_sequenceVariant()
32 assertFalse(so.isA("CDS", "sequence_variant"));
33 assertTrue(so.isA("sequence_variant", "sequence_variant"));
36 * these should all be sub-types of sequence_variant
38 assertTrue(so.isA("structural_variant", "sequence_variant"));
39 assertTrue(so.isA("feature_variant", "sequence_variant"));
40 assertTrue(so.isA("gene_variant", "sequence_variant"));
41 assertTrue(so.isA("transcript_variant", "sequence_variant"));
42 assertTrue(so.isA("NMD_transcript_variant", "sequence_variant"));
43 assertTrue(so.isA("missense_variant", "sequence_variant"));
44 assertTrue(so.isA("synonymous_variant", "sequence_variant"));
45 assertTrue(so.isA("frameshift_variant", "sequence_variant"));
46 assertTrue(so.isA("5_prime_UTR_variant", "sequence_variant"));
47 assertTrue(so.isA("3_prime_UTR_variant", "sequence_variant"));
48 assertTrue(so.isA("stop_gained", "sequence_variant"));
49 assertTrue(so.isA("stop_lost", "sequence_variant"));
50 assertTrue(so.isA("inframe_deletion", "sequence_variant"));
51 assertTrue(so.isA("inframe_insertion", "sequence_variant"));
52 assertTrue(so.isA("splice_region_variant", "sequence_variant"));
55 @Test(groups = "Functional")
56 public void testGetParentTerms()
58 Set<String> terms = new HashSet<>();
59 terms.add("sequence_variant");
60 terms.add("NMD_transcript_variant");
61 terms.add("stop_lost");
62 terms.add("chain"); // not an SO term
64 Set<String> parents = so.getParentTerms(terms);
65 assertEquals(parents.size(), 2);
66 assertTrue(parents.contains("sequence_variant"));
67 assertTrue(parents.contains("chain"));
70 @Test(groups = "Functional")
71 public void testGetChildTerms()
73 List<String> terms = Collections.<String> emptyList();
74 List<String> children = so.getChildTerms("exon", terms);
75 assertTrue(children.isEmpty());
77 terms = Arrays.asList("gene", "transcript", "snRNA", "junk", "mRNA");
78 children = so.getChildTerms("exon", terms);
79 assertTrue(children.isEmpty());
80 children = so.getChildTerms("transcript", terms);
81 assertEquals(children.size(), 2);
82 assertTrue(children.contains("snRNA"));
83 assertTrue(children.contains("mRNA"));
85 terms = Arrays.asList("gene", "transcript", "synonymous_variant",
86 "stop_lost", "chain");
87 children = so.getChildTerms("sequence_variant", terms);
88 assertEquals(children.size(), 2);
89 assertTrue(children.contains("synonymous_variant"));
90 assertTrue(children.contains("stop_lost"));
93 @Test(groups = "Functional")
94 public void testGetRootParents()
96 List<String> roots = so.getRootParents("xyz");
98 roots = so.getRootParents(null);
101 roots = so.getRootParents("stop_gained");
102 assertEquals(roots.size(), 1);
103 assertEquals(roots.get(0), "sequence_variant");