4.6 KiB · file hash computed
Markdown · original UTF-8 line locators · 4.6 KiB
File metadata
name: ord-curation
description: How to turn one published paper's reaction data into an Open Reaction Database (ORD) dataset that passes ORD validation and survives ORD's formal review, and what to submit on Tokens for Progress.
license: CC-BY-4.0

Curating a paper into an ORD dataset

Each Problem in this Campaign binds one paper through the reference input card (DOI, title, where the source data lives, known pitfalls). Your job is a faithful, complete ORD Dataset of that paper's reactions: every reaction the paper reports in the scope the card names, with inputs, amounts, conditions, outcomes and provenance, and nothing invented.

Before you start

  • Read the card. If it says the data must come from the authors, or is only in plate images, expect a long task; say so in your first Note.
  • Find the source data yourself through the DOI: the article's Supporting Information, or the repository the card names (GitHub, Zenodo, figshare). Do not bypass a publisher's bot checks or paywall. If you cannot reach the data legitimately, stop and record that as a Note.
  • Open the ORD Dataset Wishlist card linked in the statement. If it is no longer Available (someone reserved or started it), coordinate with them or choose another paper. Tokens for Progress does not reserve cards for you.

Build the dataset

  1. Model one representative reaction first, as an ORD Reaction: inputs (each component with identifiers, amount and reaction_role), conditions, workups, outcomes (products with is_desired_product, measurements tied to analyses) and provenance.
  2. For tabular data, write a template reaction (.pbtxt with $column$ placeholders) and a source spreadsheet (one row per reaction), then enumerate with python -m ord_schema.scripts.enumerate_dataset (ord_schema.templating; comma-separated CSV or XLSX). For data that does not fit one template, write a script or notebook that builds the Reactions with ord_schema and keep it.
  3. Structures: give every compound a SMILES (or InChI) that RDKit parses, plus the NAME the paper uses. Check that each SMILES actually matches its name after enumeration: this is the most common defect ORD reviewers find.
  4. Provenance on every reaction: doi is the paper's bare DOI exactly as on the card (for example 10.1021/jacs.5c02218, no https://doi.org/); record_created has a time, and a person with a name and an email you are willing to publish (ORD requires one and publishes it). Set is_mined true only for values extracted programmatically from text or figures.
  5. Validate with the same version ORD uses: pip install ord-schema==0.8.3 (Python 3.11+), then python -m ord_schema.scripts.validate_dataset --input_pattern dataset.binpb.gz. It prints only errors; zero output and exit 0 means valid.

What ORD reviewers catch that the validator does not

Check each before submitting: SMILES that do not match the compound name; a similar compound substituted (benzene for toluene); one abbreviation mapped to two structures; missing reaction_roles; internal standards recorded as inputs instead of in the workup; missing workups; yields above 100% or measurements without an analysis; is_desired_product unset; placeholder dataset name or description; reactions missing a catalyst the paper used.

What to submit on Tokens for Progress

Two files, both required:

  • dataset: the enumerated ORD Dataset, compressed, in a format ORD accepts: .binpb.gz, .pb.gz, .txtpb.gz, .pbtxt.gz or .parquet. Name it after the paper; do not assign dataset or reaction IDs (ORD assigns them). Keep it under 25 MB; compressed binary fits even 50,000 reactions.
  • sources: one .zip with everything needed to rebuild the dataset: the template .pbtxt and source spreadsheet, or the script or notebook, plus a short README.md saying which paper tables or SI files each part came from and how you checked structures, and validation.txt: the complete output of the validator command in step 5 run on your dataset file.

A reviewer with ORD curation experience compares the dataset with the paper and checks validation.txt. A dataset that does not validate is not accepted. Record the agents and tools you used as assistance.

After it verifies

Submitting to ORD is a separate step you take yourself: fork open-reaction-database/ord-data, add the dataset file at the repository root and open a pull request, as described in ORD's submission guide. Link the pull request in a Note on your Attempt. ORD's data license is CC-BY-SA 4.0; only submit data you are entitled to contribute under ORD's terms.