TUPÃ was developed to analyze electric field properties in molecular simulations

Related tags

Deep Learningtupa
Overview

Twitter Follow

TUPÃ: Electric field analyses for molecular simulations

alt text

What is TUPÃ?

TUPÃ (pronounced as tu-pan) is a python algorithm that employs MDAnalysis engine to calculate electric fields at any point inside the simulation box throughout MD trajectories. TUPÃ also includes a PyMOL plugin to visualize electric field vectors together with molecules.

Required packages:

  • MDAnalysis >= 1.0.0
  • Python >= 3.x
  • Numpy >= 1.2.x

Installation instructions

First, make sure you have all required packages installed. For MDAnalysis installation procedures, click here.

After, just clone this repository into a folder of your choice:

git clone https://github.com/mdpoleto/tupa.git

To use TUPÃ easily, copy the directory pathway to TUPÃ folder and include an alias in your ~/.bashrc:

alias tupa="python /path/to/the/cloned/repository/TUPA.py"

To install the PyMOL plugin, open PyMOL > Plugin Manager and click on "Install New Plugin" tab. Load the TUPÃ plugin and use it via command-line within PyMOL. To usage instructions, read our FAQ.

TUPÃ Usage

TUPÃ calculations are based on parameters that are provided via a configuration file, which can be obtained via the command:

tupa -template config.conf

The configuration file usually contains:

[Environment Selection]
sele_environment      = (string)             [default: None]

[Probe Selection]
mode                = (string)             [default: None]
selatom             = (string)             [default: None]
selbond1            = (string)             [default: None]
selbond2            = (string)             [default: None]
targetcoordinate    = [float,float,float]  [default: None]
remove_self         = (True/False)         [default: False]
remove_cutoff       = (float)              [default: 1 A ]

[Solvent]
include_solvent     = (True/False)         [default: False]
solvent_cutoff      = (float)              [default: 10 A]
solvent_selection   = (string)             [default: None]

[Time]
dt                  = (integer)            [default: 1]

A complete explanation of each option in the configuration file is available via the command:

tupa -h

TUPÃ has 3 calculations MODES:

  • In ATOM mode, the coordinate of one atom will be tracked throughout the trajectory to serve as target point. If more than 1 atom is provided in the selection, the center of geometry (COG) is used as target position. An example is provided HERE.

  • In BOND mode, the midpoint between 2 atoms will be tracked throughout the trajectory to serve as target point. In this mode, the bond axis is used to calculate electric field alignment. By default, the bond axis is define as selbond1 ---> selbond2. An example is provided HERE.

  • In COORDINATE mode, a list of [X,Y,Z] coordinates will serve as target point in all trajectory frames. An example is provided HERE.

IMPORTANT:

  • All selections must be compatible with MDAnalysis syntax.
  • TUPÃ does not handle PBC images yet! Trajectories MUST be re-imaged before running TUPÃ.
  • Solvent molecules in PBC images are selected if within the cutoff. This is achieved by applying the around selection feature in MDAnalysis.
  • TUPÃ does not account for Particle Mesh Ewald (PME) electrostatic contributions! To minimize such effects, center your target as well as possible.
  • If using COORDINATE mode, make sure your trajectory has no translations and rotations. Our code does not account for rotations and translations.

TUPÃ PyMOL Plugin (pyTUPÃ)

To install pyTUPÃ plugin in PyMOL, click on Plugin > Plugin Manager and then "Install New Plugin" tab. Choose the pyTUPÃ.py file and click Install.

Our plugin has 3 functions that can be called via command line within PyMOL:

  • efield_point: create a vector at a given atom or set of coordinates.
efield_point segid LIG and name O1, efield=[-117.9143, 150.3252, 86.5553], scale=0.01, color="red", name="efield_OG"
  • efield_bond: create a vector midway between 2 selected atoms.
efield_point resname LIG and name O1, resname LIG and name C1, efield=[-94.2675, -9.6722, 58.2067], scale=0.01, color="blue", name="efield_OG-C1"
  • draw_bond_axis: create a vector representing the axis between 2 atoms.
