OpenMS
Todo List
Member BasicProteinInferenceAlgorithm::run (ConsensusMap &cmap, ProteinIdentification &prot_id, bool include_unassigned) const
allow checking matching IDs
Member BayesianProteinInferenceAlgorithm::BayesianProteinInferenceAlgorithm (unsigned int debug_lvl=0)
is there a better way to pass the debug level from TOPPBase?
Member BayesianProteinInferenceAlgorithm::checkConvertAndFilterPepHits_
extend to allow filtering only for the current run
Member BayesianProteinInferenceAlgorithm::inferPosteriorProbabilities (std::vector< ProteinIdentification > &proteinIDs, std::vector< PeptideIdentification > &peptideIDs, bool greedy_group_resolution, std::optional< const ExperimentalDesign > exp_des=std::optional< const ExperimentalDesign >())
loop over all runs
Member BinnedSpectrum::DEFAULT_BIN_WIDTH_LOWRES
: Weighted intensity spread is currently not implemented(but could replace the spread parameter).
Member ConsensusIDAlgorithm::apply (std::vector< PeptideIdentification > &ids, const std::map< String, String > &se_info, Size number_of_runs=0)
we could pass the score_types that we want to carry over in the map as well (right now it always takes main)
Class ConsensusMapMergerAlgorithm

This could be merged in the future with the general IDMergerAlgorithm since it shares a lot. IDMergerAlgorithm needs additional methods to have multiple runs as output. It also needs to store an extended mapping internally to distribute the PeptideIDs to the right output run according to origin and label. And should have non-copying/moving overloads for inserting PeptideIDs since we probably do not want to distribute the PeptideIDs to the features again. In general detaching IDs from features would be of great help here.

Untested for TMT/iTraq data where you usually have one Identification run per File but in one File you might have multiple conditions multiplexed, that you might want to split for inference. Problem: There is only one PeptideIdentification object per Feature that is representative for all "sub maps" (in this case the labels/reporter ions). -> A lookup is necessary if the reporter ion had non-zero intensity and if so, the peptide ID needs to be duplicated for every new (condition-based) IdentificationRun it is supposed to be used in, according to the mapping.

Member ConsensusMapMergerAlgorithm::mergeProteinIDRuns (ConsensusMap &cmap, const std::map< unsigned, unsigned > &mapIdx_to_new_protIDRun) const
Do we need to consider the old IDRun identifier in addition to the sub map index
Class ConsensusXMLFile
Take care that unique ids are assigned properly by TOPP tools before calling ConsensusXMLFile::store(). There will be a message on OPENMS_LOG_INFO but we will make no attempt to fix the problem in this class. (all developers)
Class ConsensusXMLHandler
Take care that unique ids are assigned properly by TOPP tools before calling ConsensusXMLFile::store(). There will be a message on OPENMS_LOG_INFO but we will make no attempt to fix the problem in this class. (all developers)
Member EnzymaticDigestion::digestUnmodified (const StringView &sequence, std::vector< std::pair< Size, Size >> &output, Size min_length=1, Size max_length=0) const
could be set of pairs.
Class FeatureFinderAlgorithmPicked

Fix output in parallel mode, change assignment of charges to threads, add parallel TOPP test (Marc)

Implement user-specified seed lists support (Marc)

Member FeatureFinderIdentificationAlgorithm::addPeptideToMap_ (PeptideIdentification &peptide, PeptideMap &peptide_map, bool external=false)
find better solution
Class FeatureXMLFile
Take care that unique ids are assigned properly by TOPP tools before calling FeatureXMLFile::store(). There will be a message on OPENMS_LOG_INFO but we will make no attempt to fix the problem in this class. (all developers)
Class FeatureXMLHandler
Take care that unique ids are assigned properly by TOPP tools before calling FeatureXMLFile::store(). There will be a message on OPENMS_LOG_INFO but we will make no attempt to fix the problem in this class. (all developers)
Module FileIO

Implement reading of pepXML and protXML (Andreas)

Allow reading of zipped XML files (David, Hiwi)

