Giter Club home page Giter Club logo

qchasm / seqcrow Goto Github PK

View Code? Open in Web Editor NEW
19.0 1.0 6.0 238.51 MB

Plug-in for ChimeraX providing features for building and manipulating organic and organometallic molecules as well as displaying output from quantum chemistry computations.

License: GNU General Public License v3.0

Python 49.48% HTML 3.96% CSS 0.10% JavaScript 46.46%
quantum-chemistry-automation molecular-graphics density-functional-theory quantum-chemistry catalysis ucsf-chimerax graphical-user-interface gui ir-spectra steric-parameters

seqcrow's Introduction

SEQCROW

SEQCROW is an AaronTools-based plugin for UCSF ChimeraX, a cross-platform 3D molecular graphics program. SEQCROW extends ChimeraX by adding tools to build and modify complex molecular structures, map new catalysts and ligands onto previously-computed structures, and manage AaronTools libraries. These tools enable users to rapidly modify several structures simultaneously, providing an intuitive interface to build libraries of the complex molecular structures frequently encountered in modern quantum chemistry applications.

More information about SEQCROW features can be found on the GitHub wiki. Several tutorials for SEQCROW's tools can be found under ChimeraX's Help menu

Installation

Toolshed (recommended)

  1. On the ChimeraX menu, go to Tools → More Tools...
  2. find the SEQCROW page and click install
  3. restart ChimeraX

GitHub

  1. Download SEQCROW-1.8.9a2-py3-none-any.whl
  2. Open ChimeraX
  3. (if updating SEQCROW) On the ChimeraX command line, enter toolshed uninstall SEQCROW and restart ChimeraX
  4. On the ChimeraX command line, enter toolshed install /path/to/SEQCROW-1.8.9a2-py3-none-any.whl
  5. Restart ChimeraX
  6. If you have a personal AaronTools library already, you can specify the path to it in the SEQCROW settings. Open ChimeraX and go Favorites → Settings... → SEQCROW. You will have to restart ChimeraX if you change this setting.

File Types

  • Open
    • XYZ files
    • Gaussian input and output
    • ORCA output
    • Psi4 output files
    • FCHK files (structure and orbitals)
    • sqm output files
    • NBO .31 and .47 files
    • Q-Chem output files
  • Save
    • XYZ files
    • The Build QM Input tool can be used to save Gaussian, ORCA, Psi4, sqm, Q-Chem, and xTB input files

Tools

Quantum Chemistry

  • Build QM Input - build Gaussian, ORCA, Psi4, SQM, Q-Chem, or xTB input files
  • IR Spectrum - create a Boltzmann-averaged IR, VCD or Raman spectrum
  • Orbital Viewer - view orbitals, electron density, or Fukui functions from FCHK, ORCA output, or NBO files
  • Thermochemistry - compute thermal corrections for models with vibrational mode information
  • Visualize Normal Modes - display normal modes for models with vibrational mode information as vectors, an animation, or an IR plot
  • UV/Vis Spectrum - create a Boltzmann-averaged UV/vis or ECD spectrum from a ground state excitation computation (e.g. TD-DFT, EOM-CC, or ADC)

SEQCROW

  • AaronTools Fragment Library - browse substituents, ligands, and rings in the AaronTools library
  • Add to Personal Library - add substituents, ligands, or rings to your personal AaronTools library
  • File Info - view most of the information AaronTools parsed from a structure's file
  • Job Queue - manage QM jobs that are run with SEQCROW
  • Managed Models - restore models opened through SEQCROW to their original state

Structure Analysis

  • Buried Volume - calculate %Vbur around a center, and generate some visuals
  • Substituent Sterimol - determine the L, B1, B2, B3, B4, and B5 Sterimol parameters for a selected substituent
  • Cone Angles - calculate Tolman cone angle for unsymmetrical ligands or 'exact' bone angle
  • Ligand Sterimol - determine Sterimol or Sterimol2Vec parameters for ligands
  • Ligand Solid Angle - solid angle cast by shadow of ligand's VDW radii