draw_bond_axis resname LIG and name O1, resname LIG and name C1, gap=0.5, color="gray60", name="axis_OG-C1"

Citing TUPÃ

If you use TUPÃ in a scientific publication, we would appreciate citations to the following paper:

Marcelo D. Polêto, Justin A. Lemkul. TUPÃ: Electric field analysis for molecular simulations, 2022.

Bibtex entry:

@article{TUPÃ2022,
    author = {Pol\^{e}to, M D and Lemkul, J A},
    title = "{TUPÃ : Electric field analyses for molecular simulations}",
    journal = {},
    year = {},
    month = {},
    issn = {},
    doi = {},
    url = {},
    note = {},
    eprint = {},
}

Why TUPÃ?

In the Brazilian folklore, Tupã is considered a "manifestation of God in the form of thunder". To know more, refer to this.

Contact information

E-mail: [email protected] / [email protected]

You might also like...
Differentiable molecular simulation of proteins with a coarse-grained potential

Differentiable molecular simulation of proteins with a coarse-grained potential This repository contains the learned potential, simulation scripts and

Few-Shot Graph Learning for Molecular Property Prediction

Few-shot Graph Learning for Molecular Property Prediction Introduction This is the source code and dataset for the following paper: Few-shot Graph Lea

SkipGNN: Predicting Molecular Interactions with Skip-Graph Networks (Scientific Reports)
SkipGNN: Predicting Molecular Interactions with Skip-Graph Networks (Scientific Reports)

SkipGNN: Predicting Molecular Interactions with Skip-Graph Networks Molecular interaction networks are powerful resources for the discovery. While dee

MolRep: A Deep Representation Learning Library for Molecular Property Prediction
MolRep: A Deep Representation Learning Library for Molecular Property Prediction

MolRep: A Deep Representation Learning Library for Molecular Property Prediction Summary MolRep is a Python package for fairly measuring algorithmic p

Implementation of Learning Gradient Fields for Molecular Conformation Generation (ICML 2021).
Implementation of Learning Gradient Fields for Molecular Conformation Generation (ICML 2021).

[PDF] | [Slides] The official implementation of Learning Gradient Fields for Molecular Conformation Generation (ICML 2021 Long talk) Installation Inst

Kaggle | 9th place (part of) solution for the Bristol-Myers Squibb – Molecular Translation challenge

Part of the 9th place solution for the Bristol-Myers Squibb – Molecular Translation challenge translating images containing chemical structures into I

source code for https://arxiv.org/abs/2005.11248 "Accelerating Antimicrobial Discovery with Controllable Deep Generative Models and Molecular Dynamics"

Accelerating Antimicrobial Discovery with Controllable Deep Generative Models and Molecular Dynamics This work will be published in Nature Biomedical

Fast and scalable uncertainty quantification for neural molecular property prediction, accelerated optimization, and guided virtual screening.
Fast and scalable uncertainty quantification for neural molecular property prediction, accelerated optimization, and guided virtual screening.

Evidential Deep Learning for Guided Molecular Property Prediction and Discovery Ava Soleimany*, Alexander Amini*, Samuel Goldman*, Daniela Rus, Sangee

Code for the paper
Code for the paper "JANUS: Parallel Tempered Genetic Algorithm Guided by Deep Neural Networks for Inverse Molecular Design"

JANUS: Parallel Tempered Genetic Algorithm Guided by Deep Neural Networks for Inverse Molecular Design This repository contains code for the paper: JA

Comments
  • 1.4.0 branch

    1.4.0 branch

    TUPÃ update (Aug 03 2022):

    • Empty environment selection now issues an error.
      
    • Empty probe selection now issues an error.
      
    • Improved Help/Usage 
      
    • Configuration file examples are based on common syntax
      
    opened by mdpoleto 0
  • 1.3.0 branch

    1.3.0 branch

    TUPÃ update (Jun 21 2022):

    • -dumptime now accepts multiple entries
    • Add average and standard deviation values at the end of ElecField_proj_onto_bond.dat and ElecField_alignment.dat
    • Add Angle column in ElecField_alignment.dat with the average angle between Efield(t) and bond axis.
    • Fix documentation issues/typos.
    opened by mdpoleto 0
