Package for handling IHM mmCIF and BinaryCIF files
Project description
This is a Python package to assist in handling mmCIF and BinaryCIF files compliant with the integrative/hybrid modeling (IHM) extension. It works with Python 2.7 or Python 3.
To handle non-integrative theoretical models (for example, homology models), see the python-modelcif package which supports files compliant with the ModelCIF extension.
Please see the documentation or some worked examples for more details.
Installation with conda, Homebrew or pip
If you are using Anaconda Python, install with
conda install -c conda-forge ihm
On a Mac with Homebrew, install with
brew tap salilab/salilab; brew install ihm
On a Fedora or RedHat Enterprise Linux box, install with
dnf copr enable salilab/salilab; dnf install python3-ihm
Alternatively, install with pip:
pip install ihm
(Note that pip builds a C extension module for faster parsing of mmCIF files.
This requires that your system has a C compiler. If you don't want to build
the C extension module, install with
pip install ihm --install-option="--without-ext"
.)
Installation from source code
To build and install from a clone of the GitHub repository, run
python setup.py build
python setup.py install
Note that a C extension module is built for faster parsing of mmCIF files.
This requires that your system has a C compiler
and SWIG. If either of these components are missing, you
can choose to build without the extension by adding --without-ext
to both
setup.py
command lines above.
If you want to read or write BinaryCIF files, you will also need the Python msgpack package.
Testing
There are a number of testcases in the test
directory. Each one can be run
like a normal Python script to test the library. They can also be all run at
once using nose
or pytest. They will also test
the C extension module if it is first built with
python setup.py build_ext --inplace
.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.