MultiMM 1.0.7__tar.gz → 1.0.9__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.

Potentially problematic release.


This version of MultiMM might be problematic. Click here for more details.

@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: MultiMM
3
- Version: 1.0.7
3
+ Version: 1.0.9
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
@@ -27,6 +27,16 @@ Requires-Dist: hilbertcurve
27
27
  Requires-Dist: tqdm
28
28
  Requires-Dist: pyvista[all]
29
29
  Requires-Dist: OpenMM
30
+ Dynamic: author
31
+ Dynamic: author-email
32
+ Dynamic: classifier
33
+ Dynamic: description
34
+ Dynamic: description-content-type
35
+ Dynamic: home-page
36
+ Dynamic: license
37
+ Dynamic: requires-dist
38
+ Dynamic: requires-python
39
+ Dynamic: summary
30
40
 
31
41
  # MultiMM: An OpenMM-based software for whole genome 3D structure reconstruction
32
42
 
@@ -176,6 +186,8 @@ This version should now be more precise and polished. Let me know if you'd like
176
186
  | INITIAL_STRUCTURE_PATH | str | None | None | Path to CIF file. |
177
187
  | BUILD_INITIAL_STRUCTURE | bool | True | None | To build a new initial structure. |
178
188
  | INITIAL_STRUCTURE_TYPE | str | hilbert | None | you can choose between: hilbert, circle, rw, confined_rw, self_avoiding_rw, helix, spiral, sphere, knot. |
189
+ | GENERATE_ENSEMBLE | bool | False | False | True if you need to create an ensemble of structures. |
190
+ | N_ENSEMBLE | int | None | None | Number of samples that you would like to create. |
179
191
  | FORCEFIELD_PATH | str | None | None | Path to XML file with forcefield. |
180
192
  | N_BEADS | int | 50000 | None | Number of Simulation Beads. |
181
193
  | COMPARTMENT_PATH | str | None | None | It should be a `.bed` file with subcompartments from Calder. |
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: MultiMM
3
- Version: 1.0.7
3
+ Version: 1.0.9
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
@@ -27,6 +27,16 @@ Requires-Dist: hilbertcurve
27
27
  Requires-Dist: tqdm
28
28
  Requires-Dist: pyvista[all]
29
29
  Requires-Dist: OpenMM
30
+ Dynamic: author
31
+ Dynamic: author-email
32
+ Dynamic: classifier
33
+ Dynamic: description
34
+ Dynamic: description-content-type
35
+ Dynamic: home-page
36
+ Dynamic: license
37
+ Dynamic: requires-dist
38
+ Dynamic: requires-python
39
+ Dynamic: summary
30
40
 
31
41
  # MultiMM: An OpenMM-based software for whole genome 3D structure reconstruction
32
42
 
@@ -176,6 +186,8 @@ This version should now be more precise and polished. Let me know if you'd like
176
186
  | INITIAL_STRUCTURE_PATH | str | None | None | Path to CIF file. |
177
187
  | BUILD_INITIAL_STRUCTURE | bool | True | None | To build a new initial structure. |
178
188
  | INITIAL_STRUCTURE_TYPE | str | hilbert | None | you can choose between: hilbert, circle, rw, confined_rw, self_avoiding_rw, helix, spiral, sphere, knot. |
189
+ | GENERATE_ENSEMBLE | bool | False | False | True if you need to create an ensemble of structures. |
190
+ | N_ENSEMBLE | int | None | None | Number of samples that you would like to create. |
179
191
  | FORCEFIELD_PATH | str | None | None | Path to XML file with forcefield. |
180
192
  | N_BEADS | int | 50000 | None | Number of Simulation Beads. |
181
193
  | COMPARTMENT_PATH | str | None | None | It should be a `.bed` file with subcompartments from Calder. |
@@ -146,6 +146,8 @@ This version should now be more precise and polished. Let me know if you'd like
146
146
  | INITIAL_STRUCTURE_PATH | str | None | None | Path to CIF file. |
147
147
  | BUILD_INITIAL_STRUCTURE | bool | True | None | To build a new initial structure. |
148
148
  | INITIAL_STRUCTURE_TYPE | str | hilbert | None | you can choose between: hilbert, circle, rw, confined_rw, self_avoiding_rw, helix, spiral, sphere, knot. |
