deconvolve

This command performs idnetification/deconvolution of hit peptides and their activities from pooled ELISpot readouts.

usage: ace deconvolve [-h]
    --readout-file-type READOUT_FILE_TYPE
    --readout-files READOUT_FILES
    --assignment-excel-file ASSIGNMENT_EXCEL_FILE
    --min-pool-spot-count MIN_POOL_SPOT_COUNT
    --output-excel-file OUTPUT_EXCEL_FILE
    [--method {em,lasso,cem,empirical}]
    [--verbose VERBOSE]
Required Parameter Description
--readout-file-type ELISpot readout file type (allowed options: pool_id, aid_plate_reader).
--readout-files ELISpot readout file(s). The expected columns are ‘plate_id’, ‘well_id’, and ‘spot_count’.
If –readout-file-type is ‘aid_plate_reader’, then the readout-files are the Excel files from the AID plate reader machine.
If –readout-file type is ‘aid_plate_reader’ and there were pools in 2 or more plates, then supply the files in the following order:
plate 1 readout file, plate 2 readout file etc.
--assignment-excel-file ELISpot assignment Excel file. Expected columns: ‘peptide_id’, ‘peptide_sequence’, ‘plate_id’, ‘well_id’ in a sheet named ‘block_assignment’.
--min-pool-spot-count Minimum spot count for a pool to be considered a positive pool.
--output-excel-file Output deconvolution Excel file.
Optional Parameter Description
--method Statistical deconvolution mode (default: constrained-em).
--verbose If True, prints messages. Otherwise, messages are not printed (default: True).

Example

Let’s say you used the generate command in ACE to generate an ELISpot configuration for pooling 5 peptides per pool for a total of 25 unique peptides. The configuration also repeated each peptide 3 times (i.e. 3x coverage); you created 25peptides_5perpool_3x_configuration.xlsx. You took this configuration and successfully ran an ELISpot experiment. Now you want to deconvolve hit peptides. Here we describe how you can achieve this using ACE.

Any Reader

You can supply a generic ELISpot results .xlsx file to ACE:

25peptides_5perpool_3x_pool-id_readout.xlsx:

plate_id well_id spot_count
1 A1 0
1 A2 300
1 B3 0

Deconvolve hit peptides from your ELISpot experiment:

ace deconvolve \
  --readout-file-type pool_id \
  --readout-files ../test/data/25peptides_5perpool_3x_pool-id_readout.xlsx \
  --assignment-excel-file ../test/data/25peptides_5perpool_3x_configuration.xlsx \
  --min-positive-pool-spot-count 300 \
  --output-excel-file outputs/25peptides_5perpool_3x_pool-id_readout_deconvolved.xlsx

Running the above command results in the following file:

25peptides_5perpool_3x_pool-id_readout_deconvolved.xlsx:

AID Plate Reader

If you used a plate reader from AID, we are able to automatically parse the .xlsx file from the machine.

25peptides_5perpool_3x_aid-plate-reader_readout.xlsx:

Deconvolve hit peptides from your ELISpot experiment:

ace deconvolve \
  --readout-file-type aid_plate_reader \
  --readout-files 25peptides_5perpool_3x_aid-plate-reader_readout.xlsx \
  --assignment-excel-file ../test/data/25peptides_5perpool_3x_configuration.xlsx \
  --min-positive-pool-spot-count 300 \
  --output-excel-file 25peptides_5perpool_3x_aid-plate-reader_readout_deconvolved.xlsx

Running the above command results in the following file:

25peptides_5perpool_3x_aid-plate-reader_readout_deconvolved.xlsx:

Deconvolution results

ACE deconvolution identifies two classes of peptides: confident_hit and candidate_hit. Peptides that have the label confident_hit are confident hits because they were present in num_coverage (i.e. 3 in the above configuration) number of different pools with at least one unique assignment of hit peptide-pool. On the other hand, peptides that have the label candidate_hit need further validation (i.e. a second round of ELISpot) to determine whether it is indeed a hit peptide.