From: Noel O'B. <bao...@gm...> - 2007-11-30 13:53:12
|
On 30/11/2007, Jean-Didier Mar=E9chal <jea...@ua...> wrote: > Well, I see that I could have done in four lines what I managed with > twice more. > > One question though, is there any possibility to collect the root from > the gaussian output? I'm afraid not. This seems to be true for both cclib and openbabel. > I'd like to generate an input file recovering the optimized geometry and > the keywords. > > All the best, > JD > > > On Fri, 2007-11-30 at 10:08 +0000, Noel O'Boyle wrote: > > On 29/11/2007, Jean-Didier Mar=E9chal <jea...@ua...> wrot= e: > > > > Glad to hear. Let us know if you have any problems; also, we are > > > > interested to know what you are using cclib for... > > > > > > I have different projects I hope cclib to help me with (Well, once I'll > > > have understood how to use it (:-)). To get use to your module, the > > > first thing I want to do is to generate gaussian inputs extracting th= e > > > optimized geometry from a previous gaussian output. I know that sound= s > > > ruin but truth is that I work on systems with a lot of conformations and > > > which size oblige me to optimize in gas phase. So, I want to perform > > > post calculations separately afterward. Scripting the generation of this > > > inputs will be of great help for me. > > > > > > Thanks a lot, > > > > > > JD > > > > Although cclib can help you with this, our functionality overlaps a > > little bit with another Python library, OpenBabel. > > > > Here is an example of reading the output file with cclib, and creating > > a Gaussian input file with OpenBabel: > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > > import pybel > > > > from cclib.parser import ccopen > > from cclib.bridge import makeopenbabel > > > > t =3D ccopen("dvb_gopt.out") > > d =3D t.parse() > > > > obmol =3D makeopenbabel(d.atomcoords[-1], d.atomnos, d.charge, d.mult) > > mol =3D pybel.Molecule(obmol) > > print mol.write("gau") > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > > > > However, OpenBabel can also read Gaussian output files, so in this > > case it's easier just to do: > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > > import pybel > > > > mol =3D pybel.readfile("g03", "dvb_gopt.out").next() > > print mol.write("gau") > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > > > > cclib has the advantage of giving you access to lots of other > > information, it can read output files from more computational > > chemistry packages, and it provides implementations of several > > computational chemistry algorithms. OpenBabel can read and write a > > very large number of molecular file formats, and provides access to > > several algorithms for manipulating chemical structures. > > > > It's easy to interconvert data from one to the other, so you can > > easily use them both. > > > > Noel > > |