Structure Editing

  • 2D Builder - get a 3D molecule from a 2D drawing
  • Bond Editor - draw covalent bonds or forming/breaking bonds, change bond lengths
  • Change Element - change an atom's element or VSEPR shape
  • Change Substituents - add or change substituents on an atomic structure
  • Fuse Ring - attach a ring to an atomic structure
  • Rotate - rotate selected atoms about a vector defined by a bond, plane, Cartesian axis, or user-defined vector
  • Swap Transition Metal Ligands - change ligands on an organometallic catalyst
  • Coordination Complex Generator - generate unique coordination complexes given a list of mono- or bidentate ligands

Structure Prediction

  • Conformer Search - use the CREST tool to do automated conformer search
  • Transition State Structures - locate potential transition state structures using reaction path interpolation methods

Selectors

  • tm - select all d-block elements
  • connected - expand selection to all atoms with a bonding path to the current selection
  • rings - any atom in a ring
  • several substituent selectors, including Me, Et, iPr, tBu, Ph, COOCH3, and SuperMes
    • more substituent selectors can be added by adding substituents with the Add to Personal Library tool
    • these selectors depend only on elements and bonding patterns, not atom name, serial number, residue, etc.

Mouse Modes

These can be activated using the mousemode command or the "More Right Mouse" tab on ChimeraX's toolbar

  • select fragment - select everything with a bonding path to clicked atoms or bonds
  • select same types - select all fragments that are the same as the clicked fragment
  • bond - click and drag from one atom to another to draw a bond
  • tsbond - click and drag from one atom to another to draw a forming/breaking bond
  • change element - click an atom to change its element or VSEPR shape
  • erase structure - click atoms or bonds to delete them
  • substitute - click an atom to replace it with a substituent

Graphical Presets

  • ball-stick-endcap - all non-H atoms are represented as balls and sticks; H atoms are represented as sticks/endcaps
  • ball-stick-endcap 2 - apply ball-stick-endcap to visible atoms only
  • index labels - label each atom with its index (1-indexed)
  • sticks - all heavy atoms are represented as sticks/endcaps, most hydrogen atoms bonded to carbon are hidden
  • sticks 2 - apply sticks to visible atoms only
  • VDW - all atoms are represented as VDW spheres

In SEQCROW's settings (Favorites/Preferences → Settings... → SEQCROW), you can automatically apply one of SEQCROW's presets to a molecule opened with SEQCROW (i.e. from an XYZ, log, dat, etc. file).

Commands

  • fuseRing - attach a ring to a structure
  • highlight (~highlight) - outline atoms and bonds so they stand out more
  • rmsdAlign - calculate RMSD and align molecular structures, similar to ChimeraX's built-in align command
  • sterimol - print Sterimol L, B1, B2, B3, B4, and B5 of the selected substituents to the log
  • substitute - add or change substituents
  • tsbond (~tsbond) - display (erase) forming/breaking bond
  • percentVolumeBuried - calculate volume buried by ligands around a metal center
  • pointGroup - print the point group (Schönflies) to the log

Running jobs through SEQCROW

QM computations can be run through SEQCROW if the appropriate QM software is installed. If you are running computations on the same computer running ChimeraX, specify the executable for the software in the "SEQCROW Jobs" section of the ChimeraX settings/preferences. If you are running ChimeraX on a computing cluster, jobs can be submitted to run on the cluster. The cluster's queuing software needs to be specified in the "SEQCROW Jobs" section of the ChimeraX settings/preferences. To run the computations, go to the "run" menu on either the QM Input Builder, Transition State Structure, or Conformer Search tool. When running jobs on a cluster, ensure the job submission template is appropriate for how the QM software is installed on the cluster.

Citation

If you use SEQCROW, please cite the following:

  1. A. J. Schaefer, V. M. Ingman, and S. E. Wheeler, "SEQCROW: A ChimeraX Bundle to Facilitate Quantum Chemical Applications to Complex Molecular Systems" J. Comp. Chem. 42, 1750 (2021).

  2. V. M. Ingman, A. J. Schaefer, L. R. Andreola, and S. E. Wheeler, "QChASM: Quantum Chemistry Automation and Structure Manipulation" WIREs Comp. Mol. Sci. 11, e1510 (2021)

Other Versions

This is a plug-in for ChimeraX.

Chimera

The Chimera version of SEQCROW (ChimAARON) can be found on the Chimera branch.

ChimeraX Stable

you are here

ChimeraX Daily

For the version on the toolshed, check out the dev branch

Contact

If you have any questions, feel free to contact us at [email protected]

