INCHI_MAIN(1)

πŸ“¦
version 1.07.3 Β· 5 versions
, in ubuntu resolute, ubuntu stonking

πŸ’– INCHI_MAIN(1) πŸ’–

okay bestie, gather round, because today we're learning inchi_main(1) β€” the InChI library call example that runs on the classic API. yes the classic one. she's vintage, she's reliable, she slays.


✨ NAME ✨

inchi_main β€” InChI library call example, classic API. that's the whole vibe. no notes.


πŸŽ€ SYNOPSIS πŸŽ€

inchi_main inputFile [outputFile [logFile [problemFile]]] [-option[-option...]]

so like… you give her an inputFile (mandatory, she's not optional about it πŸ’…), and then everything else is just vibes and brackets. outputFile, logFile, problemFile β€” all optional, all snuggled inside each other like nesting dolls. and then your -options. as many as you want, back to back, no spaces needed. go off queen.


πŸ‘‘ OPTIONS πŸ‘‘

πŸ“₯ Input

this is where your data comes IN, obviously. the entrance. the red carpet.

  • STDIO β€” use standard input/output streams. pipes and vibes only, no files required.
  • InpAux β€” input structures arrive in the InChI default aux. info format. note: this one's for use with STDIO, so they're a package deal, iykyk.
  • SDF:DataHeader β€” when reading from an input SDfile, grab the ID sitting under this DataHeader. she reads the label, not the tea.
  • START:n β€” start at the n-th input structure. skip the intro, we're jumping straight into the plot.
  • END:n β€” stop after the n-th input structure. that's a wrap, everyone go home.
  • RECORD:n β€” treat ONLY the n-th input structure. one and done. main character energy, no ensemble cast.

πŸ“€ Output

what she gives back. her little gifts to you 🎁

  • NoLabels β€” omit the structure number, the DataHeader, and the ID from the InChI output. anonymous. mysterious. iconic.
  • NoWarnings β€” suppress all warning messages. (the warnings are still happening, she's just not telling you πŸ™ˆ)
  • AuxNone β€” omit auxiliary information entirely.
  • SaveOpt β€” save custom InChI creation options, aka non-standard InChI. she remembers what you asked for ✨
  • Tabbed β€” separate the structure number, the InChI, and the AuxInfo with tabs. clean columns, immaculate presentation.
  • MergeHash β€” combine the InChIKey with extra hash(es) if present.
  • NoInChI β€” do NOT print the InChI string itself. wild, I know, it's literally in the name of the program. she contains multitudes.
  • OutputSDF β€” convert an InChI created with default aux. info to an SDfile.
  • SdfAtomsDT β€” output Hydrogen Isotopes to the SDfile as Atoms D and T.

πŸ” Structure perception

how she sees your molecules. reading them. understanding them. basically therapy but for atoms.

  • SNon β€” exclude stereo. (default: include absolute stereo.)
  • NEWPSOFF β€” both ends of the wedge point to stereocenters. (default: a narrow end.)
  • LooseTSACheck β€” relax the criteria for ambiguous drawing when it comes to in-ring tetrahedral stereo. be cool about it.
  • DoNotAddH β€” all H are explicit. (default: add H according to usual valences.)

🧚 Stereo perception modifiers (non-standard InChI)

okay so these ones are the non-standard InChI girlies. she's off-script and she's thriving.

  • SRel β€” relative stereo.
  • SRac β€” racemic stereo.
  • SUCF β€” use the Chiral Flag: On means Absolute stereo, Off means Relative.

🌸 Customizing InChI creation (non-standard InChI)

more non-standard behavior. she's customizing. she's building her own lore.

  • SUU β€” always include omitted unknown/undefined stereo. no more hiding.
  • SLUUD β€” make the labels for unknown and undefined stereo different from each other. yes they were the same before, yes it was confusing.
  • RecMet β€” include reconnected metals results.
  • FixedH β€” include the Fixed H layer.
  • KET β€” account for keto-enol tautomerism. (experimental!)
  • 15T β€” account for 1,5-tautomerism. (experimental!)
  • PT_22_00 β€” account for PT_22_00 tautomerism. (experimental!)
  • PT_16_00 β€” account for PT_16_00 tautomerism. (experimental!)
  • PT_06_00 β€” account for PT_06_00 tautomerism. (experimental!)
  • PT_39_00 β€” account for PT_39_00 tautomerism. (experimental!)
  • PT_13_00 β€” account for PT_13_00 tautomerism. (experimental!)
  • PT_18_00 β€” account for PT_18_00 tautomerism. (experimental!)
okay so heads up bestie: every single one of those tautomerism options is marked experimental. that word is doing a LOT of work. treat accordingly πŸ”₯

βš™οΈ Generation

the actual making of the thing. the birth of the InChI. scream, cry, throw up πŸ’€

  • Wnumber β€” set the time-out per structure in seconds. W0 means unlimited. (unlimited!! she'll wait forever. romantic.)
  • WMnumber β€” set the time-out per structure in milliseconds (int). WM0 means unlimited.
  • LargeMolecules β€” treat molecules up to 32766 atoms. (experimental!)
  • WarnOnEmptyStructure β€” warn and produce an empty InChI for an empty structure. she'll tell you, but she'll still do it.
  • Polymers β€” allow processing of polymers. (experimental!)
  • Polymers105 β€” allow processing of polymers. (experimental, and it's the legacy mode of v. 1.05 β€” vintage mode, quite demure of her.)
  • FoldCRU β€” fold the polymer CRU if inner repeats occur.
  • NoFrameShift β€” disable the polymer CRU frame shift.
  • NoEdits β€” disable the polymer CRU frame shift AND the folding. all of it. gone.
  • NPZz β€” allow non-polymer-related Zz atoms (those are pseudo element placeholders, fyi).
  • SAtZz β€” allow stereo at atoms connected to Zz. (default: disabled.)
  • Key β€” generate the InChIKey. the moment we've all been waiting for πŸ”₯
  • XHash1 β€” generate a hash extension (up to 256 bits) for the 1st block of the InChIKey.
  • XHash2 β€” generate a hash extension (up to 256 bits) for the 2nd block of the InChIKey.

πŸ”„ Conversion

she's flexible. she can be something else. metamorphosis, but chemistry.

  • InChI2Struct β€” test mode: Mol/SDfile β†’ InChI β†’ Structure β†’ (InChI+AuxInfo). a whole round trip. a journey. she left and came back changed ✈️
  • InChI2InChI β€” Convert Convert InChI string(s) into InChI string(s). (the doubled-up "Convert" is her little typo and we love her for it, no cap 🫢)

πŸ¦‹ that's the whole page πŸ¦‹

no SEE ALSO, no environment variables, no exit statuses, no examples β€” she said "keep it simple, keep it iconic." literally nothing else. that's the tea.

fr fr though: every option above is exactly as listed, nothing merged, nothing invented, nothing skipped. 40-something options and we did them ALL. we ate. πŸ‘‘

peace out bestie, and happy structure parsing, your girl INCHI_MAIN(1) πŸ’–βœ¨πŸŽ€

source/version: INCHI_MAIN(1) β€” dated 01/15/2026. that's the fine print, and she's serving it with a bow. πŸŽ€
πŸ“¦ where this page comes from