MultiMM


NameMultiMM JSON
Version 1.0.6 PyPI version JSON
download
home_pagehttps://github.com/SFGLab/MultiMM
SummaryA tool for chromatin modeling from nucleosomes to chromosomal territories.
upload_time2024-09-28 08:12:36
maintainerNone
docs_urlNone
authorSebastian Korsak
requires_python>=3.10
licenseGNU General Public License v3.0
keywords
VCS
bugtrack_url
requirements scipy numpy pandas argparse matplotlib mdtraj seaborn scikit-learn configparser typing-extensions pyBigWig hilbertcurve tqdm pyvista OpenMM
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # MultiMM: An OpenMM-based software for whole genome 3D structure reconstruction

MultiMM is an OpenMM model designed for modeling the 3D structure of the whole *human* genome. Its distinguishing feature is that it is multiscale, meaning it aims to model different levels of chromatin organization, from smaller scales (nucleosomes) to the level of chromosomal territories. The algorithm is both fast and accurate. A key feature enabling its speed is GPU parallelization via OpenMM, along with smart assumptions that assist the optimizer in finding the global minimum. One such fundamental assumption is the use of a Hilbert curve as the initial structure. This helps MultiMM to converge faster because the initial structure is already highly compacted.

![GW_em](https://github.com/user-attachments/assets/3d019616-2c0f-4bfc-a792-d87fcdc0d96a)

After running the MultiMM model, users obtain a genome-wide structure. Users can color different chromosomes or compartments, or they can visualize individual chromosomes separately. MultiMM is simple to use, as it is based on modifying a single configuration file. Here we explain its usage.

![MultiMM_scales](https://github.com/user-attachments/assets/a0d14ddc-41bf-4d14-8a8c-aa418fe575b5)

## Key Features

- OpenMM based.
- User-friendly software available via PyPI.
- Efficient simulation of chromatin interactions using 3D conformations.
- Can simulate the scales of nucleosomes, TADs, compartments, chromosomal territories and interactions with lamina. Scalable simulations across different force fields and resolution levels.
- Compatible with modern GPU-accelerated simulation libraries. CPU acceleration can also be done.

## About Operating Systems

MultiMM has been tested primarily on Linux-based operating systems, with successful tests in Ubuntu, Debian, and Red Hat-based distributions. It is also possible to run it on macOS, though without CUDA support, which is helpful for accelerating computations. We do not recommend running MultiMM on Windows systems.

## Installation
MultiMM can be easily installed with pip:

```bash
pip install MultiMM
```

PyPI software: https://pypi.org/project/MultiMM/.

## Input Data

MultiMM relies on three types of datasets:

- Loop interactions in `bedpe` format (mandatory).
- Compartmentalization data in `bed` format (optional).
- ATAC-Seq p-value data in `.BigWig` format (optional).

For **loop interactions**, users need to provide a file with interactions between anchor 1 and anchor 2, and their strength. The file must be in `.bedpe` format, should contain 7 columns, and should not include a header. An example:

```text
chr10	100225000	100230000	chr10	100420000	100425000	95
chr10	100225000	100230000	chr10	101005000	101010000	56
chr10	101190000	101195000	chr10	101370000	101375000	152
chr10	101190000	101200000	chr10	101470000	101480000	181
chr10	101600000	101605000	chr10	101805000	101810000	152
```

The file may contain interactions for all chromosomes, which MultiMM can automatically model. For single-cell data, users can provide a file with the second and third columns identical (the same for the fifth and sixth columns) and strength set to 1.

For **(sub)compartment interactions**, the file should be in the format produced by the CALDER software: https://github.com/CSOgroup/CALDER2. Users do not need to run CALDER specifically, but the file format must match. The file should contain at least the first four columns with chromosome, regions, and the subcompartment label. Example:

```text
chr1	700001	900000	A.1.2.2.2.2.2.2	0.875	.	700001	900000	#FF4848
chr1	900001	1400000	A.1.1.1.1.2.1.1.1.1.1	1	.	900001	1400000	#FF0000
chr1	1400001	1850000	A.1.1.1.1.2.1.2.2.2.1	1	.	1400001	1850000	#FF0000
chr1	1850001	2100000	B.1.1.2.2.1.2.1	0.5	.	1850001	2100000	#DADAFF
```

For **ATAC-Seq data**, users should provide a file with p-values in BigWig format. The `pyBigWig` library is required, which does not work on Windows systems.

**Note:** At present, MultiMM only works for human genome data. The code may run for other organisms with some debugging and modifications.

## Usage
All the model's parameters are specified in a `config.ini` file. This file should have the following format:

```ini
[Main]

; Platform selection
PLATFORM = OpenCL

; Input data
FORCEFIELD_PATH = forcefields/ff.xml
LOOPS_PATH = /home/skorsak/Data/Rao/GSE63525_GM12878_primary+replicate_HiCCUPS_looplist_hg19.bedpe
COMPARTMENT_PATH = /home/skorsak/Data/Rao/subcompartments_primary_replicate/sub_compartments/all_sub_compartments.bed
ATACSEQ_PATH = /home/skorsak/Data/encode/ATAC-Seq/ENCSR637XSC_GM12878/ENCFF667MDI_pval.bigWig
OUT_PATH = application_note

; Simulation Parameters
N_BEADS = 50000
SHUFFLE_CHROMS = True
NUC_DO_INTERPOLATION = True

; Enable forcefield for genome-wide simulation
SC_USE_SPHERICAL_CONTAINER = True
CHB_USE_CHROMOSOMAL_BLOCKS = True
SCB_USE_SUBCOMPARTMENT_BLOCKS = True
IBL_USE_B_LAMINA_INTERACTION = True
CF_USE_CENTRAL_FORCE = True

; Simulation Parameters
SIM_RUN_MD = True
SIM_SAMPLING_STEP = 50
SIM_N_STEPS = 1000
TRJ_FRAMES = 100
```

After specifying the parameters and forces, users can run the following command in the terminal:

```bash
MultiMM -c config.ini
```

The software will output a folder with the resulting structure and plots showing compartment distribution.

Example data can be found on Google Drive: https://drive.google.com/drive/folders/1nFAPE4pCaHpeL5nw6nq0VvfUFoc24aXm?usp=sharing. Note that this data is publicly available from Rao et al. The subcompartment predictions were made using CALDER, and the ATAC-Seq data is from ENCODE.

In the `examples` folder, we provide example configuration files for different modeling scenarios.

## Vizualization

For vizualization purposes, if you would like to import the whole genome structure you may use the command,

```python
import simulation.plots as splt

splt.viz_chroms(sim_path)
```

For `sim_path` you should add the output folder directory path (add `comps=Fase` in case that you do not need compartment coloring). Otherwise, in case that the user would like to model a particular region, without using compartment or chromosome coloring (pretty much any cif structure), they can type,

```python
import simulation.plots as splt
import simulation.utils as suts

V = suts.get_coordinates_cif(cif_path)
splt.viz_structure(V)
``` 

We would like once again to thank people who developed `pyvista` library and allow us to have fast and good vizualizations of large chromatin structure.

## Simulation Arguments

MultiMM has numerous configurable parameters. Below is a description of each argument and its default values. The defaults have been tested for genome-wide simulation but can be modified in the configuration file if needed. Units are typically assumed based on OpenMM conventions, though explicit unit specification is not required.



This version should now be more precise and polished. Let me know if you'd like to adjust anything further!

| Argument Name                | Type         | Value       | Units         | Description |
|------------------------------|--------------|-------------|---------------|-------------|
| PLATFORM                     | str          | None        | None          | name of the platform. Available choices: CPU, OpenCL, CUDA. |
| DEVICE                       | str          | None        | None          | device index for CUDA or OpenCL (count from 0) |
| INITIAL_STRUCTURE_PATH       | str          | None        | None          | Path to CIF file. |
| BUILD_INITIAL_STRUCTURE      | bool         | True        | None          | To build a new initial structure. |
| INITIAL_STRUCTURE_TYPE       | str          | hilbert     | None          | you can choose between: hilbert, circle. |
| FORCEFIELD_PATH              | str          | None        | None          | Path to XML file with forcefield. |
| N_BEADS                      | int          | 50000       | None          | Number of Simulation Beads. |
| COMPARTMENT_PATH             | str          | None        | None          | It should be  a `.bed` file with subcompartments from Calder. |
| LOOPS_PATH                   | str          | None        | None          | A `.bedpe` file path with loops. It is required. |
| ATACSEQ_PATH                 | str          | None        | None          | A `.bw` or `.BigWig` file path with atacseq data for nucleosome interpolation. It is not required. |
| OUT_PATH                     | str          | results     | None          | Output folder name. |
| LOC_START                    | int          | None        | None          | Starting region coordinate (*in case that you do not want to model the whole genome*). |
| LOC_END                      | int          | None        | None          | Ending region coordinate (*in case that you do not want to model the whole genome*). |
| CHROM                        | str          | None        | None          | Chromosome that corresponds the the modelling region of interest (*in case that you do not want to model the whole genome*). |
| SHUFFLE_CHROMS               | bool         | False       | None          | Shuffle the chromosomes. |
| SHUFFLING_SEED               | int          | 0           | None          | Shuffling random seed. |
| SAVE_PLOTS                   | bool         | True        | None          | Save plots. |
| POL_USE_HARMONIC_BOND        | bool         | True        | None          | Use harmonic bond interaction for consecutive beads ($i,i\pm 1$). |
| POL_HARMONIC_BOND_R0         | float        | 0.1         | nm          | Harmonic bond distance equilibrium constant. |
| POL_HARMONIC_BOND_K          | float        | 300000.0    | kJ/mol/nm^2   | harmonic bond force constant |
| POL_USE_HARMONIC_ANGLE       | bool         | True        | None          | Use harmonic angle interaction for consecutuve beads ($i,i\pm 1, i\pm 2$). |
| POL_HARMONIC_ANGLE_R0        | float        | pi          | None (radians)   | Equilibrium angle of harmonic angle force. |
| POL_HARMONIC_ANGLE_CONSTANT_K| float        | 100.0       | kJ/mol/radian^2 | Harmonic angle force constant. |
| LE_USE_HARMONIC_BOND         | bool         | True        | None          | Use harmonic bond interaction for long range loops. |
| LE_FIXED_DISTANCES           | bool         | False       | None          | For fixed distances between loops. False if you want to correlate with the heatmap strength. |
| LE_HARMONIC_BOND_R0          | float        | 0.1         | None          | Harmonic bond distance equilibrium constant for long-range loops. |
| LE_HARMONIC_BOND_K           | float        | 30000.0     | kJ/mol/nm^2   | Harmonic bond force constant for long-range loops. |
| EV_USE_EXCLUDED_VOLUME       | bool         | True        | None          | Use excluded volume $V_{ev}=\epsilon\left(\frac{\sigma}{r+r_{\text{small}}}\right)^{\alpha}$. |
| EV_EPSILON                   | float        | 100.0       | kJ/mol          | Epsilon parameter - strength of excluded volume. |
| EV_R_SMALL                   | float        | 0.05        | nm          | Add something small in denominator to make it not exploding all the time. |
| EV_POWER                     | float        | 3.0         | None          | Power $\alpha$ in the exponent of EV potential. |
| SC_USE_SPHERICAL_CONTAINER   | bool         | False       | None          | Use Spherical container. |
| SC_RADIUS1                   | float        | None        | nm          | Inner spherical container radius. |
| SC_RADIUS2                   | float        | None        | nm          | Outer spherical container radius. |
| SC_SCALE                     | float        | 1000.0      | kJ/mol/nm^2   | Spherical container scaling factor |
| CHB_USE_CHROMOSOMAL_BLOCKS   | bool         | False       | None          | Use Chromosomal Blocks. |
| CHB_KC                       | float        | 0.3         | nm^(-4)       | Block copolymer width parameter. |
| CHB_DE                       | float        | 1e-5        | kJ/mol        | Energy factor for block copolymer chromosomal model. |
| COB_USE_COMPARTMENT_BLOCKS   | bool         | False       | kJ/mol        | Use Compartment Blocks. |
| COB_DISTANCE                 | float        | None        | nm        | Block copolymer equilibrium distance for chromosomal blocks. |
| COB_EA                       | float        | 1.0         | kJ/mol         | Energy strength for A compartment. |
| COB_EB                       | float        | 2.0         | kJ/mol         | Energy strength for B compartment. |
| SCB_USE_SUBCOMPARTMENT_BLOCKS| bool         | False       | None          | Use Subcompartment Blocks. |
| SCB_DISTANCE                 | float        | None        | nm          | Block copolymer equilibrium distance for chromosomal blocks. |
| SCB_EA1                      | float        | 1.0         | kJ/mol        | Energy strength for A1 compartment. |
| SCB_EA2                      | float        | 1.33        | kJ/mol        | Energy strength for A2 compartment. |
| SCB_EB1                      | float        | 1.66        | kJ/mol        | Energy strength for B1 compartment. |
| SCB_EB2                      | float        | 2.0         | kJ/mol        | Energy strength for B2 compartment. |
| IBL_USE_B_LAMINA_INTERACTION | bool         | False       | None          | Interactions of B compartment with lamina. |
| IBL_SCALE                    | float        | 400.0       | kJ/mol        | Scaling factor for B comoartment interaction with lamina. |
| CF_USE_CENTRAL_FORCE         | bool         | False       | None          | Attraction of smaller chromosomes to the nucleolus (in the center). |
| CF_STRENGTH                  | float        | 10.0       | kJ/mol        | Strength of Attraction of Smaller Chromosomes |
| NUC_DO_INTERPOLATION         | bool         | False       | None          | Attraction of smaller chromosomes. |
| NUC_RADIUS                   | float        | 0.1         | None          | The radius of the single nucleosome helix. |
| POINTS_PER_NUC               | int          | 20          | None          | The number of points that consist a nucleosome helix. |
| PHI_NORM                     | float        | pi/5        | None          | Zig zag angle. |
| SIM_RUN_MD                   | bool         | False       | None          | Do you want to run MD simulation? |
| SIM_N_STEPS                  | int          | None        | None          | Number of steps in MD simulation |
| SIM_ERROR_TOLERANCE          | float        | 0.01        | None          | Error tolerance for variable MD simulation |
| SIM_AMD_ALPHA                | float        | 100.0       | kJ/mol          | Alpha of AMD simulation. |
| SIM_AMD_E                    | float        | 1000.0      | kJ/mol          | E (energy) of AMD simulation. |
| SIM_SAMPLING_STEP            | int          | 100         | None          | It determines in t how many steps we save a structure. |
| SIM_INTEGRATOR_TYPE          | str          | langevin    | None          | Possible choices: variable_nagevin, langevin, variable_verlet, verlet, amd, brownian. |
| SIM_INTEGRATOR_STEP          | Quantity     | 1      | fsec  | The step of integrator. |
| SIM_FRICTION_COEFF           | float        | 0.5         | 1/psec          | Friction coefficient (Used only with langevin and brownian integrators). |
| SIM_SET_INITIAL_VELOCITIES   | bool         | False       | None          | Sets initial velocities based on Boltzmann distribution. |
| SIM_TEMPERATURE              | Quantity     | 310  | kelvin        | Simulation temperature |
| TRJ_FRAMES                   | int          | 2000        | None          | Number of trajectory frames to save. |

## Copyrights

The software is freely distributed under the GNU license and everybody can use it how they want, improve it, or apply it to their research interests. In case that the software would be used for research, we would like that you will cite our paper:

- Korsak, Sevastianos, Krzysztof Banecki, and Dariusz Plewczynski. "Multiscale Molecular Modelling of Chromatin with MultiMM: From Nucleosomes to the Whole Genome." bioRxiv (2024): 2024-07.

Please, communicate with the authors in case that you would like to contribute in this model, and you would like to improve it.


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/SFGLab/MultiMM",
    "name": "MultiMM",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": null,
    "author": "Sebastian Korsak",
    "author_email": "sebykorsak@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/f3/c8/854b1d96ef63eb3cc829e0e994cc8557b26fe060830c270bb0bcff29668d/multimm-1.0.6.tar.gz",
    "platform": null,
    "description": "# MultiMM: An OpenMM-based software for whole genome 3D structure reconstruction\n\nMultiMM is an OpenMM model designed for modeling the 3D structure of the whole *human* genome. Its distinguishing feature is that it is multiscale, meaning it aims to model different levels of chromatin organization, from smaller scales (nucleosomes) to the level of chromosomal territories. The algorithm is both fast and accurate. A key feature enabling its speed is GPU parallelization via OpenMM, along with smart assumptions that assist the optimizer in finding the global minimum. One such fundamental assumption is the use of a Hilbert curve as the initial structure. This helps MultiMM to converge faster because the initial structure is already highly compacted.\n\n![GW_em](https://github.com/user-attachments/assets/3d019616-2c0f-4bfc-a792-d87fcdc0d96a)\n\nAfter running the MultiMM model, users obtain a genome-wide structure. Users can color different chromosomes or compartments, or they can visualize individual chromosomes separately. MultiMM is simple to use, as it is based on modifying a single configuration file. Here we explain its usage.\n\n![MultiMM_scales](https://github.com/user-attachments/assets/a0d14ddc-41bf-4d14-8a8c-aa418fe575b5)\n\n## Key Features\n\n- OpenMM based.\n- User-friendly software available via PyPI.\n- Efficient simulation of chromatin interactions using 3D conformations.\n- Can simulate the scales of nucleosomes, TADs, compartments, chromosomal territories and interactions with lamina. Scalable simulations across different force fields and resolution levels.\n- Compatible with modern GPU-accelerated simulation libraries. CPU acceleration can also be done.\n\n## About Operating Systems\n\nMultiMM has been tested primarily on Linux-based operating systems, with successful tests in Ubuntu, Debian, and Red Hat-based distributions. It is also possible to run it on macOS, though without CUDA support, which is helpful for accelerating computations. We do not recommend running MultiMM on Windows systems.\n\n## Installation\nMultiMM can be easily installed with pip:\n\n```bash\npip install MultiMM\n```\n\nPyPI software: https://pypi.org/project/MultiMM/.\n\n## Input Data\n\nMultiMM relies on three types of datasets:\n\n- Loop interactions in `bedpe` format (mandatory).\n- Compartmentalization data in `bed` format (optional).\n- ATAC-Seq p-value data in `.BigWig` format (optional).\n\nFor **loop interactions**, users need to provide a file with interactions between anchor 1 and anchor 2, and their strength. The file must be in `.bedpe` format, should contain 7 columns, and should not include a header. An example:\n\n```text\nchr10\t100225000\t100230000\tchr10\t100420000\t100425000\t95\nchr10\t100225000\t100230000\tchr10\t101005000\t101010000\t56\nchr10\t101190000\t101195000\tchr10\t101370000\t101375000\t152\nchr10\t101190000\t101200000\tchr10\t101470000\t101480000\t181\nchr10\t101600000\t101605000\tchr10\t101805000\t101810000\t152\n```\n\nThe file may contain interactions for all chromosomes, which MultiMM can automatically model. For single-cell data, users can provide a file with the second and third columns identical (the same for the fifth and sixth columns) and strength set to 1.\n\nFor **(sub)compartment interactions**, the file should be in the format produced by the CALDER software: https://github.com/CSOgroup/CALDER2. Users do not need to run CALDER specifically, but the file format must match. The file should contain at least the first four columns with chromosome, regions, and the subcompartment label. Example:\n\n```text\nchr1\t700001\t900000\tA.1.2.2.2.2.2.2\t0.875\t.\t700001\t900000\t#FF4848\nchr1\t900001\t1400000\tA.1.1.1.1.2.1.1.1.1.1\t1\t.\t900001\t1400000\t#FF0000\nchr1\t1400001\t1850000\tA.1.1.1.1.2.1.2.2.2.1\t1\t.\t1400001\t1850000\t#FF0000\nchr1\t1850001\t2100000\tB.1.1.2.2.1.2.1\t0.5\t.\t1850001\t2100000\t#DADAFF\n```\n\nFor **ATAC-Seq data**, users should provide a file with p-values in BigWig format. The `pyBigWig` library is required, which does not work on Windows systems.\n\n**Note:** At present, MultiMM only works for human genome data. The code may run for other organisms with some debugging and modifications.\n\n## Usage\nAll the model's parameters are specified in a `config.ini` file. This file should have the following format:\n\n```ini\n[Main]\n\n; Platform selection\nPLATFORM = OpenCL\n\n; Input data\nFORCEFIELD_PATH = forcefields/ff.xml\nLOOPS_PATH = /home/skorsak/Data/Rao/GSE63525_GM12878_primary+replicate_HiCCUPS_looplist_hg19.bedpe\nCOMPARTMENT_PATH = /home/skorsak/Data/Rao/subcompartments_primary_replicate/sub_compartments/all_sub_compartments.bed\nATACSEQ_PATH = /home/skorsak/Data/encode/ATAC-Seq/ENCSR637XSC_GM12878/ENCFF667MDI_pval.bigWig\nOUT_PATH = application_note\n\n; Simulation Parameters\nN_BEADS = 50000\nSHUFFLE_CHROMS = True\nNUC_DO_INTERPOLATION = True\n\n; Enable forcefield for genome-wide simulation\nSC_USE_SPHERICAL_CONTAINER = True\nCHB_USE_CHROMOSOMAL_BLOCKS = True\nSCB_USE_SUBCOMPARTMENT_BLOCKS = True\nIBL_USE_B_LAMINA_INTERACTION = True\nCF_USE_CENTRAL_FORCE = True\n\n; Simulation Parameters\nSIM_RUN_MD = True\nSIM_SAMPLING_STEP = 50\nSIM_N_STEPS = 1000\nTRJ_FRAMES = 100\n```\n\nAfter specifying the parameters and forces, users can run the following command in the terminal:\n\n```bash\nMultiMM -c config.ini\n```\n\nThe software will output a folder with the resulting structure and plots showing compartment distribution.\n\nExample data can be found on Google Drive: https://drive.google.com/drive/folders/1nFAPE4pCaHpeL5nw6nq0VvfUFoc24aXm?usp=sharing. Note that this data is publicly available from Rao et al. The subcompartment predictions were made using CALDER, and the ATAC-Seq data is from ENCODE.\n\nIn the `examples` folder, we provide example configuration files for different modeling scenarios.\n\n## Vizualization\n\nFor vizualization purposes, if you would like to import the whole genome structure you may use the command,\n\n```python\nimport simulation.plots as splt\n\nsplt.viz_chroms(sim_path)\n```\n\nFor `sim_path` you should add the output folder directory path (add `comps=Fase` in case that you do not need compartment coloring). Otherwise, in case that the user would like to model a particular region, without using compartment or chromosome coloring (pretty much any cif structure), they can type,\n\n```python\nimport simulation.plots as splt\nimport simulation.utils as suts\n\nV = suts.get_coordinates_cif(cif_path)\nsplt.viz_structure(V)\n``` \n\nWe would like once again to thank people who developed `pyvista` library and allow us to have fast and good vizualizations of large chromatin structure.\n\n## Simulation Arguments\n\nMultiMM has numerous configurable parameters. Below is a description of each argument and its default values. The defaults have been tested for genome-wide simulation but can be modified in the configuration file if needed. Units are typically assumed based on OpenMM conventions, though explicit unit specification is not required.\n\n\n\nThis version should now be more precise and polished. Let me know if you'd like to adjust anything further!\n\n| Argument Name                | Type         | Value       | Units         | Description |\n|------------------------------|--------------|-------------|---------------|-------------|\n| PLATFORM                     | str          | None        | None          | name of the platform. Available choices: CPU, OpenCL, CUDA. |\n| DEVICE                       | str          | None        | None          | device index for CUDA or OpenCL (count from 0) |\n| INITIAL_STRUCTURE_PATH       | str          | None        | None          | Path to CIF file. |\n| BUILD_INITIAL_STRUCTURE      | bool         | True        | None          | To build a new initial structure. |\n| INITIAL_STRUCTURE_TYPE       | str          | hilbert     | None          | you can choose between: hilbert, circle. |\n| FORCEFIELD_PATH              | str          | None        | None          | Path to XML file with forcefield. |\n| N_BEADS                      | int          | 50000       | None          | Number of Simulation Beads. |\n| COMPARTMENT_PATH             | str          | None        | None          | It should be  a `.bed` file with subcompartments from Calder. |\n| LOOPS_PATH                   | str          | None        | None          | A `.bedpe` file path with loops. It is required. |\n| ATACSEQ_PATH                 | str          | None        | None          | A `.bw` or `.BigWig` file path with atacseq data for nucleosome interpolation. It is not required. |\n| OUT_PATH                     | str          | results     | None          | Output folder name. |\n| LOC_START                    | int          | None        | None          | Starting region coordinate (*in case that you do not want to model the whole genome*). |\n| LOC_END                      | int          | None        | None          | Ending region coordinate (*in case that you do not want to model the whole genome*). |\n| CHROM                        | str          | None        | None          | Chromosome that corresponds the the modelling region of interest (*in case that you do not want to model the whole genome*). |\n| SHUFFLE_CHROMS               | bool         | False       | None          | Shuffle the chromosomes. |\n| SHUFFLING_SEED               | int          | 0           | None          | Shuffling random seed. |\n| SAVE_PLOTS                   | bool         | True        | None          | Save plots. |\n| POL_USE_HARMONIC_BOND        | bool         | True        | None          | Use harmonic bond interaction for consecutive beads ($i,i\\pm 1$). |\n| POL_HARMONIC_BOND_R0         | float        | 0.1         | nm          | Harmonic bond distance equilibrium constant. |\n| POL_HARMONIC_BOND_K          | float        | 300000.0    | kJ/mol/nm^2   | harmonic bond force constant |\n| POL_USE_HARMONIC_ANGLE       | bool         | True        | None          | Use harmonic angle interaction for consecutuve beads ($i,i\\pm 1, i\\pm 2$). |\n| POL_HARMONIC_ANGLE_R0        | float        | pi          | None (radians)   | Equilibrium angle of harmonic angle force. |\n| POL_HARMONIC_ANGLE_CONSTANT_K| float        | 100.0       | kJ/mol/radian^2 | Harmonic angle force constant. |\n| LE_USE_HARMONIC_BOND         | bool         | True        | None          | Use harmonic bond interaction for long range loops. |\n| LE_FIXED_DISTANCES           | bool         | False       | None          | For fixed distances between loops. False if you want to correlate with the heatmap strength. |\n| LE_HARMONIC_BOND_R0          | float        | 0.1         | None          | Harmonic bond distance equilibrium constant for long-range loops. |\n| LE_HARMONIC_BOND_K           | float        | 30000.0     | kJ/mol/nm^2   | Harmonic bond force constant for long-range loops. |\n| EV_USE_EXCLUDED_VOLUME       | bool         | True        | None          | Use excluded volume $V_{ev}=\\epsilon\\left(\\frac{\\sigma}{r+r_{\\text{small}}}\\right)^{\\alpha}$. |\n| EV_EPSILON                   | float        | 100.0       | kJ/mol          | Epsilon parameter - strength of excluded volume. |\n| EV_R_SMALL                   | float        | 0.05        | nm          | Add something small in denominator to make it not exploding all the time. |\n| EV_POWER                     | float        | 3.0         | None          | Power $\\alpha$ in the exponent of EV potential. |\n| SC_USE_SPHERICAL_CONTAINER   | bool         | False       | None          | Use Spherical container. |\n| SC_RADIUS1                   | float        | None        | nm          | Inner spherical container radius. |\n| SC_RADIUS2                   | float        | None        | nm          | Outer spherical container radius. |\n| SC_SCALE                     | float        | 1000.0      | kJ/mol/nm^2   | Spherical container scaling factor |\n| CHB_USE_CHROMOSOMAL_BLOCKS   | bool         | False       | None          | Use Chromosomal Blocks. |\n| CHB_KC                       | float        | 0.3         | nm^(-4)       | Block copolymer width parameter. |\n| CHB_DE                       | float        | 1e-5        | kJ/mol        | Energy factor for block copolymer chromosomal model. |\n| COB_USE_COMPARTMENT_BLOCKS   | bool         | False       | kJ/mol        | Use Compartment Blocks. |\n| COB_DISTANCE                 | float        | None        | nm        | Block copolymer equilibrium distance for chromosomal blocks. |\n| COB_EA                       | float        | 1.0         | kJ/mol         | Energy strength for A compartment. |\n| COB_EB                       | float        | 2.0         | kJ/mol         | Energy strength for B compartment. |\n| SCB_USE_SUBCOMPARTMENT_BLOCKS| bool         | False       | None          | Use Subcompartment Blocks. |\n| SCB_DISTANCE                 | float        | None        | nm          | Block copolymer equilibrium distance for chromosomal blocks. |\n| SCB_EA1                      | float        | 1.0         | kJ/mol        | Energy strength for A1 compartment. |\n| SCB_EA2                      | float        | 1.33        | kJ/mol        | Energy strength for A2 compartment. |\n| SCB_EB1                      | float        | 1.66        | kJ/mol        | Energy strength for B1 compartment. |\n| SCB_EB2                      | float        | 2.0         | kJ/mol        | Energy strength for B2 compartment. |\n| IBL_USE_B_LAMINA_INTERACTION | bool         | False       | None          | Interactions of B compartment with lamina. |\n| IBL_SCALE                    | float        | 400.0       | kJ/mol        | Scaling factor for B comoartment interaction with lamina. |\n| CF_USE_CENTRAL_FORCE         | bool         | False       | None          | Attraction of smaller chromosomes to the nucleolus (in the center). |\n| CF_STRENGTH                  | float        | 10.0       | kJ/mol        | Strength of Attraction of Smaller Chromosomes |\n| NUC_DO_INTERPOLATION         | bool         | False       | None          | Attraction of smaller chromosomes. |\n| NUC_RADIUS                   | float        | 0.1         | None          | The radius of the single nucleosome helix. |\n| POINTS_PER_NUC               | int          | 20          | None          | The number of points that consist a nucleosome helix. |\n| PHI_NORM                     | float        | pi/5        | None          | Zig zag angle. |\n| SIM_RUN_MD                   | bool         | False       | None          | Do you want to run MD simulation? |\n| SIM_N_STEPS                  | int          | None        | None          | Number of steps in MD simulation |\n| SIM_ERROR_TOLERANCE          | float        | 0.01        | None          | Error tolerance for variable MD simulation |\n| SIM_AMD_ALPHA                | float        | 100.0       | kJ/mol          | Alpha of AMD simulation. |\n| SIM_AMD_E                    | float        | 1000.0      | kJ/mol          | E (energy) of AMD simulation. |\n| SIM_SAMPLING_STEP            | int          | 100         | None          | It determines in t how many steps we save a structure. |\n| SIM_INTEGRATOR_TYPE          | str          | langevin    | None          | Possible choices: variable_nagevin, langevin, variable_verlet, verlet, amd, brownian. |\n| SIM_INTEGRATOR_STEP          | Quantity     | 1      | fsec  | The step of integrator. |\n| SIM_FRICTION_COEFF           | float        | 0.5         | 1/psec          | Friction coefficient (Used only with langevin and brownian integrators). |\n| SIM_SET_INITIAL_VELOCITIES   | bool         | False       | None          | Sets initial velocities based on Boltzmann distribution. |\n| SIM_TEMPERATURE              | Quantity     | 310  | kelvin        | Simulation temperature |\n| TRJ_FRAMES                   | int          | 2000        | None          | Number of trajectory frames to save. |\n\n## Copyrights\n\nThe software is freely distributed under the GNU license and everybody can use it how they want, improve it, or apply it to their research interests. In case that the software would be used for research, we would like that you will cite our paper:\n\n- Korsak, Sevastianos, Krzysztof Banecki, and Dariusz Plewczynski. \"Multiscale Molecular Modelling of Chromatin with MultiMM: From Nucleosomes to the Whole Genome.\" bioRxiv (2024): 2024-07.\n\nPlease, communicate with the authors in case that you would like to contribute in this model, and you would like to improve it.\n\n",
    "bugtrack_url": null,
    "license": "GNU General Public License v3.0",
    "summary": "A tool for chromatin modeling from nucleosomes to chromosomal territories.",
    "version": "1.0.6",
    "project_urls": {
        "Homepage": "https://github.com/SFGLab/MultiMM"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4ec3933b4ef1ac9f78e731ff5f03f0a2ae678d3210450f3b15aa698dc740eda7",
                "md5": "b973471c8cefe9b94fc6f05dd25bf520",
                "sha256": "2991c2da5a7026ad249beab31bf1d8ad0df291f1ee9d4274827792f7e44225c4"
            },
            "downloads": -1,
            "filename": "MultiMM-1.0.6-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "b973471c8cefe9b94fc6f05dd25bf520",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 45621,
            "upload_time": "2024-09-28T08:12:34",
            "upload_time_iso_8601": "2024-09-28T08:12:34.672616Z",
            "url": "https://files.pythonhosted.org/packages/4e/c3/933b4ef1ac9f78e731ff5f03f0a2ae678d3210450f3b15aa698dc740eda7/MultiMM-1.0.6-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f3c8854b1d96ef63eb3cc829e0e994cc8557b26fe060830c270bb0bcff29668d",
                "md5": "6768ed7754b2fe1aece2455f1b731231",
                "sha256": "508322f022060423c7922d14dd159aac93b2ec00b3c6fd48c29de221a22c2e46"
            },
            "downloads": -1,
            "filename": "multimm-1.0.6.tar.gz",
            "has_sig": false,
            "md5_digest": "6768ed7754b2fe1aece2455f1b731231",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 41362,
            "upload_time": "2024-09-28T08:12:36",
            "upload_time_iso_8601": "2024-09-28T08:12:36.154366Z",
            "url": "https://files.pythonhosted.org/packages/f3/c8/854b1d96ef63eb3cc829e0e994cc8557b26fe060830c270bb0bcff29668d/multimm-1.0.6.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-09-28 08:12:36",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "SFGLab",
    "github_project": "MultiMM",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "scipy",
            "specs": [
                [
                    ">=",
                    "1.11"
                ]
            ]
        },
        {
            "name": "numpy",
            "specs": [
                [
                    ">=",
                    "1.26.4"
                ]
            ]
        },
        {
            "name": "pandas",
            "specs": [
                [
                    ">=",
                    "2.2.2"
                ]
            ]
        },
        {
            "name": "argparse",
            "specs": [
                [
                    ">=",
                    "1.4.0"
                ]
            ]
        },
        {
            "name": "matplotlib",
            "specs": [
                [
                    ">=",
                    "3.8.2"
                ]
            ]
        },
        {
            "name": "mdtraj",
            "specs": [
                [
                    ">=",
                    "1.9.9"
                ]
            ]
        },
        {
            "name": "seaborn",
            "specs": [
                [
                    ">=",
                    "0.12.2"
                ]
            ]
        },
        {
            "name": "scikit-learn",
            "specs": [
                [
                    ">=",
                    "1.3.0"
                ]
            ]
        },
        {
            "name": "configparser",
            "specs": [
                [
                    ">=",
                    "6.0.1"
                ]
            ]
        },
        {
            "name": "typing-extensions",
            "specs": [
                [
                    ">=",
                    "4.7.1"
                ]
            ]
        },
        {
            "name": "pyBigWig",
            "specs": [
                [
                    ">=",
                    "0.3.22"
                ]
            ]
        },
        {
            "name": "hilbertcurve",
            "specs": [
                [
                    ">=",
                    "2.0.5"
                ]
            ]
        },
        {
            "name": "tqdm",
            "specs": [
                [
                    ">=",
                    "4.65.2"
                ]
            ]
        },
        {
            "name": "pyvista",
            "specs": []
        },
        {
            "name": "OpenMM",
            "specs": [
                [
                    ">=",
                    "8.1.1"
                ]
            ]
        }
    ],
    "lcname": "multimm"
}
        
Elapsed time: 1.09480s