seqcrow's People

Contributors

ajs99778 avatar swheele2 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

seqcrow's Issues

Loading Trajectory Files

Would it be possible to allow for *.allxyz trajectory files to be loaded? Currently I need to change the extension to *.xyz and they load perfectly fine, but it would be nice to directly load the *.allxyz file as is (for book keeping purposes). Using the *.allxyz extension would also allow for the coordset slider command to be automatically entered upon loading the file.

An additional request (which may take a bit more time to implement) is allowing for ORCA xyz trajectory files to be directly loaded. These are the same as all other xyz trajectory files, but each structure is separated by a line containing the character ">". So the format is: # atoms, title, coordinates, >, # atoms, title, etc...

Thanks a bunch for your time :)

SEQCROW with ChimeraX 1.6.1

Hello,

I am unable to get SEQCROW to work with ChimeraX 1.6.1 on macOS 13.3.1 - I am not sure if I am doing something wrong, or if support just hasn't been added yet?

Thanks a bunch,
Colton

Thorium (maybe other actinides) not supported

Describe the bug
I cannot open a file containing a thorium atom.

To Reproduce
Open any Gaussian calculation with Th in it

Expected behavior
It should open!

Screenshots
image

It seems to be AaronTools based.

File tool

Analysing an NMR calculation from Orca in ChimeraX is nice. But i can not easily assign the isotropic schift values for specific atoms. In the fiile tool i find a table weith shift, element, intensity und ndx. But no explanation what ndx mean.
Can zou add a row with atom name like C2 or H5. This can be helpful for analysing NMR calculations.

Thanks for your nice work

algorithm options for TS finding

It would be great if there was an option to turn on pre-optimization for nudged elastic band calculations via the SEQROW GUI. It would make sense to have a yes/no option under "TS search options > algorithm options".

Basically any structure that I draw in ChimeraX for a NEB-TS job will require pre-optimization, especially when I'm manually manipulating a reactant structure into a product structure (to preserve atom numbering).

geom.coords is an attribute, not a function. Should be geom.coordinates()

Traceback (most recent call last):
File "/home/deo/.local/share/ChimeraX/1.1/site-packages/SEQCROW/tools/normal_modes.py", line 449, in show_anim
Xf = geom.coords() + dX
TypeError: 'numpy.ndarray' object is not callable

TypeError: 'numpy.ndarray' object is not callable

File "/home/deo/.local/share/ChimeraX/1.1/site-packages/SEQCROW/tools/normal_modes.py", line 449, in show_anim
Xf = geom.coords() + dX

problems when installing SEQCROW in ChimeraX

Describe the bug
When I trying to installing SEQCROW, there are always some problems reported

To Reproduce
Steps to reproduce the behavior:

  1. Go to ChimeraX
  2. Click on 'Tools'
  3. Click on "More Tools"
  4. Click on "SEQCROW"
  5. Click on "Install"
  6. The problems report

the problems are copyed here
Looking in indexes: https://pypi.org/simple, https://cxtoolshed.rbvi.ucsf.edu/pypi/
Processing c:\users\lenovo\downloads\seqcrow-1.6.3-py3-none-any.whl
Requirement already satisfied: scipy in d:\chimerax\chimerax\bin\lib\site-packages (from SEQCROW==1.6.3) (1.9.3)
Requirement already satisfied: psutil in d:\chimerax\chimerax\bin\lib\site-packages (from SEQCROW==1.6.3) (5.9.4)
Requirement already satisfied: ChimeraX-Core=1.2 in d:\chimerax\chimerax\bin\lib\site-packages (from SEQCROW==1.6.3) (1.6.dev202303230759)
Could not fetch URL https://pypi.org/simple/basis-set-exchange/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /simple/basis-set-exchange/ (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1129)'))) - skipping
Could not fetch URL https://cxtoolshed.rbvi.ucsf.edu/pypi/basis-set-exchange/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='cxtoolshed.rbvi.ucsf.edu', port=443): Max retries exceeded with url: /pypi/basis-set-exchange/ (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1129)'))) - skipping
Could not fetch URL https://pypi.org/simple/pip/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /simple/pip/ (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1129)'))) - skipping
Could not fetch URL https://cxtoolshed.rbvi.ucsf.edu/pypi/pip/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='cxtoolshed.rbvi.ucsf.edu', port=443): Max retries exceeded with url: /pypi/pip/ (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1129)'))) - skipping
WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1129)'))': /simple/basis-set-exchange/
WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1129)'))': /simple/basis-set-exchange/
WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1129)'))': /simple/basis-set-exchange/
WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1129)'))': /simple/basis-set-exchange/
WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1129)'))': /simple/basis-set-exchange/
WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1129)'))': /pypi/basis-set-exchange/
WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1129)'))': /pypi/basis-set-exchange/
WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1129)'))': /pypi/basis-set-exchange/
WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1129)'))': /pypi/basis-set-exchange/
WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:1129)'))': /pypi/basis-set-exchange/
ERROR: Could not find a version that satisfies the requirement basis-set-exchange (from seqcrow) (from versions: none)
ERROR: No matching distribution found for basis-set-exchange

