private void DownloadAlignmentIfNeccessary(ref MultiSequenceAlignment msa, string suffix, IAlphabet alphabet = null) { if (msa == null) { var alignmentString = this.GetStringFromURLRequest(suffix).Result; var parser = new FastAParser { Alphabet = alphabet }; var seqs = parser.Parse(new MemoryStream(Encoding.Unicode.GetBytes(alignmentString))); msa = new MultiSequenceAlignment(seqs.ToList()); } }
/// <summary> /// Get the Blosum90 alignment score. /// </summary> /// <returns></returns> public double GetUnmaskedBlosum90AlignmentScore() { var blosum = new Bio.SimilarityMatrices.SimilarityMatrix(SimilarityMatrices.SimilarityMatrix.StandardSimilarityMatrix.Blosum90); return(MultiSequenceAlignment.MultipleAlignmentScoreFunction(this.UnmaskedAminoAcidAlignment.Sequences.ToList(), blosum, -5, -2)); }