Giter Site home page Giter Site logo

smiter's Introduction

SMITER

https://api.travis-ci.com/LeidelLab/SMITER.svg?branch=dev Documentation Status Updates

Summary

Python library to create synthetic mzMLs file based on chemical formulas. All molecules can be simulated du to abstraction to chemical formulas.

Abstract

SMITER (Synthetic mzML writer) is a python-based command-line tool designed to simulate LC-MS/MS runs. It enables the simulation of any biomolecule since all calculations are based on the chemical formulas. As SMITER features a modular design, noise and fragmentation models can easily be implemented or adapted. By default, SMITER uses an established noise model and offers several methods for peptide fragmentation or two models for nucleoside fragmentation. Due to the rich python ecosystem, other modules, e.g. for retention time prediction, can easily be implemented for the tailored simulation of any molecule of choice. This allows for the facile creation of defined gold-standard-LC-MS/MS datasets for any type of experiment. Such gold standards, where the ground truth is known, are required in computational mass spectrometry to test new algorithms and to improve parameters for existing ones. Similarly, gold-standard datasets can be used to evaluate analytical hurdles e.g. by predicting co-elution and co-fragmentation of molecules. As these challenges hinder the detection or quantification of co-eluents, a comprehensive simulation can identify and thus prevent such difficulties before performing actual MS experiments. SMITER allows to create such datasets easily, fast and efficiently

Features

  • simulate mass spectrometry data for any biomolecule
  • usage of highly-accurate isotopic patterns enabled by pyQms
  • feature scaling by gauss-, gamma- and exponentially-modified gaussian distributions
  • m/z-and intensity noise injection ( uniform noise or a noise model that combines general noise with intensity-specific noise)
  • MS2 fragmentation for peptides and modified nucleosides.
  • Free software: MIT license
  • Documentation: https://smiter.readthedocs.io.

Download and Installation

SMITER requires Python 3.7 or higher.

There are two recommended ways for installing SMITER

  • Installation via pip
  • Installation from the source (GitHub)

Installation via pip

Execute the following command from your command line:

user@localhost:~$ pip install smiter

Installation from source

Clone the GitHub repo GitHub:

user@localhost:~$ git clone https://github.com/LeidelLab/SMITER.git

Install the requirements and SMITER:

user@localhost:~$ cd smiter
user@localhost:~/smiter$ pip install -r requirements.txt
user@localhost:~/smiter$ python setup.py install

Note

We recommend using an virtual environment when using SMITER

Testing

To test the package and correct installation:

user@localhost:~/smiter$ tox

Copyrights

Copyright 2020-2021 by authors and contributors

  • Manuel Kösters
  • Johannes Leufken
  • Sebastian Leidel

Contact

Prof. Dr. Sebastian Leidel University of Bern Department of Chemistry, Biochemistry and Pharmaceutical Sciences Freiestrasse 3 3012 Bern Switzerland

Citation

Please do not forget to cite SMITER:

<ref>

Credits

This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.

smiter's People

Contributors

jb-ms avatar joewandy avatar mkoesters avatar mwang87 avatar pyup-bot avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.