public void TestSetAttribute() { GtfItem item = new GtfItem(); item.Attributes = " gene_id \"ENSG00000237375\"; transcript_id \"ENST00000327822\"; exon_number \"2\"; gene_name \"BX072566.1\"; gene_biotype \"protein_coding\"; transcript_name \"BX072566.1-201\";"; Assert.AreEqual("ENSG00000237375", item.GeneId); Assert.AreEqual("ENST00000327822", item.TranscriptId); Assert.AreEqual(2, item.ExonNumber); }
public bool IsSameTranscript(GtfItem another) { if (this.ExonNumber == -1 && another.ExonNumber == -1) { return(false); } return(this.TranscriptId == another.TranscriptId); }
public void TestIsSameTranscript() { GtfItem item = new GtfItem(); GtfItem item2 = new GtfItem(); item.Attributes = " gene_id \"ENSG00000237375\"; transcript_id \"ENST00000327822\"; exon_number \"2\"; gene_name \"BX072566.1\"; gene_biotype \"protein_coding\"; transcript_name \"BX072566.1-201\";"; item2.Attributes = " gene_id \"ENSG00000237375\"; transcript_id \"ENST00000327822\"; exon_number \"3\"; gene_name \"BX072566.1\"; gene_biotype \"protein_coding\"; transcript_name \"BX072566.1-201\";"; Assert.IsTrue(item.IsSameTranscript(item2)); Assert.IsTrue(item2.IsSameTranscript(item)); item2.Attributes = " gene_id \"ENSG00000237375\"; transcript_id \"ENST000003278XX\"; exon_number \"3\"; gene_name \"BX072566.1\"; gene_biotype \"protein_coding\"; transcript_name \"BX072566.1-201\";"; Assert.IsFalse(item.IsSameTranscript(item2)); Assert.IsFalse(item2.IsSameTranscript(item)); }
public virtual GtfTranscriptItem Next(bool exonOnly = true) { CheckFileOpened(); GtfTranscriptItem result = new GtfTranscriptItem(); if (this.last != null) { result.Add(last); } Func <GtfItem> getItem; if (exonOnly) { getItem = () => file.NextExon(); } else { getItem = () => file.Next(); } while ((last = getItem()) != null) { if (result.IsSameTranscript(last)) { if (last.Strand == '-') { result.Insert(0, last); } else { result.Add(last); } } else { break; } } if (result.Count > 0) { return(result); } else { return(null); } }
public virtual GtfTranscriptItem Next(bool exonOnly = true) { CheckFileOpened(); GtfTranscriptItem result = new GtfTranscriptItem(); if (this.last != null) { result.Add(last); } Func<GtfItem> getItem; if (exonOnly) { getItem = () => file.NextExon(); } else { getItem = () => file.Next(); } while ((last = getItem()) != null) { if (result.IsSameTranscript(last)) { if (last.Strand == '-') { result.Insert(0, last); } else { result.Add(last); } } else { break; } } if (result.Count > 0) { return result; } else { return null; } }
public void TestGetLength() { var item = new GtfItem(); item.Start = -1; item.End = -1; Assert.AreEqual(0, item.Length); item.Start = 100; item.End = 200; Assert.AreEqual(101, item.Length); item.Start = 200; item.End = 100; Assert.AreEqual(101, item.Length); }
public GtfTranscriptItemFile() { file = null; last = null; }
private static bool IsGene(GtfItem l) { return l.Feature.Equals("gene"); }
private static bool IsCDS(GtfItem l) { return l.Feature.Equals("CDS"); }
private static bool IsExon(GtfItem l) { return l.Feature.Equals("exon"); }
private static bool IsExon(GtfItem item) { return item.Feature.Equals("exon"); }
public bool IsSameTranscript(GtfItem another) { if (this.ExonNumber == -1 && another.ExonNumber == -1) { return false; } return (this.TranscriptId == another.TranscriptId); }
private static bool IsExon(GtfItem item) { return(item.Feature.Equals("exon")); }
public GtfItem ToGtfItem() { var result = new GtfItem(this); result.Start = result.Start + 1; return result; }