Closed jcharkow closed 9 months ago
Update GenericFileLoader
load(peptide sequence, charge) -> TransitionGroup)
ChromatogramLoader nherit from (SQMassFile, OSWFile) SQMassLoader inherit from (SQMassFile, PQPFile)
ExperimentLoader inherit from ( MZML, OSW) MZMLLoader inherit from ( MzML, tsv file)
charge, rt, im needed in
This has been accomplished with #50 , but was rebased as dev, and old dev was moved to legacy.
Make codebase more "class based" including abstract class based so that it can be more easily extendable. Also this should allow for a friendlier UI for those working directly with the python package.
Several Classes will add include:
Chromatogram - store np arrays of rt and im as well as meta information (e.g. label)
TransitionGroup - an object contaning both the MS1 and the MS2 chromatograms
possibly some meta information as well
getMedian() - returns a median chromatogram object
GenericPeakPicker - abstract class containing functions which all peakPickers should implement
contains pick() function which requires a transition group and returns a list of PeakFeatures
Current Classes Inhereting from this include:
PeakFeatures - metainformation about a peak feature including rt apex intensity, left width, right width, area intensity etc. These objects created by all peak pickers
ExternalFileLoader - abstract class containing functions to load chromatogram objects
Classes inhereting from this include: SQMassLoader - inherits from ExternalFileLoader requires osw and list of sqMass files
MzMLLoader - inherits from ExternalFileLoader requires osw/diann results and mzML file
timsLoader - inherits from ExternalFileLoader requires osw/diann results and mzML file
Plotter abstract class for plotting chromatograms plotTransitionGroup() requires transition group outputs plot plotPeakFeatures() requires list of peak features and places them on plot
streamlit functions hopefully should not change too much.
@singjc Please let me know your thoughts