The provenance row#
orthonym "SMILES" --provenance prints one row of JSON instead of the bare name, and Orthonym.name_tiered returns the same row as a dictionary. It says what the name is, how it was built and how it was checked.
$ orthonym "Cn1cnc2c1c(=O)n(C)c(=O)n2C" --provenance
{"name": "1,3,7-trimethyl-3,7-dihydro-1H-purine-2,6-dione", "tier": "pin_verified", "is_pin": true, "source": "pin_path", "opsin": "verified", "gates_passed": ["self_consistency"], "gate_outcome": "self_consistency_verified", "formula": null, "limit_code": null, "stereo_unexpressed": false, "suffix_free_prefix_name": false, "prefix_order_fallback": false, "verified": "opsin"}
Every field#
nameThe name, or the label for a decline. With
--emit-tierother thanpin, a decline givesnullhere.tierHow the name was built:
pin_verified,pin_unverified,systematic_verified,best_effortorabstain. See Output tiers.is_pintrueonly for a certified Preferred IUPAC Name.sourceWhich part of the engine produced the name:
pin_path(the strict path),general_engine,trivial_retained(the table of retained trivial names),t4_floor(a last-resort producer) orabstain.opsinWhat the OPSIN check found:
verified,verified_constitution_only(the constitution matched; the stereodescriptors were not compared),unverified, orn/awhen there is no name.gates_passedThe checks this name passed, for example
self_consistency(OPSIN read the name back to your structure),atom_coverage(every atom is named) orfull_key_round_trip.gate_outcomeWhat the final OPSIN check did for this name:
self_consistency_verified,full_key_round_trip_verified,self_consistency_constitution_only,suppressed(a candidate failed and was withdrawn),not_run,unavailable(no OPSIN check ran: the opt-in reduced mode without the jars), orcarveout:<class>for a name class that OPSIN cannot read.formulaThe molecular formula, given when there is no name, so a decline still tells you what came in.
limit_codeThe reason code of a decline, for example
UNSUPPORTED_ELEMENTor, at the default tier,NO_VERIFIED_PIN(the engine built a checked name that is not a verified PIN). See Declines.stereo_unexpressedtruewhen a stereocentre of your structure is not stated in the name.suffix_free_prefix_nametruewhen the name states the principal characteristic group as a prefix with no suffix, a form the recommendations do not allow.prefix_order_fallbacktruewhen abest_effortname cites its substituent prefixes in an order other than the alphanumerical one, because the name in the standard order did not pass its round trip for its stereodescriptors alone. Such a name is never a Preferred IUPAC Name; the default tier does not use it.verifiedWhether the name was read back, in one word:
opsin(OPSIN read the name back to the same molecule),opsin_constitution(OPSIN read it back with the same constitution; the stereodescriptors were not confirmed by OPSIN),identity(a name from an exact-match list: a metal-complex name found by your structure’s exact InChIKey, or a natural-product parent name found by its exact structure; OPSIN cannot read these names), orunverified(no read-back recorded).
Read tier and verified together#
The tier says how a name was built. The verified field says whether OPSIN read it back. The two can differ: at the default tier, cis-decalin gets a name in preferred-name form that OPSIN read back with the right constitution only.
$ orthonym "C1CC[C@H]2CCCC[C@H]2C1" --provenance
{"name": "(4as,8as)-decahydronaphthalene", "tier": "pin_unverified", "is_pin": false, "source": "pin_path", "opsin": "verified_constitution_only", "gates_passed": ["self_consistency_constitution_only"], "gate_outcome": "self_consistency_constitution_only", "formula": null, "limit_code": null, "stereo_unexpressed": false, "suffix_free_prefix_name": false, "prefix_order_fallback": false, "verified": "opsin_constitution"}
--provenance works for one SMILES at a time; --batch ignores it. For many molecules, loop over Orthonym.name_tiered as shown on Batch files.