コード例 #1
0
ファイル: Program.cs プロジェクト: ARBasharat/SEQuilibrium
        public static void RunTheCode(string seq1File, string seq2File, int matchWeight, int misMatchWeight, int indlWeight)
        {
            ScoringParameterDto scoringParameter = new ScoringParameterDto(matchWeight, misMatchWeight, indlWeight);
            var          seq1      = LoadProteinDatabase.GetProteins(seq1File);
            var          seq2      = LoadProteinDatabase.GetProteins(seq2File);
            SequencesDto sequences = new SequencesDto(seq1[0].Seq, seq2[0].Seq);

            EvaluateDto evaluation = GridEvaluateFunction.Evaluate(scoringParameter, sequences);
            ResultsDto  results    = Traceback.Trace(evaluation, sequences);

            WriteAlignment.Write(results, scoringParameter);
        }
コード例 #2
0
        /// <summary>
        ///     This function is being used in place of Main(~) and will be called from the RunMe GUI. Moreover, the Protein
        ///     Database "uniprot_human.fasta" only contain 2 proteins. One will be filtered by Protein mass
        ///     filter. So, the alignment is only performed on the Histone H4 (P62805).
        /// </summary>
        /// <param name="peakListFileAddress">Contains MS data (*.txt) file address</param>
        /// <param name="databaseFileAddress">Conatins protein database (*.fasta) file address</param>
        /// <param name="mwTolerance">Tolerance for filtering Proteins having theoretical mass in comparison with MS1</param>
        /// <param name="fragmentTolerance">Tolerance for aligning theoretical and experimental spectra</param>
        /// <param name="maximumNoOfModifications">Maximum number of mass shifts allowed in an alignment</param>
        public static void RunTheCode(string peakListFileAddress, string databaseFileAddress, double mwTolerance,
                                      double fragmentTolerance, int maximumNoOfModifications)
        {
            // Load Mass Spectrometry Data from *.txt data file
            var massSpectrometryData = PeakListReader.ReadPeakListFile(peakListFileAddress);

            // Load proteins from *.fasta protein database
            var proteinList = LoadProteinDatabase.GetProteins(databaseFileAddress);

            // Applying Terminal Modification, cuurently only handles NME_Accetylation
            var modifiedProteinList = TerminalModification.ModifyProteins(proteinList);

            // Filter Proteins using user provided MW Tolerance
            var filteredProteinList = FilterCandidateProteinsByMs1.FilterProteinDb(modifiedProteinList,
                                                                                   massSpectrometryData.WholeProteinMolecularWeight, mwTolerance);

            // Evaluate Spectral Alignment and Print the Results in Console
            SpectralAlignment.Align(massSpectrometryData, filteredProteinList, fragmentTolerance,
                                    maximumNoOfModifications);
        }