Git Product home page Git Product logo

openms-docs's Introduction

OpenMS

License (3-Clause BSD) Project Stats Discord Shield Gitter Install with bioconda Install with conda Documentation API docs Gitpod Ready-to-Code

OpenMS is an open-source software C++ library for LC-MS data management and analyses. It offers an infrastructure for rapid development of mass spectrometry related software. OpenMS is free software available under the three clause BSD license and runs under Windows, macOS, and Linux.

It comes with a vast variety of pre-built and ready-to-use tools for proteomics and metabolomics data analysis (TOPPTools) as well as powerful 1D, 2D and 3D visualization (TOPPView).

OpenMS offers analyses for various quantitation protocols, including label-free quantitation, SILAC, iTRAQ, TMT, SRM, SWATH, etc.

It provides built-in algorithms for de-novo identification and database search, as well as adapters to other state-of-the art tools like X!Tandem, Mascot, Comet, etc. It supports easy integration of OpenMS built tools into workflow engines like KNIME, Galaxy, WS-Pgrade, and TOPPAS via the TOPPtools concept and a unified parameter handling via a 'common tool description' (CTD) scheme.

With pyOpenMS, OpenMS offers Python bindings to a large part of the OpenMS API to enable rapid algorithm development. OpenMS supports the Proteomics Standard Initiative (PSI) formats for MS data. The main contributors of OpenMS are currently the Eberhard-Karls-Universität in Tübingen, the Freie Universität Berlin, and the ETH Zürich.

Features

  • Core C++ library under three-clause BSD licence using modern C++17
  • Python bindings to the C++ API through pyOpenMS
  • Major community file formats supported (mzML, mzXML, mzIdentXML, pepXML, mzTab, etc.)
  • Over 150+ individual analysis tools (TOPP Tools), covering most MS and LC-MS data processing and mining tasks
  • Powerful 1D, 2D and 3D visualization tools (TOPPView)
  • Support for most MS identification and quantification workflows (targeted, DIA, label-free, isobaric and stable isotope)
  • Support for all major platforms (Windows [XP, 7, 8, 10], macOS and Linux)

Documentation

Users and developers should start by reading the OpenMS documentation. OpenMS API reference documentation and advanced developer doxygen documentation can be browsed here.

openms.readthedocs.io documentation aims at being an entry point for users and developers alike. It is trying to be mostly version-independent and therefore only consists of one main branch. We may introduce tags for older releases in the future.

The OpenMS API reference has several endpoints:

  1. nightly: OpenMS API reference and advanced developer documentation of nightly releases.
  2. release/latest : OpenMS API reference and advanced developer documentation of latest stable release.
  3. release/${version} : OpenMS API reference and advanced developer documentation of an older version.

Documentation for the Python bindings pyOpenMS can be found on the pyOpenMS online documentation.

Citation

Please cite:

Pfeuffer, J., Bielow, C., Wein, S. et al. OpenMS 3 enables reproducible analysis of large-scale mass spectrometry data, Nat Methods 21, 365–367 (2024). https://doi.org/10.1038/s41592-024-02197-7

The file AUTHORS contains a list of all authors who worked on OpenMS.

Licence

OpenMS is released under the three clause BSD licence.

openms-docs's People

Contributors

axelwalter avatar ayesha-feroz avatar cbielow avatar greengypsy avatar jigidy avatar jpfeuffer avatar lerontonge avatar matteopilz avatar poshul avatar rahul799 avatar tapaswenipathak avatar timosachsenberg avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

openms-docs's Issues

Add icons/emojis in glossary

Is your feature request related to a OpenMS Documentation problem? Please describe

No. UX.

  • I have attached screenshot describing the problem, if applicable

Describe the documentation enhancement you'd like

Make the pages friendlier, especially beginner-friendly to make OpenMS more generic.

Screenshot 2022-05-29 at 8 03 26 PM

Describe alternatives you've considered

Icons: https://pradyunsg.me/furo/kitchen-sink/sphinx-design/#icons
Example: https://github.com/pradyunsg/furo/blob/main/docs/kitchen-sink/sphinx-design.md

To check code read the example page in RAW mode.

Additional context

None.

Add `term` role to every occurrence of a glossary term

Read Existing Documentation

I have checked the following places for the error:

Create OpenMS Bug Report

I have created the bug report in OpenMS for any pipeline errors.

