{
 "about": {
  "method": "plasmid-dna-amounts@1.0.0 and dna-mass-from-length@1.0.0 (the weight each answer uses)",
  "recordedOn": "2026-10-21",
  "script": "pipeline/lab-calculators/cloning_amounts_reference.py",
  "scriptSha256": "546469f3da54142dc3dec6e785282d07958123989495e7998ab870542e1ef283",
  "source": "The CSO's rulings on the Cloning amounts screens, 21 October 2026 (docs/board/memos/2026-10-21-cso-cloning-screens.md), rulings 1 and 3; pUC19 and pBR322 from pipeline/plasmid-map/records/; amounts.json A01, A03 and A05 asserted as parity",
  "avogadro": "6.02214076e23 (exact, SI 2019)",
  "insertGap": "Insert mass uses lengths only and insert pmol uses weights; they differ by 0.02 to 0.03 percent at these lengths (each ligation case records insertPmolFromInsertNg, the insert mass on the insert's own estimated weight, ds linear 5'-OH, and its relative gap; not asserted).",
  "tolerances": {
   "values": "within 1e-9 relative",
   "refusals": "exact"
  }
 },
 "oracle": {
  "name": "Python fractions",
  "version": "3.13.16"
 },
 "count": 10,
 "recordedOn": "2026-10-21",
 "cases": [
  {
   "name": "C01",
   "about": "pUC19, 1,000 ng: total copies, A03 x 100",
   "kind": "copies-from-ng",
   "input": {
    "mw": 1659693.51,
    "ng": 1000
   },
   "expect": "ok",
   "expected": {
    "copies": {
     "value": 362846557133.3107,
     "exact": "362846557133.311",
     "unit": "copies"
    },
    "a03TimesHundred": 362846557133.31067
   }
  },
  {
   "name": "P01",
   "about": "pUC19 at 50 ng/µL: pmol per µL, A01 x 0.05",
   "kind": "pmol-per-ul",
   "input": {
    "mw": 1659693.51,
    "ngPerUl": 50
   },
   "expect": "ok",
   "expected": {
    "pmolPerUl": {
     "value": 0.03012604417546948,
     "exact": "0.030126044175",
     "unit": "pmol/µL"
    }
   }
  },
  {
   "name": "P02",
   "about": "A 3,000 bp circular plasmid typed by hand at 12.5 ng/µL, on the estimate",
   "kind": "pmol-per-ul",
   "input": {
    "mw": 1853697.0,
    "mwBasis": "estimate",
    "ngPerUl": 12.5
   },
   "expect": "ok",
   "expected": {
    "pmolPerUl": {
     "value": 0.006743281129548141,
     "exact": "0.006743281130",
     "unit": "pmol/µL"
    }
   }
  },
  {
   "name": "M01",
   "about": "pBR322, 10¹⁰ copies, on its exact weight",
   "kind": "mass-for-copies",
   "input": {
    "mw": 2694819.077,
    "copies": 10000000000
   },
   "expect": "ok",
   "expected": {
    "ng": {
     "value": 44.74852356323866,
     "exact": "44.748523563",
     "unit": "ng"
    }
   }
  },
  {
   "name": "M02",
   "about": "A 3,000 bp circular plasmid typed by hand, 10⁹ copies, on the estimate",
   "kind": "mass-for-copies",
   "input": {
    "mw": 1853697.0,
    "mwBasis": "estimate",
    "copies": 1000000000
   },
   "expect": "ok",
   "expected": {
    "ng": {
     "value": 3.078136287202958,
     "exact": "3.078136287203",
     "unit": "ng"
    }
   }
  },
  {
   "name": "L01",
   "about": "pUC19 with its exact weight, Vector length edited to a 2,650 bp backbone: the estimate at 2,650 bp, ds linear",
   "kind": "ligation",
   "input": {
    "card": {
     "name": "pUC19",
     "length": 2686,
     "strands": "double",
     "topology": "circular",
     "fivePrime": null,
     "exactMw": 1659693.51
    },
    "vectorBp": 2650,
    "vectorNg": 50,
    "insertBp": 720,
    "ratio": 3
   },
   "expect": "ok",
   "insertPmolFromInsertNg": {
    "value": 0.09163236313843609,
    "relativeGap": 0.00020293262882508157,
    "asserted": false
   },
   "expected": {
    "vectorWeightBasis": "backbone-estimate",
    "vectorMw": {
     "value": 1637308.422,
     "exact": "1637308.422000",
     "unit": "g/mol"
    },
    "vectorPmol": {
     "value": 0.030537923904968466,
     "exact": "0.030537923905",
     "unit": "pmol"
    },
    "insertPmol": {
     "value": 0.09161377171490541,
     "exact": "0.091613771715",
     "unit": "pmol"
    },
    "insertNg": {
     "value": 40.75471698113208,
     "exact": "40.754716981",
     "unit": "ng"
    }
   }
  },
  {
   "name": "L02",
   "about": "pUC19, Vector length equal to the card's: the exact weight; A01 x 0.05 and A05 parity",
   "kind": "ligation",
   "input": {
    "card": {
     "name": "pUC19",
     "length": 2686,
     "strands": "double",
     "topology": "circular",
     "fivePrime": null,
     "exactMw": 1659693.51
    },
    "vectorBp": 2686,
    "vectorNg": 50,
    "insertBp": 720,
    "ratio": 3
   },
   "expect": "ok",
   "insertPmolFromInsertNg": {
    "value": 0.09040423019987179,
    "relativeGap": 0.00028876092848812926,
    "asserted": false
   },
   "expected": {
    "vectorWeightBasis": "exact",
    "vectorMw": {
     "value": 1659693.51,
     "exact": "1659693.510000",
     "unit": "g/mol"
    },
    "vectorPmol": {
     "value": 0.03012604417546948,
     "exact": "0.030126044175",
     "unit": "pmol"
    },
    "insertPmol": {
     "value": 0.09037813252640844,
     "exact": "0.090378132526",
     "unit": "pmol"
    },
    "insertNg": {
     "value": 40.20848845867461,
     "exact": "40.208488459",
     "unit": "ng"
    }
   }
  },
  {
   "name": "L03",
   "about": "The card's length edited to 2,700 bp, so the exact weight is dropped; Vector length mirrors it: the card's estimate, circular",
   "kind": "ligation",
   "input": {
    "card": {
     "name": "pUC19",
     "length": 2700,
     "strands": "double",
     "topology": "circular",
     "fivePrime": null,
     "exactMw": null
    },
    "vectorBp": 2700,
    "vectorNg": 50,
    "insertBp": 720,
    "ratio": 3
   },
   "expect": "ok",
   "insertPmolFromInsertNg": {
    "value": 0.08993546752476135,
    "relativeGap": 0.0002786380654852156,
    "asserted": false
   },
   "expected": {
    "vectorWeightBasis": "card-estimate",
    "vectorMw": {
     "value": 1668327.3,
     "exact": "1668327.300000",
     "unit": "g/mol"
    },
    "vectorPmol": {
     "value": 0.029970138353547292,
     "exact": "0.029970138354",
     "unit": "pmol"
    },
    "insertPmol": {
     "value": 0.08991041506064187,
     "exact": "0.089910415061",
     "unit": "pmol"
    },
    "insertNg": {
     "value": 40.0,
     "exact": "40.000000000",
     "unit": "ng"
    }
   }
  },
  {
   "name": "L04",
   "about": "Vector length edited away (2,650) and back to the card's 2,686: the exact weight applies again; nothing is remembered",
   "kind": "ligation",
   "input": {
    "card": {
     "name": "pUC19",
     "length": 2686,
     "strands": "double",
     "topology": "circular",
     "fivePrime": null,
     "exactMw": 1659693.51
    },
    "vectorBp": 2686,
    "vectorNg": 50,
    "insertBp": 720,
    "ratio": 3,
    "vectorBpHistory": [
     2650,
     2686
    ]
   },
   "expect": "ok",
   "insertPmolFromInsertNg": {
    "value": 0.09040423019987179,
    "relativeGap": 0.00028876092848812926,
    "asserted": false
   },
   "expected": {
    "vectorWeightBasis": "exact",
    "vectorMw": {
     "value": 1659693.51,
     "exact": "1659693.510000",
     "unit": "g/mol"
    },
    "vectorPmol": {
     "value": 0.03012604417546948,
     "exact": "0.030126044175",
     "unit": "pmol"
    },
    "insertPmol": {
     "value": 0.09037813252640844,
     "exact": "0.090378132526",
     "unit": "pmol"
    },
    "insertNg": {
     "value": 40.20848845867461,
     "exact": "40.208488459",
     "unit": "ng"
    }
   }
  },
  {
   "name": "L05",
   "about": "A single-stranded card in ligation mode: refused",
   "kind": "ligation",
   "input": {
    "card": {
     "name": "oligo",
     "length": 60,
     "strands": "single",
     "topology": "linear",
     "fivePrime": "OH",
     "exactMw": null
    },
    "vectorBp": 60,
    "vectorNg": 50,
    "insertBp": 720,
    "ratio": 3
   },
   "expect": "refused",
   "problem": "ligation-single-stranded"
  }
 ]
}
