staver 0.1.3
A Python library that presents a standardized dataset-based algorithm designed to reduce variation in large-scale data-independent acquisition (DIA) mass spectrometry data.
License: MIT license
Requires Python: >=3.6
Keywords: staver

<p align="center">
    <br>
    <img src="https://github.com/Ran485/STAVER/raw/main/docs/_static/STAVER_logo.svg" width="400"/>
    <br>
    <h2 align="center">
    STAVER: A Standardized Dataset-Based Algorithm for Efficient Variation Reduction
    </h2>
<p>


<div align="center">
  <a href="#">
  <a href="https://github.com/Ran485/STAVER/stargazers">
  <img alt="Downloads" src="https://img.shields.io/github/stars/Ran485/STAVER?logo=GitHub&color=red">
  </a>
  <img src="https://img.shields.io/badge/Python-3.7+-blue">
  </a>
  <a href="https://github.com/dwyl/esta/issues">
  <img alt="PRs welcome" src="https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat">
  </a>
  <a href="https://opensource.org/licenses/MIT">
  <img alt="DOI" src="https://img.shields.io/badge/License-MIT-yellow.svg">
  </a>
</div>

## Table of Contents
- [Table of Contents](#table-of-contents)
- [Introduction](#introduction)
- [Installation](#installation)
- [Getting Started](#getting-started)
- [Documentation](#documentation)
- [How to Contribute](#how-to-contribute)
- [Contact Us](#contact-us)
- [License](#license)


## Introduction

STAVER is Python library that presents a standardized dataset-based algorithm designed to reduce variation in large-scale data-independent acquisition (DIA) mass spectrometry (MS) data. By employing a reference dataset to standardize mass spectrometry signals, STAVER effectively reduces noise and enhances protein quantification accuracy, especially in the context of hybrid spectral library search. The effectiveness of STAVER is demonstrated in multiple large-scale DIA datasets from different platforms and laboratories, showing improved precision and reproducibility of protein quantification. STAVER, featuring a modular design, provides flexible compatibility with existing DIA-MS data analysis pipelines. The project aims to eliminate non-biological noise and variability in the large-scale DIA-MS study analyses, enhancing the quality and reliability of DIA proteomics data through the open-source STAVER software package. A comprehensive overview of the research workflow and STAVER algorithm architecture are summarized in the following figure: ![alt text](https://github.com/Ran485/STAVER/raw/main/docs/_static/STAVER_pipeline.png)

## Installation

You can install ``staver`` package from PyPI by calling the following command: 
``` shell
pip install staver
```
You may install from source by cloning the STAVER repo, navigating to the root directory and using one of the following commands ``pip install .``, or ``pip install -e .`` to install in editable mode:
``` shell
# clone the source repo
git clone https://github.com/Ran485/STAVER.git

# install the package in editable mode
pip install .

# or using the following command
pip install -e .
```
You may install additional environmental dependencies:

``` shell
pip install -r requirements_dev.txt
pip install -r requirements.txt
```
Installing within a [conda environment](https://conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html) is recommended.

## Getting Started

To get started with `STAVER`, see the the installation guided walkthrough in [here](https://staver.readthedocs.io/en/latest/installation.html#). For example code and an introduction to the library, please refer to the detailed discriptions in
[tutorials](https://staver.readthedocs.io/en/latest/tutorials.html#). The following block presents an easy-to-follow guide and quick start for running the STAVER workflow using the Command-Line Interface (CLI).

```shell
python  ./staver_pipeline.py \
        --thread_numbers < The CPU worker numbers, Default to [nmax-2] > \
        --input < The DIA data input directory > \
        --output_peptide < The processed DIA peptide data output directory > \
        --output_protein < The processed DIA protein data output directory > \
        --fdr_threshold < Default to 0.01 > \
        --count_cutoff_same_libs < Default to 1 > \
        --count_cutoff_diff_libs < Default to 2 > \
        --proteins_cv_thresh < Default to 0.3 > \
        --na_threshold < Default to 0.3 > \
        --top_precursor_ions < Default to 6 > \
        --file_suffix < Default to "_F1_R1" >  \
```

## Documentation
To gain a comprehensive understanding of STAVER's functionality and parameters available in the software, we highly recommend exploring the [STAVER documentation](https://staver.readthedocs.io/en/latest/index.html). This documentation is crafted to be comprehensive and user-friendly, offering a step-by-step guide enriched with detailed instructions. Each feature is illustrated with practical examples and supported by clear, concise explanations, enabling users to effectively use and maximize the software's capabilities. 

## How to Contribute
We welcome the contribution from the open-source community to improve the library!

To add a new explanation method/feature into the library, please follow the template and steps demonstrated in this 
[contribution guidelines](https://staver.readthedocs.io/en/latest/contributing.html).

## Contact Us
If you have any questions, comments or suggestions, please do not hesitate to contact us at 21112030023@m.fudan.edu.cn

## License
The STAVER project licensed under the [MIT License](https://opensource.org/licenses/MIT), granting users open access and the freedom to employ, adapt, and share the software as needed, while preserving the original copyright and license acknowledgements.


Release notes
=============
0.1.3 (2023-11-14)
------------------

Enhancements:

* Updated and made some improvements to the README file

Bug fixes:

* Fixed the non-functional links that direct users to the STAVER Documentation. 


0.1.2 (2023-11-12)
------------------

Enhancements:

* Optimized the computational speed of the protein inference module
* Added a detailed documentation for using the `STAVER` pipeline

Bug fixes:

* Fixed a bug where the ``I/O`` module outputs numerous warnings
* Fixed bug in ``setup.py`` that prevented installation.


0.1.1 (2023-03-25)
------------------

* First release on PyPI.