Description of the documentation bug

  • I have attached screenshots of the incorrect documentation

Not all Glossary terms are assigned a term role.

If it is an .rst file. use :term:, otherwise use

{term}`glossary-term`

around the glossary term. All glossary terms are available here.

A few examples are below:

MS, MS/MS, TOPP, e.t.c.
Screenshot 2022-06-07 at 8 28 57 PM
Screenshot 2022-06-07 at 8 30 44 PM
Screenshot 2022-06-07 at 8 31 18 PM
Screenshot 2022-06-07 at 8 31 49 PM
Screenshot 2022-06-07 at 8 42 48 PM

Expected behaviour

All glossary terms should be linked to glossary definition.

OpenMS Installation

NA.

  • Version:

Additional context

Plus points if this can be automated w/o false positives.

Use of variable for the current version number

Is your feature request related to a OpenMS API Reference Documentation? Please describe.

Would be nice if we used fixed version numbers in the docs, such that older docs still point to older releases in the install instructions.
This is only maintainable with variables. I bet this is easily possible with sphinx.

  • I have attached screenshot describing the problem, if applicable.

Describe the documentation enhancement you'd like

Describe alternatives you've considered

Additional context

Add conda installation option

You can easily install openms via bioconda now on Linux and macOS.

Add that option.

Either to both subpages, or create an own page for it.

American or British spelling?

For example: color or colour?

I have been using British spelling while I believe Tapasweni has been using American spelling.
Screen Shot 2022-05-22 at 9 01 06 pm

Add Twitter glyphicon/icon in the footer

Is your feature request related to a OpenMS Documentation problem? Please describe

No. UI/UX enhancement.

  • I have attached screenshot describing the problem, if applicable

Describe the documentation enhancement you'd like

Add a Twitter icon on the footer before RTD and GitHub icon:
Screenshot 2022-05-29 at 7 41 07 PM

Describe alternatives you've considered

How to do it in Furo: https://pradyunsg.me/furo/customisation/footer/.

Additional context

None.

Ordering of sections

We should probably think about the order of the doc sections. I just looked at the headings in the Sidebar and I felt like the order is not always optimal. E.g. TOPP tools are explained after the TOPP Tutorial. And Scripting with TOPP might be better suited in the TOPP section.

Read Existing Documentation

I have checked the following places for the error:

Create OpenMS Bug Report

I have created the bug report in OpenMS for any pipeline errors.

Description of the documentation bug

  • I have attached screenshots of the incorrect documentation

Expected behaviour

OpenMS Installation

  • Version:

Additional context

Some definitions in the glossary need to be reviewed

For example:
Screen Shot 2022-05-31 at 7 38 43 pm
Could be: A sequence of tools run on input data such as an mzML file which produces an output. There are over 185 TOPP tools to choose from.

Screen Shot 2022-05-31 at 7 40 33 pm

Could be: TOPP is an application built using OpenMS. TOPP consists of many tools.

Screen Shot 2022-05-31 at 7 41 52 pm

Could be: TOPPAS is an application which provides a GUI to create, edit and apply TOPP tools. TOPPAS is no longer supported and has been replaced by KNIME.

URLs should be clickable

All URLs should be links. Or be given a named link. E.g. pkgs.org on Linux installation instructions

changes to be done: c4c8128.

Installation options on Linux

I think we should reorder. Not sure how stable our debian packages are. They should be moved down.
Docker instructions need update.

Possible restructuring of documentation

This is how I think the documentation could be structured:

Introduction

  • What is OpenMS
  • Background

Getting Started

  • Installation on GNU/Linux
  • Installation on macOS
  • Installation on Windows

Quick Start Guides

  • User Quick Start Guide
  • Contributor Quick Start Guide

TOPP

  • What is TOPP
  • Key Concepts
  • TOP tools
    • Graphical tools
    • File handling tools
    • Signal processing and preprocessing tools
    • Quanitation tools
    • Map Alignment tools
    • Protein/Peptide identification tools
    • etc

KNIME

  • What is KNIME
  • User interface
  • Examples

TOPPAS

  • What is TOPPAS
  • User Interface
  • Examples

Tutorials

  • TOPP
  • KNIME
  • TOPPAS

Developer Resources

  • Developer guidelines for adding new dependency libraries
  • Link external code to OpenMS
  • Custom compilation of OpenMS
  • Build custom KNIME application
  • Add new tool to the TOP suite

