Esempio n. 1
0
 /// <summary>
 /// Initializes a new instance of the PairwiseSequenceAlignment class
 /// Constructs PairwiseSequenceAlignment with input sequences
 /// </summary>
 /// <param name="firstSequence">First input sequence</param>
 /// <param name="secondSequence">Second input sequence</param>
 public PairwiseSequenceAlignment(ISequence firstSequence, ISequence secondSequence)
 {
     _seqAlignment = new SequenceAlignment();
     _seqAlignment.Sequences.Add(firstSequence);
     _seqAlignment.Sequences.Add(secondSequence);
     _alignedSequences = new List <PairwiseAlignedSequence>();
 }
Esempio n. 2
0
        /// <summary>
        /// Initializes a new instance of the PairwiseSequenceAlignment class
        /// Constructor for deserialization.
        /// </summary>
        /// <param name="info">Serialization Info.</param>
        /// <param name="context">Streaming context.</param>
        protected PairwiseSequenceAlignment(SerializationInfo info, StreamingContext context)
        {
            if (info == null)
            {
                throw new ArgumentNullException("info");
            }

            _alignedSequences = (List <PairwiseAlignedSequence>)info.GetValue("AlignedSeqs", typeof(List <PairwiseAlignedSequence>));
            _seqAlignment     = (SequenceAlignment)info.GetValue("base", typeof(SequenceAlignment));
            Documentation     = info.GetValue("Doc", typeof(object));
            IsReadOnly        = info.GetBoolean("IsReadOnly");
        }
Esempio n. 3
0
        /// <summary>
        /// Initializes a new instance of the PairwiseSequenceAlignment class.
        /// Internal constructor to create new instance of PairwiseSequenceAlignment
        /// from ISequenceAlignment.
        /// </summary>
        /// <param name="seqAlignment">ISequenceAlignment instance.</param>
        internal PairwiseSequenceAlignment(ISequenceAlignment seqAlignment)
        {
            _seqAlignment     = new SequenceAlignment(seqAlignment);
            _alignedSequences = new List <PairwiseAlignedSequence>();
            foreach (AlignedSequence alignedSeq in seqAlignment.AlignedSequences)
            {
                _alignedSequences.Add(new PairwiseAlignedSequence(alignedSeq));
            }

            // Clear the AlignedSequences in the _seqAlignment as this no longer needed.
            if (!_seqAlignment.AlignedSequences.IsReadOnly)
            {
                _seqAlignment.AlignedSequences.Clear();
            }
        }
Esempio n. 4
0
 /// <summary>
 /// Initializes a new instance of the PairwiseSequenceAlignment class
 /// Constructs an empty PairwiseSequenceAlignment
 /// </summary>
 public PairwiseSequenceAlignment()
 {
     _seqAlignment = new SequenceAlignment();
     IsReadOnly    = false; // initializes to false by default, but make it explicit for good style
 }