Skip to main content

Computational chemistry general purpose transition state builder

Project description

TSCoDe: Transition State Conformational Docker.

Systematically generate poses for bimolecular and trimolecular transition states. Support for open and cyclical transition states, exploring all regiosomeric and stereoisomeric poses.

TSCoDe Changelog

0.0.1 (Aug 10 2021)

  • First release

0.0.2 (Aug 10 2021)

  • If pivots decrease during a bend, an exception is raised. Future versions might have a different behavior in this scenario.

0.0.3 (Aug 10 2021)

  • setup.py bugfixes.

0.0.5 (Sep 1 2021)

  • SADDLE keyword implementation.
  • Added keywords print at top of log
  • Pairings are now of two types: reactive atoms (a, b, c) or NCIs (x, y, z). The latter are adjusted when specifying distances with DIST but are left free to reach their equilibrium distance (HalfSpring constraint + additional relax).
  • Major code cleaning, refactoring and reordering
  • Added solvent support for calculators (SOLVENT keyword)
  • Dihedral embeds now support both the SADDLE and NEB keywords
  • Similar structures are now pruned in a rational way: the best looking is kept (fast_score)

0.0.6 (Oct 19 2021)

  • Updated module call adding main.py file to tscode/
  • All internal imports are now relative to main module (import 'tscode.module' instead of 'import module')
  • Maximum number of conformers per molecule is now 10, since the compenetration/similarity pruning algs are faster and more efficient (still overridden by LET keyword)
  • Removed strict versioning for python required libraries
  • Removed MMFF keyword
  • Added NOEMBED, FFOPT, FFCALC, FFLEVEL and TS keywords
  • Added a Clustered Conformational Search implementation
  • Old csearch> operator is now called confab>
  • New csearch> operator is the TSCoDe conformational search engine
  • General code optimizations
  • Added profiling command line keyword (-p)

0.0.7 (Oct 20 2021)

  • Import bugfix

0.0.8 (Oct 21 2021)

  • Removed unnecessary for loop in dihedral embed NEB optimizations
  • Added pre-optimization before dihedral embed
  • Customized text can be inserted in write_structures function
  • Dihedral embed structures energies are now relative to equilibrim geometry (direct barrier height)
  • Moved "test" folder inside "tscode" (fixes bug)

0.0.9 (Dec 2021)

  • Added error message if molecule reading fails
  • Operators now support spacing after the > sign
  • csearch> operator now works for molecules with more than one conformer
  • Improved the speed of the align_vector_pair and rot_mat_from vec functions (numba)
  • Periodic table is now in pt.py, removing any cyclical import issue
  • Graph manipulations are now organized in their own file, allowing shared use (graph_manipulations.py)
  • The old Docker is now called Embedder, leaving the "Docker" name for future docking extension
  • If no embed is recognized after applying operators, run is cleanly terminated (embedder.embed attribute in RunEmbedding.run function, run.py)
  • NOEMBED keyword still works, but structure pruning now can also be performed calling the prune> operator
  • conformational search now discard symmetric rotations involving 6-membered aromatic rings like phenyl, 4-pyridyl, mesityl, ...
  • procs == None bugfix
  • secondary amides are now considered rotable by the csearch algorithm

0.1.0 (May 14 2022)

  • Refined conformational search - better parameters, torsion printout, fixed HB bugs, added secondary amides as rotable, made it faster and more scalable (random sampling overrides KMeans for n>1k)
  • Various small bug fixes and print refinements in dihedral embed and ase_neb functions
  • Added csearch_hb> operator that allows to keep the current hydrogen bonding situation in conformational sampling
  • Added approach> operator that performs automatic linear scans (ideally for locating approach energy maxima)
  • Torsional clustering: changed clustering method to DBSCAN over KMeans (better for spatial clusters)
  • Added numerous temporary "print" statements to asses code activity at all times
  • CSearch now warns when it is fed non-connected complexes of two or more molecules, if no intramolecular HBonds are found
  • CSearch now has a random dihedral variant (mode 2) used for faster conformational augmentation
  • Implemented conformational augmentation of TS candidates (random dihedral rotations, for three cycles, max 1000 new conformers generated)
  • Refined molecule reactive atoms/pairings print statements in log
  • Fully implemented the use of constrained indexes in prune>/NOEMBED runs (pairing distance can be specified now)
  • Maximum number of conformers to use in embed can be specified with the CONFS keyword
  • Removed enantiomers pruning for performance reasons
  • RIGID keyword is automatically added for cyclical embeds with >100 conformers (override with LET)
  • The NOEMBED keyword is now called REFINE, and the prune> operator is called refine>

0.2.0 (Jun 26 2022)

  • Implemented pka> operator (xtb calculator only)
  • Solved random_csearch bug (when confs < n_out)
  • Refined distance constraining for OB optimizations, guided by the target length. More accurate distances, so more accurate UFF energies for constrained structures.
  • Reincluded symmetrical aryl ring rotations in clustered_csearch (previously considered dummy and skipped)
  • Corrected bug in the approach> operator
  • Now multiple molecules are supported for approach> runs and a cumulative output is provided (distance-energy graph)
  • Random Csearch now always tries to output n_out conformers (1000 max tries), instead of generating n_out confs and discarding compenetrated ones
  • Implemented rsearch> operator
  • Added the -cl (command line) argument, to call TSCoDe without writing an inputfile
  • Added quote from database at the end of each successful run, courtesy of https://type.fit/api/quotes
  • Upgraded startup banner to a benzene-like logo
  • Added error logging to file via the logging module
  • Solved Profiler bug (adapted to new Embedder architecture)
  • Added logging for the exit status on any call to optimize(...) (supporting FF calculations too)
  • Added the tscode_procs option for embedder.options, to run python code in parallel (for now just csearch_aug implemented)

0.2.1 (2022)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tscode-0.2.0.tar.gz (309.1 kB view hashes)

Uploaded Source

Built Distribution

tscode-0.2.0-py3-none-any.whl (317.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page