Code Monkey home page Code Monkey logo

pmx's Introduction

WARNING:

This pmx repository is not updated anymore

pmx

Introduction

pmx (formerly pymacs) has started as a small bunch of classes to read structure files such as pdb or gro and trajectory data in gromacs xtc format. Over the years it has been extended towards a versatile (bio-) molecular structure manipulation package with some additional functionalities, e.g. gromacs file parsers and scripts for setup and analysis of free energy calculations.

Citations:

D. Seeliger and Bert L. de Groot, Biophys. J. 98(10):2309-2316 (2010)

V. Gapsys, S. Michielssens, D. Seeliger, B. L. de Groot. J. Comput. Chem. 2014, DOI: 10.1002/jcc.23804

Purpose

I mostly use pmx to write short scripts which perform some changes in pdb files, e.g. changing atom or residue names, applying some geometric transformations or doing some kind of analysis. The critical issue for these things is usually not calculation time but straightforward selection of some atoms/residues of interest, quick file parsing and data visualization, which renders a well-organized data structure and easy programming style more important than computation performance. Hence, and ideal task for Python.

Installation

Checkout the source code and run the usual python installation

git clone https://github.com/dseeliger/pmx/ pmx
cd pmx 
sudo python setup.py install

Software Requirements

Getting Started

pmx stores structure data in Python classes. The "Model" class is the uppermost class which contains severals lists of Atoms, Molecules and Chains. The following script reads a pdb file, prints some atom properties and writes the structure in gro format.

pmx data structure

The figure above shows the most important data structure. A "Model" instance contains list of chains, residues and atoms. A "Chain" instance of residues and atoms and a "Molecule" instance of a list of atoms only. Check the example scripts for how to navigate trough particular storage classes.

pmx Modules

pmx currently contains the following modules. Click on the links below for a (short) documentation

pmx Classes (the most important ones)

Using pmx

pmx's People

Contributors

dseeliger avatar matteoaldeghi avatar servaas avatar vgapsys avatar

Stargazers

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

Watchers

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

pmx's Issues

error in installation

What steps will reproduce the problem?
1. Installing pmx @ mac
2.
3.

What is the expected output? What do you see instead?
running install
running build
running build_py
creating build
creating build/lib.macosx-10.9-intel-2.7
creating build/lib.macosx-10.9-intel-2.7/pmx
copying pmx/__init__.py -> build/lib.macosx-10.9-intel-2.7/pmx
copying pmx/atom.py -> build/lib.macosx-10.9-intel-2.7/pmx
copying pmx/atomselection.py -> build/lib.macosx-10.9-intel-2.7/pmx
copying pmx/builder.py -> build/lib.macosx-10.9-intel-2.7/pmx
copying pmx/chain.py -> build/lib.macosx-10.9-intel-2.7/pmx
copying pmx/cpp.py -> build/lib.macosx-10.9-intel-2.7/pmx
copying pmx/ffparser.py -> build/lib.macosx-10.9-intel-2.7/pmx
copying pmx/forcefield.py -> build/lib.macosx-10.9-intel-2.7/pmx
copying pmx/forcefield2.py -> build/lib.macosx-10.9-intel-2.7/pmx
copying pmx/futil.py -> build/lib.macosx-10.9-intel-2.7/pmx
copying pmx/geometry.py -> build/lib.macosx-10.9-intel-2.7/pmx
copying pmx/histogram.py -> build/lib.macosx-10.9-intel-2.7/pmx
copying pmx/library.py -> build/lib.macosx-10.9-intel-2.7/pmx
copying pmx/model.py -> build/lib.macosx-10.9-intel-2.7/pmx
copying pmx/molecule.py -> build/lib.macosx-10.9-intel-2.7/pmx
copying pmx/mutdb.py -> build/lib.macosx-10.9-intel-2.7/pmx
copying pmx/ndx.py -> build/lib.macosx-10.9-intel-2.7/pmx
copying pmx/odict.py -> build/lib.macosx-10.9-intel-2.7/pmx
copying pmx/options.py -> build/lib.macosx-10.9-intel-2.7/pmx
copying pmx/parser.py -> build/lib.macosx-10.9-intel-2.7/pmx
copying pmx/rotamer.py -> build/lib.macosx-10.9-intel-2.7/pmx
copying pmx/tCNC.py -> build/lib.macosx-10.9-intel-2.7/pmx
copying pmx/xtc.py -> build/lib.macosx-10.9-intel-2.7/pmx
running build_ext
building 'pmx/_pmx' extension
creating build/temp.macosx-10.9-intel-2.7
creating build/temp.macosx-10.9-intel-2.7/src
cc -fno-strict-aliasing -fno-common -dynamic -arch x86_64 -arch i386 -g -Os 
-pipe -fno-common -fno-strict-aliasing -fwrapv -mno-fused-madd -DENABLE_DTRACE 
-DMACOSX -DNDEBUG -Wall -Wstrict-prototypes -Wshorten-64-to-32 -DNDEBUG -g 
-fwrapv -Os -Wall -Wstrict-prototypes -DENABLE_DTRACE -arch x86_64 -arch i386 
-pipe -Isrc 
-I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c 
src/Geometry.c -o build/temp.macosx-10.9-intel-2.7/src/Geometry.o
clang: error: unknown argument: '-mno-fused-madd' 
[-Wunused-command-line-argument-hard-error-in-future]
clang: note: this will be a hard error (cannot be downgraded to a warning) in 
the future

What version of the product are you using? On what operating system?
MacOs 10.9.2, 3.1 GHz Intel Core i7
8 GB 1600 MHz DDR3

