X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fext%2Fensembl%2FEnsemblGeneTest.java;h=1b1a2b4499d69374869dbe3e20ad786599c7cdad;hb=2779b461347e684414f9e98e607e138b1e43db84;hp=edecc23258f2da7225e4ceaae665b7f41553207b;hpb=87a85be7fc7678455c298287349b03fdd12fd3ad;p=jalview.git diff --git a/test/jalview/ext/ensembl/EnsemblGeneTest.java b/test/jalview/ext/ensembl/EnsemblGeneTest.java index edecc23..1b1a2b4 100644 --- a/test/jalview/ext/ensembl/EnsemblGeneTest.java +++ b/test/jalview/ext/ensembl/EnsemblGeneTest.java @@ -173,7 +173,8 @@ public class EnsemblGeneTest // NMD_transcript_variant treated like transcript in Ensembl SequenceFeature sf3 = new SequenceFeature("NMD_transcript_variant", "", 22000, 22500, 0f, null); - sf3.setValue("Parent", "gene:" + geneId); + // id matching should not be case-sensitive + sf3.setValue("Parent", "gene:" + geneId.toLowerCase()); sf3.setValue("transcript_id", "transcript3"); genomic.addSequenceFeature(sf3); @@ -211,22 +212,24 @@ public class EnsemblGeneTest sf.setValue("ID", "gene:" + geneId); assertFalse(testee.retainFeature(sf, geneId)); - sf.setType("transcript"); + sf = new SequenceFeature("transcript", "", 20000, 20500, 0f, null); sf.setValue("Parent", "gene:" + geneId); assertTrue(testee.retainFeature(sf, geneId)); - sf.setType("mature_transcript"); + sf = new SequenceFeature("mature_transcript", "", 20000, 20500, 0f, + null); sf.setValue("Parent", "gene:" + geneId); assertTrue(testee.retainFeature(sf, geneId)); - sf.setType("NMD_transcript_variant"); + sf = new SequenceFeature("NMD_transcript_variant", "", 20000, 20500, + 0f, null); sf.setValue("Parent", "gene:" + geneId); assertTrue(testee.retainFeature(sf, geneId)); sf.setValue("Parent", "gene:XYZ"); assertFalse(testee.retainFeature(sf, geneId)); - sf.setType("anything"); + sf = new SequenceFeature("anything", "", 20000, 20500, 0f, null); assertTrue(testee.retainFeature(sf, geneId)); } @@ -253,15 +256,21 @@ public class EnsemblGeneTest assertTrue(testee.identifiesSequence(sf, accId)); // gene sub-type with right ID is valid - sf.setType("snRNA_gene"); + sf = new SequenceFeature("snRNA_gene", "", 1, 2, 0f, null); + sf.setValue("ID", "gene:" + accId); assertTrue(testee.identifiesSequence(sf, accId)); + // test is not case-sensitive + assertTrue(testee.identifiesSequence(sf, accId.toLowerCase())); + // transcript not valid: - sf.setType("transcript"); + sf = new SequenceFeature("transcript", "", 1, 2, 0f, null); + sf.setValue("ID", "gene:" + accId); assertFalse(testee.identifiesSequence(sf, accId)); // exon not valid: - sf.setType("exon"); + sf = new SequenceFeature("exon", "", 1, 2, 0f, null); + sf.setValue("ID", "gene:" + accId); assertFalse(testee.identifiesSequence(sf, accId)); } @@ -291,4 +300,28 @@ public class EnsemblGeneTest assertEquals(-1, fc.compare("coding_exon", "feature_variant")); assertEquals(1f, fc.getTransparency()); } + + @Test(groups = "Network") + public void testGetGeneIds() + { + /* + * ENSG00000158828 gene id PINK1 human + * ENST00000321556 transcript for the same gene - should not be duplicated + * P30419 Uniprot identifier for ENSG00000136448 + * ENST00000592782 transcript for Uniprot gene - should not be duplicated + * BRAF - gene name resolvabe (at time of writing) for 6 model species + */ + String ids = "ENSG00000158828 ENST00000321556 P30419 ENST00000592782 BRAF"; + EnsemblGene testee = new EnsemblGene(); + List geneIds = testee.getGeneIds(ids); + assertEquals(8, geneIds.size()); + assertTrue(geneIds.contains("ENSG00000158828")); + assertTrue(geneIds.contains("ENSG00000136448")); + assertTrue(geneIds.contains("ENSG00000157764")); // BRAF human + assertTrue(geneIds.contains("ENSMUSG00000002413")); // mouse + assertTrue(geneIds.contains("ENSRNOG00000010957")); // rat + assertTrue(geneIds.contains("ENSXETG00000004845")); // xenopus + assertTrue(geneIds.contains("ENSDARG00000017661")); // zebrafish + assertTrue(geneIds.contains("ENSGALG00000012865")); // chicken + } }