Noble-Lab / nettle

Nettle is an RT imputation method for MS proteomics

Repository from Github https://github.comNoble-Lab/nettleRepository from Github https://github.comNoble-Lab/nettle

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.

Authors: Lincoln Harris, Michael Riffle, Nicholas Shulman, William E. Fondrie, 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 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 :
    run    Runs the RT boundary imputation workflow.

To run the Nettle workflow, all you need to do is the following:

nettle run --blib /path/to/blib

This command will convert the blib to a matrix of RT start-end pairs, perform outlier filtering, impute the missing pairs, and write the imputed RTs matrix back to a blib.

OPTIONAL PARAMETERS:

--min_pres    The minimum number of present values for a peptide
--k_neighbors    k neighbors for kNN imputation
--q_filt    Upper and lower proportion of RTs to remove from calculation

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 2025 publication

@article{Harris-2025,           
	author = {Harris L. and Riffle M. and Noble W.S. and MacCoss M.J.},      
	title = {Improved quantitative accuracy in data-independent acquisition proteomics via retention time boundary imputation},      
	year = {2025},    
	doi = {10.1101/2025.05.27.656394},       
	journal = {bioRxiv}               
}

About

Nettle is an RT imputation method for MS proteomics

License:MIT License


Languages

Language:Python 98.8%Language:Makefile 1.2%