Please provide any additional information below.

Although I have installed all needed packages I couldm't Install pmx 

Original issue reported on code.google.com by [email protected] on 13 Mar 2014 at 3:52

User install

Hi,

could you add a comment how to install pmx as user? I always forget how to do 
that. And new users will surely run into that. The way that is documented needs 
root privileges:

python setup.py install


Neither --help shows how to change the installation directory nor it is obvious 
how to change it from looking into the code. 

Along that: is the following actually required? It shows up after --help:

python setup.py build

Thanks
Soren

Original issue reported on code.google.com by [email protected] on 18 Feb 2015 at 7:06

Installation instructions

Hi

You recommend to make a global installation of the packages. I would recommend against this in general (as it might mess with the distribution package manager) and since most users who install this package won't have sudo rights. Installing only for the current user with python setup.py install --user is better. It will also work for normal users.

best Max

python.h not found during installation

Hi
when issuing sudo python setup.py install command, I am facing following error that python.h is not found. Any help will be appreciated.

[sudo] password for jmondal:
running install
running build
running build_py
creating build
creating build/lib.linux-x86_64-2.7
creating build/lib.linux-x86_64-2.7/pmx
copying pmx/rotamer.py -> build/lib.linux-x86_64-2.7/pmx
copying pmx/mutdb.py -> build/lib.linux-x86_64-2.7/pmx
copying pmx/histogram.py -> build/lib.linux-x86_64-2.7/pmx
copying pmx/forcefield.py -> build/lib.linux-x86_64-2.7/pmx
copying pmx/options.py -> build/lib.linux-x86_64-2.7/pmx
copying pmx/ffparser.py -> build/lib.linux-x86_64-2.7/pmx
copying pmx/model.py -> build/lib.linux-x86_64-2.7/pmx
copying pmx/geometry.py -> build/lib.linux-x86_64-2.7/pmx
copying pmx/futil.py -> build/lib.linux-x86_64-2.7/pmx
copying pmx/cpp.py -> build/lib.linux-x86_64-2.7/pmx
copying pmx/library.py -> build/lib.linux-x86_64-2.7/pmx
copying pmx/xdrfile.py -> build/lib.linux-x86_64-2.7/pmx
copying pmx/atomselection.py -> build/lib.linux-x86_64-2.7/pmx
copying pmx/init.py -> build/lib.linux-x86_64-2.7/pmx
copying pmx/ndx.py -> build/lib.linux-x86_64-2.7/pmx
copying pmx/chain.py -> build/lib.linux-x86_64-2.7/pmx
copying pmx/builder.py -> build/lib.linux-x86_64-2.7/pmx
copying pmx/molecule.py -> build/lib.linux-x86_64-2.7/pmx
copying pmx/forcefield2.py -> build/lib.linux-x86_64-2.7/pmx
copying pmx/odict.py -> build/lib.linux-x86_64-2.7/pmx
copying pmx/tCNC.py -> build/lib.linux-x86_64-2.7/pmx
copying pmx/parser.py -> build/lib.linux-x86_64-2.7/pmx
copying pmx/atom.py -> build/lib.linux-x86_64-2.7/pmx
copying pmx/xtc.py -> build/lib.linux-x86_64-2.7/pmx
running build_ext
building 'pmx/_pmx' extension
creating build/temp.linux-x86_64-2.7
creating build/temp.linux-x86_64-2.7/src
creating build/temp.linux-x86_64-2.7/src/pmx
x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -Isrc/pmx -I/usr/include/python2.7 -c src/pmx/Geometry.c -o build/temp.linux-x86_64-2.7/src/pmx/Geometry.o
In file included from src/pmx/Geometry.h:32:0,
from src/pmx/Geometry.c:31:
src/pmx/pmx.h:32:20: fatal error: Python.h: No such file or directory
#include <Python.h>
^
compilation terminated.
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

Wrong indices in xtc.Trajectory.get_box()

What steps will reproduce the problem?
1. Read XTC file with a periodic box and use get_box()
2. notice that the second column of the matrix is repeated
3. the third column is not displayed at all

What is the expected output? What do you see instead?
box matrix should be properly read

Patch in branch fix-xtc-box at:
https://code.google.com/r/rei4dan-pmx/

Original issue reported on code.google.com by [email protected] on 10 Jan 2014 at 5:24

Using degrees when should use radians

In random_rotation, uniform random numbers are generated between zero and 360.

phi = random.uniform(0.,360.)

I copied part of this code for my project and found that phi should actually be in radians, so that the range should be between 0 and 2pi. Unless something is somehow different on my system.

Test dataset and benchmarks

Hi,
I understand pmx would be under constant development but still it would be helpful for the users if a test dataset eg. tripeptide or trp cage is included in the package with intermediate analysis files.
In addition benchmarks of output free energy parameters would be helpful for users to validate their runs.
Thanks.

Hybrid topologies for nucleic acids

Hi, a project of mine involves single-stranded RNA/protein interactions, where we have some experimental / structural information on affinity changes based on single site mutations of the RNA sequence. I'm considering mutational free energy calculations as a complement to help prove our structural models.
I've noted in the code here that while there is no current support in mutate_v2.py to create hybrid topology files, there seems to be an intention of adding the relevant files (via adding mutres_dna.mtp, etc.)

Are there people who do intend to work on this that you know of? Or is this a paused feature?

pmx installation

Pmx installation
Hi dear friends. I try to install Pmx on Ubuntu 20.04 after writing the installation command, below output displayed on terminal. Is Pmx installed?
pmx

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.