How to build your own ligands to add to your personal library and use them in SEQCROW

Hello, I have created a diazo ligand using 2D bulilder and added it to "add to personal libary" in SEQCROW. Afterwards, I selected the two N atoms coordinated to the metal atoms for the "swap ligand" operation, but the following error occurs "LookupError: could not determine best path between 2 N 1.520100 -0.935999 -0.373990 and 1 N -1.422200 -0.283099 0.406010 File "C:\Users\49347\AppData\Local\UCSF\ChimeraX\1.7\Python311\site-packages\AaronTools\geometry.py", line 2083, in shortest_path raise LookupError( See log for complete Python traceback." How do I fix this, thank you very much!

`xTB` Error processing trigger "job finished" path should be string, bytes, ...

Thank you very much for this superb extension for ChimeraX. I wanted to use the QM Input Generator for xTB, to optimize my 2D drawn input (I prefer xTB over AM1, PM6 or any other semi empirical calculation, because of speed and accuracy.)

Describe the bug
When I use the QM Input Generator for xTB everything seems fine and the calculations also finish
successfully, but the problem I have, is that the output does not get opened up again after the calculation finsihed.

Here I tried to put all windows together that are needed to reproduce.
image

To Reproduce
Steps to reproduce the behavior:

  1. Goto QM Inputer Generator
  2. Use xTB for given strucuture and use GFN2-xTB
  3. Set "open structure" for "when finished"
  4. After successful "job" get error

Additional context
I am not sure if that is the problem, but when I look into the scratch folder I see that the folder containing my calculation has spaces in it of the form:
"Phosphan_test_opt Fri Sep 29 12.44.08 2023"
image

Could I be that the Python code does not support spaces in the path name for the folder? How can I change the folder name for the calculation?

crest xyz energies

It would be really useful to have a plot of energy vs conformer number pop up when a crest_conformers.xyz file is opened. The same structure as the plot that opens for geometry optimizations would be ideal (plotting energy vs conformer number).

The output would look something like this:

Conformer Number vs Energy

It would be useful to plot energy relative to the lowest energy structure rather than absolute energy.

Just like the plot for geometry optimizations, it would be great to have a second tab that just gives the conformer number and relative energy. I like to use this tab for scrolling through lists of geometries using the down arrow rather than clicking on each point in the plot.

Below is an example crest_conformers.xyz file. By default it contains geometries and energies, sorted from lowest energy structure to highest energy structure with energies in Hartree.

crest_conformers.txt

Loading Cluster Growth Files

Hello,

Grimmes new QCG docking algorithm (https://doi.org/10.1021/acs.jctc.2c00239) produces an XYZ ensemble file (example attached below) where each structure has one more solvent molecule than the previous. To the best of my knowledge, there is currently no convenient way to load all of these structures. As such, I am just wondering if it would be possible to support loading this type of file? Maybe the extension 'growxyz' could be used to distinguish these files from other ensemble files?

Thanks a bunch,
Colton

qcg_grow.txt

gui for scans

I love the feature for constrained geometry searches that allows you to point and click at the bonds, angles, torsions to be constrained.

It would be amazing if there was a similar feature for pointing and clicking at the bonds, angles, torsions to be scanned in a constrained geometry optimization. (It is always a hiccup to go back and remember the syntax for scanning a particular geometric parameter).

It would also be awesome to have a gui option for defining the parameters of the scan (from x to y in z equal steps).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.