Goals & Non-Goals#
This processing pipeline was developed as a bachelor thesis. During the thesis a set of goals and non-goals was defined. The intention of these goals is to provide the best user experience, while still keeping the scope of the project manageable.
Goals#
Leverage core tools#
No new tool should be developed to solve a problem other tools like MZmine3 or Sirius are not already solving. Rather a new pipeline should be developed which leverages the existing solutions and makes them more accessible to users.
No tool version requirement#
During the process of developing, it became apparent that managing the
interface between multiple major versions of tools is impossible. As a
result most of the steps have a vague dependency on a major version of a
library, but apart from that, the only interface is the structure of output
files such as .mzml, .mgfor .tsv which are less susceptible to
interface changes.
Transparency#
Make it very clear to the user what exactly is happening while the pipeline is running. Make Logging and collecting useful Metadata for the user a core feature.
Future-proofing#
Build the system in a way that no major library interface update can break the entire system. Similarly, the system is built in a way which makes it easy to integrate into other tools later.
Non-Goals#
Complete library integration#
The system is built to quickly create a step using a specific functionality which is needed from a library. But it is not intended to integrate all functions of processing libraries from the beginning.