Retreats Spring2014 OpenMS2.0
Stephan Aiche edited this page Apr 29, 2014
·
13 revisions
- while originally planned we will not be able to do the OpenMS 2.0 implementation in a single attempt (e.g., individual branch that is later on merged)
- we want to collect a list of features for OpenMS 2.0 during the retreat that can afterwards be implemented one by one
- issues in the github tracker
- a crucial part will be benchmarking of the changes (do we improve anything beyond design, or does it get worse)
- what should we measure (cpu time, memory consumption)
- automatic vs. manually
- we will define a benchmark suite for specific algorithms and data structures that can be run easily
- We start to go through the individual KERNEL classes
- AreaIterator = we will check it's usage but most likely remove it
- Peak (basically breaks the discussion on individual classes)
- we discuss if we should switch from
class Peak
to pairs ofstd::vector<double>
representingm/z
andintensity
[everybody agrees]
class ISpectrum
{
std::vector<double> mz_;
std::vector<double> int_;
// + associative container for meta-data arrays (e.g., float-binary-data)
map<MetaDataID, MetaDataArray> meta_;
}
- additional data should be hold in
SpectrumSettings
objects and not directly in the spectrum - Which meta information are essential and hence should be added directly to the spectrum (everybody will name his favourites)
- check the
mzMl
standard what is mandatory for a spectrum
- check the
- What should we use as
ID
for our spectrum and how can we make sure that is correctly mapped to themzML
and stays correct?
- intensive discussion on spectrum interface, whiteboard state
- intensive discussion on msexperiment interface
class ISpectraAccess
{
public:
int getNrSpectra() const;
getMetaSpectrum(int i) const;
const ISpectrum& getSpectrum(int i) const;
const ExpMeta& getExperimentMeta() const;
// iterators for spectra
SpectrumIterator spectrumBegin();
SpectrumIterator spectrumEnd();
};
class IChromatogramAccess
{
public:
int getNrChromatograms() const;
getMetaSpectrum(int i) const;
const IChromatogram& getChromatogram(int i) const;
const ExpMeta& getExperimentMeta() const;
// iterators for chromatograms
ChromatogramIterator chromatogramBegin();
ChromatogramIterator chromatogramEnd();
};
-
MSExperiment
will be renamed toMSRun
, whiteboard state - discussion on how to proceed with features/consensusfeatures
- should we use the mzQuantML data model
- too much information
- how can we model relations between entities (e.g., RDF triple store)
- how can we model relations between the individual experiments (or channels)
- should we use the mzQuantML data model
- we will remove consensusfeature
- MassTrace
- Feature
- MRMFeature
- Map whiteboard state
- MetaInformation discussion
- agreed on further modularisation of OpenMS
- support utils with more classes as an incubator for OpenMS/TOPP
- prepare small
libOpenMSChemistry
as a container for lightweight future developments whiteboard state