MCTC-CONVERT(1)

πŸ“¦
version 0.3.2 Β· 2 versions
, in fedora 43

πŸ’– mctc-convert β€” the manual page, but make it cute ✨

okay so bestie, welcome to mctc-convert(1) β€” the little glow-up tool from the tool chain library that converts your structure files between every format we support. no cap. let's get into it πŸ’…


✨ NAME ✨

mctc-convert β€” converts between all the supported input formats of the tool chain library πŸ¦‹


🌸 SYNOPSIS 🌸

mctc-convert [options] input output

πŸŽ€ DESCRIPTION πŸŽ€

okay so here's the vibe: it reads a structure from the input file and writes it straight to the output file. how does it know which format is which? bestie, it figures it out from the file extension or from a format hint. iykyk.

and the cute part πŸ’– β€” you can read the input structure from standard input by passing - as the argument. and yeah, you can also write the output structure to standard output the same way, with - as the argument. just pls pls pls combine standard input and standard output with a format hint option, otherwise it's giving chaos.


🌈 Supported formats 🌈

  • Xmol/xyz files (xyz, log) β€” the classic ✨
  • Turbomole's coord, riper's periodic coord (tmol, coord)
  • DFTB+ genFormat geometry inputs (gen) β€” as cluster, supercell or fractional πŸ‘‘
  • VASP's POSCAR/CONTCAR input files (vasp, poscar, contcar)
  • Protein Database files (pdb) β€” only single files, no multi-file shenanigans
  • Connection table files β€” molfile (mol) and structure data format (sdf)
  • Gaussian's external program input (ein)
  • JSON input (json) β€” with qcschema_molecule or qcschema_input structure
  • Chemical JSON input (cjson)
  • FHI-AIMS' input files (geometry.in)
  • Q-Chem molecule block inputs (qchem)

πŸ’… OPTIONS πŸ’…

  • -i, --input format β€” a hint for what format the input file is in 🫢
  • -o, --output format β€” a hint for what format the output file is in ✨
  • --normalize β€” normalizes every element symbol to capitalized format. so like, cl becomes Cl, periodt πŸ’…
  • --template file β€” the file to use as a template for filling in meta data (super useful if you wanna add back your SDF or PDB annotions πŸ’–). it transfers lattice, periodicity, comments and format specific annotations from the template over to the input structure. and listen β€” if the standard input, -, is provided, the template structure gets read before the input structure. order matters bestie πŸ”₯
  • --template-format format β€” a hint for the format of the template file (only used if a template file name is actually provided, no cap)
  • --ignore-dot-files β€” do not read charge and spin from the .CHRG and .UHF files πŸ™ˆ
  • --version β€” prints the program version and dips out πŸ‘‹
  • --help β€” shows this help message 🌸

πŸ’€ real talk: the <pink>--template</pink> option eats the template structure before your input structure when you're piping from stdin. just so you're not out here surprised. main character energy requires reading the docs, bestie.

okay that's the whole page!! you're literally so good at this now, obsessed πŸ˜­πŸ’–

mctc-convert β€” from the tool chain library, this version dated 2025-07-24. go convert something iconic, bestie πŸŽ€πŸ¦‹βœ¨

πŸ“¦ where this page comes from