Corpus Engine Towards a reproducible .science file.
← All .science files

pmid:35797390

Simplifying MS1 and MS2 spectra to achieve lower mass error, more dynamic range, and higher peptide identification confidence on the Bruker timsTOF Pro.

Daryl Wilding-McBride · Laura F Dagley · Sukhdeep K Spall · Giuseppe Infusini · Andrew I Webb

PloS one · 2022 doi:10.1371/journal.pone.0271025

Paper

complete

Experiment

complete

Data

partial

Analysis

absent

Execution

absent

Execution evidence has not yet been added to this .science file. Explore its methods, data and open questions to plan the next step.
Record details sci_version · id · kind · revision · content_hash · schema · created_at · updated_at · generator
id
pmid:35797390
kind
science-record
content_hash
sha256:acb2c60f09ff80f7d7af1e5e711115a2534b5ca1c0b94155def1a75e6f27fab0
schema
https://corpus.bntrg.co.uk/sci/1.0/sci.schema.json
created_at
2026-11-01T18:14:51Z
updated_at
2026-11-01T18:59:30Z
generator object · 2 fields
name
corpus-assay-engine
run_id
reading-sci-2026-11-01
paper object · 10 fields
state
complete
title
Simplifying MS1 and MS2 spectra to achieve lower mass error, more dynamic range, and higher peptide identification confidence on the Bruker timsTOF Pro.
doi
10.1371/journal.pone.0271025
pmid
35797390
authors array · 5 items
[0]
Daryl Wilding-McBride
[1]
Laura F Dagley
[2]
Sukhdeep K Spall
[3]
Giuseppe Infusini
[4]
Andrew I Webb
journal
PloS one
year
2022
abstract
For bottom-up proteomic analysis, the goal of analytical pipelines that process the raw output of mass spectrometers is to detect, characterise, identify, and quantify peptides. The initial steps of detecting and characterising features in raw data must overcome some considerable challenges. The data presents as a sparse array, sometimes containing billions of intensity readings over time. These points represent both signal and chemical or electrical noise. Depending on the biological sample's complexity, tens to hundreds of thousands of peptides may be present in this vast data landscape. For ion mobility-based LC-MS analysis, each peptide is comprised of a grouping of hundreds of single intensity readings in three dimensions: mass-over-charge (m/z), mobility, and retention time. There is no inherent information about any associations between individual points; whether they represent a peptide or noise must be inferred from their structure. Peptides each have multiple isotopes, different charge states, and a dynamic range of intensity of over six orders of magnitude. Due to the high complexity of most biological samples, peptides often overlap in time and mobility, making it very difficult to tease apart isotopic peaks, to apportion the intensity of each and the contribution of each isotope to the determination of the peptide's monoisotopic mass, which is critical for the peptide's identification. Here we describe four algorithms for the Bruker timsTOF Pro that each play an important role in finding peptide features and determining their characteristics. These algorithms focus on separate characteristics that determine how candidate features are detected in the raw data. The first two algorithms deal with the complexity of the raw data, rapidly clustering raw data into spectra that allows isotopic peaks to be resolved. The third algorithm compensates for saturation of the instrument's detector thereby recovering lost dynamic range, and lastly, the fourth algorithm increases confidence of peptide identifications by simplification of the fragment spectra. These algorithms are effective in processing raw data to detect features and extracting the attributes required for peptide identification, and make an important contribution to an analytical pipeline by detecting features that are higher quality and better segmented from other peptides in close proximity. The software has been developed in Python using Numpy and Pandas and made freely available with an open-source MIT license to facilitate experimentation and further improvement (DOI 10.5281/zenodo.6513126). Data are available via ProteomeXchange with identifier PXD030706.
claims array · 1 item
[0] object · 6 fields
id
claim-data-access
statement
All relevant data are within the paper and its Supporting Information files.
kind
methodological
target
null
evidence array · 1 item
[0] object · 3 fields
asset
source:pmid:35797390
locator
sections[17] "Data Availability" paragraph 2
quote
All relevant data are within the paper and its Supporting Information files.
state
complete
gaps array · 0 items
experiment object · 8 fields
state
complete
steps array · 3 items
[0] object · 13 fields
id
read_published_estimate
order
1
name
Read the published estimate from the source
kind
other
state
complete
blocked_on
null
description
The claim, method and evidence span published with the source article.
parameters object · 0 fields
inputs array · 1 item
[0]
source:pmid:35797390
outputs array · 1 item
[0]
the published estimate and its evidence
instruments array · 0 items
reagents array · 0 items
[1] object · 13 fields
id
obtain_source_data
order
2
name
Obtain the source data from the named repository
kind
data-preparation
state
complete
blocked_on
null
description
The GEO series accession resolves and its sample accessions are listed. This lane did not download the dataset or read its licence.
parameters object · 0 fields
inputs array · 1 item
[0]
data:geo:PXD030706
outputs array · 1 item
[0]
the source data with its repository provenance
instruments array · 0 items
reagents array · 0 items
[2] object · 13 fields
id
run_analysis
order
3
name
Run the published analysis
kind
analysis
state
complete
blocked_on
null
description
Apply the paper's statistical method to the resolved series and compare the result with the published target.
parameters object · 0 fields
inputs array · 1 item
[0]
data:geo:PXD030706
outputs array · 1 item
[0]
the replicated result and its comparison
instruments array · 0 items
reagents array · 0 items
materials array · 0 items
instruments array · 0 items
reagents array · 0 items
conditions object · 0 fields
gaps array · 0 items
data object · 3 fields
state
partial
assets array · 2 items
[0] object · 15 fields
id
source:pmid:35797390
role
manuscript
format
xml
media_type
application/xml
uri
https://doi.org/10.1371/journal.pone.0271025
sha256
sha256:23391a311c9a3bc54172a776c6c3946e01790931679590ab08ce1c9558a82628
bytes
59001
access
open
state
resolved
reader
null
reader_status
reader_required
identifier
10.1371/journal.pone.0271025
version
null
note
Full article fetched from PMC; the checksum covers the rendered section body, not the original XML bytes.
structure object · 4 fields
pmcid
PMC9262215
source
europe_pmc_fulltext
coverage
whole_body
text_hash_scope
rendered_section_body
[1] object · 15 fields
id
data:geo:PXD030706
role
raw
format
geo-series
media_type
application/vnd.ncbi.geo-series+json
uri
https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=PXD030706
sha256
null
bytes
null
access
open
state
resolved
reader
null
reader_status
reader_required
identifier
PXD030706
version
null
note
All relevant data are within the paper and its Supporting Information files.
structure object · 15 fields
repository
GEO
access_route
GEO accession URL
access_statement_verbatim
All relevant data are within the paper and its Supporting Information files.
access_statement_kind
data_availability_statement
sample_accessions array · 0 items
sample_count
null
group_sizes
null
group_sizes_basis
null
platform
null
taxon
null
title
Targeted Feature Detection and Extraction
resolution_checked_at
2026-11-01T18:06:51Z
resolution_check
identifier_resolution_only_no_download_no_licence_read
downloaded
false
licence_read
false
gaps array · 2 items
[0]
asset:data:geo:PXD030706 not downloaded
[1]
asset:data:geo:PXD030706 licence not read
analysis object · 4 fields
state
absent
methods array · 0 items
targets array · 0 items
gaps array · 2 items
[0]
method
[1]
operations
capability object · 3 fields
state
complete
requirements array · 1 item
[0] object · 6 fields
capability_id
capability:computational_analysis
label
Computational analysis platform
assay_families array · 9 items
[0]
meta_analysis
[1]
machine_learning
[2]
survival_analysis
[3]
statistical_regression
[4]
pca
[5]
molecular_docking
[6]
network_analysis
[7]
differential_expression
[8]
gwas
candidate
Automated Assays Laravel application and simulated adapters
gaps array · 0 items
readiness object · 8 fields
state
blocked
tier
R4
blocking_axis
method
blocked_on
method:not_determinable
axes object · 3 fields
method object · 5 fields
tier
R4
expressible
false
required_operations array · 0 items
missing_operations array · 0 items
basis
The reader quoted the method the paper names (not named), but the corpus's method extractor could not map it onto a DSL operation, so the method is published but not expressible.
capability object · 4 fields
tier
R1
capability_id
capability:computational_analysis
availability_state
owned
basis
The computational analysis is owned. The physical bench the paper used is not, so a physical validation cannot be run here.
data object · 6 fields
tier
R1
reachable
true
accessions array · 1 item
[0]
PXD030706
resolved_accessions array · 1 item
[0]
PXD030706
statements array · 1 item
[0]
All relevant data are within the paper and its Supporting Information files.
basis
The paper names PXD030706 in ProteomeXchange Consortium via the PRIDE partner repository and the accession resolves in the repository. No dataset was downloaded and no licence was read.
can_run object · 3 fields
dsl_operations array · 0 items
assets array · 2 items
[0]
source:pmid:35797390
[1]
data:geo:PXD030706
steps array · 1 item
[0]
run_analysis
must_build object · 5 fields
dsl_operations array · 0 items
converters array · 0 items
readers array · 0 items
capabilities array · 0 items
data_gaps array · 1 item
[0]
data:geo:PXD030706
gaps array · 1 item
[0]
method:not_determinable
review object · 5 fields
state
partial
machine_critique object · 5 fields
kind
extraction_review
reader object · 5 fields
model
MiniMax-M3.1-Flash
provider
minimax
provider_family
minimax
read_at
2026-11-01T17:53:59Z
independence
single_reader
evidence_check object · 2 fields
method
null
availability
verbatim
calls
5
usage object · 3 fields
prompt_tokens
15825
completion_tokens
1127
cached_tokens
264
stages array · 1 item
[0] object · 4 fields
id
extraction
state
complete
reader
MiniMax-M3.1-Flash
provider
minimax
gaps array · 3 items
[0]
review.independent_reader
[1]
review.machine_critique
[2]
review.human_critique
execution object · 5 fields
state
absent
status
not_run
mode
null
runs array · 0 items
gaps array · 1 item
[0]
execution.not_run
provenance object · 7 fields
entities array · 3 items
[0] object · 3 fields
id
pmid:35797390
type
paper
label
pmid:35797390
[1] object · 3 fields
id
source:pmid:35797390
type
manuscript
label
PMID 35797390 full text
[2] object · 3 fields
id
data:geo:PXD030706
type
dataset
label
GEO PXD030706
activities array · 3 items
[0] object · 4 fields
id
activity-reading-sci-2026-11-01
type
classification
used array · 3 items
[0] object · 3 fields
id
pmid:35797390
type
paper
label
pmid:35797390
[1] object · 3 fields
id
source:pmid:35797390
type
manuscript
label
PMID 35797390 full text
[2] object · 3 fields
id
data:geo:PXD030706
type
dataset
label
GEO PXD030706
agent
agent:corpus-assay-engine
[1] object · 4 fields
id
activity-read-35797390
type
extraction
used array · 1 item
[0]
source:pmid:35797390
agent
agent:minimax-reader
[2] object · 4 fields
id
activity-resolve-PXD030706
type
accession_resolution
used array · 1 item
[0]
data:geo:PXD030706
agent
agent:corpus-assay-engine
agents array · 2 items
[0] object · 3 fields
id
agent:corpus-assay-engine
type
software
label
Corpus assay engine
[1] object · 3 fields
id
agent:minimax-reader
type
software
label
MiniMax literature reader
source_run_id
reading-sci-2026-11-01
dsl_catalogue_fingerprint
343fb30756ba6ec3
capability_table_fingerprint
2cb3e42f047d2ecf
snapshot_id
ba34b49490d9bfaf
lineage object · 4 fields
parent_id
pmid:35797390
parent_hash
sha256:d140121153d4fe6c65f306e35fe9c25af222954853bbc8acf88f7e2900fa9dda
fork_of
null
gaps array · 8 items
[0]
asset:data:geo:PXD030706 licence not read
[1]
asset:data:geo:PXD030706 not downloaded
[2]
execution.not_run
[3]
method
[4]
operations
[5]
review.human_critique
[6]
review.independent_reader
[7]
review.machine_critique
Complete file
{"sci_version": "1.0", "schema": "https://corpus.bntrg.co.uk/sci/1.0/sci.schema.json", "id": "pmid:35797390", "kind": "science-record", "revision": 2, "content_hash": "sha256:acb2c60f09ff80f7d7af1e5e711115a2534b5ca1c0b94155def1a75e6f27fab0", "created_at": "2026-11-01T18:14:51Z", "updated_at": "2026-11-01T18:59:30Z", "generator": {"name": "corpus-assay-engine", "run_id": "reading-sci-2026-11-01"}, "paper": {"state": "complete", "title": "Simplifying MS1 and MS2 spectra to achieve lower mass error, more dynamic range, and higher peptide identification confidence on the Bruker timsTOF Pro.", "doi": "10.1371/journal.pone.0271025", "pmid": "35797390", "authors": ["Daryl Wilding-McBride", "Laura F Dagley", "Sukhdeep K Spall", "Giuseppe Infusini", "Andrew I Webb"], "journal": "PloS one", "year": 2022, "abstract": "For bottom-up proteomic analysis, the goal of analytical pipelines that process the raw output of mass spectrometers is to detect, characterise, identify, and quantify peptides. The initial steps of detecting and characterising features in raw data must overcome some considerable challenges. The data presents as a sparse array, sometimes containing billions of intensity readings over time. These points represent both signal and chemical or electrical noise. Depending on the biological sample's complexity, tens to hundreds of thousands of peptides may be present in this vast data landscape. For ion mobility-based LC-MS analysis, each peptide is comprised of a grouping of hundreds of single intensity readings in three dimensions: mass-over-charge (m/z), mobility, and retention time. There is no inherent information about any associations between individual points; whether they represent a peptide or noise must be inferred from their structure. Peptides each have multiple isotopes, different charge states, and a dynamic range of intensity of over six orders of magnitude. Due to the high complexity of most biological samples, peptides often overlap in time and mobility, making it very difficult to tease apart isotopic peaks, to apportion the intensity of each and the contribution of each isotope to the determination of the peptide's monoisotopic mass, which is critical for the peptide's identification. Here we describe four algorithms for the Bruker timsTOF Pro that each play an important role in finding peptide features and determining their characteristics. These algorithms focus on separate characteristics that determine how candidate features are detected in the raw data. The first two algorithms deal with the complexity of the raw data, rapidly clustering raw data into spectra that allows isotopic peaks to be resolved. The third algorithm compensates for saturation of the instrument's detector thereby recovering lost dynamic range, and lastly, the fourth algorithm increases confidence of peptide identifications by simplification of the fragment spectra. These algorithms are effective in processing raw data to detect features and extracting the attributes required for peptide identification, and make an important contribution to an analytical pipeline by detecting features that are higher quality and better segmented from other peptides in close proximity. The software has been developed in Python using Numpy and Pandas and made freely available with an open-source MIT license to facilitate experimentation and further improvement (DOI 10.5281/zenodo.6513126). Data are available via ProteomeXchange with identifier PXD030706.", "claims": [{"id": "claim-data-access", "statement": "All relevant data are within the paper and its Supporting Information files.", "kind": "methodological", "target": null, "evidence": [{"asset": "source:pmid:35797390", "locator": "sections[17] \"Data Availability\" paragraph 2", "quote": "All relevant data are within the paper and its Supporting Information files."}], "state": "complete"}], "gaps": []}, "experiment": {"state": "complete", "objective": "", "steps": [{"id": "read_published_estimate", "order": 1, "name": "Read the published estimate from the source", "kind": "other", "state": "complete", "blocked_on": null, "description": "The claim, method and evidence span published with the source article.", "duration_hours": null, "parameters": {}, "inputs": ["source:pmid:35797390"], "outputs": ["the published estimate and its evidence"], "instruments": [], "reagents": []}, {"id": "obtain_source_data", "order": 2, "name": "Obtain the source data from the named repository", "kind": "data-preparation", "state": "complete", "blocked_on": null, "description": "The GEO series accession resolves and its sample accessions are listed. This lane did not download the dataset or read its licence.", "duration_hours": null, "parameters": {}, "inputs": ["data:geo:PXD030706"], "outputs": ["the source data with its repository provenance"], "instruments": [], "reagents": []}, {"id": "run_analysis", "order": 3, "name": "Run the published analysis", "kind": "analysis", "state": "complete", "blocked_on": null, "description": "Apply the paper's statistical method to the resolved series and compare the result with the published target.", "duration_hours": null, "parameters": {}, "inputs": ["data:geo:PXD030706"], "outputs": ["the replicated result and its comparison"], "instruments": [], "reagents": []}], "materials": [], "instruments": [], "reagents": [], "conditions": {}, "gaps": []}, "data": {"state": "partial", "assets": [{"id": "source:pmid:35797390", "role": "manuscript", "format": "xml", "media_type": "application/xml", "uri": "https://doi.org/10.1371/journal.pone.0271025", "sha256": "sha256:23391a311c9a3bc54172a776c6c3946e01790931679590ab08ce1c9558a82628", "bytes": 59001, "access": "open", "state": "resolved", "reader": null, "reader_status": "reader_required", "identifier": "10.1371/journal.pone.0271025", "version": null, "note": "Full article fetched from PMC; the checksum covers the rendered section body, not the original XML bytes.", "structure": {"pmcid": "PMC9262215", "source": "europe_pmc_fulltext", "coverage": "whole_body", "text_hash_scope": "rendered_section_body"}}, {"id": "data:geo:PXD030706", "role": "raw", "format": "geo-series", "media_type": "application/vnd.ncbi.geo-series+json", "uri": "https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=PXD030706", "sha256": null, "bytes": null, "access": "open", "state": "resolved", "reader": null, "reader_status": "reader_required", "identifier": "PXD030706", "version": null, "note": "All relevant data are within the paper and its Supporting Information files.", "structure": {"repository": "GEO", "access_route": "GEO accession URL", "access_statement_verbatim": "All relevant data are within the paper and its Supporting Information files.", "access_statement_kind": "data_availability_statement", "sample_accessions": [], "sample_count": null, "group_sizes": null, "group_sizes_basis": null, "platform": null, "taxon": null, "title": "Targeted Feature Detection and Extraction", "resolution_checked_at": "2026-11-01T18:06:51Z", "resolution_check": "identifier_resolution_only_no_download_no_licence_read", "downloaded": false, "licence_read": false}}], "gaps": ["asset:data:geo:PXD030706 not downloaded", "asset:data:geo:PXD030706 licence not read"]}, "analysis": {"state": "absent", "methods": [], "targets": [], "gaps": ["method", "operations"]}, "capability": {"state": "complete", "requirements": [{"capability_id": "capability:computational_analysis", "label": "Computational analysis platform", "assay_families": ["meta_analysis", "machine_learning", "survival_analysis", "statistical_regression", "pca", "molecular_docking", "network_analysis", "differential_expression", "gwas"], "availability_state": "owned", "tier_unlocked": "R1", "candidate": "Automated Assays Laravel application and simulated adapters"}], "gaps": []}, "readiness": {"state": "blocked", "tier": "R4", "blocking_axis": "method", "blocked_on": "method:not_determinable", "axes": {"method": {"tier": "R4", "expressible": false, "required_operations": [], "missing_operations": [], "basis": "The reader quoted the method the paper names (not named), but the corpus's method extractor could not map it onto a DSL operation, so the method is published but not expressible."}, "capability": {"tier": "R1", "capability_id": "capability:computational_analysis", "availability_state": "owned", "basis": "The computational analysis is owned. The physical bench the paper used is not, so a physical validation cannot be run here."}, "data": {"tier": "R1", "reachable": true, "accessions": ["PXD030706"], "resolved_accessions": ["PXD030706"], "statements": ["All relevant data are within the paper and its Supporting Information files."], "basis": "The paper names PXD030706 in ProteomeXchange Consortium via the PRIDE partner repository and the accession resolves in the repository. No dataset was downloaded and no licence was read."}}, "can_run": {"dsl_operations": [], "assets": ["source:pmid:35797390", "data:geo:PXD030706"], "steps": ["run_analysis"]}, "must_build": {"dsl_operations": [], "converters": [], "readers": [], "capabilities": [], "data_gaps": ["data:geo:PXD030706"]}, "gaps": ["method:not_determinable"]}, "review": {"state": "partial", "machine_critique": {"kind": "extraction_review", "reader": {"model": "MiniMax-M3.1-Flash", "provider": "minimax", "provider_family": "minimax", "read_at": "2026-11-01T17:53:59Z", "independence": "single_reader"}, "evidence_check": {"method": null, "availability": "verbatim"}, "calls": 5, "usage": {"prompt_tokens": 15825, "completion_tokens": 1127, "cached_tokens": 264}}, "human_critique": null, "stages": [{"id": "extraction", "state": "complete", "reader": "MiniMax-M3.1-Flash", "provider": "minimax"}], "gaps": ["review.independent_reader", "review.machine_critique", "review.human_critique"]}, "execution": {"state": "absent", "status": "not_run", "mode": null, "runs": [], "gaps": ["execution.not_run"]}, "provenance": {"entities": [{"id": "pmid:35797390", "type": "paper", "label": "pmid:35797390"}, {"id": "source:pmid:35797390", "type": "manuscript", "label": "PMID 35797390 full text"}, {"id": "data:geo:PXD030706", "type": "dataset", "label": "GEO PXD030706"}], "activities": [{"id": "activity-reading-sci-2026-11-01", "type": "classification", "used": [{"id": "pmid:35797390", "type": "paper", "label": "pmid:35797390"}, {"id": "source:pmid:35797390", "type": "manuscript", "label": "PMID 35797390 full text"}, {"id": "data:geo:PXD030706", "type": "dataset", "label": "GEO PXD030706"}], "agent": "agent:corpus-assay-engine"}, {"id": "activity-read-35797390", "type": "extraction", "used": ["source:pmid:35797390"], "agent": "agent:minimax-reader"}, {"id": "activity-resolve-PXD030706", "type": "accession_resolution", "used": ["data:geo:PXD030706"], "agent": "agent:corpus-assay-engine"}], "agents": [{"id": "agent:corpus-assay-engine", "type": "software", "label": "Corpus assay engine"}, {"id": "agent:minimax-reader", "type": "software", "label": "MiniMax literature reader"}], "source_run_id": "reading-sci-2026-11-01", "dsl_catalogue_fingerprint": "343fb30756ba6ec3", "capability_table_fingerprint": "2cb3e42f047d2ecf", "snapshot_id": "ba34b49490d9bfaf"}, "lineage": {"parent_id": "pmid:35797390", "parent_hash": "sha256:d140121153d4fe6c65f306e35fe9c25af222954853bbc8acf88f7e2900fa9dda", "fork_of": null, "generation": 1}, "gaps": ["asset:data:geo:PXD030706 licence not read", "asset:data:geo:PXD030706 not downloaded", "execution.not_run", "method", "operations", "review.human_critique", "review.independent_reader", "review.machine_critique"]}