/// <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>(); }
/// <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"); }
/// <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(); } }
/// <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 }