Releases(v1.4.0)
  • v1.4.0(Aug 3, 2022)

    TUPÃ update (Aug 03 2022):

    • Empty environment selection now issues an error.
      
    • Empty probe selection now issues an error.
      
    • Improved Help/Usage 
      
    • Configuration file examples are based on common syntax
      
    Source code(tar.gz)
    Source code(zip)
  • v1.3.0(Jun 22, 2022)

    TUPÃ update (Jun 21 2022):

    • -dumptime now accepts multiple entries
    • Add average and standard deviation values at the end of ElecField_proj_onto_bond.dat and ElecField_alignment.dat
    • Add Angle column in ElecField_alignment.dat with the average angle between Efield(t) and bond axis.
    • Fix documentation issues/typos.
    Source code(tar.gz)
    Source code(zip)
  • v1.2.0(Apr 18, 2022)

    TUPÃ update (Apr 18 2022):

    • Make -dump now writes the entire system instead of just the environment selection.
    • Add field average and standard deviation values at the end of ElecField.dat
    • Fix documentation issues/typos.
    • Update paper metadata
    Source code(tar.gz)
    Source code(zip)
  • v1.1.0(Mar 23, 2022)

    TUPÃ update (Mar 22 2022):

    • Inclusion of LIST mode: TUPÃ reads a file containing XYZ coordinates that will be used as the probe position. Useful for binding sites or other pockets.
    • Fix documentation issues/typos.

    pyTUPÃ update (Mar 22 2022):

    • Support for a 3D representation of electric field standard deviation as a truncated cone that involves the electric field arrow.
    Source code(tar.gz)
    Source code(zip)
  • v1.0.0(Feb 9, 2022)

    TUPÃ first release (Feb 13 2022):

    • Calculation modes available: ATOM, BOND, COORDINATE
    • Support for triclinic simulation boxes only.
    • PBC support is limited to triclinic boxes. Future versions are expected to handle PBC corrections.
    • Removal of "self-contributions" are available to the COORDINATE mode only.
    • Users can dump a specific frame as a .pdb file. Futures versions are expected to allow the extraction of the environment set coordinates.
    • Residue contributions are calculated.

    pyTUPÃ first release (Feb 13 2022):

    • Support for draw_bond, efield_bond and efield_point.
    • EField vectors can be scaled up/down
    Source code(tar.gz)
    Source code(zip)
Owner
Marcelo D. Polêto
Marcelo D. Polêto
Based on Stockfish neural network(similar to LcZero)

