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 to atom1 and atom2 stays fixed, but the portion bonded to atom3 and atom4 moves. 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 (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