Additional Resources

  • OpenMS git workflow
  • Reporting bugs and issues
  • Write and label github issues
  • Pull request checklist

Downloads

  • OpenMS installers
  • Workflows
  • OpenMS releases
  • Other resources

Quick Reference

  • Contributor FAQ
  • Developer FAQ
  • Glossary
  • Contact Us

@tapaswenipathak @jpfeuffer would be great to hear your thoughts.

Tutorials for TOPP shell and TOPPView

We would like to create tutorials for TOPP shell and TOPPView.

The TOPP shell tutorial will explain how to set an input and manipulate the input data.

The TOPPView tutorial will explain how to visualise the data.

In order to do this we need:

  • Some input data to provide to a user so that they can follow the instructions in the tutorial
  • A few steps to manipulate this data
  • More information about the images in the current file
  • More information about spectrum and how to interpret a spectrum diagram

@tapaswenipathak feel free to add to this.

Use correct admonitions

The current style of Notes etc does not look nice. There must be a wrong use of admonitions. Please check how to do this correctly.

Read Existing Documentation

I have checked the following places for the error:

Create OpenMS Bug Report

I have created the bug report in OpenMS for any pipeline errors.

Description of the documentation bug

  • I have attached screenshots of the incorrect documentation

Expected behaviour

OpenMS Installation

  • Version:

Additional context

Make sure every line in documentation has a (max) line length of 120 characters

Is your feature request related to a OpenMS API Reference Documentation? Please describe.

No, cleanup.

  • I have attached screenshot describing the problem, if applicable.

Describe the documentation enhancement you'd like

Right now, the lines are of varying lengths. Red vertical line is at 120 characters.

Screenshot 2022-06-07 at 8 18 55 PM

Describe alternatives you've considered

There should be some GitHub action, plugin, or something to automate this; if not, do it manually for consistency.

Additional context

Add page helpful or not question on every page answered with yes or no

Is your feature request related to a OpenMS Documentation problem? Please describe

No. UI/UX + automated user feedback for OpenMS Documentation.

  • I have attached screenshot describing the problem, if applicable

Describe the documentation enhancement you'd like

Ask user if read page was helpful with yes or no.

Screenshot 2022-05-29 at 7 48 27 PM

Describe alternatives you've considered

How to Inject JS code documentation:

Additional context

cc @greengypsy for suggesting the enhancement.

Add announcement banner to redirect to OpenMS API Doxygen Documentation

Is your feature request related to a OpenMS Documentation problem? Please describe

No, UX.

  • I have attached screenshot describing the problem, if applicable

Describe the documentation enhancement you'd like

Screenshot 2022-05-29 at 8 20 13 PM

Describe alternatives you've considered

Additional context

Connect OpenMS documentation with OpenMS API reference.

change openms/openms-docs default branch to develop

We should change the default branch to develop from staging in sync with OpenMS/OpenMS.

User facing URLs:

  • openms.readthedocs.io/en/develop
  • openms.readthedocs.io/en/latest

URLs having redirects:

  • openms.readthedocs.io/en/staging to openms.readthedocs.io/en/develop
  • openms.readthedocs.io/en/test to openms.readthedocs.io/en/develop
  • staging-openms.readthedocs.io/en/latest to openms.readthedocs.io/en/develop

Internal development URLs

  • staging-openms.readthedocs.io/en/staging

Internal trial URLs

  • staging-openms.readthedocs.io/en/test

Add broken/dead links check for markdown

Is your feature request related to a OpenMS API Reference Documentation? Please describe.

No, maintenance automation.

  • I have attached screenshot describing the problem, if applicable.

Describe the documentation enhancement you'd like

Add automated link/URL check for broken or dead links.

Describe alternatives you've considered

This looks like a good GitHub action: https://github.com/marketplace/actions/markdown-link-check.

Additional context

Would you be interested in adding this GitHub action? @greengypsy

Add more screenshots in TOPP tutorial

Is your feature request related to a OpenMS Documentation problem? Please describe

No. Enhance UX and information for readers.

  • I have attached screenshot describing the problem, if applicable

Describe the documentation enhancement you'd like

Add more screenshots in display-modes-and-view-options.md file.

Describe alternatives you've considered

NA.

Additional context

NA.

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.