X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fext%2Fensembl%2FEnsemblGeneTest.java;fp=test%2Fjalview%2Fext%2Fensembl%2FEnsemblGeneTest.java;h=a8c491c462c0e3c37b1cb765d01740ee739e00af;hb=9f70ff4b6d193b340031997634c9e3602486bc8e;hp=6cfd85b4f8f69be2e027864e487451f870c6fdf7;hpb=76844c43faeeeba369deaf42f1998ca0fb33d956;p=jalview.git diff --git a/test/jalview/ext/ensembl/EnsemblGeneTest.java b/test/jalview/ext/ensembl/EnsemblGeneTest.java index 6cfd85b..a8c491c 100644 --- a/test/jalview/ext/ensembl/EnsemblGeneTest.java +++ b/test/jalview/ext/ensembl/EnsemblGeneTest.java @@ -22,7 +22,6 @@ package jalview.ext.ensembl; import static org.testng.AssertJUnit.assertEquals; import static org.testng.AssertJUnit.assertFalse; -import static org.testng.AssertJUnit.assertSame; import static org.testng.AssertJUnit.assertTrue; import jalview.api.FeatureSettingsModelI; @@ -76,7 +75,9 @@ public class EnsemblGeneTest genomic.setEnd(50000); String geneId = "ABC123"; - // gene at (start+10000) length 501 + // gene at (start+20000) length 501 + // should be ignored - the first 'gene' found defines the whole range + // (note features are found in position order, not addition order) SequenceFeature sf = new SequenceFeature("gene", "", 20000, 20500, 0f, null); sf.setValue("ID", "gene:" + geneId); @@ -84,7 +85,6 @@ public class EnsemblGeneTest genomic.addSequenceFeature(sf); // gene at (start + 10500) length 101 - // should be ignored - the first 'gene' found defines the whole range sf = new SequenceFeature("gene", "", 10500, 10600, 0f, null); sf.setValue("ID", "gene:" + geneId); sf.setStrand("+"); @@ -94,13 +94,13 @@ public class EnsemblGeneTest 23); List fromRanges = ranges.getFromRanges(); assertEquals(1, fromRanges.size()); - assertEquals(20000, fromRanges.get(0)[0]); - assertEquals(20500, fromRanges.get(0)[1]); + assertEquals(10500, fromRanges.get(0)[0]); + assertEquals(10600, fromRanges.get(0)[1]); // to range should start from given start numbering List toRanges = ranges.getToRanges(); assertEquals(1, toRanges.size()); assertEquals(23, toRanges.get(0)[0]); - assertEquals(523, toRanges.get(0)[1]); + assertEquals(123, toRanges.get(0)[1]); } /** @@ -115,7 +115,9 @@ public class EnsemblGeneTest genomic.setEnd(50000); String geneId = "ABC123"; - // gene at (start+10000) length 501 + // gene at (start+20000) length 501 + // should be ignored - the first 'gene' found defines the whole range + // (real data would only have one such feature) SequenceFeature sf = new SequenceFeature("ncRNA_gene", "", 20000, 20500, 0f, null); sf.setValue("ID", "gene:" + geneId); @@ -123,8 +125,6 @@ public class EnsemblGeneTest genomic.addSequenceFeature(sf); // gene at (start + 10500) length 101 - // should be ignored - the first 'gene' found defines the whole range - // (real data would only have one such feature) sf = new SequenceFeature("gene", "", 10500, 10600, 0f, null); sf.setValue("ID", "gene:" + geneId); sf.setStrand("+"); @@ -135,13 +135,13 @@ public class EnsemblGeneTest List fromRanges = ranges.getFromRanges(); assertEquals(1, fromRanges.size()); // from range on reverse strand: - assertEquals(20500, fromRanges.get(0)[0]); - assertEquals(20000, fromRanges.get(0)[1]); + assertEquals(10500, fromRanges.get(0)[0]); + assertEquals(10600, fromRanges.get(0)[1]); // to range should start from given start numbering List toRanges = ranges.getToRanges(); assertEquals(1, toRanges.size()); assertEquals(23, toRanges.get(0)[0]); - assertEquals(523, toRanges.get(0)[1]); + assertEquals(123, toRanges.get(0)[1]); } /** @@ -164,7 +164,7 @@ public class EnsemblGeneTest genomic.addSequenceFeature(sf1); // transcript sub-type feature - SequenceFeature sf2 = new SequenceFeature("snRNA", "", 20000, 20500, + SequenceFeature sf2 = new SequenceFeature("snRNA", "", 21000, 21500, 0f, null); sf2.setValue("Parent", "gene:" + geneId); sf2.setValue("transcript_id", "transcript2"); @@ -172,13 +172,13 @@ public class EnsemblGeneTest // NMD_transcript_variant treated like transcript in Ensembl SequenceFeature sf3 = new SequenceFeature("NMD_transcript_variant", "", - 20000, 20500, 0f, null); + 22000, 22500, 0f, null); sf3.setValue("Parent", "gene:" + geneId); sf3.setValue("transcript_id", "transcript3"); genomic.addSequenceFeature(sf3); // transcript for a different gene - ignored - SequenceFeature sf4 = new SequenceFeature("snRNA", "", 20000, 20500, + SequenceFeature sf4 = new SequenceFeature("snRNA", "", 23000, 23500, 0f, null); sf4.setValue("Parent", "gene:XYZ"); sf4.setValue("transcript_id", "transcript4"); @@ -192,9 +192,9 @@ public class EnsemblGeneTest List features = testee.getTranscriptFeatures(geneId, genomic); assertEquals(3, features.size()); - assertSame(sf1, features.get(0)); - assertSame(sf2, features.get(1)); - assertSame(sf3, features.get(2)); + assertTrue(features.contains(sf1)); + assertTrue(features.contains(sf2)); + assertTrue(features.contains(sf3)); } /** @@ -211,22 +211,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 +255,18 @@ 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)); // 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)); }