genomic.setStart(10000);
genomic.setEnd(50000);
String transcriptId = "ABC123";
-
+
// CDS at (start+10000) length 501
SequenceFeature sf = new SequenceFeature("CDS", "", 20000, 20500, 0f,
null);
sf.setValue("Parent", "transcript:" + transcriptId);
sf.setStrand("+");
genomic.addSequenceFeature(sf);
-
+
// CDS (sub-type) at (start + 10500) length 101
sf = new SequenceFeature("CDS_predicted", "", 10500, 10600, 0f, null);
sf.setValue("Parent", "transcript:" + transcriptId);
sf.setStrand("+");
genomic.addSequenceFeature(sf);
-
+
// CDS belonging to a different transcript doesn't count
sf = new SequenceFeature("CDS", "", 11500, 12600, 0f, null);
sf.setValue("Parent", "transcript:anotherOne");
genomic.addSequenceFeature(sf);
-
+
// exon feature doesn't count
sf = new SequenceFeature("exon", "", 10000, 50000, 0f, null);
genomic.addSequenceFeature(sf);
// mRNA_region feature doesn't count (parent of CDS)
sf = new SequenceFeature("mRNA_region", "", 10000, 50000, 0f, null);
genomic.addSequenceFeature(sf);
-
+
MapList ranges = testee.getGenomicRangesFromFeatures(genomic,
transcriptId, 23);
List<int[]> fromRanges = ranges.getFromRanges();
{
String accId = "ABC123";
EnsemblCds testee = new EnsemblCds();
-
- SequenceFeature sf = new SequenceFeature("CDS", "", 20000,
- 20500, 0f, null);
+
+ SequenceFeature sf = new SequenceFeature("CDS", "", 20000, 20500, 0f,
+ null);
assertFalse(testee.retainFeature(sf, accId));
-
+
sf.setType("CDS_predicted");
assertFalse(testee.retainFeature(sf, accId));
-
+
// other feature with no parent is retained
sf.setType("sequence_variant");
assertTrue(testee.retainFeature(sf, accId));
-
+
// other feature with desired parent is retained
sf.setValue("Parent", "transcript:" + accId);
assertTrue(testee.retainFeature(sf, accId));
-
+
// feature with wrong parent is not retained
sf.setValue("Parent", "transcript:XYZ");
assertFalse(testee.retainFeature(sf, accId));
{
String accId = "ABC123";
EnsemblCds testee = new EnsemblCds();
-
+
// cds with no parent not valid
SequenceFeature sf = new SequenceFeature("CDS", "", 1, 2, 0f, null);
assertFalse(testee.identifiesSequence(sf, accId));
-
+
// cds with wrong parent not valid
sf.setValue("Parent", "transcript:XYZ");
assertFalse(testee.identifiesSequence(sf, accId));
-
+
// cds with right parent is valid
sf.setValue("Parent", "transcript:" + accId);
assertTrue(testee.identifiesSequence(sf, accId));
-
+
// cds sub-type with right parent is valid
sf.setType("CDS_predicted");
assertTrue(testee.identifiesSequence(sf, accId));
-
+
// transcript not valid:
sf.setType("transcript");
assertFalse(testee.identifiesSequence(sf, accId));
-
+
// exon not valid:
sf.setType("exon");
assertFalse(testee.identifiesSequence(sf, accId));