OBROTATE(1)
β¨ OBROTATE(1) β¨
okay so you're reading the User's Reference Manual bestie, and this is the glow-up of obrotate β part of Open Babel 3.2, dated May 26, 2026. let's get into it π
πΈ NAME πΈ
obrotate β batch-rotate dihedral angles matching SMARTS patterns β¨
π¦ SYNOPSIS π¦
obrotate SMARTS-pattern filename atom1 atom2 atom3 atom4 angle
π DESCRIPTION π
so the obrotate program literally rotates the torsional (dihedral) angle of a specified bond in molecules, all the way to whatever the user defined. in other words? it does the same thing as a user setting an angle in a molecular modelling package β except much faster and in batch mode, i.e. across multiple molecules in a file. main character energy, no cap π
the four atom IDs you pass in are indexes into the SMARTS pattern, and that pattern starts at atom 0 (zero, bestie β don't forget, this is not a drill π). the angle you supply is in degrees.
and here's the slay detail: the two atoms used to set the dihedral angle, atom1 and atom4, do not need to be connected to the atoms of the bond atom2 and atom3 in any way. like, they're independent. freedom. we love that π¦
β οΈ the order of the atoms matters β the portion of the molecule attached toatom1andatom2stays fixed, but the portion bonded toatom3andatom4moves. so pick your order with intention, okay? π
π EXAMPLES π
let's say you want to define the conformation of a large number of molecules with a pyridyl scaffold, substituted with an aliphatic chain at the 3-position β for example for docking or 3D-QSAR purposes. very research-core of you π§
to set the value of the first dihedral angle to 90 degrees:
obrotate 'c1ccncc1CCC' pyridines.sdf 5 6 7 8 90
here 6 and 7 define the bond to rotate in the SMARTS pattern, i.e., c1-C, and atoms 5 and 8 define the particular dihedral angle to rotate β¨
and since the atoms that define the dihedral don't need to be directly connected (remember!), you can use the nitrogen in the pyridine:
obrotate 'c1ccncc1CCC' pyridines.sdf 4 6 7 8 90
keep the pyridyl ring fixed and move the aliphatic chain:
obrotate 'c1ccncc1CCC' pyridines.sdf 5 6 7 8 90
keep the aliphatic chain fixed and move the pyridyl ring:
obrotate 'c1ccncc1CCC' pyridines.sdf 8 7 6 5 90
see how the order flips at the end? that's the whole vibe check right there π₯
π SEE ALSO π
the web pages for Open Babel can be found at: <https://openbabel.org/>
a guide for constructing SMARTS patterns can be found at: <https://www.daylight.com/dayhtml/doc/theory/theory.smarts.html> β highly recommend, it's giving essential reading π
π AUTHORS π
the obgrep program was contributed by Fabien Fontaine (yes bestie, the page says obgrep β that's literally what's written, we're just reporting it π)
Open Babel is developed by a cast of many, including current maintainers Geoff Hutchison, Chris Morley, Michael Banck, and innumerable others who have contributed fixes and additions. for more contributors to Open Babel, see <https://openbabel.org/docs/Introduction/thanks.html> π«Ά
π COPYRIGHT π
Copyright (C) 1998-2001 by OpenEye Scientific Software, Inc. Some portions Copyright (C) 2001-2005 by Geoffrey R. Hutchison and other contributors.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation version 2 of the License.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
and that's the whole page, bestie π this was Open Babel 3.2, dated May 26, 2026 β OBROTATE(1), user's reference manual, signing off. go rotate some dihedrals, you absolute icon ππ
π¦ where this page comes from
- arch rolling: openbabel 3.2.1-1 Β· GPL-2.0-only
- opensuse-leap 16.0: openbabel 3.2.0-bp160.1.1 Β· GPL-2.0-only
- opensuse-leap 16.0: openbabel 3.2.0-bp160.1.1 Β· GPL-2.0-only
- opensuse-leap 16.0: openbabel 3.2.0-bp160.1.1 Β· GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms