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
On an Ubuntu LTS box, install from
our PPA with
apt install software-properties-common; add-apt-repository ppa:salilab/ppa;
apt 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
.