149
+ | GENERATE_ENSEMBLE | bool | False | False | True if you need to create an ensemble of structures. |
150
+ | N_ENSEMBLE | int | None | None | Number of samples that you would like to create. |
149
151
  | FORCEFIELD_PATH | str | None | None | Path to XML file with forcefield. |
150
152
  | N_BEADS | int | 50000 | None | Number of Simulation Beads. |
151
153
  | COMPARTMENT_PATH | str | None | None | It should be a `.bed` file with subcompartments from Calder. |
@@ -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.7', # Version of the software
9
+ version='1.0.9', # 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',
@@ -1,4 +1,4 @@
1
1
  # Importing specific functions or classes from submodules
2
2
  from .run import main
3
3
 
4
- __version__ = "1.0.7"
4
+ __version__ = "1.0.9"
@@ -4,9 +4,18 @@ from dataclasses import dataclass
4
4
  from math import pi
5
5
  from typing import Union
6
6
  import argparse
7
+ import importlib.resources
7
8
  import openmm as mm
8
9
  from openmm.unit import Quantity
9
10
 
11
+ # Dynamically set the default path to the XML file in the package
12
+ try:
13
+ with importlib.resources.path('loopsage.forcefields', 'classic_sm_ff.xml') as default_xml_path:
14
+ default_xml_path = str(default_xml_path)
15
+ except FileNotFoundError:
16
+ # If running in a development setup without the resource installed, fallback to a relative path
17
+ default_xml_path = 'simulation/forcefields/ff.xml'
18
+
10
19
  @dataclass
11
20
  class Arg(object):
12
21
  name: str
@@ -130,8 +139,10 @@ args = ListOfArgs([
130
139
  # Input data
131
140
  Arg('INITIAL_STRUCTURE_PATH', help="Path to CIF file.", type=str, default='', val=''),
132
141
  Arg('BUILD_INITIAL_STRUCTURE', help="To build a new initial structure.", type=bool, default='True', val='True'),
133
- Arg('INITIAL_STRUCTURE_TYPE', help="you can choose between: hilbert, circle.", type=str, default='hilbert', val='hilbert'),
134
- Arg('FORCEFIELD_PATH', help="Path to XML file with forcefield.", type=str, default='', val=''),
142
+ Arg('INITIAL_STRUCTURE_TYPE', help="you can choose between: hilbert, circle, rw, confined_rw, knot, self_avoiding_rw, spiral, sphere.", type=str, default='hilbert', val='hilbert'),
143
+ Arg('GENERATE_ENSEMBLE', help="Default value: false. True in case that you would like to have an ensemble of structures instead of one. Better to disable it for large simulations that require long computational time. Moreover it is better to start random walk initial structure in case of true value.", type=bool, default='False', val='False'),
144
+ Arg('N_ENSEMBLE', help="Number of samples of structures that you would like to calculate.", type=int, default='', val=''),
145
+ Arg('FORCEFIELD_PATH', help="Path to XML file with forcefield.", type=str, default=default_xml_path, val=default_xml_path),
135
146
  Arg('N_BEADS', help="Number of Simulation Beads.", type=int, default='50000', val='50000'),
136
147
  Arg('COMPARTMENT_PATH', help="It can be either .bed file with subcompartments from Calder or .BigWig signal.", type=str, default='', val=''),
137
148
  Arg('LOOPS_PATH', help="A .bedpe file path with loops. It is required.", type=str, default='', val=''),
@@ -378,14 +378,19 @@ class MultiMM:
378
378
  if self.args.NUC_DO_INTERPOLATION and args.ATACSEQ_PATH!=None:
379
379
  self.nuc_interpolation()
380
380
 
381
-
382
381
  def main():
383
382
  # Input data
384
383
  args = get_config()
385
384
 
386
385
  # Run simulation
387
- md = MultiMM(args)
388
- md.run()
386
+ if args.GENERATE_ENSEMBLE:
387
+ for i in range(args.N_ENSEMBLE):
388
+ args.OUT_PATH = args.OUOUT_PATHT_PATH+f'_{i+1}'
389
+ md = MultiMM(args)
390
+ md.run()
391
+ else:
392
+ md = MultiMM(args)
393
+ md.run()
389
394
 
390
395
  if __name__=='__main__':
391
396
  main()
File without changes
File without changes
File without changes
File without changes