public MultipleWordAlignerResult(IWordAligner wordAligner, IPairwiseAlignmentScorer<Word, ShapeNode> scorer, IEnumerable<Word> words) : base(wordAligner) { _words = new ReadOnlyList<Word>(words.ToArray()); _algorithm = new MultipleAlignmentAlgorithm<Word, ShapeNode>(scorer, _words, GetNodes); _algorithm.Compute(); }
public MultipleWordAlignerResult(IWordAligner wordAligner, IPairwiseAlignmentScorer <Word, ShapeNode> scorer, IEnumerable <Word> words) : base(wordAligner) { _words = new ReadOnlyList <Word>(words.ToArray()); _algorithm = new MultipleAlignmentAlgorithm <Word, ShapeNode>(scorer, _words, GetNodes); _algorithm.Compute(); }
public MultipleAlignmentAlgorithm(IPairwiseAlignmentScorer <TSeq, TItem> scorer, IEnumerable <TSeq> sequences, ItemsSelector <TSeq, TItem> itemsSelector) { _scorer = scorer; _sequences = sequences.ToArray(); if (_sequences.Length < 3) { throw new ArgumentException("At least three sequences must be specified.", "sequences"); } _itemsSelector = itemsSelector; }
public PairwiseAlignmentAlgorithm(IPairwiseAlignmentScorer <TSeq, TItem> scorer, TSeq sequence1, TSeq sequence2, ItemsSelector <TSeq, TItem> itemsSelector) { _scorer = scorer; _sequence1 = sequence1; _items1 = itemsSelector(sequence1, out _startIndex1, out _count1).ToArray(); _sequence2 = sequence2; _items2 = itemsSelector(sequence2, out _startIndex2, out _count2).ToArray(); _sim = new int[_count1 + 1, _count2 + 1]; _gapPenalty = scorer.GetGapPenalty(sequence1, sequence2); }
public PairwiseWordAlignerResult(IWordAligner wordAligner, IPairwiseAlignmentScorer <Word, ShapeNode> scorer, WordPairAlignerSettings settings, Word word1, Word word2) : base(wordAligner) { _words = new ReadOnlyList <Word>(new [] { word1, word2 }); _algorithm = new PairwiseAlignmentAlgorithm <Word, ShapeNode>(scorer, word1, word2, GetNodes) { ExpansionCompressionEnabled = settings.ExpansionCompressionEnabled, Mode = settings.Mode }; _algorithm.Compute(); }
public PairwiseWordAlignerResult(IWordAligner wordAligner, IPairwiseAlignmentScorer<Word, ShapeNode> scorer, WordPairAlignerSettings settings, Word word1, Word word2) : base(wordAligner) { _words = new ReadOnlyList<Word>(new [] {word1, word2}); _algorithm = new PairwiseAlignmentAlgorithm<Word, ShapeNode>(scorer, word1, word2, GetNodes) { ExpansionCompressionEnabled = settings.ExpansionCompressionEnabled, Mode = settings.Mode }; _algorithm.Compute(); }
public ProfileScorer(IPairwiseAlignmentScorer <TSeq, TItem> scorer) { _scorer = scorer; }