~ubuntu-branches/ubuntu/wily/openms/wily

« back to all changes in this revision

Viewing changes to include/OpenMS/ANALYSIS/DENOVO/CompNovoIdentification.h

  • Committer: Package Import Robot
  • Author(s): Filippo Rusconi
  • Date: 2012-11-12 15:58:12 UTC
  • Revision ID: package-import@ubuntu.com-20121112155812-vr15wtg9b50cuesg
Tags: upstream-1.9.0
ImportĀ upstreamĀ versionĀ 1.9.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
// -*- Mode: C++; tab-width: 2; -*-
 
2
// vi: set ts=2:
 
3
//
 
4
// --------------------------------------------------------------------------
 
5
//                   OpenMS Mass Spectrometry Framework
 
6
// --------------------------------------------------------------------------
 
7
//  Copyright (C) 2003-2011 -- Oliver Kohlbacher, Knut Reinert
 
8
//
 
9
//  This library is free software; you can redistribute it and/or
 
10
//  modify it under the terms of the GNU Lesser General Public
 
11
//  License as published by the Free Software Foundation; either
 
12
//  version 2.1 of the License, or (at your option) any later version.
 
13
//
 
14
//  This library is distributed in the hope that it will be useful,
 
15
//  but WITHOUT ANY WARRANTY; without even the implied warranty of
 
16
//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 
17
//  Lesser General Public License for more details.
 
18
//
 
19
//  You should have received a copy of the GNU Lesser General Public
 
20
//  License along with this library; if not, write to the Free Software
 
21
//  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 
22
//
 
23
// --------------------------------------------------------------------------
 
24
// $Maintainer: Sandro Andreotti $
 
25
// $Authors: Andreas Bertsch $
 
26
// --------------------------------------------------------------------------
 
27
 
 
28
 
 
29
#ifndef OPENMS_ANALYSIS_DENOVO_COMPNOVOIDENTIFICATION_H
 
30
#define OPENMS_ANALYSIS_DENOVO_COMPNOVOIDENTIFICATION_H
 
31
 
 
32
// OpenMS includes
 
33
#include <OpenMS/ANALYSIS/DENOVO/CompNovoIdentificationBase.h>
 
34
 
 
35
// stl includes
 
36
#include <vector>
 
37
 
 
38
namespace OpenMS
 
39
{
 
40
        /**
 
41
          @brief  run with CompNovoIdentification
 
42
 
 
43
                @htmlinclude OpenMS_CompNovoIdentification.parameters
 
44
 
 
45
                @ingroup Analysis_ID
 
46
        */
 
47
        class OPENMS_DLLAPI CompNovoIdentification : public CompNovoIdentificationBase
 
48
        {
 
49
 
 
50
                public:
 
51
 
 
52
                        /** @name constructors and destructors
 
53
                         */
 
54
                        //@{
 
55
                        /// default constructor
 
56
                        CompNovoIdentification();
 
57
                        
 
58
                        /// copy constructor
 
59
                        CompNovoIdentification(const CompNovoIdentification& source);
 
60
                        
 
61
                        /// destructor
 
62
                        virtual ~CompNovoIdentification();
 
63
                        //@}
 
64
                
 
65
                        ///
 
66
                        CompNovoIdentification& operator = (const CompNovoIdentification& source);
 
67
 
 
68
                        /** @name Accessors
 
69
                         */
 
70
                        //@{
 
71
                        /// performs an ProteinIdentification run on a PeakMap
 
72
                        void getIdentifications(std::vector<PeptideIdentification>& ids, const PeakMap& exp);
 
73
 
 
74
                        /// performs an ProteinIdentification run on a PeakSpectrum
 
75
                        void getIdentification(PeptideIdentification& id, const PeakSpectrum& CID_spec, const PeakSpectrum& ETD_spec);
 
76
                        //@}
 
77
 
 
78
 
 
79
                        typedef CompNovoIonScoringBase::IsotopeType IsotopeType;
 
80
                        typedef CompNovoIonScoringBase::IonScore IonScore;
 
81
                        typedef CompNovoIdentificationBase::Permut Permut;
 
82
                        
 
83
                protected:
 
84
 
 
85
                        /// call the DAC algorithm for the subspectrum defined via left and right peaks and fill the set with candidates sequences
 
86
                        void getDecompositionsDAC_(std::set<String>& sequences, Size left, Size right, DoubleReal peptide_weight, const PeakSpectrum& CID_orig_spec, const PeakSpectrum& ETD_orig_spec, Map<DoubleReal, IonScore>& CID_nodes);
 
87
 
 
88
                        /// reduces the given number of permuts by scoring the perumtations to the CID and ETD spec
 
89
                        void reducePermuts_(std::set<String>& permuts, const PeakSpectrum& CID_orig_spec, const PeakSpectrum& ETD_orig_spec, DoubleReal prefix, DoubleReal suffix);
 
90
                
 
91
                        /// fills the spectrum with c and z type ions
 
92
                        void getETDSpectrum_(PeakSpectrum& spec, const String& sequence, Size /* charge */, DoubleReal prefix = 0.0, DoubleReal suffix = 0.0);
 
93
 
 
94
                        /// estimates an exact precursor weight of the ETD spectrum, because in most of the cases the precursor is found in the MS/MS spec
 
95
                        DoubleReal estimatePrecursorWeight_(const PeakSpectrum& ETD_spec, Size& charge);
 
96
                        
 
97
        };
 
98
}
 
99
 
 
100
#endif