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.assertTrue;
7 import jalview.datamodel.ontology.OntologyI;
9 import java.util.Arrays;
10 import java.util.Collections;
11 import java.util.HashSet;
12 import java.util.List;
15 import org.testng.annotations.BeforeClass;
16 import org.testng.annotations.Test;
18 public class SequenceOntologyLiteTest
22 @BeforeClass(alwaysRun = true)
25 so = new SequenceOntologyLite();
28 @Test(groups = "Functional")
29 public void testIsA_sequenceVariant()
31 assertFalse(so.isA("CDS", "sequence_variant"));
32 assertTrue(so.isA("sequence_variant", "sequence_variant"));
35 * these should all be sub-types of sequence_variant
37 assertTrue(so.isA("structural_variant", "sequence_variant"));
38 assertTrue(so.isA("feature_variant", "sequence_variant"));
39 assertTrue(so.isA("gene_variant", "sequence_variant"));
40 assertTrue(so.isA("transcript_variant", "sequence_variant"));
41 assertTrue(so.isA("NMD_transcript_variant", "sequence_variant"));
42 assertTrue(so.isA("missense_variant", "sequence_variant"));
43 assertTrue(so.isA("synonymous_variant", "sequence_variant"));
44 assertTrue(so.isA("frameshift_variant", "sequence_variant"));
45 assertTrue(so.isA("5_prime_UTR_variant", "sequence_variant"));
46 assertTrue(so.isA("3_prime_UTR_variant", "sequence_variant"));
47 assertTrue(so.isA("stop_gained", "sequence_variant"));
48 assertTrue(so.isA("stop_lost", "sequence_variant"));
49 assertTrue(so.isA("inframe_deletion", "sequence_variant"));
50 assertTrue(so.isA("inframe_insertion", "sequence_variant"));
51 assertTrue(so.isA("splice_region_variant", "sequence_variant"));
54 @Test(groups = "Functional")
55 public void testGetParentTerms()
57 Set<String> terms = new HashSet<>();
58 terms.add("sequence_variant");
59 terms.add("NMD_transcript_variant");
60 terms.add("stop_lost");
61 terms.add("chain"); // not an SO term
63 Set<String> parents = so.getParentTerms(terms);
64 assertEquals(parents.size(), 2);
65 assertTrue(parents.contains("sequence_variant"));
66 assertTrue(parents.contains("chain"));
69 @Test(groups = "Functional")
70 public void testGetChildTerms()
72 List<String> terms = Collections.<String> emptyList();
73 List<String> children = so.getChildTerms("exon", terms);
74 assertTrue(children.isEmpty());
76 terms = Arrays.asList("gene", "transcript", "snRNA", "junk", "mRNA");
77 children = so.getChildTerms("exon", terms);
78 assertTrue(children.isEmpty());
79 children = so.getChildTerms("transcript", terms);
80 assertEquals(children.size(), 2);
81 assertTrue(children.contains("snRNA"));
82 assertTrue(children.contains("mRNA"));
84 terms = Arrays.asList("gene", "transcript", "synonymous_variant",
85 "stop_lost", "chain");
86 children = so.getChildTerms("sequence_variant", terms);
87 assertEquals(children.size(), 2);
88 assertTrue(children.contains("synonymous_variant"));
89 assertTrue(children.contains("stop_lost"));