Chem: collection of mostly python code for molecular visualization, QM/MM, FEP, etc

Overview

chem: collection of mostly python code for molecular visualization, QM/MM, FEP, etc. Very long-term goal is something like enzyme design. Intended for interactive use from standard python prompt.

Major features:

  • 3D visualization of molecular geometry, orbitals, ESP, etc.
  • fast OpenGL volume and isosurface rendering
  • oriented toward analysis and debugging of calculations rather than presentation
  • QM/MM driver supporting electrostatic embedding with various charge shifting schemes
  • DLC/HDLC/Redundant internal coordinates
  • transition state search (Dimer method, Lanczos method), reaction path optimization (NEB)
  • read/write .pdb, TINKER, GAMESS and NWChem files
  • model creation and setup: build polypeptides, add hydrogens and bonds, mutate residues, solvate

How to use this code:

  1. If an example in projects/ or test/ looks promising, try using that as a starting point ... all the examples are outdated or work-in-progress currently. Open an issue describing what you're interested in doing and I'll help with getting started.
  • for example, see the "Preparation" section in projects/trypsin1.py; then from the folder containing 1MCT-trimI.pdb, at a Python prompt, run execfile(' /projects/trypsin1.py')
  • add import pdb; pdb.set_trace() to step line by line
  • see "Examples" in test/vis_test.py for standalone visualization examples or
  1. Cut and paste what you need: code is kept as self-contained as possible
  • opt/dlc.py: delocalized internal coordinates (DLC) and hybrid DLC; useful for geometry opt. w/ constraints
  • opt/lbfgs.py: gradient-only BFGS and L-BFGS optimizers (i.e., no line search)
  • opt/neb.py: nudged elastic band (reaction path optimization)
  • opt/dimer.py: Dimer and Lanczos methods (transition state search)
  • qmmm/resp.py: RESP/CHELPG charge fitting (only harmonic restraints currently)
  • mm.py: slow but simple MM energy and gradient for AMBER-type force field (and Hessian for Coulomb and LJ)
  • fep.py: simple FEP, BAR free energy calculations
  • model/build.py: build polypeptides, add hydrogens and bonds, mutate residues

Requirements:

  • Python 3 w/ scipy and numpy (should mostly still work with Python 2.7)
  • OpenMM - molecular mechanics calculations
  • PySCF - quantum chemistry calculations

See misc/chem-inst.sh for setup on Debian/Ubuntu

Optionally:

Credit to chemlab (3D camera, some shaders) and speck (some shaders), among others.

License: Any published results obtained using this software should be accompanied by all code needed to replicate.

Screenshot: 1MCT.pdb shown with backbone ribbon, MM atoms as lines, QM atoms as sticks, and components of QM/MM force on each atom as yellow, cyan, magenta cylinders.

Screenshot

Create SVG drawings from vector geodata files (SHP, geojson, etc).

SVGIS Create SVG drawings from vector geodata files (SHP, geojson, etc). SVGIS is great for: creating small multiples, combining lots of datasets in a

Neil Freeman 78 Dec 09, 2022
A Python function that makes flower plots.

Flower plot A Python 3.9+ function that makes flower plots. Installation This package requires at least Python 3.9. pip install

Thomas Roder 4 Jun 12, 2022
🌀❄️🌩️ This repository contains some examples for creating 2d and 3d weather plots using matplotlib and cartopy libraries in python3.

Weather-Plotting 🌀 ❄️ 🌩️ This repository contains some examples for creating 2d and 3d weather plots using matplotlib and cartopy libraries in pytho

Giannis Dravilas 21 Dec 10, 2022
This Crash Course will cover all you need to know to start using Plotly in your projects.

Plotly Crash Course This course was designed to help you get started using Plotly. If you ever felt like your data visualization skills could use an u

Fábio Neves 2 Aug 21, 2022
A simple code for plotting figure, colorbar, and cropping with python

Python Plotting Tools This repository provides a python code to generate figures (e.g., curves and barcharts) that can be used in the paper to show th

