Skip to content

Noble-Lab/nettle

Repository files navigation

Nettle

PyPI pypi
Nettle is a tool for handling missing values in data-independent acquisition (DIA) mass spectrometry (MS) proteomics. Traditionally, peptides or proteins with a high missingness fraction are either removed from analysis or imputed directly from the matrix of peptide or protein quantitations. Nettle imputes the retention times (RTs) rather than the peptide or protein quantitations. Quantitation is then performed within Skyline by integrating the peak areas within the imputed RT windows. We show that RT boundary imputation works produces more accurate quantitations than traditional plug-in imputation.

Nettle is designed to be integrated into a traditional DIA MS proteomics workflow. Library search must be performed with either DIA-NN or EncyclopeDIA. Library search should produce a .speclib file, which should be converted to a Bibliospec library file with the .blib file extension. BlibBuild can be used for this task; the user needs to perform this conversion before using Nettle. The input to Nettle is the blib spectral library file. Nettle performs k-nearest neighbors imputation of missing RT boundaries in the spectral library file, then writes an imputed blib file. This imputed blib can be plugged directly into Skyline, along with the MS raw files and FASTA, for quantitation and visualization.

Nettle is available as a standalone tool or as part of our Skyline DIA Nextflow pipeline.

Authors: Lincoln Harris, Michael Riffle, William Stafford Noble, Michael J MacCoss
Affiliation: Department of Genome Sciences, University of Washington

Nettle is free software, available under the MIT license.

Installation

There are several options for installing Nettle. Choose one of the following:

With git clone and conda

git clone https://github.com/Noble-Lab/nettle.git
cd nettle
conda env create -f environment.yml
make install 

With git clone and the python standard library venv module

git clone https://github.com/Noble-Lab/nettle.git
cd nettle
python -m venv nettle
source nettle/bin/activate
make install 

Usage

Nettle imputes missing RT boundaries in a Bibliospec spectral library (.blib) file. The steps of the Nettle workflow are described below.

$ nettle should return usage information:

Nettle is a tool for retention time imputation for quantitative mass spectrometry proteomics

Usage:
    nettle <command>

Options:
    -h, --help    Show this message and exit

Commands :
    generate-RT-matrix    Convert a spectral library SQLite database file (.blib), output by either DIA-NN or EncylopeDIA, to a csv of RT starts and ends
    impute-RTs            Impute the missing RTs in a matrix of RT starts and ends
    write-blib            Convert the imputed RTs matrix to a spectral library SQLite database (.blib)

Note that the -h command will display detailed usage information for each of the three commands.

An example workflow might look like this:

Step 1

Database search with DIA-NN outputs a spectral library in the form of .speclib. This file needs to be converted to a SQLite database file in the .blib format. Our recommended tool for this is Bibliospec's BlibBuild. Once you have obtained a blib, you can use Nettle to convert to a matrix of RT starts and ends with the following command:

nettle generate-RT-matrix --blib_file /path/to/my/blib

This command will write a csv to the same directory as the blib file.

Step 2

You can then use Nettle to impute the matrix of RT starts and ends. The input to this command is the csv from the previous step.

nettle impute-RTs --csv /path/to/RTs/matrix/csv --min_pres 10 --k_neighbors 8 --q_filt 0.01

The min_pres, k_neighbors and q_filt params are optional.

min_pres: The minimum number of present values for a peptide. Default: 10.
k_neighbors: k neighbors for kNN imputation. Default: 8.
q_filt: Upper and lower proportion of RTs to remove from calculation. Default: 0.01.

Step 3

Write the imputed RTs matrix back to a blib, which can then be imported into Skyline for quantification and visualization. This function requires the imputed RTs matrix as well as the old blib file, which will be used as a template. The imputed blib will be written to the same directory as the old blib file.

nettle write-blib --csv /path/to/imputed/RTs/matrix --blib_file /path/to/old/blib

For advanced usage information, see USAGE.md.

Contributing

We welcome any bug reports, feature requests or other contributions. Please submit a well documented report on our issue tracker. For substantial changes please fork this repo and submit a pull request for review.

See CONTRIBUTING.md for additional details.

You can find official releases here.

How to cite

See our bioRxiv preprint. FIXME: add this.

About

Nettle is an RT imputation method for MS proteomics

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published