Class GaussTraceFitter
More docu
Member IDBoostGraph::buildGraph_ (ProteinIdentification &proteins, std::vector< PeptideIdentification > &idedSpectra, Size use_top_psms, bool best_psms_annotated=false)
we could include building the graph in important "main" functions like inferPosteriors to make the methods safer, but it is also nice to be able to reuse the graph
Member IDBoostGraph::buildGraphWithRunInfo_ (ProteinIdentification &proteins, ConsensusMap &cmap, Size use_top_psms, bool use_unassigned_ids, const ExperimentalDesign &ed)
we could include building the graph in important "main" functions like inferPosteriors to make the methods safer, but it is also nice to be able to reuse the graph
Member IDBoostGraph::clusterIndistProteinsAndPeptidesAndExtendGraph ()
needs to be finished, updated with latest additions (i.e. check clusterIndistProteinsAndPeptides), and tested
Member IDBoostGraph::resolveGraphPeptideCentric (bool removeAssociationsInData=true)
untested Removes all edges from a peptide (and its PSMs) to its parent protein groups (and its proteins) except for the best protein group.
Class Identification
docu (Andreas)
Member IdentificationData::removeMetaValue (const ObservationMatchRef ref, const String &key)
: return whether value existed? (requires changes in MetaInfo[Interface])
Class IdentificationHit
docu (Andreas)
Class IDMergerAlgorithm
allow filtering for peptide sequence to supersede the IDMerger tool. Make it keep the best PSMs though.
Member IDScoreGetterSetter::getPeptideScoresFromMap_ (ScoreToTgtDecLabelPairs &scores_labels, const ConsensusMap &cmap, bool include_unassigned_peptides, Args &&... args)
allow FeatureMap?
Member IDScoreGetterSetter::getPickedProteinGroupScores_ (const std::unordered_map< String, ScoreToTgtDecLabelPair > &picked_scores, ScoreToTgtDecLabelPairs &scores_labels, const std::vector< ProteinIdentification::ProteinGroup > &grps, const String &decoy_string, bool decoy_prefix)
describe more
Class InspectOutfile
Handle Modifications (Andreas)
Class LabeledPairFinder

Implement support for labeled MRM experiments, Q1 m/z value and charges. (Andreas)

Implement support for more than one mass delta, e.g. from missed cleavages and so on (Andreas)

Page MascotAdapter
This adapter is using antiquated internal methods and needs to be updated! E.g. use MascotGenericFile.h instead of MascotInfile.h....
Member MessagePasserFactory< Label >::chgLLhoods
could be calculated from IDPEP if we do per charge state fitting) or empirically estimated from the input PSMs
Member ModificationsDB::searchModifications (std::set< const ResidueModification * > &mods, const String &mod_name, const String &residue="", ResidueModification::TermSpecificity term_spec=ResidueModification::NUMBER_OF_TERM_SPECIFICITY) const
use set as return value. Would be more efficient in pyopenms
Class MzMLHandler
replace hardcoded cv stuff with more flexible handling via obo r/w.
Member MzMLSpectrumDecoder::decodeBinaryDataChrom_ (std::vector< BinaryData > &data) const
Duplicated code from MzMLHandler, need to clean up see MzMLHandler::fillData_()
Member MzMLSpectrumDecoder::decodeBinaryDataSpectrum_ (std::vector< BinaryData > &data) const
Duplicated code from MzMLHandler, need to clean up see MzMLHandler::fillData_()
Member PeptideProteinResolution::resolve (ProteinIdentification &protein, std::vector< PeptideIdentification > &peptides, bool resolve_ties, bool targets_first)
warning: all peptides are used (not filtered for matching protein ID run yet).
Member PeptideProteinResolution::resolveGraph (ProteinIdentification &protein, std::vector< PeptideIdentification > &peptides)
warning: all peptides are used (not filtered for matching protein ID run yet).
Class PosteriorErrorProbabilityModel

test performance and make fitGumbelGauss available via parameters.

allow charge state based fitting

allow semi-supervised by using decoy annotations

allow non-parametric via kernel density estimation

Class ProteinIdentification
Add MetaInfoInterface to modifications => update IdXMLFile and ProteinIdentificationVisualizer (Andreas)
Class PlotWidget
Add support to store the displayed data as SVG image (HiWi)
Class ProtXMLFile

Document which metavalues of Protein/PeptideHit are filled when reading ProtXML (Chris)

Writing of protXML is currently not supported

Class QTCluster
This implementation may benefit from two separate implementations (one considering IDs/annotations one without). The current implementation most likely hinders speed/memory of both by trying to do both in one. The ID-based implementation could additionally benefit from ID scores and make use of ConsensusID functions.
Class SequestOutfile

Handle Modifications (Andreas)

Complete rewrite of the parser (and those of InsPecT and PepNovo), the code is bullshit... (Andreas)

Class SpectrumIdentification
docu (Andreas)
Class TOPPBase
: replace writeLog_, writeDebug_ with a logger concept we'd need something like -VLevels [LOGGERS] to specify which loggers shall print something the '-log' flag should clone all output to the log-file (maybe with custom [LOGGERS]), which can either be specified directly or is equal to '-out' (if present) with a ".log" suffix maybe a new LOGGER type (TOPP), which is only usable on TOPP level?
Member TOPPViewBase::lastActiveSubwindow_
).
Class TraceFitter
docu needs update