Guanying Chen 134 Jan 02, 2023
coordinate to draw the nimbus logo on the graffitiwall

This is a community effort to draw the nimbus logo on beaconcha.in's graffitiwall. get started clone repo with git clone https://github.com/tennisbowl

4 Apr 04, 2022
eoplatform is a Python package that aims to simplify Remote Sensing Earth Observation by providing actionable information on a wide swath of RS platforms and provide a simple API for downloading and visualizing RS imagery

An Earth Observation Platform Earth Observation made easy. Report Bug | Request Feature About eoplatform is a Python package that aims to simplify Rem

Matthew Tralka 4 Aug 11, 2022
JupyterHub extension for ContainDS Dashboards

ContainDS Dashboards for JupyterHub A Dashboard publishing solution for Data Science teams to share results with decision makers. Run a private on-pre

Ideonate 179 Nov 29, 2022
Schema validation for Xarray objects

xarray-schema Schema validation for Xarray installation This package is in the early stages of development. Install it from source: pip install git+gi

carbonplan 22 Oct 31, 2022
Flexitext is a Python library that makes it easier to draw text with multiple styles in Matplotlib

Flexitext is a Python library that makes it easier to draw text with multiple styles in Matplotlib

Tomás Capretto 93 Dec 28, 2022
clock_plot provides a simple way to visualize timeseries data, mapping 24 hours onto the 360 degrees of a polar plot

clock_plot clock_plot provides a simple way to visualize timeseries data mapping 24 hours onto the 360 degrees of a polar plot. For usage, please see

12 Aug 24, 2022
A Simple Flask-Plotly Example for NTU 110-1 DSSI Class

A Simple Flask-Plotly Example for NTU 110-1 DSSI Class Live Demo Prerequisites We will use Flask and Ploty to build a Flask application. If you haven'

Ting Ni Wu 1 Dec 11, 2021
Python library that makes it easy for data scientists to create charts.

Chartify Chartify is a Python library that makes it easy for data scientists to create charts. Why use Chartify? Consistent input data format: Spend l

Spotify 3.2k Jan 04, 2023
Simple CLI python app to show a stocks graph performance. Made with Matplotlib and Tiingo.

stock-graph-python Simple CLI python app to show a stocks graph performance. Made with Matplotlib and Tiingo. Tiingo API Key You will need to add your

Toby 3 May 14, 2022
A pandas extension that solves all problems of Jalai/Iraninan/Shamsi dates

Jalali Pandas Extentsion A pandas extension that solves all problems of Jalai/Iraninan/Shamsi dates Features Series Extenstion Convert string to Jalal

51 Jan 02, 2023
Open-source demos hosted on Dash Gallery

Dash Sample Apps This repository hosts the code for over 100 open-source Dash apps written in Python or R. They can serve as a starting point for your

Plotly 2.7k Jan 07, 2023
View part of your screen in grayscale or simulated color vision deficiency.

monolens View part of your screen in grayscale or filtered to simulate color vision deficiency. Watch the demo on YouTube. Install with pip install mo

Hans Dembinski 31 Oct 11, 2022
又一个云探针

ServerStatus-Murasame 感谢ServerStatus-Hotaru,又一个云探针诞生了(大雾 本项目在ServerStatus-Hotaru的基础上使用fastapi重构了服务端,部分修改了客户端与前端 项目还在非常原始的阶段,可能存在严重的问题 演示站:https://stat

6 Oct 19, 2021
Datapane is the easiest way to create data science reports from Python.

Datapane Teams | Documentation | API Docs | Changelog | Twitter | Blog Share interactive plots and data in 3 lines of Python. Datapane is a Python lib

Datapane 744 Jan 06, 2023
Standardized plots and visualizations in Python

Standardized plots and visualizations in Python pltviz is a Python package for standardized visualization. Routine and novel plotting approaches are f

Andrew Tavis McAllister 0 Jul 09, 2022