MarcoEngine Marco Engine - interesnaya neyronnaya shakhmatnaya set', kotoraya ispol'zuyet metod samoobucheniya(dostizheniye khoroshoy igy putem proboy

Marcus Kemaul 4 Mar 12, 2022
PULSE: Self-Supervised Photo Upsampling via Latent Space Exploration of Generative Models

PULSE: Self-Supervised Photo Upsampling via Latent Space Exploration of Generative Models Code accompanying CVPR'20 paper of the same title. Paper lin

Alex Damian 7k Dec 30, 2022
A basic reminder tool written in Python.

A simple Python Reminder Here's a basic reminder tool written in Python that speaks to the user and sends a notification. Run pip3 install pyttsx3 w

Sachit Yadav 4 Feb 05, 2022
Code for our paper "MG-GAN: A Multi-Generator Model Preventing Out-of-Distribution Samples in Pedestrian Trajectory Prediction" published at ICCV 2021.

MG-GAN: A Multi-Generator Model Preventing Out-of-Distribution Samples in Pedestrian Trajectory Prediction This repository contains the code for the p

Sven 30 Jan 05, 2023
Lyapunov-guided Deep Reinforcement Learning for Stable Online Computation Offloading in Mobile-Edge Computing Networks

PyTorch code to reproduce LyDROO algorithm [1], which is an online computation offloading algorithm to maximize the network data processing capability subject to the long-term data queue stability an

Liang HUANG 87 Dec 28, 2022
WSDM2022 "A Simple but Effective Bidirectional Extraction Framework for Relational Triple Extraction"

BiRTE WSDM2022 "A Simple but Effective Bidirectional Extraction Framework for Relational Triple Extraction" Requirements The main requirements are: py

9 Dec 27, 2022
Evaluating saliency methods on artificial data with different background types

Evaluating saliency methods on artificial data with different background types This repository contains the relevant code for the MedNeurips 2021 subm

2 Jul 05, 2022
LiDAR Distillation: Bridging the Beam-Induced Domain Gap for 3D Object Detection

LiDAR Distillation Paper | Model LiDAR Distillation: Bridging the Beam-Induced Domain Gap for 3D Object Detection Yi Wei, Zibu Wei, Yongming Rao, Jiax

Yi Wei 75 Dec 22, 2022
A PyTorch implementation of the Transformer model in "Attention is All You Need".

Attention is all you need: A Pytorch Implementation This is a PyTorch implementation of the Transformer model in "Attention is All You Need" (Ashish V

Yu-Hsiang Huang 7.1k Jan 04, 2023
AirCode: A Robust Object Encoding Method

AirCode This repo contains source codes for the arXiv preprint "AirCode: A Robust Object Encoding Method" Demo Object matching comparison when the obj

Chen Wang 30 Dec 09, 2022
Perform zero-order Hankel Transform for an 1D array (float or real valued).

perform zero-order Hankel Transform for an 1D array (float or real valued). An discrete form of Parseval theorem is guaranteed. Suit for iterative problems.

1 Jan 17, 2022
[CVPR'21 Oral] Seeing Out of tHe bOx: End-to-End Pre-training for Vision-Language Representation Learning

Seeing Out of tHe bOx: End-to-End Pre-training for Vision-Language Representation Learning [CVPR'21, Oral] By Zhicheng Huang*, Zhaoyang Zeng*, Yupan H

Multimedia Research 196 Dec 13, 2022
Neural network for digit classification powered by cuda

cuda_nn_mnist Neural network library for digit classification powered by cuda Resources The library was built to work with MNIST dataset. python-mnist

Nikita Ardashev 1 Dec 20, 2021
Constraint-based geometry sketcher for blender

Constraint-based sketcher addon for Blender that allows to create precise 2d shapes by defining a set of geometric constraints like tangent, distance,

1.7k Dec 31, 2022
A project to make Amazon Echo respond to sign language using your webcam

Making Alexa respond to Sign Language using Tensorflow.js Try the live demo Read the Blog Post on Tensorflow's Blog Coming Soon Watch the video This p

Abhishek Singh 444 Jan 03, 2023
ObsPy: A Python Toolbox for seismology/seismological observatories.

ObsPy is an open-source project dedicated to provide a Python framework for processing seismological data. It provides parsers for common file formats

ObsPy 979 Jan 07, 2023
RealFormer-Pytorch Implementation of RealFormer using pytorch

RealFormer-Pytorch Implementation of RealFormer using pytorch. Includes comparison with classical Transformer on image classification task (ViT) wrt C

Simo Ryu 90 Dec 08, 2022
NIMA: Neural IMage Assessment

PyTorch NIMA: Neural IMage Assessment PyTorch implementation of Neural IMage Assessment by Hossein Talebi and Peyman Milanfar. You can learn more from

Kyryl Truskovskyi 293 Dec 30, 2022
Deep Dual Consecutive Network for Human Pose Estimation (CVPR2021)

Beanie - is an asynchronous ODM for MongoDB, based on Motor and Pydantic. It uses an abstraction over Pydantic models and Motor collections to work wi

295 Dec 29, 2022
Organseg dags - The repository contains the codebase for multi-organ segmentation with directed acyclic graphs (DAGs) in CT.

Organseg dags - The repository contains the codebase for multi-organ segmentation with directed acyclic graphs (DAGs) in CT.

yzf 1 Jun 12, 2022