Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

inprogress-0.1.2 #41

Closed
wants to merge 8 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
47 changes: 39 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,19 +11,50 @@ We then compare results of the simulation to Hi-C maps or microscopy, and to oth
Polychrom is not designed to make a simulation based on a Hi-C map alone, without a hypothesis in mind.
For distinction between mechanistic and data-driven models see https://pubmed.ncbi.nlm.nih.gov/26364723/

## Requirements

The following are required before installing polychrom:

* Python 3.7+
* `numpy`
* `cython`
* OpenMM

Polychrom requires OpenMM, which we currently recommend installing via conda:
```sh
conda install -c omnia openmm
```
See http://docs.openmm.org/latest/userguide/application.html#installing-openmm.
In our experience, adding ``-c conda-forge`` listed in the link above is optional.
CUDA is the fastest GPU-assisted backend to OpenMM. To use this feature with polychrom, see OpenMM CUDA installation instructions.

Other polychrom dependencies are simple, and are listed in requirements.txt.
All but joblib are installable from either conda/pip, and joblib installs well with pip.


## Installation

After installing cython and OpenMM, we recommend cloning the polychrom repository, going to its folder, and installing via:
```sh
pip install -e ./
```

## Getting Started
Polychrom documentation is hosted on readthedocs.
https://polychrom.readthedocs.io/en/latest/

One of the main uses of polychrom now is to simulate loop extrusion. An example loop extrusion simulation is presented here.
https://github.com/mirnylab/polychrom/tree/master/examples/loopExtrusion . It is a good starting point for loop extrusion simulations.

Simplest example simulation that does nothing, which is a good starting point for novel simulations or polymer physics projects.
A good starting point for novel simulations or polymer physics projects is a simulation of a single un-modified polymer chain:
https://github.com/mirnylab/polychrom/blob/master/examples/example/example.py

One of the current main uses of polychrom is to simulate loop extrusion. An example loop extrusion simulation is presented here:
https://github.com/mirnylab/polychrom/tree/master/examples/loopExtrusion, and provides a good starting point for loop extrusion simulations.


### Transitioning from openmm-polymer ("openmmlib")
Compared to openmm-polymer, it has a new storage format described here: https://github.com/mirnylab/polychrom/blob/master/examples/storage_formats/hdf5_reporter.ipynb
For backwards compatibility with analysis routines, we have legacy reporter that saves into openmmlib format
A main difference between polychrom and openmm-polymer is its new storage format, described here:
https://github.com/mirnylab/polychrom/blob/master/examples/storage_formats/hdf5_reporter.ipynb

For backwards compatibility with analysis routines, a legacy reporter can save to openmmlib format
https://github.com/mirnylab/polychrom/blob/master/examples/storage_formats/legacy_reporter.ipynb

polychrom.polymerutils.load function is backwards compatible with both new and old style
format. https://github.com/mirnylab/polychrom/blob/master/polychrom/polymerutils.py#L22
polychrom.polymerutils.load function is backwards compatible with both new and old formats: https://github.com/mirnylab/polychrom/blob/master/polychrom/polymerutils.py#L22
111 changes: 0 additions & 111 deletions Untitled.ipynb

This file was deleted.

5 changes: 2 additions & 3 deletions examples/example/example.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,15 @@
from polychrom import simulation, starting_conformations, forces, forcekits
import simtk.openmm as openmm
import os
from polychrom.hdf5_format import HDF5Reporter
from polychrom.storage import HDF5Reporter

N=10000

reporter = HDF5Reporter(folder="trajectory", max_data_length=5, overwrite=True)
sim = simulation.Simulation(
platform="CUDA",
platform="reference",
integrator="variableLangevin",
error_tol=0.003,
GPU="0",
collision_rate=0.03,
N=N,
save_decimals=2,
Expand Down
4 changes: 2 additions & 2 deletions polychrom/cli/README.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
This folder contains files that could be placed in your PATH folder.
They provide quick visualization using RasMol, and quick rMSD between two conformations. Both files use
the same path format that is aimed at quick command line experience (see docstrings inside the files).
They provide quick rMSD between two conformations with a path format
that is aimed at quick command line experience (see docstrings inside the files).

It is not by default added to PATH, but probably should be.
145 changes: 0 additions & 145 deletions polychrom/cli/show

This file was deleted.

Loading