| OpenMS 2.5.0

Todo List

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
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 "submaps" (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::checkRunSettings_ (const ProteinIdentification &idRun, const ProteinIdentification &ref, const String &experiment_type) const
  refactor with above
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)
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)

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)
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)
  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
Class Identification
  docu (Andreas)
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)
  allow FeatureMap?
Class InclusionExclusionList
  allow modifications (fixed?)
Page InspectAdapter
  rewrite the Adapter! It uses old formats and coding style, e.g. mzData input allowed, no input restrictions, manual (unneccessary file checking of input files) etc... + the interface is not convenient, etc ...
Class InspectOutfile
  Handle Modifications (Andreas)
Class IsotopeMarker
  implement a real isotope marking here with isotopedistributions and fitting (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
Class MzMLHandler
  replace hardcoded cv stuff with more flexible handling via obo r/w.
Member MzMLSpectrumDecoder::decodeBinaryDataChrom_ (std::vector< BinaryData > &data)
  Duplicated code from MzMLHandler, need to clean up see MzMLHandler::fillData_()
Member MzMLSpectrumDecoder::decodeBinaryDataSpectrum_ (std::vector< BinaryData > &data)
  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 ProductModel< D >
  This class provides new member functions, which makes Factory<BaseModel<2> >::create("ProductModel2D") pretty much useless! (Clemens)
Class ProteinIdentification
  Add MetaInfoInterface to modifications => update IdXMLFile and ProteinIdentificationVisualizer (Andreas)
Page ProteinInference
  possibly integrate parsimony approach from OpenMS::PSProteinInference class The command line parameters of this tool are:

      ProteinInference -- Protein inference based on an aggregation of the scores of the identified peptides.

      Full documentation: http://www.openms.de/documentation/TOPP_ProteinInference.html

      Version: 2.5.0-GIT-NOTFOUND-GIT-NOTFOUND Sep 10 2020, 12:20:39, Revision: GIT-NOTFOUND

      To cite OpenMS:

        Rost HL, Sachsenberg T, Aiche S, Bielow C et al.. OpenMS: a flexible open-source software platform for mass spectrometry data analysis. Nat Meth. 2016; 13, 9: 741-748. doi:10.1038/nmeth.3959.

      Usage:

        ProteinInference <options>

      Options (mandatory options marked with '*'):

        -in <file>*                                               Input file(s) (valid formats: 'idXML')

        -out <file>*                                              Output file (valid formats: 'idXML')

        -merge_runs <choice>                                      If your idXML contains multiple runs, merge them

                                                                  beforehand? (default: 'no' valid: 'no', 'all')

        -annotate_indist_groups <choice>                          If you want to annotate indistinguishable protein

                                                                  groups, either for reporting or for group based

                                                                  quant. later. Only works with a single ID run in

                                                                  the file. (default: 'true' valid: 'true', 'false'

                                                                  )

      Merging:

        -Merging:annotate_origin <choice>                         If true, adds a map_index MetaValue to the Peptid

                                                                  eIDs to annotate the IDRun they came from. (defau

                                                                  lt: 'true' valid: 'true', 'false')

      Algorithm:

        -Algorithm:min_peptides_per_protein <number>              Minimal number of peptides needed for a protein

                                                                  identification. If set to zero, unmatched protein

                                                                  s get a score of -Infinity. If bigger than zero,

                                                                  proteins with less peptides are filtered and evid

                                                                  ences removed from the PSMs. PSMs that do not

                                                                  reference any proteins anymore are removed but

                                                                  the spectrum info is kept. (default: '1' min:

                                                                  '0')

        -Algorithm:score_aggregation_method <choice>              How to aggregate scores of peptides matching to

                                                                  the same protein? (default: 'maximum' valid: 'max

                                                                  imum', 'product', 'sum')

        -Algorithm:treat_charge_variants_separately <text>        If this is set, different charge variants of the

                                                                  same peptide sequence count as individual evidenc

                                                                  es. (default: 'true')

        -Algorithm:treat_modification_variants_separately <text>  If this is set, different modification variants

                                                                  of the same peptide sequence count as individual

                                                                  evidences. (default: 'true')

        -Algorithm:use_shared_peptides <text>                     If this is set, shared peptides are used as evide

                                                                  nces. (default: 'true')

        -Algorithm:skip_count_annotation <text>                   If this is true, peptide counts won't be annotate

                                                                  d at the proteins. (default: 'false')

      Common TOPP options:

        -ini <file>                                               Use the given TOPP INI file

        -threads <n>                                              Sets the number of threads allowed to be used by

                                                                  the TOPP tool (default: '1')

        -write_ini <file>                                         Writes the default configuration file

        --help                                                    Shows options

        --helphelp                                                Shows all options (including advanced)

  INI file documentation of this tool:
  Legend:
  required parameter
  advanced parameter
  +ProteinInference Protein inference based on an aggregation of the scores of the identified peptides.
  version 2.5.0-GIT-NOTFOUND-GIT-NOTFOUND Version of the tool that generated this parameters file.
  ++1 Instance '1' section for 'ProteinInference'
  in[] input file(s)input file*.idXML
  out output file output file*.idXML
  merge_runs no If your idXML contains multiple runs, merge them beforehand?no,all
  annotate_indist_groups true If you want to annotate indistinguishable protein groups, either for reporting or for group based quant. later. Only works with a single ID run in the file.true,false
  log Name of log file (created only when specified)
  debug 0 Sets the debug level
  threads 1 Sets the number of threads allowed to be used by the TOPP tool
  no_progress false Disables progress logging to command line true,false
  force false Overwrite tool specific checks.true,false
  test false Enables the test mode (needed for internal use only)true,false
  +++Merging
  annotate_origin true If true, adds a map_index MetaValue to the PeptideIDs to annotate the IDRun they came from.true,false
  +++Algorithm
  min_peptides_per_protein 1 Minimal number of peptides needed for a protein identification. If set to zero, unmatched proteins get a score of -Infinity. If bigger than zero, proteins with less peptides are filtered and evidences removed from the PSMs. PSMs that do not reference any proteins anymore are removed but the spectrum info is kept.0:∞
  score_aggregation_method maximum How to aggregate scores of peptides matching to the same protein?maximum,product,sum
  treat_charge_variants_separately true If this is set, different charge variants of the same peptide sequence count as individual evidences.
  treat_modification_variants_separately true If this is set, different modification variants of the same peptide sequence count as individual evidences.
  use_shared_peptides true If this is set, shared peptides are used as evidences.
  skip_count_annotation false If this is true, peptide counts won't be annotated at the proteins.
Class ProtXMLFile

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

  Writing of protXML is currently not supported

Page RTPredict
  This needs serious clean up! Combining certain input and output options will result in strange behaviour, especially when using text output/input.
Class SequestOutfile

  Handle Modifications (Andreas)

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

Module setScoresFunctions
  remove?
Class Spectrum1DCanvas
  Use spectrum StringDataArray with name 'label' for peak annotations (Hiwi, Johannes)
Class SpectrumCanvas
  Allow reordering the layer list by drag-and-drop (Hiwi, Johannes)
Class SpectrumIdentification
  docu (Andreas)
Class SpectrumWidget
  Add support to store the displayed data as SVG image (HiWi)
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?
Class TraceFitter
  docu needs update
Class TwoDOptimization
  Works only with defined types due to pointers to the data in the optimization namespace! Change that or remove templates (Alexandra)