{
 "about": {
  "generatedBy": "pipeline/plasmid-map/reference.py",
  "scriptSha256": "ce8c55917014dc0edff65190dc66fb2f77ba324e0315d9332cc6b1e5186a2891",
  "recordedOn": "2026-10-06",
  "oracle": "Biopython 1.88",
  "oracleLicence": "Biopython Licence Agreement or BSD-3-Clause",
  "text": "Library features aligned against other NCBI records that carry the same parts: the best local alignment on either strand (a circular target extended across its origin), with Biopython's PairwiseAligner in local mode and the engine's scoring (match +2, mismatch -3, gap open -5, gap extend -2: a gap of k bases scores -5 - 2(k-1)). Identity is identical columns over alignment columns, gaps included; coverage is the feature bases in the alignment over the feature's length (CSO ruling, 6 October 2026). The call follows the thresholds: match at identity 99 percent and coverage 95 percent or more; partial at identity 90 percent and coverage 50 percent or more otherwise, with at least 30 aligned feature bases; a feature under 30 bases is called only as a match. For a library CDS that names a UniProt entry, `protein` says whether the call carries it (the CSO's rule, 6 October 2026): only a full-length match whose translation (Biopython, the CDS's genetic code, the first codon read as M when it is an initiation codon, the final stop dropped) is the entry's canonical sequence as saved in records/uniprot-sequences.json; otherwise the reason, with each differing residue written as UniProt's residue, its position in UniProt's numbering and this call's residue.",
  "scoring": {
   "match": 2,
   "mismatch": -3,
   "gapOpen": -5,
   "gapExtend": -2
  }
 },
 "cases": [
  {
   "id": "F01",
   "feature": "bla",
   "featureLength": 861,
   "target": "X65304.3",
   "targetLength": 2743,
   "targetCircular": true,
   "targetAnnotation": {
    "text": "beta-lactamase",
    "location": "complement(1265..2125)"
   },
   "expected": {
    "score": 1712.0,
    "strand": "-",
    "columns": 861,
    "identical": 859,
    "mismatches": 2,
    "gapColumns": 0,
    "identity": 0.9976771196283392,
    "coverage": 1.0,
    "featureStart": 1,
    "featureEnd": 861,
    "targetStart": 1265,
    "targetEnd": 2125,
    "alignedFeatureBases": 861,
    "identityExact": "859/861",
    "coverageExact": "861/861",
    "call": "match",
    "protein": {
     "uniprot": "P62593",
     "carries": false,
     "reason": "differs",
     "substitutions": [
      "V82I",
      "A182V"
     ],
     "lengths": null
    }
   }
  },
  {
   "id": "F02",
   "feature": "bla",
   "featureLength": 861,
   "target": "U47120.2",
   "targetLength": 5472,
   "targetCircular": true,
   "targetAnnotation": {
    "text": "ampR",
    "location": "3780..4640"
   },
   "expected": {
    "score": 1712.0,
    "strand": "+",
    "columns": 861,
    "identical": 859,
    "mismatches": 2,
    "gapColumns": 0,
    "identity": 0.9976771196283392,
    "coverage": 1.0,
    "featureStart": 1,
    "featureEnd": 861,
    "targetStart": 3780,
    "targetEnd": 4640,
    "alignedFeatureBases": 861,
    "identityExact": "859/861",
    "coverageExact": "861/861",
    "call": "match",
    "protein": {
     "uniprot": "P62593",
     "carries": false,
     "reason": "differs",
     "substitutions": [
      "V82I",
      "A182V"
     ],
     "lengths": null
    }
   }
  },
  {
   "id": "F03",
   "feature": "bla",
   "featureLength": 861,
   "target": "AF025843.2",
   "targetLength": 4079,
   "targetCircular": true,
   "targetAnnotation": {
    "text": "ampR",
    "location": "2393..3253"
   },
   "expected": {
    "score": 1712.0,
    "strand": "+",
    "columns": 861,
    "identical": 859,
    "mismatches": 2,
    "gapColumns": 0,
    "identity": 0.9976771196283392,
    "coverage": 1.0,
    "featureStart": 1,
    "featureEnd": 861,
    "targetStart": 2393,
    "targetEnd": 3253,
    "alignedFeatureBases": 861,
    "identityExact": "859/861",
    "coverageExact": "861/861",
    "call": "match",
    "protein": {
     "uniprot": "P62593",
     "carries": false,
     "reason": "differs",
     "substitutions": [
      "V82I",
      "A182V"
     ],
     "lengths": null
    }
   }
  },
  {
   "id": "F04",
   "feature": "bla",
   "featureLength": 861,
   "target": "U13853.1",
   "targetLength": 4969,
   "targetCircular": true,
   "targetAnnotation": {
    "text": "beta-lactamase",
    "location": "1377..2237"
   },
   "expected": {
    "score": 1722.0,
    "strand": "+",
    "columns": 861,
    "identical": 861,
    "mismatches": 0,
    "gapColumns": 0,
    "identity": 1.0,
    "coverage": 1.0,
    "featureStart": 1,
    "featureEnd": 861,
    "targetStart": 1377,
    "targetEnd": 2237,
    "alignedFeatureBases": 861,
    "identityExact": "861/861",
    "coverageExact": "861/861",
    "call": "match",
    "protein": {
     "uniprot": "P62593",
     "carries": true
    }
   }
  },
  {
   "id": "F05",
   "feature": "nptII",
   "featureLength": 795,
   "target": "U55762.1",
   "targetLength": 4733,
   "targetCircular": true,
   "targetAnnotation": {
    "text": "neomycin phosphotransferase",
    "location": "2629..3423"
   },
   "expected": {
    "score": 1580.0,
    "strand": "+",
    "columns": 795,
    "identical": 793,
    "mismatches": 2,
    "gapColumns": 0,
    "identity": 0.9974842767295597,
    "coverage": 1.0,
    "featureStart": 1,
    "featureEnd": 795,
    "targetStart": 2629,
    "targetEnd": 3423,
    "alignedFeatureBases": 795,
    "identityExact": "793/795",
    "coverageExact": "795/795",
    "call": "match",
    "protein": {
     "uniprot": "P00552",
     "carries": false,
     "reason": "differs",
     "substitutions": [
      "R177S"
     ],
     "lengths": null
    }
   }
  },
  {
   "id": "F06",
   "feature": "nptII",
   "featureLength": 795,
   "target": "U47120.2",
   "targetLength": 5472,
   "targetCircular": true,
   "targetAnnotation": {
    "text": "NeoR",
    "location": "2463..3257"
   },
   "expected": {
    "score": 1590.0,
    "strand": "+",
    "columns": 795,
    "identical": 795,
    "mismatches": 0,
    "gapColumns": 0,
    "identity": 1.0,
    "coverage": 1.0,
    "featureStart": 1,
    "featureEnd": 795,
    "targetStart": 2463,
    "targetEnd": 3257,
    "alignedFeatureBases": 795,
    "identityExact": "795/795",
    "coverageExact": "795/795",
    "call": "match",
    "protein": {
     "uniprot": "P00552",
     "carries": true
    }
   }
  },
  {
   "id": "F07",
   "feature": "nptII",
   "featureLength": 795,
   "target": "AY048743.1",
   "targetLength": 3267,
   "targetCircular": true,
   "targetAnnotation": {
    "text": "Tn5 neomycin phosphotransferase",
    "location": "459..1253"
   },
   "expected": {
    "score": 1590.0,
    "strand": "+",
    "columns": 795,
    "identical": 795,
    "mismatches": 0,
    "gapColumns": 0,
    "identity": 1.0,
    "coverage": 1.0,
    "featureStart": 1,
    "featureEnd": 795,
    "targetStart": 459,
    "targetEnd": 1253,
    "alignedFeatureBases": 795,
    "identityExact": "795/795",
    "coverageExact": "795/795",
    "call": "match",
    "protein": {
     "uniprot": "P00552",
     "carries": true
    }
   }
  },
  {
   "id": "F08",
   "feature": "cat",
   "featureLength": 660,
   "target": "LC760188.1",
   "targetLength": 5352,
   "targetCircular": true,
   "targetAnnotation": {
    "text": "chloramphenicol acetyltransferase",
    "location": "complement(3344..4003)"
   },
   "expected": {
    "score": 1320.0,
    "strand": "-",
    "columns": 660,
    "identical": 660,
    "mismatches": 0,
    "gapColumns": 0,
    "identity": 1.0,
    "coverage": 1.0,
    "featureStart": 1,
    "featureEnd": 660,
    "targetStart": 3344,
    "targetEnd": 4003,
    "alignedFeatureBases": 660,
    "identityExact": "660/660",
    "coverageExact": "660/660",
    "call": "match",
    "protein": {
     "uniprot": "P62577",
     "carries": true
    }
   }
  },
  {
   "id": "F09",
   "feature": "lacI",
   "featureLength": 1083,
   "target": "U13853.1",
   "targetLength": 4969,
   "targetCircular": true,
   "targetAnnotation": {
    "text": "lacIq",
    "location": "3318..4400"
   },
   "expected": {
    "score": 2161.0,
    "strand": "+",
    "columns": 1083,
    "identical": 1082,
    "mismatches": 1,
    "gapColumns": 0,
    "identity": 0.9990766389658357,
    "coverage": 1.0,
    "featureStart": 1,
    "featureEnd": 1083,
    "targetStart": 3318,
    "targetEnd": 4400,
    "alignedFeatureBases": 1083,
    "identityExact": "1082/1083",
    "coverageExact": "1083/1083",
    "call": "match"
   }
  },
  {
   "id": "F10",
   "feature": "egfp",
   "featureLength": 720,
   "target": "U55763.1",
   "targetLength": 4731,
   "targetCircular": true,
   "targetAnnotation": {
    "text": "enhanced green fluorescent protein",
    "location": "613..1410"
   },
   "expected": {
    "score": 1436.0,
    "strand": "+",
    "columns": 718,
    "identical": 718,
    "mismatches": 0,
    "gapColumns": 0,
    "identity": 1.0,
    "coverage": 0.9972222222222222,
    "featureStart": 1,
    "featureEnd": 718,
    "targetStart": 613,
    "targetEnd": 1330,
    "alignedFeatureBases": 718,
    "identityExact": "718/718",
    "coverageExact": "718/720",
    "call": "match"
   }
  },
  {
   "id": "F11",
   "feature": "cmvEnhancer",
   "featureLength": 659,
   "target": "AF025843.2",
   "targetLength": 4079,
   "targetCircular": true,
   "targetAnnotation": {
    "text": "CMV enhancer and immediate-early promoter",
    "location": "7..803"
   },
   "expected": {
    "score": 1311.0,
    "strand": "+",
    "columns": 658,
    "identical": 657,
    "mismatches": 1,
    "gapColumns": 0,
    "identity": 0.9984802431610942,
    "coverage": 0.9984825493171472,
    "featureStart": 1,
    "featureEnd": 658,
    "targetStart": 7,
    "targetEnd": 664,
    "alignedFeatureBases": 658,
    "identityExact": "657/658",
    "coverageExact": "658/659",
    "call": "match"
   }
  },
  {
   "id": "F12",
   "feature": "cmvPromoter",
   "featureLength": 82,
   "target": "AF025843.2",
   "targetLength": 4079,
   "targetCircular": true,
   "targetAnnotation": {
    "text": "CMV enhancer and immediate-early promoter",
    "location": "7..803"
   },
   "expected": {
    "score": 164.0,
    "strand": "+",
    "columns": 82,
    "identical": 82,
    "mismatches": 0,
    "gapColumns": 0,
    "identity": 1.0,
    "coverage": 1.0,
    "featureStart": 1,
    "featureEnd": 82,
    "targetStart": 667,
    "targetEnd": 748,
    "alignedFeatureBases": 82,
    "identityExact": "82/82",
    "coverageExact": "82/82",
    "call": "match"
   }
  },
  {
   "id": "F13",
   "feature": "chimericIntron",
   "featureLength": 133,
   "target": "AF025843.2",
   "targetLength": 4079,
   "targetCircular": true,
   "targetAnnotation": {
    "text": "chimeric intron",
    "location": "860..996"
   },
   "expected": {
    "score": 266.0,
    "strand": "+",
    "columns": 133,
    "identical": 133,
    "mismatches": 0,
    "gapColumns": 0,
    "identity": 1.0,
    "coverage": 1.0,
    "featureStart": 1,
    "featureEnd": 133,
    "targetStart": 863,
    "targetEnd": 995,
    "alignedFeatureBases": 133,
    "identityExact": "133/133",
    "coverageExact": "133/133",
    "call": "match"
   }
  },
  {
   "id": "F14",
   "feature": "sv40LatePA",
   "featureLength": 222,
   "target": "AF025843.2",
   "targetLength": 4079,
   "targetCircular": true,
   "targetAnnotation": {
    "text": "SV40 late poly(A) signal",
    "location": "2045..2246"
   },
   "expected": {
    "score": 439.0,
    "strand": "+",
    "columns": 222,
    "identical": 221,
    "mismatches": 1,
    "gapColumns": 0,
    "identity": 0.9954954954954955,
    "coverage": 1.0,
    "featureStart": 1,
    "featureEnd": 222,
    "targetStart": 2025,
    "targetEnd": 2246,
    "alignedFeatureBases": 222,
    "identityExact": "221/222",
    "coverageExact": "222/222",
    "call": "match"
   }
  },
  {
   "id": "F15",
   "feature": "f1Ori",
   "featureLength": 456,
   "target": "U47295.2",
   "targetLength": 4818,
   "targetCircular": true,
   "targetAnnotation": {
    "text": "f1 origin",
    "location": "4072..4527"
   },
   "expected": {
    "score": 912.0,
    "strand": "+",
    "columns": 456,
    "identical": 456,
    "mismatches": 0,
    "gapColumns": 0,
    "identity": 1.0,
    "coverage": 1.0,
    "featureStart": 1,
    "featureEnd": 456,
    "targetStart": 4072,
    "targetEnd": 4527,
    "alignedFeatureBases": 456,
    "identityExact": "456/456",
    "coverageExact": "456/456",
    "call": "match"
   }
  },
  {
   "id": "F16",
   "feature": "sv40Promoter",
   "featureLength": 417,
   "target": "AF025845.2",
   "targetLength": 3705,
   "targetCircular": true,
   "targetAnnotation": {
    "text": "SV40 enhancer and early promoter",
    "location": "7..418"
   },
   "expected": {
    "score": 834.0,
    "strand": "+",
    "columns": 417,
    "identical": 417,
    "mismatches": 0,
    "gapColumns": 0,
    "identity": 1.0,
    "coverage": 1.0,
    "featureStart": 1,
    "featureEnd": 417,
    "targetStart": 9,
    "targetEnd": 425,
    "alignedFeatureBases": 417,
    "identityExact": "417/417",
    "coverageExact": "417/417",
    "call": "match"
   }
  },
  {
   "id": "F17",
   "feature": "rluc",
   "featureLength": 936,
   "target": "AF025843.2",
   "targetLength": 4079,
   "targetCircular": true,
   "targetAnnotation": {
    "text": "Rluc",
    "location": "1068..2003"
   },
   "expected": {
    "score": 1857.0,
    "strand": "+",
    "columns": 936,
    "identical": 933,
    "mismatches": 3,
    "gapColumns": 0,
    "identity": 0.9967948717948718,
    "coverage": 1.0,
    "featureStart": 1,
    "featureEnd": 936,
    "targetStart": 1068,
    "targetEnd": 2003,
    "alignedFeatureBases": 936,
    "identityExact": "933/936",
    "coverageExact": "936/936",
    "call": "match",
    "protein": {
     "uniprot": "P27652",
     "carries": true
    }
   }
  },
  {
   "id": "F18",
   "feature": "rnaI",
   "featureLength": 107,
   "target": "J01749.1",
   "targetLength": 4361,
   "targetCircular": true,
   "targetAnnotation": null,
   "expected": {
    "score": 209.0,
    "strand": "+",
    "columns": 107,
    "identical": 106,
    "mismatches": 1,
    "gapColumns": 0,
    "identity": 0.9906542056074766,
    "coverage": 1.0,
    "featureStart": 1,
    "featureEnd": 107,
    "targetStart": 2976,
    "targetEnd": 3082,
    "alignedFeatureBases": 107,
    "identityExact": "106/107",
    "coverageExact": "107/107",
    "call": "match"
   }
  },
  {
   "id": "F19",
   "feature": "rnaI",
   "featureLength": 107,
   "target": "L09137.2",
   "targetLength": 2686,
   "targetCircular": true,
   "targetAnnotation": null,
   "expected": {
    "score": 209.0,
    "strand": "+",
    "columns": 107,
    "identical": 106,
    "mismatches": 1,
    "gapColumns": 0,
    "identity": 0.9906542056074766,
    "coverage": 1.0,
    "featureStart": 1,
    "featureEnd": 107,
    "targetStart": 1309,
    "targetEnd": 1415,
    "alignedFeatureBases": 107,
    "identityExact": "106/107",
    "coverageExact": "107/107",
    "call": "match"
   }
  },
  {
   "id": "F20",
   "feature": "araC",
   "featureLength": 879,
   "target": "LC760188.1",
   "targetLength": 5352,
   "targetCircular": true,
   "targetAnnotation": {
    "text": "L-arabinose regulatory protein",
    "location": "complement(96..974)"
   },
   "expected": {
    "score": 1758.0,
    "strand": "-",
    "columns": 879,
    "identical": 879,
    "mismatches": 0,
    "gapColumns": 0,
    "identity": 1.0,
    "coverage": 1.0,
    "featureStart": 1,
    "featureEnd": 879,
    "targetStart": 96,
    "targetEnd": 974,
    "alignedFeatureBases": 879,
    "identityExact": "879/879",
    "coverageExact": "879/879",
    "call": "match",
    "protein": {
     "uniprot": "P0A9E0",
     "carries": true
    }
   }
  },
  {
   "id": "F22",
   "feature": "rrnB",
   "featureLength": 260,
   "target": "AY048743.1",
   "targetLength": 3267,
   "targetCircular": true,
   "targetAnnotation": {
    "text": "rrnB transcription terminator",
    "location": "2986..3245"
   },
   "expected": {
    "score": 520.0,
    "strand": "+",
    "columns": 260,
    "identical": 260,
    "mismatches": 0,
    "gapColumns": 0,
    "identity": 1.0,
    "coverage": 1.0,
    "featureStart": 1,
    "featureEnd": 260,
    "targetStart": 2986,
    "targetEnd": 3245,
    "alignedFeatureBases": 260,
    "identityExact": "260/260",
    "coverageExact": "260/260",
    "call": "match"
   }
  },
  {
   "id": "F23",
   "feature": "frt",
   "featureLength": 48,
   "target": "AY048744.1",
   "targetLength": 3434,
   "targetCircular": true,
   "targetAnnotation": {
    "text": "natural FRT site",
    "location": "complement(51..98)"
   },
   "expected": {
    "score": 96.0,
    "strand": "-",
    "columns": 48,
    "identical": 48,
    "mismatches": 0,
    "gapColumns": 0,
    "identity": 1.0,
    "coverage": 1.0,
    "featureStart": 1,
    "featureEnd": 48,
    "targetStart": 51,
    "targetEnd": 98,
    "alignedFeatureBases": 48,
    "identityExact": "48/48",
    "coverageExact": "48/48",
    "call": "match"
   }
  },
  {
   "id": "F24",
   "feature": "lucPlus",
   "featureLength": 1653,
   "target": "AY738222.1",
   "targetLength": 4242,
   "targetCircular": true,
   "targetAnnotation": {
    "text": "luciferase luc2",
    "location": "100..1752"
   },
   "expected": {
    "score": 1277.0,
    "strand": "+",
    "columns": 1655,
    "identical": 1250,
    "mismatches": 401,
    "gapColumns": 4,
    "identity": 0.7552870090634441,
    "coverage": 1.0,
    "featureStart": 1,
    "featureEnd": 1653,
    "targetStart": 100,
    "targetEnd": 1752,
    "alignedFeatureBases": 1653,
    "identityExact": "1250/1655",
    "coverageExact": "1653/1653",
    "call": null
   }
  },
  {
   "id": "F25",
   "feature": "tetA",
   "featureLength": 1191,
   "target": "X06403.1",
   "targetLength": 4245,
   "targetCircular": true,
   "targetAnnotation": {
    "text": "tetracycline resistance gene",
    "location": "1581..2771"
   },
   "expected": {
    "score": 2382.0,
    "strand": "+",
    "columns": 1191,
    "identical": 1191,
    "mismatches": 0,
    "gapColumns": 0,
    "identity": 1.0,
    "coverage": 1.0,
    "featureStart": 1,
    "featureEnd": 1191,
    "targetStart": 1581,
    "targetEnd": 2771,
    "alignedFeatureBases": 1191,
    "identityExact": "1191/1191",
    "coverageExact": "1191/1191",
    "call": "match",
    "protein": {
     "uniprot": "P02981",
     "carries": true
    }
   }
  },
  {
   "id": "F26",
   "feature": "bla",
   "featureLength": 861,
   "target": "L09137.2",
   "targetLength": 2686,
   "targetCircular": true,
   "targetAnnotation": null,
   "expected": {
    "score": 1712.0,
    "strand": "-",
    "columns": 861,
    "identical": 859,
    "mismatches": 2,
    "gapColumns": 0,
    "identity": 0.9976771196283392,
    "coverage": 1.0,
    "featureStart": 1,
    "featureEnd": 861,
    "targetStart": 1626,
    "targetEnd": 2486,
    "alignedFeatureBases": 861,
    "identityExact": "859/861",
    "coverageExact": "861/861",
    "call": "match",
    "protein": {
     "uniprot": "P62593",
     "carries": false,
     "reason": "differs",
     "substitutions": [
      "V82I",
      "A182V"
     ],
     "lengths": null
    }
   }
  },
  {
   "id": "F27",
   "feature": "lacPromoter",
   "featureLength": 122,
   "target": "L09137.2",
   "targetLength": 2686,
   "targetCircular": true,
   "targetAnnotation": null,
   "expected": {
    "score": 244.0,
    "strand": "-",
    "columns": 122,
    "identical": 122,
    "mismatches": 0,
    "gapColumns": 0,
    "identity": 1.0,
    "coverage": 1.0,
    "featureStart": 1,
    "featureEnd": 122,
    "targetStart": 470,
    "targetEnd": 591,
    "alignedFeatureBases": 122,
    "identityExact": "122/122",
    "coverageExact": "122/122",
    "call": "match"
   }
  }
 ]
}
