Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035 #ifndef OPENMS_SIMULATION_LABELING_SILACLABELER_H
00036 #define OPENMS_SIMULATION_LABELING_SILACLABELER_H
00037
00038 #include <OpenMS/SIMULATION/LABELING/BaseLabeler.h>
00039
00040 namespace OpenMS
00041 {
00042
00043
00051 class OPENMS_DLLAPI SILACLabeler :
00052 public BaseLabeler
00053 {
00054 public:
00055
00057 SILACLabeler();
00058
00060 virtual ~SILACLabeler();
00061
00063 static BaseLabeler* create()
00064 {
00065 return new SILACLabeler();
00066 }
00067
00069 static const String getProductName()
00070 {
00071 return "SILAC";
00072 }
00073
00074
00075 void preCheck(Param& ) const;
00076
00077 void setUpHook(FeatureMapSimVector& );
00078
00079 void postDigestHook(FeatureMapSimVector& );
00080
00081 void postRTHook(FeatureMapSimVector& );
00082
00083 void postDetectabilityHook(FeatureMapSimVector& );
00084
00085 void postIonizationHook(FeatureMapSimVector& );
00086
00087 void postRawMSHook(FeatureMapSimVector& );
00088
00089 void postRawTandemMSHook(FeatureMapSimVector& , MSSimExperiment& );
00090
00091 protected:
00092 void addModificationToPeptideHit_(Feature& feature, const String& modification) const;
00093
00094 Feature mergeFeatures_(Feature& labeled_channel_feature, const String& unmodified_sequence, Map<String, Feature>& unlabeled_features_index, Int index_channel_id, Int labeled_channel_id) const;
00095
00096 Feature mergeAllChannelFeatures_(Feature& heavy_channel_feature, const String& unmodified_feature_sequence, Map<String, Feature>& light_channel_feature_index, Map<String, Feature>& medium_channel_feature_index) const;
00097
00098 String medium_channel_lysine_label_;
00099 String medium_channel_arginine_label_;
00100
00101 String heavy_channel_lysine_label_;
00102 String heavy_channel_arginine_label_;
00103
00104 bool canModificationBeApplied_(const String& modification_id, const String& aa) const;
00105
00106 void applyLabelToProteinHit_(FeatureMapSim& protein_hit, const String& arginine_label, const String& lysine_label) const;
00107
00108 void updateMembers_();
00109
00110 String getUnmodifiedSequence_(const Feature& feature, const String& arginine_label, const String& lysine_label) const;
00111
00112 private:
00114 static const int LIGHT_FEATURE_MAPID_;
00116 static const int MEDIUM_FEATURE_MAPID_;
00118 static const int HEAVY_FEATURE_MAPID_;
00119 };
00120
00121 }
00122
00123 #endif //#ifndef OPENMS_SIMULATION_LABELING_SILACLABELER_H