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.
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
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:
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.
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.
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.
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.
See our bioRxiv preprint. FIXME: add this.