48 setXicFilter(std::make_shared<FilterMorphoAntiSpike>(5));
52 std::make_shared<TraceDetectionZivy>(1, 3, 2, 5000, 3000);
102 if((ratio < 1) && (ratio >= 0))
218 project_param.
name =
"mcq_xic_extraction_type";
222 project_param.name =
"mcq_mbr";
226 project_param.name =
"mcq_isotope_minimum_ratio";
237 project_param.name =
"mcq_xic_ppm_range_min";
241 project_param.name =
"mcq_xic_ppm_range_max";
251 project_param.name =
"mcq_xic_mz_range_min";
255 project_param.name =
"mcq_xic_mz_range_max";
260 project_param.name =
"mcq_xic_pre_filter";
264 project_param.value.setValue(
"");
271 if(detection_zivy !=
nullptr)
273 project_param.name =
"mcq_detection_zivy";
274 project_param.value.setValue(QString(
"%1 %2 %3 %4 %5")
297 "mp_xicExtractionUppersPrecisionPtr == "
303 "mp_xicExtractionLowerPrecisionPtr == "
307 QJsonObject precision;
313 QJsonObject extraction;
314 extraction.insert(
"integration", xic_type);
315 extraction.insert(
"precision", precision);
317 method.insert(
"extraction", extraction);
327 "m_xicFilterSuite.get() == "
336 if(detection_zivy ==
nullptr)
339 "m_quantificationMethod.getTraceDetectionInterfaceCstSPtr().get() == "
343 QJsonObject detection;
344 detection.insert(
"type",
"zivy");
350 method.insert(
"detection", detection);
361 QString filter_str = quantification_method.value(
"pre_filter").toString();
363 qDebug() << filter_str;
364 if(!filter_str.isEmpty())
367 std::make_shared<FilterSuiteString>(filter_str);
369 qDebug() << filter_str;
371 QJsonObject extraction = quantification_method.value(
"extraction").toObject();
373 QJsonValue rt_range = extraction.value(
"rt_range");
374 if(!rt_range.isUndefined())
379 QString integration = extraction.value(
"integration").toString();
380 if(integration ==
"sum")
384 else if(integration ==
"max")
391 QObject::tr(
"missing "
392 "masschroq_methods>quantification_method>extraction>"
393 "integration %1 value")
397 QJsonObject precision = extraction.value(
"precision").toObject();
398 qDebug() << precision.value(
"down").toDouble();
399 qDebug() << precision.value(
"up").toDouble();
401 if(precision.value(
"unit").toString() ==
"dalton")
408 else if(precision.value(
"unit").toString() ==
"ppm")
418 QObject::tr(
"missing "
419 "masschroq_methods>quantification_method>extraction>precision>"
424 QJsonObject detection = quantification_method.value(
"detection").toObject();
425 if(detection.value(
"type").toString() ==
"zivy")
427 std::shared_ptr<TraceDetectionZivy> sp_detection_zivy =
428 std::make_shared<TraceDetectionZivy>(detection.value(
"meanfilter").toInt(),
429 detection.value(
"minmax").toInt(),
430 detection.value(
"maxmin").toInt(),
431 detection.value(
"threshold_on_max").toInt(),
432 detection.value(
"threshold_on_min").toInt());
439 QObject::tr(
"only masschroq_methods>quantification_method>detection>type == zivy "
static PrecisionPtr getPpmInstance(pappso_double value)
get a ppm precision pointer
static PrecisionPtr getDaltonInstance(pappso_double value)
get a Dalton precision pointer
void setProjectParam(const ProjectParam ¶m)
unsigned int getMinMaxHalfEdgeWindows() const
unsigned int getSmoothingHalfEdgeWindows() const
double getDetectionThresholdOnMinmax() const
double getDetectionThresholdOnMaxmin() const
unsigned int getMaxMinHalfEdgeWindows() const
pappso::PrecisionPtr mp_xicExtractionUppersPrecisionPtr
const pappso::TraceDetectionInterfaceCstSPtr & getTraceDetectionInterfaceCstSPtr() const
Enums::XicExtractMethod getXicExtractMethod() const
pappso::FilterSuiteStringSPtr m_xicFilterSuite
the xic filters
void setXicExtractionUpperPrecisionPtr(pappso::PrecisionPtr precision)
pappso::PrecisionPtr getXicExtractionMeanPrecisionPtr() const
pappso::PrecisionPtr mp_xicExtractionLowerPrecisionPtr
pappso::PrecisionPtr getXicExtractionUppersPrecisionPtr() const
pappso::TraceDetectionInterfaceCstSPtr mcsp_traceDetectionInterfaceCstSPtr
the peak detection method for this quantification
void setIsotopeMinimumRatio(double ratio)
double getXicExtractionRtRange() const
double m_xicExtractionRetentionTimeAroundTarget
set the retention time range in seconds around the target rt
void setJsonObject(const QJsonObject &json_object)
Enums::XicExtractMethod m_xicExtractMethod
void setXicExtractMethod(Enums::XicExtractMethod method)
QuantificationMethod(const QString &id)
pappso::ProjectParameters getProjectParameters() const
pappso::PrecisionPtr getXicExtractionLowerPrecisionPtr() const
void setMatchBetweenRun(bool is_match)
void setXicFilter(const pappso::FilterNameInterfaceSPtr &filter)
bool getMatchBetweenRun() const
void addXicFilter(const pappso::FilterNameInterfaceSPtr &filter)
const FilterSuiteStringSPtr & getFilterSuiteStringSPtr() const
void setXicExtractionRtRange(double rt_range)
const pappso::MzRange getXicExtractionMzRange(double mz) const
double m_isotopeMinimumRatio
the minimum percentage of theoretical intensity of the isotope pattern to compute
double getIsotopeMinimumRatio() const
virtual ~QuantificationMethod()
QJsonObject getJsonObject() const
void setXicExtractionLowerPrecisionPtr(pappso::PrecisionPtr precision)
const QString & getId() const
void setTraceDetectionInterfaceCstSPtr(const pappso::TraceDetectionInterfaceCstSPtr &detection)
const pappso::FilterNameInterfaceSPtr getXicFilter() const
static QString enumToString(PeakQualityCategory peak_category)
Convenience function to return a string describing the specglob alingment type.
@ max
maximum of intensities
tries to keep as much as possible monoisotopes, removing any possible C13 peaks and changes multichar...
std::shared_ptr< FilterSuiteString > FilterSuiteStringSPtr
std::shared_ptr< const TraceDetectionInterface > TraceDetectionInterfaceCstSPtr
@ quantification
quantification
@ filter
concerning filters (psm, peptide, protein validation)
std::shared_ptr< FilterNameInterface > FilterNameInterfaceSPtr
const PrecisionBase * PrecisionPtr