Пример #1
0
 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);
 }
Пример #2
0
        public bool IsSameTranscript(GtfItem another)
        {
            if (this.ExonNumber == -1 && another.ExonNumber == -1)
            {
                return(false);
            }

            return(this.TranscriptId == another.TranscriptId);
        }
Пример #3
0
    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));
    }
Пример #4
0
        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);
            }
        }
Пример #5
0
    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;
      }
    }
Пример #6
0
    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);
    }
Пример #7
0
 public GtfTranscriptItemFile()
 {
   file = null;
   last = null;
 }
Пример #8
0
 private static bool IsGene(GtfItem l)
 {
   return l.Feature.Equals("gene");
 }
Пример #9
0
 private static bool IsCDS(GtfItem l)
 {
   return l.Feature.Equals("CDS");
 }
Пример #10
0
 private static bool IsExon(GtfItem l)
 {
   return l.Feature.Equals("exon");
 }
 private static bool IsExon(GtfItem item)
 {
   return item.Feature.Equals("exon");
 }
Пример #12
0
    public bool IsSameTranscript(GtfItem another)
    {
      if (this.ExonNumber == -1 && another.ExonNumber == -1)
      {
        return false;
      }

      return (this.TranscriptId == another.TranscriptId);
    }
Пример #13
0
 public GtfTranscriptItemFile()
 {
     file = null;
     last = null;
 }
Пример #14
0
 private static bool IsExon(GtfItem item)
 {
     return(item.Feature.Equals("exon"));
 }
Пример #15
0
 public GtfItem ToGtfItem()
 {
   var result = new GtfItem(this);
   result.Start = result.Start + 1;
   return result;
 }