Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

Slice-PASEF method generation + visualisation (Shiny app)

This repository contains a Shiny app (app.R) for Slice-PASEF method generation and visualisation.

Requirements

R 4.0+ with packages arrow, data.table, dplyr, 'MASS', scales, shiny, shinyWidgets, zip. To install the packages in R, type install.packages(c('arrow', 'data.table', 'dplyr', 'MASS', 'scales', 'shiny', 'shinyWidgets', 'zip')).

Set up and launch app

Download app.R and tims-method-functions.R into some directory, such as D:/Downloads/Slice-PASEF. Install the required packages in R. The app can be started in multiple ways.

  • Open app.R in RStudio and click Run App on the top right of the editor window. A new window will open, showing the interface of the app. Consider maxmimising the window for better usability.
  • Alternatively, in the command line (example here uses PowerShell), cd to the parent directory of app.R like cd 'D:/Downloads/Slice-PASEF' and start the app using Rscript like & 'C:\Program Files\R\R-4.3.1\bin\Rscript.exe' app.R (adjust the path to your R installation accordingly; leave out the & at the start when using cmd.exe). A message like Listening on http://127.0.0.1:1234 will appear. Open your browser and go to the shown adress (like http://127.0.0.1:1234).

Note: Despite the terminology of "uploading" used below and in the app, all processing happens on your computer, i.e. your data stays on your machine.

Method generation tab

The general workflow is as follows:

  1. Precursors are selected from a library (usually DIA/DDA-PASEF).
  2. The IM values of the library are calibrated to the specific instrument by aligning to a run recorded on that instrument.
  3. The Slice-PASEF method is generated.

1. Library settings

Select library

First step is to load the library. The library should be generated with a method with vertically (IM dimension) wide windows (like DDA/DIA-PASEF), completely covering the IM/mz ion cloud. The library is expected to be a .tsv or .parquet file in DIA-NN format containing columns IM (or IonMobility), Precursor.Mz (or PrecursorMz), Precursor.Charge (or PrecursorCharge), Modified.Sequence (or ModifiedPeptide or ModifiedPeptideSequence + Precursor.Charge/PrecursorCharge). Alternatively, you can upload a DIA-NN report in .parquet format, the tool will then use the first appearance of each Precursor in the report to represent the ion cloud.

Some libraries are deposited here.

pre-filter library (dplyr syntax)

The library can optionally be filtered using dplyr syntax, e.g., Precursor.Mz>600 & IM>1. Tick apply filter to apply the filter; if the tick goes away, the filter is invalid (check syntax, error message will be in R console).

Charges to include

Select charge states of precursors to take into account when generating the method.

Select IM Range

Select IM range (on the IM scale after calibration) for precursors to be included.

Select m/z range

Select m/z range of precursors to take into account when generating the method.

2. Calibration settings

Select DIA-NN report

Upload DIA-NN report containing an IM-enabled (e.g. dia-PASEF) acquisition to be used for calibration. The library IMs will be adjusted based on the IMs in the report.

Select Run

Select an IM-enabled acquisition to use for calibration. The acquisition needs to have precursors overlapping with the library (i.e., same species) and should be acquired using the same chromatographic and TIMS ramp settings on the same timsTOF instrument that the Slice-PASEF method is supposed to be used on. Precursors are matched between library and report based on Precursor.Id, which means that when using a report containing, e.g., channels, the Precursor.Ids may need to be adjusted to match the Precursor.Ids in the library.

3. Method settings

Hint: Check the method visualisations generated on-the-fly.

Frames

Define the number of frames, i.e., the number of TIMS ramps required to sample the entire m/z width of the ion cloud in MS2.

Windows per frame (quadrupole switches per TIMS ramp)

Define the number of m/z windows per TIMS ramp. Note that this setting has marginal influence since the precursor ion space gets sliced quasi-continuously anyhow (thus, if, then this mostly affects precursor ions at the lowly-populated edges of the sampled ion cloud).

Repeats

Define the number of consecutive frame repeats.

MS1 frequency

Define the frequency of MS1 scans within the method, i.e., the proportion of time that the method spends on MS1 scans. 1/7 = 1 in every 7 TIMS ramps is spent on MS1 scans.

File name prefix

The name of the created and downloaded method file will have this prefix. You can place details about the library or the run used for calibration here, so that you can later retrace how you generated the method.

↓ Download method

The download in .zip format includes a .settings file to save the settings used for generating the method.

4. Outputs

The top plot shows the precursors in the library in grey and the precursors after filtering as described in 1. Library settings colored by charge state. The middle plot shows the selected precursors from step 1 in grey and the generated Slice-PASEF windows, colored by subcycle. The bottom plot shows the acquisition sequence of MS1 and MS2 scans.

Method visualisation tab

Upload previously generated methods in .txt or .zip format for visualisation of the IM*m/z window positions and subcycle sequence.

About

Slice-PASEF method generator app written in R Shiny

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages