/// <summary> /// This method when passed the algorithm name instantiates /// the framework class which implements. /// </summary> /// <param name="algorithmName">Name of the algorithm.</param> /// <returns>Class which instantiates the algorithm.</returns> private static ISequenceAligner ChooseAlgorithm(string algorithmName) { foreach (ISequenceAligner aligner in SequenceAligners.All) { if (aligner.Name.Equals(algorithmName)) { IPairwiseSequenceAligner pairWise = aligner as IPairwiseSequenceAligner; if (pairWise != null) { return(pairWise); } } } return(null); }
/// <summary> /// Logs results to current Application log /// </summary> /// <param name="psa"></param> /// <param name="result"></param> public static void LogResult(IPairwiseSequenceAligner psa, IEnumerable <IPairwiseSequenceAlignment> result) { ApplicationLog.WriteLine("{0}, Matrix {1}; GapOpenCost {2}, GapExtensionCost {3}", psa.Name, psa.SimilarityMatrix.Name, psa.GapOpenCost, psa.GapExtensionCost); foreach (IPairwiseSequenceAlignment sequenceResult in result) { ApplicationLog.WriteLine("Input 0 {0}", sequenceResult.FirstSequence); ApplicationLog.WriteLine("Input 1 {0}", sequenceResult.SecondSequence); int count = 1; foreach (var oneResult in sequenceResult.PairwiseAlignedSequences) { ApplicationLog.WriteLine(" #" + count++); ApplicationLog.WriteLine(" Score {0}", oneResult.Score); ApplicationLog.WriteLine(" Result 0 {0}", oneResult.FirstSequence); ApplicationLog.WriteLine(" Result 1 {0}", oneResult.SecondSequence); ApplicationLog.WriteLine(" Offset 0 {0}", oneResult.FirstOffset); ApplicationLog.WriteLine(" Offset 1 {0}", oneResult.SecondOffset); ApplicationLog.WriteLine(" Consensus {0}", oneResult.Consensus); } } }
/// <summary> /// Logs results to current Application log /// </summary> /// <param name="psa"></param> /// <param name="result"></param> public static void LogResult(IPairwiseSequenceAligner psa, IEnumerable<IPairwiseSequenceAlignment> result) { ApplicationLog.WriteLine("{0}, Matrix {1}; GapOpenCost {2}, GapExtensionCost {3}", psa.Name, psa.SimilarityMatrix.Name, psa.GapOpenCost, psa.GapExtensionCost); foreach (IPairwiseSequenceAlignment sequenceResult in result) { ApplicationLog.WriteLine("Input 0 {0}", sequenceResult.FirstSequence); ApplicationLog.WriteLine("Input 1 {0}", sequenceResult.SecondSequence); int count = 1; foreach (var oneResult in sequenceResult.PairwiseAlignedSequences) { ApplicationLog.WriteLine(" #" + count++); ApplicationLog.WriteLine(" Score {0}", oneResult.Score); ApplicationLog.WriteLine(" Result 0 {0}", oneResult.FirstSequence); ApplicationLog.WriteLine(" Result 1 {0}", oneResult.SecondSequence); ApplicationLog.WriteLine(" Offset 0 {0}", oneResult.FirstOffset); ApplicationLog.WriteLine(" Offset 1 {0}", oneResult.SecondOffset); ApplicationLog.WriteLine(" Consensus {0}", oneResult.Consensus); } } }