← All .science files
pmid:35866933
FindPFΔS: Non-Target Screening for PFAS─Comprehensive Data Mining for MS2 Fragment Mass Differences.
Jonathan Zweigle · Boris Bugsel · Christian Zwiener
Analytical chemistry · 2022 doi:10.1021/acs.analchem.2c01521
Paper
complete
Experiment
partial
Data
partial
Analysis
partial
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
paper object · 10 fields
authors array · 3 items
claims array · 3 items
[0] object · 6 fields
evidence array · 1 item
[0] object · 3 fields
[1] object · 6 fields
evidence array · 1 item
[0] object · 3 fields
gaps array · 0 items
experiment object · 8 fields
steps array · 3 items
[0] object · 13 fields
parameters object · 0 fields
inputs array · 1 item
outputs array · 1 item
instruments array · 0 items
reagents array · 0 items
[1] object · 13 fields
parameters object · 0 fields
inputs array · 0 items
outputs array · 1 item
instruments array · 0 items
reagents array · 0 items
[2] object · 13 fields
parameters object · 0 fields
inputs array · 0 items
outputs array · 1 item
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 · 1 item
data object · 3 fields
assets array · 1 item
[0] object · 15 fields
structure object · 4 fields
gaps array · 0 items
analysis object · 4 fields
methods array · 1 item
[0] object · 10 fields
dsl_operations array · 0 items
missing_operations array · 0 items
parameters object · 0 fields
data_shapes array · 0 items
evidence object · 3 fields
targets array · 1 item
gaps array · 1 item
capability object · 3 fields
requirements array · 1 item
[0] object · 6 fields
assay_families array · 9 items
gaps array · 0 items
readiness object · 8 fields
axes object · 3 fields
method object · 5 fields
required_operations array · 0 items
missing_operations array · 0 items
capability object · 4 fields
data object · 6 fields
accessions array · 0 items
resolved_accessions array · 0 items
statements array · 1 item
can_run object · 3 fields
dsl_operations array · 0 items
assets array · 1 item
steps array · 1 item
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
gaps array · 1 item
review object · 5 fields
machine_critique object · 5 fields
reader object · 5 fields
evidence_check object · 2 fields
usage object · 3 fields
stages array · 1 item
[0] object · 4 fields
gaps array · 3 items
provenance object · 7 fields
entities array · 3 items
activities array · 3 items
[0] object · 4 fields
used array · 3 items
[0] object · 3 fields
[1] object · 3 fields
[2] object · 3 fields
[1] object · 4 fields
agents array · 2 items
lineage object · 4 fields
gaps array · 6 items
assays array · 1 item
[0] object · 11 fields
required_operations array · 0 items
source_hashes object · 1 field
evidence array · 1 item
Complete file
{"sci_version": "1.2", "schema": "https://corpus.bntrg.co.uk/sci/1.0/sci.schema.json", "id": "pmid:35866933", "kind": "science-record", "revision": 3, "content_hash": "sha256:5040b6c11d4b2e0470c677620fabcb445365e0bcabbcfbe0db89cdbe8cd8527b", "created_at": "2026-11-01T18:14:57Z", "updated_at": "2026-11-01T21:28:27Z", "generator": {"name": "corpus-assay-engine", "run_id": "reading-sci-2026-11-01"}, "paper": {"state": "complete", "title": "FindPFΔS: Non-Target Screening for PFAS─Comprehensive Data Mining for MS2 Fragment Mass Differences.", "doi": "10.1021/acs.analchem.2c01521", "pmid": "35866933", "authors": ["Jonathan Zweigle", "Boris Bugsel", "Christian Zwiener"], "journal": "Analytical chemistry", "year": 2022, "abstract": "The limited availability of analytical reference standards makes non-target screening approaches based on high-resolution mass spectrometry increasingly important for the efficient identification of unknown PFAS (per- and polyfluoroalkyl substances) and their TPs. We developed and optimized a vendor-independent open-source Python-based algorithm (FindPFΔS = FindPolyFluoroDeltas) to search for distinct fragment mass differences in MS/MS raw data (.ms2-files). Optimization with PFAS standards, two pre-characterized paper and soil samples (iterative data-dependent acquisition), revealed Δ(CF2)n, ΔHF, ΔCnH3F2n-3, ΔCnH2F2n-4, ΔCnHF2n-5, ΔCnF2nSO3, ΔCF3, and ΔCF2O as relevant and selective fragment differences depending on applied collision energies. In a PFAS standard mix, 94% (36 of 38 compounds from 10 compound classes) could be found by FindPFΔS. The use of fragment differences was applicable to a wide range of PFAS classes and appears as a promising new approach for PFAS identification. The influence of mass tolerance and intensity threshold on the identification efficiency and on the detection of false positives was systematically evaluated with the use of selected HR-MS2-spectra (20,998) from MassBank. To this end, with the use of FindPFΔS, we could identify different unknown PFAS homologues in the paper extracts. FindPFΔS is freely available as both Python source code on GitHub (https://github.com/JonZwe/FindPFAS) and as an executable windows application (https://doi.org/10.5281/zenodo.6797353) with a graphical user interface on Zenodo.", "claims": [{"id": "claim-method", "statement": "Furthermore, to also consider intensity, a number weighted by intensity (Niw) was determined by assigning the lower intensity of two fragments x and y to their difference and summing up the intensities of all identical fragment differences (within a mass tolerance).", "kind": "methodological", "target": null, "evidence": [{"asset": "source:pmid:35866933", "locator": "sections[6] \"Retrospective Analysis\" paragraph 3", "quote": "Furthermore, to also consider intensity, a number weighted by intensity (Niw) was determined by assigning the lower intensity of two fragments x and y to their difference and summing up the intensities of all identical fragment differences (within a mass tolerance)."}], "state": "complete"}, {"id": "claim-data-access", "statement": "Only HR-MS2 spectra (QTOF- and FT-MS instruments) with ≥ 2 peaks (prerequisite for mass differences) were included resulting in 20,998 MS2-spectra from 1921 compounds (filtered by unique compound name).", "kind": "methodological", "target": null, "evidence": [{"asset": "source:pmid:35866933", "locator": "sections[7] \"Application of FindPFΔS to MassBank\" paragraph 2", "quote": "Only HR-MS2 spectra (QTOF- and FT-MS instruments) with ≥ 2 peaks (prerequisite for mass differences) were included resulting in 20,998 MS2-spectra from 1921 compounds (filtered by unique compound name)."}], "state": "complete"}, {"id": "claim-target-result", "statement": "In a PFAS standard mix, 94% (36 of 38 compounds from 10 compound classes) could be found by FindPFΔS.", "kind": "quantitative", "target": {"value": 94.0, "unit": "per cent", "tolerance": null, "source": "In a PFAS standard mix, 94% (36 of 38 compounds from 10 compound classes) could be found by FindPFΔS."}, "evidence": [{"asset": "source:pmid:35866933", "locator": "sections[0] \"Abstract\" paragraph 1", "quote": "In a PFAS standard mix, 94% (36 of 38 compounds from 10 compound classes) could be found by FindPFΔS."}], "state": "complete"}], "gaps": []}, "experiment": {"state": "partial", "objective": "In a PFAS standard mix, 94% (36 of 38 compounds from 10 compound classes) could be found by FindPFΔS.", "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:35866933"], "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": "blocked", "blocked_on": "data:accession_absent", "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": [], "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": [], "outputs": ["the replicated result and its comparison"], "instruments": [], "reagents": []}], "materials": [], "instruments": [], "reagents": [], "conditions": {}, "gaps": ["step:obtain_source_data blocked on data:accession_absent"]}, "data": {"state": "partial", "assets": [{"id": "source:pmid:35866933", "role": "manuscript", "format": "xml", "media_type": "application/xml", "uri": "https://doi.org/10.1021/acs.analchem.2c01521", "sha256": "sha256:d5aad3789ceb916c0fe402717743df8e844b021e62e612088c5b3aa84553898f", "bytes": 36607, "access": "open", "state": "resolved", "reader": null, "reader_status": "reader_required", "identifier": "10.1021/acs.analchem.2c01521", "version": null, "note": "Full article fetched from PMC; the checksum covers the rendered section body, not the original XML bytes.", "structure": {"pmcid": "PMC9354793", "source": "europe_pmc_fulltext", "coverage": "whole_body_without_references", "text_hash_scope": "rendered_section_body"}}], "gaps": []}, "analysis": {"state": "partial", "methods": [{"id": "method-1", "family": null, "specific": null, "label": "number weighted by intensity (Niw)", "dsl_operations": [], "missing_operations": [], "expressible": null, "parameters": {}, "data_shapes": [], "evidence": {"score": 1.0, "band": "verbatim", "quote": "Furthermore, to also consider intensity, a number weighted by intensity (Niw) was determined by assigning the lower intensity of two fragments x and y to their difference and summing up the intensities of all identical fragment differences (within a mass tolerance)."}}], "targets": [{"id": "target-published-estimate", "claim_id": "claim-target-result", "operation": null, "expected_value": 94.0, "unit": "per cent", "tolerance": null, "state": "complete", "note": "The published estimate as the reader quoted it from the paper. No tolerance is published because the paper states none."}], "gaps": ["method.reader_named_unmapped"]}, "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": "data", "blocked_on": "data:accession_absent", "axes": {"method": {"tier": "R4", "expressible": false, "required_operations": [], "missing_operations": [], "basis": "The reader quoted the method the paper names (number weighted by intensity (Niw)), 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": "R4", "reachable": false, "accessions": [], "resolved_accessions": [], "statements": ["Only HR-MS2 spectra (QTOF- and FT-MS instruments) with ≥ 2 peaks (prerequisite for mass differences) were included resulting in 20,998 MS2-spectra from 1921 compounds (filtered by unique compound name)."], "basis": "The paper names no accession to its source data, so the data has to come from the authors."}}, "can_run": {"dsl_operations": [], "assets": ["source:pmid:35866933"], "steps": ["run_analysis"]}, "must_build": {"dsl_operations": [], "converters": [], "readers": [], "capabilities": [], "data_gaps": ["data:geo:None"]}, "gaps": ["data:accession_absent"]}, "review": {"state": "partial", "machine_critique": {"kind": "extraction_review", "reader": {"model": "MiniMax-M3.1-Flash", "provider": "minimax", "provider_family": "minimax", "read_at": "2026-11-01T17:56:35Z", "independence": "single_reader"}, "evidence_check": {"method": "verbatim", "availability": null}, "calls": 5, "usage": {"prompt_tokens": 10998, "completion_tokens": 1050, "cached_tokens": 256}}, "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:35866933", "type": "paper", "label": "pmid:35866933"}, {"id": "source:pmid:35866933", "type": "manuscript", "label": "PMID 35866933 full text"}, {"id": "data:geo:None", "type": "dataset", "label": "GEO None"}], "activities": [{"id": "activity-reading-sci-2026-11-01", "type": "classification", "used": [{"id": "pmid:35866933", "type": "paper", "label": "pmid:35866933"}, {"id": "source:pmid:35866933", "type": "manuscript", "label": "PMID 35866933 full text"}, {"id": "data:geo:None", "type": "dataset", "label": "GEO None"}], "agent": "agent:corpus-assay-engine"}, {"id": "activity-read-35866933", "type": "extraction", "used": ["source:pmid:35866933"], "agent": "agent:minimax-reader"}, {"id": "activity-resolve-None", "type": "accession_resolution", "used": ["data:geo:None"], "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:35866933", "parent_hash": "sha256:dc6cc0dba65232d00f54d18d23b3d020362dcf6fde4a6ffab6d4199b5db65b42", "fork_of": null, "generation": 2}, "gaps": ["execution.not_run", "method.reader_named_unmapped", "review.human_critique", "review.independent_reader", "review.machine_critique", "step:obtain_source_data blocked on data:accession_absent"], "assays": [{"role": "data_generation", "definition_id": "mass_spectrometry", "definition_version": "99e1195c7d6f", "definition_digest": null, "required_operations": [], "support_state": "partial", "source_hashes": {"assay_lexicon": "99e1195c7d6f"}, "confidence": 0.93, "evidence": ["creening approaches based on high-resolution mass spectrometry increasingly important for the efficient ide"], "order_basis": "paper_text_order:178", "id": "assay:1"}]}