示例#1
0
 /// <summary>
 /// Cut the last nucleotide of.
 /// </summary>
 /// <param name="minLen">Minimum primer length.</param>
 /// <returns>Last nucleotide or 255 if oligo too short to pop.</returns>
 public byte Pop(int minLen)
 {
     if (IsPopAllowed(minLen))
     {
         byte item = this.GeneSpecific[0];
         this.GeneSpecific      = this.GeneSpecific.GetSubSequence(0, this.GeneSpecific.Count - 1);
         this.Sequence          = new Sequence(Alphabets.DNA, Overlapping.ToString() + GeneSpecific.ToString());
         this.PrimerTemperature = GetSimpleMeltingTemperature(GeneSpecific);
         return(item);
     }
     else
     {
         return(255);
     }
 }
示例#2
0
 /// <summary>
 /// Cut the first nucleotide off.
 /// </summary>
 /// <param name="minLen">Minimum overlap length.</param>
 /// <returns>First nucleotide or 255 if oligo too short to dequeue.</returns>
 public byte Dequeue(int minLen)
 {
     if (IsDequeAllowed(minLen))
     {
         byte item = this.Overlapping[this.Overlapping.Count - 1];
         this.Overlapping = this.Overlapping.GetSubSequence(1, this.Overlapping.Count - 1);
         this.Sequence    = new Sequence(Alphabets.DNA, Overlapping.ToString() + GeneSpecific.ToString());
         this.Temperature = GetSimpleMeltingTemperature(Overlapping);
         return(item);
     }
     else
     {
         return(255);
     }
 }