예제 #1
0
        /// <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);
        }
예제 #2
0
 /// <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);
         }
     }
 }
예제 #3
0
 /// <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);
         }
     }
 }