Skip to main content

PyFraME: Python tools for Fragment-based Multiscale Embedding

Project description

PyFraME: Python tools for Fragment-based Multiscale Embedding calculations

Copyright (C) 2017-2018 Jógvan Magnus Haugaard Olsen

PyFraME is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

PyFraME is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with PyFraME. If not, see



PyFraME is a Python package that provides tools for setting up fragment-based multiscale embedding calculations. The aim is to provide tools that can automatize the workflow of such calculations in a flexible manner.

The typical workflow is as follows:

  1. a part of the total molecular system is chosen as the core region which is typically treated a high level of theory
  2. the remainder is split into a number of regions each of which can be treated at different levels of theory
  3. each region (except the core) is divided into fragments that consist of either small molecules or parts of larger molecules that have been fragmented into smaller computationally manageable fragments
  4. a calculation is run on each fragment to obtain fragment parameters (if necessary)
  5. all fragment parameters of all regions are assembled and constitute the embedding potential
  6. a final calculation is run on the core region using the embedding potential to model the effect from the remainder of the molecular system

The PyFraME package can be used to automatize steps 1-5.

How to cite

To cite PyFraME please use a format similar to the following

"J. M. H. Olsen, PyFraME: Python tools for Fragment-based Multiscale Embedding (version 0.2.0), 2018,"

where the version and DOI should correspond to the actual version that was used. Note that the DOI 10.5281/zenodo.775113 represents all versions, and will always resolve to the latest one. A possible BibTeX entry can be found in the CITATION file.

Alternatively, BibTeX and other formats can be generated by Zenodo.


To use PyFraME you need:

For certain functionality you will need one or more of the following:

To run the test suite you need:


The source can be downloaded from GitLab or Zenodo, or installed directly from PyPI, as follows

pip install pyframe

To clone the repository, run the following command

git clone

The package can then be installed by typing

python install

from the PyFraME root directory. You may wish to add --user in the last line if you do not have root access / sudo rights. Note that this will install NumPy and Numba if they are not installed already.


To execute the full test suite (unit tests and integration tests) run


from the PyFraME root directory, or, if you installed from PyPI, the unit tests can be executed by typing

pytest --pyargs pyframe

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

PyFraME-0.2.0.tar.gz (151.2 kB view hashes)

Uploaded source

Built Distribution

PyFraME-0.2.0-py3-none-any.whl (171.6 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page