Package: xiRT
A python package for multi-dimensional retention time prediction for linear and crosslinked
peptides using a (Siamese) deep neural network architecture.OverviewDescriptionInstallationoverviewxiRT is a deep learning tool to predict the separation behavior (i.e. retention times) of linear
and crosslinked peptides from single to multiple fractionation dimensions including RP (typically
directly coupled to the mass spectrometer). xiRT was developed to predict retention times from a
multi-dimensional separation from the combination of SCX / hSAX / RP chromatography.
However, xiRT supports all available chromatographic and other peptide separation
methodsxiRT requires the columns shown in the table below. Importantly, the xiRT framework requires that
CSM are sorted such that in the Peptide1 - Peptide2, Peptide1 is the longer or lexicographically
larger one for crosslinked RT predictions. The sorting is done internally and may result in swapped
peptide sequences in the output tables.DescriptionxiRT is meant to be used to generate additional information about CSMs for machine learning-based
rescoring frameworks but the usage can be extended to spectral libraries, targeted acquisitions etc.
Therefore xiRT offers several training / prediction  modes that need to be configured
depending on the use case. At the moment training, prediction, crossvalidation are the supported
modes.training: trains xiRT on the input CSMs (using 10% for validation) and stores a trained modelprediction: use a pretrained model and predict RTs for the input CSMscrossvalidation: load/train a model and predict RTs for all data points without using them
in the training process. Requires the training of several models during CVNote: all modes can be supplemented by using a pretrained model ("transfer learning") when not
enough training data is available to achieve robust prediction performance.This readme only gives a brief overview about xiRTs functions and parameters. Please refer
to thedocumentationfor more details and examples.Installation and UsagexiRT is a python package that comes with a executable python file. To run xiRT follow the steps
below.RequirementsxiRT requires a running python installation on windows/mac/linux. All further requirements
are managed during the installation process via pip or conda. xiRT was tested using python >3.7 with
TensorFlow 1.4 and python >3.8 and TensorFlow >2.0. A GPU is not mandatory to run xiRT, however
it can greatly decrease runtime. Further system requirements depend on the data sets to be used.InstallationTo install xiRT simply run the command below. We recommend to use an isolated python environment,
for example by using pipenvorconda. Installation should finish within minutes.Using pipenv:pipenv shellpip install xirtOptional: To enable CUDA support, using aconda environmentis the easiest solution.Conda will take care of the CUDA libraries and other dependencies. Note, xiRT runs either on CPUs
or GPUs. To use a GPU specify CuDNNGRU/CuDNNLSTM as type in the LSTM settings, to use a CPU set the
type to GRU/LSTM.conda create --name xirt_env python=3.8conda activate xirt_envpip install xirtHint:
The plotting functionality for the network is not enabled per default because
pydot and graphviz sometimes make trouble when they are installed via pip. If on linux,
simply usesudo apt-get install graphviz, on windows download latest graphviz package fromhere, unzip the content of the file and thebindirectory path to the windows PATH variable. These two packages allow the visualization
of the neural network architecture. xiRT will function also without this functionality.Older versions of TensorFlow will require the separate installation of tensorflow-gpu. We recommend
to install tensorflow in conda, especially if GPU usage is desired.General UsageThis section explains the general usage of xiRT via the command line. A minimal working example
in a quick-start guide fashion is availablehere.The command line interface (CLI) requires three inputs:input PSM/CSM fileaYAMLfile to configure the neural network architectureanother YAML file to configure the general training / prediction behaviour, called setup-configConfigs are either available viagithub.
Alternatively, up-to-date configs can be generated from the xiRT package itself:xirt -p learning_params.yamlxirt -s xirt_params.yamlTo use these two parameter files in xiRT and store the results in a directory calledout_dir,run the following command:xirt -i psms.csv -o out_dir -x xirt_params.yaml -l learning_params.yamlTo adapt the xiRT parameters to your needs, edits to the YAML config file are needed. The configuration file
is used to determine the prediction task (rp, scx, hsax, ...) but also to set important network parameters
(number of neurons, layers, regularization). While the default network configuration offers suitable
parameters for most situations, the prediction tasks need further adjustments. The adjustments
need to account for the type and number of prediction tasks. Please visit thedocumentationto
get more information about viable configurations.Once xirt is running, the progress is logged to the terminal as well as a dedicated log file.
This log file summarizes the training steps and contains important information
(settings, file paths, metrics). Further output files and quality control plots are then stored in
the specified  output (-o) directory.
Find a description for the fileshereinput formatshort nameexplicit column namedescriptionExamplepeptide sequence 1Peptide1First peptide sequence for crosslinksPEPRTIDERpeptide sequence 2Peptide2Second peptide sequence for crosslinks, or emptyELRVISfasta description 1Fasta1FASTA header / description of protein 1SUCD_ECOLI Succinate--CoA ligase [ADP-forming]fasta description 2Fasta2FASTA header / description of protein 2SUCC_ECOLI Succinate--CoA ligase [ADP-forming]PSMIDPSMIDA unique identifier for the identification1link site 1LinkPos1Crosslink position in the first peptide (0-based)3link site 2LinkPos2Crosslink position in the second peptide (0-based2scorescoreSingle score from the search engine17.12unique idPSMIDA unique index for each entry in the result table0TTisTTBinary column which is True for any TTTrueTDisTDBinary column which is True for any TDTrueDDisDDBinary column which is True for any DDTruefdrfdrEstimated false discovery rate0.01The first four columns should be self explanatory, if not check thesample input.
The fifth column ("PSMID") is a unique(!) integer that can be used as to retrieve CSMs/PSMs. In addition,
depending on the number retention time domains that should be learned/predicted the RT columns
need to be present. The column names need to match the configuration in the network parameter yaml.
Note that xiRT swaps the sequences such that peptide1 is longer than peptide 2. In order to
keep track of this process all columns that follow the convention 1 and 2 are swapped.
Make sure to only have such paired columns and not single columns ending with 1/2.xiRT configThis file determines the network architecture and training behaviour used in xiRT. Please see
thedocumentationfor a
detailed example. For crosslinks the most important parameter sections to adapt are theoutputand
thepredictionssection. Here the parameters must be adapted for the used chromatography
dimensions and modelling choices. See also the providedexamples.Setup configThis file determines the input data to be used and gives some training procedure options. Please see
thedocumentationfor
a detailed example.ContributorsSven GieseLudwig SinnCitationIf you consider xiRT helpful for your work please cite our manuscript.Currently, in preparation.RappsilberLabThe Rappsilber applies and develops crosslinking chemistry methods, workflows and software.
Visit the lab page to learn more about the developedsoftware.xiSUITExiVIEW: Graham, M. J.; Combe, C.; Kolbowski, L.; Rappsilber, J. bioRxiv 2019.xiNET: Combe, C. W.; Fischer, L.; Rappsilber, J. Mol. Cell. Proteomics 2015.xiSPEC: Kolbowski, L.; Combe, C.; Rappsilber, J. Nucleic Acids Res. 2018, 46 (W1), W473–W478.xiSEARCH: Mendes, M. L.; Fischer, L.; Chen, Z. A.; Barbon, M.; O’Reilly, F. J.; Giese, S. H.; Bohlke‐Schneider, M.; Belsom, A.; Dau, T.; Combe, C. W.; Graham, M.; Eisele, M. R.; Baumeister, W.; Speck, C.; Rappsilber, J. Mol. Syst. Biol. 2019, 15 (9), e8994.