MultiMM 1.0.5__tar.gz → 1.0.6__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: MultiMM
3
- Version: 1.0.5
3
+ Version: 1.0.6
4
4
  Summary: A tool for chromatin modeling from nucleosomes to chromosomal territories.
5
5
  Home-page: https://github.com/SFGLab/MultiMM
6
6
  Author: Sebastian Korsak
@@ -30,7 +30,7 @@ Requires-Dist: OpenMM
30
30
 
31
31
  # MultiMM: An OpenMM-based software for whole genome 3D structure reconstruction
32
32
 
33
- MultiMM is an OpenMM model designed for modeling the 3D structure of the whole 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.
33
+ 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.
34
34
 
35
35
  ![GW_em](https://github.com/user-attachments/assets/3d019616-2c0f-4bfc-a792-d87fcdc0d96a)
36
36
 
@@ -40,23 +40,25 @@ After running the MultiMM model, users obtain a genome-wide structure. Users can
40
40
 
41
41
  ## Key Features
42
42
 
43
+ - OpenMM based.
44
+ - User-friendly software available via PyPI.
43
45
  - Efficient simulation of chromatin interactions using 3D conformations.
44
- - Can simulate the scales of nucleosomes, TADs, compartments, chromosomal territories and interactions with lamina.
45
- - Integration with **bedpe** for chromatin structures.
46
- - Scalable simulations across different force fields and resolution levels.
47
- - Compatible with modern GPU-accelerated simulation libraries.
46
+ - Can simulate the scales of nucleosomes, TADs, compartments, chromosomal territories and interactions with lamina. Scalable simulations across different force fields and resolution levels.
47
+ - Compatible with modern GPU-accelerated simulation libraries. CPU acceleration can also be done.
48
48
 
49
49
  ## About Operating Systems
50
50
 
51
51
  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.
52
52
 
53
53
  ## Installation
54
- Create a Python 3.10 environment and type:
54
+ MultiMM can be easily installed with pip:
55
55
 
56
56
  ```bash
57
- pip install -r requirements.txt
57
+ pip install MultiMM
58
58
  ```
59
59
 
60
+ PyPI software: https://pypi.org/project/MultiMM/.
61
+
60
62
  ## Input Data
61
63
 
62
64
  MultiMM relies on three types of datasets:
@@ -128,7 +130,7 @@ TRJ_FRAMES = 100
128
130
  After specifying the parameters and forces, users can run the following command in the terminal:
129
131
 
130
132
  ```bash
131
- python run.py -c config.ini
133
+ MultiMM -c config.ini
132
134
  ```
133
135
 
134
136
  The software will output a folder with the resulting structure and plots showing compartment distribution.
@@ -137,6 +139,28 @@ Example data can be found on Google Drive: https://drive.google.com/drive/folder
137
139
 
138
140
  In the `examples` folder, we provide example configuration files for different modeling scenarios.
139
141
 
142
+ ## Vizualization
143
+
144
+ For vizualization purposes, if you would like to import the whole genome structure you may use the command,
145
+
146
+ ```python
147
+ import simulation.plots as splt
148
+
149
+ splt.viz_chroms(sim_path)
150
+ ```
151
+
152
+ 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,
153
+
154
+ ```python
155
+ import simulation.plots as splt
156
+ import simulation.utils as suts
157
+
158
+ V = suts.get_coordinates_cif(cif_path)
159
+ splt.viz_structure(V)
160
+ ```
161
+
162
+ 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.
163
+
140
164
  ## Simulation Arguments
141
165
 
142
166
  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.
@@ -200,7 +224,6 @@ This version should now be more precise and polished. Let me know if you'd like
200
224
  | CF_USE_CENTRAL_FORCE | bool | False | None | Attraction of smaller chromosomes to the nucleolus (in the center). |
201
225
  | CF_STRENGTH | float | 10.0 | kJ/mol | Strength of Attraction of Smaller Chromosomes |
202
226
  | NUC_DO_INTERPOLATION | bool | False | None | Attraction of smaller chromosomes. |
203
- | MAX_NUCS_PER_BEAD | int | 4 | None | Maximum amount of nucleosomes per single bead for nucleosome interpolation. |
204
227
  | NUC_RADIUS | float | 0.1 | None | The radius of the single nucleosome helix. |
205
228
  | POINTS_PER_NUC | int | 20 | None | The number of points that consist a nucleosome helix. |
206
229
  | PHI_NORM | float | pi/5 | None | Zig zag angle. |
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: MultiMM
3
- Version: 1.0.5
3
+ Version: 1.0.6
4
4
  Summary: A tool for chromatin modeling from nucleosomes to chromosomal territories.
5
5
  Home-page: https://github.com/SFGLab/MultiMM
6
6
  Author: Sebastian Korsak
@@ -30,7 +30,7 @@ Requires-Dist: OpenMM
30
30
 
31
31
  # MultiMM: An OpenMM-based software for whole genome 3D structure reconstruction
32
32
 
33
- MultiMM is an OpenMM model designed for modeling the 3D structure of the whole 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.
33
+ 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.
34
34
 
35
35
  ![GW_em](https://github.com/user-attachments/assets/3d019616-2c0f-4bfc-a792-d87fcdc0d96a)
36
36
 
@@ -40,23 +40,25 @@ After running the MultiMM model, users obtain a genome-wide structure. Users can
40
40
 
41
41
  ## Key Features
42
42
 
43
+ - OpenMM based.
44
+ - User-friendly software available via PyPI.
43
45
  - Efficient simulation of chromatin interactions using 3D conformations.
44
- - Can simulate the scales of nucleosomes, TADs, compartments, chromosomal territories and interactions with lamina.
45
- - Integration with **bedpe** for chromatin structures.
46
- - Scalable simulations across different force fields and resolution levels.
47
- - Compatible with modern GPU-accelerated simulation libraries.
46
+ - Can simulate the scales of nucleosomes, TADs, compartments, chromosomal territories and interactions with lamina. Scalable simulations across different force fields and resolution levels.
47
+ - Compatible with modern GPU-accelerated simulation libraries. CPU acceleration can also be done.
48
48
 
49
49
  ## About Operating Systems
50
50
 
51
51
  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.
52
52
 
53
53
  ## Installation
54
- Create a Python 3.10 environment and type:
54
+ MultiMM can be easily installed with pip:
55
55
 
56
56
  ```bash
57
- pip install -r requirements.txt
57
+ pip install MultiMM
58
58
  ```
59
59
 
60
+ PyPI software: https://pypi.org/project/MultiMM/.
61
+
60
62
  ## Input Data
61
63
 
62
64
  MultiMM relies on three types of datasets:
@@ -128,7 +130,7 @@ TRJ_FRAMES = 100
128
130
  After specifying the parameters and forces, users can run the following command in the terminal:
129
131
 
130
132
  ```bash
131
- python run.py -c config.ini
133
+ MultiMM -c config.ini
132
134
  ```
133
135
 
134
136
  The software will output a folder with the resulting structure and plots showing compartment distribution.
@@ -137,6 +139,28 @@ Example data can be found on Google Drive: https://drive.google.com/drive/folder
137
139
 
138
140
  In the `examples` folder, we provide example configuration files for different modeling scenarios.
139
141
 
142
+ ## Vizualization
143
+
144
+ For vizualization purposes, if you would like to import the whole genome structure you may use the command,
145
+
146
+ ```python
147
+ import simulation.plots as splt
148
+
149
+ splt.viz_chroms(sim_path)
150
+ ```
151
+
152
+ 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,
153
+
154
+ ```python
155
+ import simulation.plots as splt
156
+ import simulation.utils as suts
157
+
158
+ V = suts.get_coordinates_cif(cif_path)
159
+ splt.viz_structure(V)
160
+ ```
161
+
162
+ 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.
163
+
140
164
  ## Simulation Arguments
141
165
 
142
166
  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.
@@ -200,7 +224,6 @@ This version should now be more precise and polished. Let me know if you'd like
200
224
  | CF_USE_CENTRAL_FORCE | bool | False | None | Attraction of smaller chromosomes to the nucleolus (in the center). |
201
225
  | CF_STRENGTH | float | 10.0 | kJ/mol | Strength of Attraction of Smaller Chromosomes |
202
226
  | NUC_DO_INTERPOLATION | bool | False | None | Attraction of smaller chromosomes. |
203
- | MAX_NUCS_PER_BEAD | int | 4 | None | Maximum amount of nucleosomes per single bead for nucleosome interpolation. |
204
227
  | NUC_RADIUS | float | 0.1 | None | The radius of the single nucleosome helix. |
205
228
  | POINTS_PER_NUC | int | 20 | None | The number of points that consist a nucleosome helix. |
206
229
  | PHI_NORM | float | pi/5 | None | Zig zag angle. |
@@ -1,6 +1,6 @@
1
1
  # MultiMM: An OpenMM-based software for whole genome 3D structure reconstruction
2
2
 
3
- MultiMM is an OpenMM model designed for modeling the 3D structure of the whole 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.
3
+ 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.
4
4
 
5
5
  ![GW_em](https://github.com/user-attachments/assets/3d019616-2c0f-4bfc-a792-d87fcdc0d96a)
6
6
 
@@ -10,23 +10,25 @@ After running the MultiMM model, users obtain a genome-wide structure. Users can
10
10
 
11
11
  ## Key Features
12
12
 
13
+ - OpenMM based.
14
+ - User-friendly software available via PyPI.
13
15
  - Efficient simulation of chromatin interactions using 3D conformations.
14
- - Can simulate the scales of nucleosomes, TADs, compartments, chromosomal territories and interactions with lamina.
15
- - Integration with **bedpe** for chromatin structures.
16
- - Scalable simulations across different force fields and resolution levels.
17
- - Compatible with modern GPU-accelerated simulation libraries.
16
+ - Can simulate the scales of nucleosomes, TADs, compartments, chromosomal territories and interactions with lamina. Scalable simulations across different force fields and resolution levels.
17
+ - Compatible with modern GPU-accelerated simulation libraries. CPU acceleration can also be done.
18
18
 
19
19
  ## About Operating Systems
20
20
 
21
21
  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.
22
22
 
23
23
  ## Installation
24
- Create a Python 3.10 environment and type:
24
+ MultiMM can be easily installed with pip:
25
25
 
26
26
  ```bash
27
- pip install -r requirements.txt
27
+ pip install MultiMM
28
28
  ```
29
29
 
30
+ PyPI software: https://pypi.org/project/MultiMM/.
31
+
30
32
  ## Input Data
31
33
 
32
34
  MultiMM relies on three types of datasets:
@@ -98,7 +100,7 @@ TRJ_FRAMES = 100
98
100
  After specifying the parameters and forces, users can run the following command in the terminal:
99
101
 
100
102
  ```bash
101
- python run.py -c config.ini
103
+ MultiMM -c config.ini
102
104
  ```
103
105
 
104
106
  The software will output a folder with the resulting structure and plots showing compartment distribution.
@@ -107,6 +109,28 @@ Example data can be found on Google Drive: https://drive.google.com/drive/folder
107
109
 
108
110
  In the `examples` folder, we provide example configuration files for different modeling scenarios.
109
111
 
112
+ ## Vizualization
113
+
114
+ For vizualization purposes, if you would like to import the whole genome structure you may use the command,
115
+
116
+ ```python
117
+ import simulation.plots as splt
118
+
119
+ splt.viz_chroms(sim_path)
120
+ ```
121
+
122
+ 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,
123
+
124
+ ```python
125
+ import simulation.plots as splt
126
+ import simulation.utils as suts
127
+
128
+ V = suts.get_coordinates_cif(cif_path)
129
+ splt.viz_structure(V)
130
+ ```
131
+
132
+ 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.
133
+
110
134
  ## Simulation Arguments
111
135
 
112
136
  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.
@@ -170,7 +194,6 @@ This version should now be more precise and polished. Let me know if you'd like
170
194
  | CF_USE_CENTRAL_FORCE | bool | False | None | Attraction of smaller chromosomes to the nucleolus (in the center). |
171
195
  | CF_STRENGTH | float | 10.0 | kJ/mol | Strength of Attraction of Smaller Chromosomes |
172
196
  | NUC_DO_INTERPOLATION | bool | False | None | Attraction of smaller chromosomes. |
173
- | MAX_NUCS_PER_BEAD | int | 4 | None | Maximum amount of nucleosomes per single bead for nucleosome interpolation. |
174
197
  | NUC_RADIUS | float | 0.1 | None | The radius of the single nucleosome helix. |
175
198
  | POINTS_PER_NUC | int | 20 | None | The number of points that consist a nucleosome helix. |
176
199
  | PHI_NORM | float | pi/5 | None | Zig zag angle. |
@@ -6,7 +6,7 @@ with open('README.md', 'r', encoding='utf-8') as f:
6
6
 
7
7
  setup(
8
8
  name='MultiMM', # Package name
9
- version='1.0.5', # Version of the software
9
+ version='1.0.6', # Version of the software
10
10
  description='A tool for chromatin modeling from nucleosomes to chromosomal territories.',
11
11
  long_description=long_description,
12
12
  long_description_content_type='text/markdown',
@@ -29,9 +29,9 @@ def get_perp_component(x, v):
29
29
 
30
30
 
31
31
  class NucleosomeInterpolation:
32
- def __init__(self, V, bw, max_nucs_per_bead=4, nuc_radius=0.1, points_per_nuc=20, phi_norm=np.pi/5):
32
+ def __init__(self, V, bw, nuc_radius=0.1, points_per_nuc=20, phi_norm=np.pi/5):
33
33
  self.V, self.bw = V, bw
34
- self.max_nucs_per_bead, self.nuc_points = max_nucs_per_bead, points_per_nuc
34
+ self.max_nucs_per_bead, self.nuc_points = int(np.ceil(1/(2*nuc_radius))), points_per_nuc
35
35
  self.nuc_r, self.phi_norm = nuc_radius, phi_norm
36
36
 
37
37
  def make_helix(self, r, theta, z0):
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes