Guth
NewsDocs
Page actions
View as Markdown ↗
Explore MCP tools ↗

instrument / verified-clean

ng-to-pmol / Copy Number Converter

The current ledger marks this instrument verified clean within the source-bound verification corpus.

Status: VERIFIED_CLEANLifecycle: verified-clean

Inspectable records

Ledger state

The current ledger marks this instrument verified clean within the source-bound verification corpus.

Area
Biology, Medicine & Pharmacology (educational estimates only — every panel labeled not-medical-advice)
Tranche
tranche-4
Evidence ID
t4-110
Ledger rows
1

No ledger note is attached.

Review findings

The specification needs an explicit MW unit and a corrected pmol formula before release. Under the stated 650 g/mol/bp dsDNA assumption, use pmol=(mass_ng×1000)/MW_g_per_mol and copies=(mass_ng×10^-9/MW_g_per_mol)×6.02214076×10^23. Preserve the educational-estimate and not-medical-advice labeling.

Formula and scope findings

  • The pmol formula is incorrect if MW is in the standard g/mol units implied by the 650 g/mol/bp constant. The correct formula is pmol=(mass_ng×10^3)/MW_g_per_mol, equivalently (mass_ng×10^-9/MW_g_per_mol)×10^12.
  • The copy-number formula is correct only when mass_g and MW_g_per_mol are used, but the declared input is mass(ng); the implementation must explicitly convert mass_g=mass_ng×10^-9.
  • MW units are not specified. The pmol formula would differ by a factor of 1000 depending on whether MW is treated as g/mol or mg/mol, so the formula cannot be verified unconditionally.
  • Length-based MW calculation is underspecified for RNA and single-stranded DNA. The supplied 650 g/mol/bp constant is identified as dsDNA-only and should not be applied to every molecule type.

Unit assumptions

  • For these test vectors, MW is assumed to be in g/mol.
  • Mass input is assumed to be in ng and is converted to grams using mass_g=mass_ng×10^-9.
  • pmol conversion uses 1 mol=10^12 pmol.
  • Copy number uses Avogadro's constant N_A=6.02214076×10^23 mol^-1.
  • For dsDNA length-based estimates, MW=650 g/mol/bp×length_bp, as specified; this is an average estimate, not sequence-specific molecular weight.

Boundary hardening

BREAK_CLAIMED · SELF_FLAGGED

The supplied pmol formula is dimensionally inconsistent with mass in ng and molecular weight in g/mol: for 650 ng of a 1000-bp dsDNA molecule it returns 1000 pmol, while the copy-number formula gives 6.022×10^11 copies, corresponding to 1 pmol. The instrument also needs rejection handling for zero length, unsupported molecule types, and negative mass.

Errata and corrections

No applied erratum is attached to this unique-name record.

Inspectable example

4 review vectors are recorded. One source-bound sample is shown below.

{
  "inputs": {
    "mass_ng": 1,
    "length_bp": 1000,
    "MW_g_per_mol": 650000,
    "molecule_type": "dsDNA"
  },
  "expected_outputs": {
    "pmol": 0.00153846153846,
    "copies": 926483193.846154
  },
  "working": "MW=650×1000=650000 g/mol. pmol=(1 ng×1000)/650000=1000/650000=0.00153846153846 pmol. mass_g=1×10^-9=0.000000001 g. copies=(0.000000001/650000)×6.02214076×10^23=1.53846153846×10^-15×6.02214076×10^23=9.26483193846×10^8=926483193.846154 copies."
}

Related workflows

No source-defined multi-instrument workflow membership is recorded.

Sources and evidence

These pointers bind the page to evidence. They do not grant authority or collapse verification into deployment.

  • VERIFIED_LEDGER.json · VERIFIED_CLEAN
  • evidence-tranche4/tranche4-results.json
  • BOUNDARY_HAZARD_CATALOG.json