Skip to content

Releases: ekwan/cctk

July Updates

13 Jul 19:32
Compare
Choose a tag to compare

Major changes:

  • cctk.quasiclassical now permits generation of thermally-reasonable perturbations to molecules with defined vibrational modes (based on quantum harmonic oscillator approximation). Concomitantly, a new VibrationalMode object has been defined, which can automatically be read from freq output files (Gaussian only).
  • Molecule objects can now be initiated from name or SMILES if rdkit is installed.
  • molecule.volume() is much slower and much more accurate. The old qhull-based method can be requested if accuracy is unimportant.
  • Symmetric atoms can now be detected from methyl, isopropyl, and tert-butyl groups using molecule.get_symmetric_atoms().
  • topology.find_group() can find a group within a given molecule.

Minor changes:

  • .xyz trajectories can now be read.
  • cctk.Molecule.are_isomorphic() checks if two molecules have the same connectivity, which is handy.
  • NMR shifts can now be read from Orca.

June Updates

06 Jun 22:32
Compare
Choose a tag to compare

Major changes:

  • Significant under-the-hood optimization of GaussianFile.read_file(), molecule.assign_connectivity(), and ensemble.eliminate_redundant (3-10x improvement). Backend code is more complex, especially for read_file, but behavior should be identical (there will probably be unforeseen consequences so email me if anything breaks).
  • analyze.py now uses multiprocessing for a net 100x improvement in speed. This strategy should be broadly applicable for file I/O.
  • Basis sets can now be loaded from the Basis Set Exchange (Gaussian only).
  • J-couplings can now be read from NMR jobs in Gaussian.
  • Periodic boundary conditions can be supported in molecule.assign_connectivity

Minor changes:

  • 2-letter elemental symbols are now parsed properly in .pdb files.
  • Writing a Gaussian file without #p in the route card now prints a warning instead of raising a job-ending ValueError.

Hotfix - Reading Incomplete Files

01 May 23:38
Compare
Choose a tag to compare

A variety of minor errors which emerged after last update (for both Gaussian and Orca files) have been fixed.

Rename Previous Release

01 May 23:43
Compare
Choose a tag to compare

pypi does not permit "hotfix" in releases to upload.

Orca ``.out`` File Reading

01 May 20:09
Compare
Choose a tag to compare

This update permits reading of Orca .out files and automated extraction of properties in much the same way Gaussian .out files can be read. The properties that can be extracted are fairly basic right now -- energies, frequencies, etc.

Updated analyze_orca.py and monitor_orca.py scripts have been added to the scripts/ folder.

April Updates (v2)

27 Apr 19:40
Compare
Choose a tag to compare

Major changes:

  • Speed updates to GaussianFile and Mol2File reading (several orders of magnitude for large files).
  • New functions epimerize() and renumber_to_match() have been added to Molecule, as well as additional functions to detect chirality.
  • Quasiharmonic free energy calculations employing Grimme's correction are now calculated by default and stored in Ensemble properties as quasiharmonic_gibbs_free_energy.

Minor changes:

  • Bugs pertaining to incomplete files and hanging filestreams from internal static data have been ironed out.
  • analyze.py has been given a significant cosmetic upgrade (colors!).
  • Elapsed time, temperature, gradient, max force/displacement, and internal forces/displacement can now be read from Gaussian .out files.

April Updates

17 Apr 00:07
6e81618
Compare
Choose a tag to compare

Major changes:

Documentation and theme completely overhauled. Many updates still needed.
Ensemble access API redesigned.
Code to calculate RMSD, align structures, and eliminate redundant conformations.
NMR shieldings can be extracted, symmetry-corrected, and linearly scaled.
Charges can be read.

Minor changes:

Many docstring and bugfixes.

April Updates/Refactoring

09 Apr 11:58
Compare
Choose a tag to compare

Major changes:

  • The underlying data structure of Ensemble has been changed from a list of Molecules to a dictionary of {Molecule: property}, where properties is itself a dictionary containing information from the job. The indexing of Ensemble has been changed such that most list-like behavior still behave like they used to.
  • NMR shifts, charges, forces, and dipole moments can now be read from Gaussian files, and NMR scaling can be applied.
  • Ensemble alignment and removal of redundant molecules has been refactored.

March Updates (v2)

27 Mar 18:27
Compare
Choose a tag to compare

Major changes:

  • Rolling back last release, GaussianFile now only composes ConformationalEnsemble. To handle the case where multiple unrelated molecules have been combined in the same Link1-based output file, GaussianFile.read_file() can now return a list of GaussianFile objects.
  • Link 0 Gaussian commands are now stored in GaussianFile.link0 as a dictionary and are automatically read/written to files (both input and output).
  • To prevent ambiguity, GaussianFile.header is now called GaussianFile.route_card.
  • NMR isotropic shifts are now read automatically from NMR jobs in Gaussian.
  • .mol2 files can now be written.

Minor changes:

  • Formatting on .gjf file writing has been changed, and there's an option to use atomic symbols instead of atomic numbers.
  • Varying capitalization for atomic symbols is now tolerated throughout the program.
  • There is now a method to combine multiple molecules into one molecule object (Molecule.combine_molecules).

March Updates

23 Mar 11:15
Compare
Choose a tag to compare

Major changes:

  • GaussianFile's molecules attribute can now be either Ensemble or ConformationalEnsemble, depending on if the individual molecules are compatible or not.
  • Multiple structures can now be written to the same file using Link1 syntax with the GaussianFile.write_ensemble_to_file() command.
  • Molecule atomic_numbers and geometries are now indexed from 1 internally using a custom subclass of numpy.ndarray called cctk.OneIndexedArray.

Minor changes:

  • Two new tutorials have been added.
  • More preloaded groups have been added (Cl, Br, F, I, SF5, SO3H).