| 1033 | } |
| 1034 | |
| 1035 | void QcMLFile::collectQCData(vector<ProteinIdentification>& prot_ids, |
| 1036 | vector<PeptideIdentification>& pep_ids, |
| 1037 | const FeatureMap& feature_map, |
| 1038 | const ConsensusMap& consensus_map, |
| 1039 | const String& inputfile_raw, |
| 1040 | const bool remove_duplicate_features, |
| 1041 | const MSExperiment& exp) |
| 1042 | { |
| 1043 | // fetch vocabularies |
| 1044 | ControlledVocabulary cv; |
| 1045 | cv.loadFromOBO("PSI-MS", File::find("/CV/psi-ms.obo")); |
| 1046 | cv.loadFromOBO("QC", File::find("/CV/qc-cv.obo")); |
| 1047 | cv.loadFromOBO("QC", File::find("/CV/qc-cv-legacy.obo")); |
| 1048 | //------------------------------------------------------------- |
| 1049 | // MS acquisition |
| 1050 | //------------------------------------------------------------ |
| 1051 | String base_name = QFileInfo(QString::fromStdString(inputfile_raw)).baseName(); |
| 1052 | |
| 1053 | UInt min_mz = std::numeric_limits<UInt>::max(); |
| 1054 | UInt max_mz = 0; |
| 1055 | std::map<Size, UInt> mslevelcounts; |
| 1056 | |
| 1057 | registerRun(base_name,base_name); //TODO use UIDs |
| 1058 | //---base MS aquisition qp |
| 1059 | String msaq_ref = base_name + "_msaq"; |
| 1060 | QcMLFile::QualityParameter qp; |
| 1061 | qp.id = msaq_ref; ///< Identifier |
| 1062 | qp.cvRef = "QC"; ///< cv reference |
| 1063 | qp.cvAcc = "QC:0000004"; |
| 1064 | try |
| 1065 | { |
| 1066 | const ControlledVocabulary::CVTerm& term = cv.getTerm(qp.cvAcc); |
| 1067 | qp.name = term.name; ///< Name |
| 1068 | } |
| 1069 | catch (...) |
| 1070 | { |
| 1071 | qp.name = "mzML file"; ///< Name |
| 1072 | } |
| 1073 | addRunQualityParameter(base_name, qp); |
| 1074 | |
| 1075 | //---file origin qp |
| 1076 | qp = QcMLFile::QualityParameter(); |
| 1077 | qp.name = "mzML file"; ///< Name |
| 1078 | qp.id = base_name + "_run_name"; ///< Identifier |
| 1079 | qp.cvRef = "MS"; ///< cv reference |
| 1080 | qp.cvAcc = "MS:1000577"; |
| 1081 | qp.value = base_name; |
| 1082 | addRunQualityParameter(base_name, qp); |
| 1083 | |
| 1084 | qp = QcMLFile::QualityParameter(); |
| 1085 | qp.name = "instrument model"; ///< Name |
| 1086 | qp.id = base_name + "_instrument_name"; ///< Identifier |
| 1087 | qp.cvRef = "MS"; ///< cv reference |
| 1088 | qp.cvAcc = "MS:1000031"; |
| 1089 | qp.value = exp.getInstrument().getName(); |
| 1090 | addRunQualityParameter(base_name, qp); |
| 1091 | |
| 1092 | qp = QcMLFile::QualityParameter(); |
no test coverage detected