Structure builder & converter
Build, edit and convert molecular and periodic structures in
3D — everything runs in your browser, nothing is uploaded. Paste or upload
XYZ, PDB, CIF,
VASP POSCAR/CONTCAR or TURBOMOLE coord,
start from an example, or draw a molecule atom by atom in the 3D view —
the TURBOMOLE coord file is always ready on the right.
This is step 1: prepare the
structure here, then Use in input
generator → builds the matching control file.
| View | |
|---|---|
| drag, or right-drag | turn |
| Ctrl drag, middle-drag | move |
| wheel | zoom |
| arrow keys | pan |
| Selection | |
| click an atom | select — again to drop |
| Shift drag | box-select |
| Alt drag | turn the selected atoms |
| Ctrl middle-drag | move the selected atoms |
| Draw mode | |
| click empty / an atom | place, grow a chain |
| click a bond | cycle its order |
| Alt click | retype an atom, split a bond |
| double-click, Esc | stop the chain |
| Keys | |
| Delete | remove the selected atoms |
| Ctrl/Cmd Z | undo · with Shift redo |
| c | re-center the view |
| h | this card |
| Esc | close, stop, leave, clear — in that order |
The selection gestures need something selected — with nothing picked they move the view. The full story is under the notes below the builder.
A selection scopes what the other tabs do: hydrogens are only added to selected atoms, only they are relaxed, moved or rotated. With nothing selected the whole structure is used.
new vectors = M · old vectors, with |det M| copies of the cell contents
The repeat counts only change the 3D view until you build the supercell, which multiplies the atoms out and scales the lattice to match.
How this works
A molecule is built from a point group and the atoms that are not related by it, in Ångström from the centre of the group: ammonia is a nitrogen and one hydrogen in C3v, benzene one carbon and one hydrogen in D6h, and a C60 is a single carbon in Ih. A crystal is built from a space group, the lattice parameters and the atoms of the asymmetric unit in fractions of the cell. All 230 space groups are available with their alternative settings, and the parameters a group fixes are filled in and locked.
An atom on an axis or in a mirror plane has a shorter orbit than the order of the group, which is what the merge distance decides and what the note beside the button reports.
Surface
Cleaving needs a 3D bulk structure. The surface cell is the smallest lattice cell of that plane, the slab keeps the chosen depth of atomic layers, and the result is a 2D periodic structure with the surface in the xy plane — ready for adsorbates and the input generator. The termination offset moves the cut through the repeat distance, so a compound with more than one possible surface plane can be cut on either of them.
Cluster
Carving a cluster takes a finite piece out of the crystal and drops the periodicity, which is how a molecular calculation on a piece of a solid starts. It is centred on the middle of the structure, or on the selected atoms when there are any, which is the way to cut a cluster round a defect, an adsorption site or any other place of interest: click the atom in the 3D view first. Whole molecules keeps a molecular crystal's molecules intact, and capping saturates the bonds the cut broke.
coord
Something wrong with a structure the builder produced? Please write to contact@turbomole.org and say what you did and what you expected. Save project above writes a .json file holding the structure and every setting in the panels; attaching it is the quickest way for the problem to be reproduced exactly.
Editing a structure — how it works
- Mouse and keyboard. None of this fires while you are
typing in a field.
The three gestures on the selection need something selected. With nothing picked they move the view like any other drag or key.The mouse in the 3D view drag, or right-drag turn the view middle-drag, or Ctrl drag move the view the wheel zoom hover an atom show its label click an atom select it, click again to drop it Shift drag draw a box, select every atom inside it Alt drag turn the selected atoms about their own centre (not while Draw is on) Ctrl middle-drag move the selected atoms, keeping them under the cursor With Draw on (Atoms tab) the left button builds instead click the background place an atom and start a chain click again fix the atom that follows the cursor and carry on click nearer than the bond is long the atom goes out of the screen towards you Alt while placing send it behind the screen instead click an atom start a chain from it click a second atom bond the two, and stop there click the atom you started from stop the chain drag an atom move it drag the background nothing — right-drag turns the view double-click, or Esc stop the chain once you have stopped sketching, on what is already there click a bond raise its order: single, double, triple, single — both atoms need a free valence, so a saturated one is refused Alt click an atom change it to the chosen element Alt click a bond insert an atom into it Alt click the background place one atom on its own Keys arrow keys pan the view Shift arrow keys move the selected atoms a quarter of an Ångström Delete remove the selected atoms Ctrl/Cmd Z undo, and with Shift redo Esc close the element picker, stop a chain, leave Draw, or clear the selection — in that order c re-frame the view and reset the centre of rotation - The layout. The bar between the two panels is draggable: pull it either way to give the coord file or the builder more of the window, double-click it to even them up again, and the arrow keys nudge it when it has focus. The split is remembered for your next visit, and the 3D view resizes with it. Neither side can be squeezed below a usable width. The coord boxes can also be dragged taller from their bottom-right corner.
- The view. Hovering an atom shows its label. The button in the corner cycles ball & stick, sticks and space fill (very large structures are drawn as sticks regardless). Clicking x, y or z on the axes dial looks straight down that axis, and a second click looks from the other side. On periodic structures the images button shows the neighbouring cells faded, drawn the same way the structure is so a crystal looks like it carries on. Only the part of them next to the box is drawn: one shell of neighbours is twenty-six cells in three dimensions, which is twenty-seven times the contents and fills the screen for nothing. Bonds that run out of the box into a neighbouring cell are drawn too, so a silicon at the edge of a quartz cell is visibly four-coordinate rather than looking starved.
- Sharing and saving. Share link packs the structure into the page address and copies it, so it can be pasted into an email or a chat. The last structure is also kept in this browser, and an empty page offers to restore it. XYZ downloads the structure as a plain .xyz file, and PNG saves the current 3D view as an image, exactly as oriented and styled on screen. Save project writes the whole working state to a file: the structure and every setting in the panels, the space group and asymmetric unit, the surface being cut and how it is to be terminated and capped, the selection, and the view. Opening it again is what Upload file does with it, so a setup can be put aside, sent to somebody else, or kept beside the calculation it produced. It is also what to attach to a bug report: send it to contact@turbomole.org with a description of what you did, and the case can be reproduced exactly as you had it.
- Selecting. Click an atom in the 3D view to select it, click it again to deselect. Selected atoms are marked and numbered in the order you picked them — that order is what defines a bond, angle or dihedral. While Draw is on the left button builds instead, so turn it off to go back to selecting.
- Internal coordinates. Select 2 atoms for a bond length, 3 for an angle (the second atom is the vertex) or 4 for a dihedral. The current value appears in a box; type a new one and press Set. Bonds are perceived from covalent radii, and the whole fragment hanging off the far side of the bond moves rigidly — so setting a dihedral rotates a complete substituent, not a single atom. If the two atoms sit in a ring, cutting the bond would not separate anything, and only the last atom moves.
- Adding a second molecule. With nothing selected, insert places the chosen molecule alongside what is already there and leaves it selected, which is how dimers, clusters and host-guest pairs are built: move it with the Geometry tab, then Clean up relaxes only the newcomer against the rest.
- Atoms. Delete removes every selected atom (the Delete key does the same). Set element changes the selected atoms to the element in the box. Add atom places a new atom of that element: with one atom selected it is put at bonding distance in the direction that is still free, which is what you want for adding hydrogens.
- Drawing. Draw hands the 3D view to the mouse: click to place an atom, then click on and each new atom is bonded to the last, so a chain is drawn one click at a time. The atom that follows the cursor keeps the bond length its two elements want, so it only turns about the one before it — click nearer than that length and the rest of the bond points out of the screen at you, which is how a flat gesture builds in three dimensions; Alt sends it behind the screen instead. Click a bond to raise its order, drag an atom to move it, and hold Alt to act on what is already there rather than adding to it. A sketch is a sketch: Add H and Clean up are what turn it into a geometry worth calculating.
- Periodic systems. Wrap into cell folds every atom back into the first unit cell. Build supercell turns the repeat counts above into a real supercell — the atoms are multiplied out and the lattice is scaled to match, so the coord you get is the large cell rather than a view of it. Clean up also works on periodic structures: the cell stays exactly as it is and the atoms relax inside it, with every interaction folded over the periodic images. A structure whose lattice parameters disagree with the force field keeps that strain — expect a rattled crystal to come back, not a lattice constant to change. With atoms selected, only those relax, which is exactly what an adsorbate wants: with a surface atom selected, or nothing selected, insert on a periodic structure places the chosen molecule above the surface as a whole, leaves it selected, and one Clean up then relaxes just the adsorbate against the frozen host. Select a hydrogen, or any atom that genuinely has a free valence, and it substitutes exactly as it does on a molecule, because a molecule in a box is still a molecule. Whether a site is free is judged with the periodic images present: a graphene carbon has one neighbour inside the cell and two more across the boundary, and it is the full sp2 centre it looks like from outside.
- Building from scratch. With nothing loaded, pick an entry from insert and press Insert to start from a whole molecule, press Add atom to drop a single atom and grow outwards, or turn on Draw and sketch one straight into the 3D view. Once a structure exists, selecting one atom and inserting again attaches that group: selecting a hydrogen replaces it (the usual way to put a substituent on), while selecting a heavier atom uses its free valence. The newly attached group is relaxed against the existing structure, which stays where it is. The element for Add atom and Set element is chosen from the periodic table behind the coloured button.
- Selecting. Beyond clicking, the Select tab has All, Invert, Fragment (the whole molecule an atom belongs to), Same element and Grow (extend to bonded neighbours).
- Moving things. The Geometry tab translates, rotates about x, y or z, mirrors through a plane, centres the structure, and aligns it to its principal axes of inertia. Rotations and mirrors act about the centre of whatever is selected, so a group turns in place.
- Periodic cells. The Cell tab turns a
molecular structure into a 1D chain, 2D slab or 3D bulk
system and back. Choosing a periodicity wraps a box round the structure,
sized to it plus the gap you set — the empty space left
between one periodic image and the next, along the
periodic directions only. In 1D and 2D the remaining directions carry
no lattice vector, so nothing is repeated there and no vacuum is
needed: a 2D slab is periodic in x and y and simply
finite along z, unlike in codes that can only do 3D and have
to fake a surface with a thick empty layer. Lattice parameters
a, b, c, α, β, γ can also be typed in directly, and
Build supercell multiplies the atoms out and scales the
lattice to match. The cell is written to the coord exactly as given,
and the periodicity carries over to the
Input generator, which then produces a
ripersetup with periodic basis sets and a k-point mesh. - Add H. Fills free valences with hydrogens, placing them at the geometry the centre implies — tetrahedral, trigonal planar or linear — and staggering them against the neighbouring substituents. The free valence comes from the perceived bond orders, so an aromatic ring, a carbonyl or a nitrile each get the right number. With atoms selected, only those are filled. On a periodic structure the neighbouring images are counted first, so a graphene carbon is seen as the full sp2 centre it is and keeps its hands empty, while an adsorbate or a dangling bond left by a cut is filled as it should be.
- Clean up. Relaxes the geometry with the UFF force field (Rappé et al., J. Am. Chem. Soc. 114, 10024 (1992)) — bond stretching, angle bending, torsions, van der Waals and electrostatics (QEq charge equilibration, solved per molecule, so hydrogen bonds and dipoles behave) — and a hand-built structure comes out with sensible bond lengths and angles. The thorough switch restarts the relaxation from several twists of the rotatable bonds and keeps the best result, which rescues an eclipsed or tangled conformer that a plain relaxation would only polish in place; a twist has to be a real improvement to win, so pressing it again on a settled structure leaves it as it is. With atoms selected, only those move and the rest are frozen. This is a quick force-field pre-optimisation, not a substitute for optimising the structure with TURBOMOLE.
- Solids. The insert list carries common crystals — rock salt NaCl and MgO, diamond and silicon, Cu and Pt fcc, graphene and rutile TiO2 — each as its conventional cell with the experimental lattice constant. They insert into an empty box only, and from there the Cell tab takes over: build a supercell, cut a (hkl) surface, or hand the cell straight to the input generator.
- Metal complexes. The insert list includes organometallic and coordination templates — ferrocene, Cr(CO)6, Ni(CO)4, Fe(CO)5 and cisplatin — as whole structures to start from and edit. They carry no substitution point, because a sandwich is bound η5 and a carbonyl or amine donates a lone pair, neither of which is the σ bond that substitution here makes; inserting one replaces whatever is in the box. A ligand atom coordinated to a metal counts as complete, so Add H will not put hydrogens on the carbonyls of Cr(CO)6 — though a bare carbon on a metal still fills out to a methyl. Clean up understands metals: it carries the UFF transition-metal parameters, keeps a d8 centre such as Pt(II) square planar, recognises η-bound rings (a cleaned ferrocene keeps planar Cp rings and its Fe–C distances), and was validated against 600 DFT-optimised complexes from the tmQM set, where the median metal–ligand drift is 0.11 Å and every genuine metal–ligand bond survives. It is still a force field, so treat the result as a starting geometry, not an answer.
- Bonds. Connectivity is not stored anywhere — it is read
back from the geometry each time, exactly as TURBOMOLE and the
coordformat see it. So bonds are made and broken by moving atoms: with two atoms selected, Make brings them to bonding distance and Break moves them apart until they are no longer bonded. Breaking a bond that sits in a ring opens the ring rather than splitting the molecule, since there is still a path round the other way. Bond orders are shown in the 3D view: double and triple bonds as two and three cylinders, aromatic rings as single bonds with an inner line. They come from the same perception that decides how many hydrogens an atom wants, so what you see is what the tool believes. - Ions and hypervalent centres. There is no charge here —
a
coordfile has nowhere to put one, and the charge belongs to the Input generator instead. So valences are counted as if everything were neutral, and anything beyond that is allowed but pointed out. To protonate benzene, select a ring carbon and use Add atom: the extra hydrogen goes perpendicular to the ring, where the sp3 carbon of an arenium ion wants it, and Clean up gives the C2v benzenium geometry. Note that Add H is valence-driven, so it fills a carbocation centre as though it were a neutral radical — on an ion, add the atoms you want yourself, or select only the atoms you want filled. Set the charge afterwards in the input generator. - Building a molecule from its symmetry. The
Symmetry tab also takes a molecular point group and the atoms
that are not related by it, and applies every operation of the group
to make the rest — which is how a ring or a cage is built from the few
atoms that matter. Ammonia is a nitrogen and one hydrogen in
C3v, benzene one carbon and one hydrogen inD6h, and a C60 is a single carbon inIh, every one of the sixty being an image of it. Type the group where the space group goes:C3v,D6h,S4,D3d,Td,OhorIh, and the cell fields make way, since a molecule has none, and the coordinates are read in Ångström from the centre of the group. An atom on an axis or in a mirror plane has a shorter orbit than the order of the group, which the merge distance decides and the note reports. Going the other way, a molecule whose point group has been detected offers Use in Symmetry tab, which turns it into the standard orientation and writes down the atoms the group makes the rest from, so it can be edited and built again. The two directions use the same generator, so what one writes the other reproduces. The groups with an infinite axis,C∞vandD∞h, have no finite orbit to generate and are refused with a word saying why. - Building a crystal from its symmetry. The
Symmetry tab takes a space group, the lattice parameters and
the atoms of the asymmetric unit in fractions of the cell, and applies
every symmetry operation of the group to build the full cell. The
group can be given as a number from 1 to 230 or as a
Hermann-Mauguin symbol, in any of the ways people write it:
Pnma,P2_1/corP21/c,Fm-3morFm3m, and the olderCmcaforCmce. All 230 groups are there with their alternative settings, named in words rather than in codes — origin choice 2, hexagonal axes, unique axis b — and the parameters a group fixes are filled in and locked, so a cubic group cannot be given three different edges. Coordinates like1/3are read as fractions. A site on a special position produces fewer atoms than the order of the group, which is what the merge distance decides, and the multiplicity of each site is reported so it can be checked against the tables. If the coordinates would sit on more symmetric positions in another setting of the same group, which is the usual sign that they were published in that one, the tool says so rather than quietly building a different crystal, and it says so again when an atom of carbon, nitrogen, oxygen or fluorine comes out with more than four neighbours, which no structure has. Two settings that differ only in where the origin sits describe the same crystal with different numbers, so changing the setting offers to move the asymmetric unit across instead of reading the old numbers in the new origin: diamond is1/8 1/8 1/8in origin choice 2 and lands on a sixteenfold position in origin choice 1. Find symmetry goes the other way still: it works out the space group of the structure now loaded, from its own atoms rather than from anything it was built with, so it answers for a file that arrived from somewhere else. The lattice has its own point group, whose operations are the integer matrices that leave the cell alone; each of those paired with a translation the atoms themselves suggest is either a symmetry of the structure or it is not; and what survives is matched against the tables, allowing for where the origin sits. What it found goes into the tab whole: the group, the setting, the cell, and the structure reduced to the few sites the group makes the rest from, so that Build crystal returns the same atoms. How far an atom may sit from where an operation would put it is the tolerance beside the point group. A structure given in a primitive cell of a centred lattice has the right symmetry without the conventional axes, and is reported by its operation count rather than named. Where the sites cannot be written in the cell as it stands the atoms still go in, as P1, and the note says so. Read current cell writes the structure now loaded into the tab as P1 at any time, and Add at fraction places one atom at a fractional position — over a slab the last number is a height in Ångström, which is the quick way to park an adsorbate. - Redefining the lattice. The Cell tab can re-express the same crystal in a new cell: the new lattice vectors are an integer matrix times the old ones, and the new cell holds |det M| copies of the old contents. A √3×√3 graphene cell is M = [[2,1],[−1,1]], a 45°-rotated square cell [[1,1],[1,−1]]. Integer matrices enlarge or reshape; going to a primitive cell would need fractions, which this does not do.
- Cutting a surface. From a 3D periodic structure,
Cut slab takes Miller indices (h k l) and a number of
layers and returns the corresponding surface as a
2D-periodic system, with the surface in the
xy-plane and the slab standing on z = 0 — which is the
frame TURBOMOLE's 2D
$latticeis written in. Because a genuinely 2D calculation has no periodicity perpendicular to the surface, no vacuum padding is needed. Indices may be negative, and the surface cell is reported along with the slab thickness. The construction uses a unimodular change of basis, so a slab of n layers holds exactly n times the contents of the bulk cell. The Cut tab holds this and the cluster carving below it, under their own headings: choose the (hkl) plane, the depth in atomic layers or in Ångström, and press Preview to see the cut drawn on the bulk — the two cutting planes, and highlighted, the atoms the slab keeps — before Cleave commits it. - Which plane ends the slab. A compound usually has more than one surface it could be cut on: SrTiO3(001) ends either on SrO or on TiO2, and the two behave quite differently. The termination offset slides the cut through one repeat distance along the surface normal, as a fraction of that repeat or in Ångström, so sweeping it from 0 to 1 walks through every distinct termination the surface has. The repeat distance itself is reported beside the slab.
- Capping dangling bonds. Cutting a covalent crystal leaves broken bonds at both faces. Cap puts an atom on each one — hydrogen by default, any element you type — on the top face, the bottom face or both. What counts as a broken bond is worked out against the material the cut removed, with the slab's own periodic images in place, so atoms at the edge of the surface cell are not mistaken for under-coordinated ones. A cap with no room, because two neighbouring atoms point at the same gap, is dropped and counted rather than left overlapping. Metals are left alone: close packing has no dangling bond to saturate, and hanging a hydrogen off every contact would bury the surface.
- A finite piece of a crystal. Cut cluster, in the Cluster half of the Cut tab, carves a sphere or a box out of a periodic structure and drops the periodicity, which is how a molecular calculation on a piece of a solid starts. It is taken round the middle of the structure, or round the atoms that are selected when there are any, so a cluster can be cut on a defect, a dopant or an adsorption site by clicking that atom in the 3D view first — the panel says which it will do before you press it. Whole molecules keeps a molecular crystal's molecules intact instead of slicing through them (an extended network such as diamond has no molecules to keep, and is clipped as it stands), and cap cut bonds saturates what the cut broke. It works on sheets and chains too, so a flake can be carved out of graphene.
- Undo. Every edit is undoable. Edits rewrite the input
box as a
coordfile, so the text, the 3D view, the detected point group and the output below always agree — and you can keep editing the text by hand at any point.
Point group & symmetrize — how it works
- Detection. For a molecular structure the
Schönflies point group (e.g.
C2v,D6h,Td) is found automatically and shown in the status line and the readout below the input. It is computed from the geometry — moment-of-inertia axes plus tests of candidate rotation axes, mirror planes, inversion and improper rotations — and covers everything fromC1through the cubic and icosahedral groups, as well as linearC∞v/D∞h. - Tolerance. The tolerance field (in Å) sets how far an atom may sit from its ideal symmetric position and still count as symmetric. Loosen it to recognise the intended symmetry of a noisy geometry; tighten it to be strict.
- Symmetrize. Click Symmetrize to snap a near-symmetric geometry onto exact symmetry (atoms are averaged over their symmetry images) and orient it to a clean standard frame (principal axis along z, centred at the symmetry centre). Use it before sending a noisy structure to the Input generator — exact symmetry is what lets TURBOMOLE detect and exploit the full point group. Disabled for linear molecules (already symmetric) and hidden for periodic systems.
- You don't need a
$symmetryline: TURBOMOLE detects the point group of yourcoordand orients the molecule itself. The detected group is passed to the Input generator, where it selects the irreducible representations for excited-state inputs ($soes/$excitations).
Notes & tips
- Coordinates are written in Bohr (TURBOMOLE's native
unit); XYZ/PDB/POSCAR inputs are assumed to be in Ångström and
converted automatically (1 Bohr =
0.529177210544Å). - VASP POSCAR files produce a 3D-periodic
coordwith a$latticeblock (fractional Direct coordinates are expanded to Cartesian). Pair it with a periodic input generator setup (riper). - The structure library. The menu beside the examples holds crystal structures ready to load: metals, semiconductors, oxides, ceramics, minerals, zeolites, molecular crystals and layered materials. They come from the Crystallography Open Database, whose contents its contributors have placed in the public domain, and each one names the entry and the refinement it came from so it can be cited. Every structure was checked before it went in: the phase is the one you get at ordinary pressure, the chemistry is what the name says, and no two atoms are closer than a bond between them can be. Nothing is downloaded until you pick something.
- CIF. A crystallographic information file is read
straight in: the cell, the symmetry and the asymmetric unit, expanded
into the whole cell. Where the file lists its own symmetry operations
those are used, since a file can be written in a setting no table
holds, and the space-group name is only consulted when it gives none.
Uncertainties in brackets, charged type symbols such as
Ca2+, and site labels are all understood. A file with no symmetry block at all is read as P1, which is what a structure written out of an optimisation looks like. A disordered file, where two species share one site, is refused rather than built with two atoms in the same place. - Need SMILES, MOL/SDF or another format? Convert it to XYZ or PDB
first (e.g. with Open Babel:
obabel in.cif -O out.xyz) and paste the result here. Open Babel can also write TURBOMOLE coord directly with-o tmol. - TURBOMOLE also ships the
x2t/t2xscripts for xyz↔coord conversion on the command line.