AMS-BP 0.0.11__py3-none-any.whl → 0.0.21__py3-none-any.whl
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.
- AMS_BP/__init__.py +1 -1
- AMS_BP/configio/configmodels.py +14 -11
- AMS_BP/configio/convertconfig.py +30 -22
- AMS_BP/sim_config.toml +40 -11
- {ams_bp-0.0.11.dist-info → ams_bp-0.0.21.dist-info}/METADATA +19 -42
- {ams_bp-0.0.11.dist-info → ams_bp-0.0.21.dist-info}/RECORD +9 -9
- {ams_bp-0.0.11.dist-info → ams_bp-0.0.21.dist-info}/WHEEL +0 -0
- {ams_bp-0.0.11.dist-info → ams_bp-0.0.21.dist-info}/entry_points.txt +0 -0
- {ams_bp-0.0.11.dist-info → ams_bp-0.0.21.dist-info}/licenses/LICENSE +0 -0
AMS_BP/__init__.py
CHANGED
AMS_BP/configio/configmodels.py
CHANGED
@@ -60,19 +60,22 @@ class GlobalParameters(BaseModel):
|
|
60
60
|
|
61
61
|
|
62
62
|
class CondensateParameters(BaseModel):
|
63
|
-
initial_centers: List[List[float]] = Field(
|
64
|
-
|
65
|
-
diffusion_coefficient: List[float] = Field(
|
66
|
-
description="Diffusion coefficients in um^2/s"
|
63
|
+
initial_centers: List[List[List[float]]] = Field(
|
64
|
+
description="Initial centers in um"
|
67
65
|
)
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
@field_validator(
|
72
|
-
"initial_centers", "initial_scale", "diffusion_coefficient", "hurst_exponent"
|
66
|
+
initial_scale: List[List[float]] = Field(description="Initial scale in um")
|
67
|
+
diffusion_coefficient: List[List[float]] = Field(
|
68
|
+
description="Diffusion coefficients in um^2/s"
|
73
69
|
)
|
74
|
-
|
75
|
-
|
70
|
+
hurst_exponent: List[List[float]]
|
71
|
+
density_dif: List[int]
|
72
|
+
|
73
|
+
# @field_validator(
|
74
|
+
# "initial_centers", "initial_scale", "diffusion_coefficient", "hurst_exponent"
|
75
|
+
# )
|
76
|
+
# def convert_to_array(cls, v):
|
77
|
+
# return np.array(v)
|
78
|
+
#
|
76
79
|
|
77
80
|
|
78
81
|
class OutputParameters(BaseModel):
|
AMS_BP/configio/convertconfig.py
CHANGED
@@ -680,7 +680,7 @@ class ConfigLoader:
|
|
680
680
|
)
|
681
681
|
|
682
682
|
# make sampling function
|
683
|
-
|
683
|
+
sampling_functions = make_samplingfunction(
|
684
684
|
condensate_params=base_config.CondensateParameters, cell=cell
|
685
685
|
)
|
686
686
|
|
@@ -689,7 +689,7 @@ class ConfigLoader:
|
|
689
689
|
molecule_params=base_config.MoleculeParameters,
|
690
690
|
cell=cell,
|
691
691
|
condensate_params=base_config.CondensateParameters,
|
692
|
-
|
692
|
+
sampling_functions=sampling_functions,
|
693
693
|
)
|
694
694
|
|
695
695
|
# create the track generator
|
@@ -776,34 +776,42 @@ def make_sample(global_params, cell_params) -> SamplePlane:
|
|
776
776
|
return sample_plane
|
777
777
|
|
778
778
|
|
779
|
-
def make_condensatedict(condensate_params, cell) -> dict:
|
780
|
-
condensates_dict =
|
781
|
-
|
782
|
-
|
783
|
-
|
784
|
-
|
785
|
-
|
786
|
-
|
779
|
+
def make_condensatedict(condensate_params, cell) -> List[dict]:
|
780
|
+
condensates_dict = []
|
781
|
+
for i in range(len(condensate_params.initial_centers)):
|
782
|
+
condensates_dict.append(
|
783
|
+
create_condensate_dict(
|
784
|
+
initial_centers=condensate_params.initial_centers[i],
|
785
|
+
initial_scale=condensate_params.initial_scale[i],
|
786
|
+
diffusion_coefficient=condensate_params.diffusion_coefficient[i],
|
787
|
+
hurst_exponent=condensate_params.hurst_exponent[i],
|
788
|
+
cell=cell,
|
789
|
+
)
|
790
|
+
)
|
787
791
|
return condensates_dict
|
788
792
|
|
789
793
|
|
790
|
-
def make_samplingfunction(condensate_params, cell) -> Callable:
|
791
|
-
|
792
|
-
|
793
|
-
|
794
|
-
|
795
|
-
|
796
|
-
|
797
|
-
|
798
|
-
|
794
|
+
def make_samplingfunction(condensate_params, cell) -> List[Callable]:
|
795
|
+
sampling_functions = []
|
796
|
+
for i in range(len(condensate_params.initial_centers)):
|
797
|
+
sampling_functions.append(
|
798
|
+
tp(
|
799
|
+
num_subspace=len(condensate_params.initial_centers[i]),
|
800
|
+
subspace_centers=condensate_params.initial_centers[i],
|
801
|
+
subspace_radius=condensate_params.initial_scale[i],
|
802
|
+
density_dif=condensate_params.density_dif[i],
|
803
|
+
cell=cell,
|
804
|
+
)
|
805
|
+
)
|
806
|
+
return sampling_functions
|
799
807
|
|
800
808
|
|
801
|
-
def gen_initial_positions(molecule_params, cell, condensate_params,
|
809
|
+
def gen_initial_positions(molecule_params, cell, condensate_params, sampling_functions):
|
802
810
|
initials = []
|
803
811
|
for i in range(len(molecule_params.num_molecules)):
|
804
812
|
num_molecules = molecule_params.num_molecules[i]
|
805
813
|
initial_positions = gen_points(
|
806
|
-
pdf=
|
814
|
+
pdf=sampling_functions[i],
|
807
815
|
total_points=num_molecules,
|
808
816
|
min_x=cell.origin[0],
|
809
817
|
max_x=cell.origin[0] + cell.dimensions[0],
|
@@ -811,7 +819,7 @@ def gen_initial_positions(molecule_params, cell, condensate_params, sampling_fun
|
|
811
819
|
max_y=cell.origin[1] + cell.dimensions[1],
|
812
820
|
min_z=-cell.dimensions[2] / 2,
|
813
821
|
max_z=cell.dimensions[2] / 2,
|
814
|
-
density_dif=condensate_params.density_dif,
|
822
|
+
density_dif=condensate_params.density_dif[i],
|
815
823
|
)
|
816
824
|
initials.append(initial_positions)
|
817
825
|
return initials
|
AMS_BP/sim_config.toml
CHANGED
@@ -77,20 +77,49 @@ oversample_motion_time = 20 # ms
|
|
77
77
|
[Condensate_Parameters]
|
78
78
|
initial_centers = [
|
79
79
|
[
|
80
|
-
|
81
|
-
|
82
|
-
|
80
|
+
[
|
81
|
+
5.5,
|
82
|
+
5,
|
83
|
+
0.05,
|
84
|
+
],
|
85
|
+
[
|
86
|
+
5,
|
87
|
+
5,
|
88
|
+
-0.15,
|
89
|
+
],
|
90
|
+
[
|
91
|
+
5,
|
92
|
+
6,
|
93
|
+
-0.15,
|
94
|
+
],
|
95
|
+
[
|
96
|
+
5,
|
97
|
+
5.5,
|
98
|
+
-0.15,
|
99
|
+
],
|
100
|
+
[
|
101
|
+
6,
|
102
|
+
5.5,
|
103
|
+
-0.15,
|
104
|
+
],
|
83
105
|
],
|
84
106
|
[
|
85
|
-
|
86
|
-
|
87
|
-
|
107
|
+
[
|
108
|
+
5.5,
|
109
|
+
5,
|
110
|
+
0.05,
|
111
|
+
],
|
112
|
+
[
|
113
|
+
5,
|
114
|
+
7,
|
115
|
+
-0.15,
|
116
|
+
],
|
88
117
|
],
|
89
|
-
] # um
|
90
|
-
initial_scale = [0.26, 0.26] # um
|
91
|
-
diffusion_coefficient = [0, 0] # um^2/s
|
92
|
-
hurst_exponent = [0.2, 0.2]
|
93
|
-
density_dif = 10 # density of the condensate vs the background.
|
118
|
+
] # um. First dimension is the types of molecules as in Molecule Parameters.num_molecules. second dimension is the # of condentates. center = [x,y,z]
|
119
|
+
initial_scale = [[0.26, 0.26, 0.13, 0.13, 0.26], [0.26, 0.26]] # um
|
120
|
+
diffusion_coefficient = [[0, 0, 0, 0, 0], [0, 0]] # um^2/s
|
121
|
+
hurst_exponent = [[0.2, 0.2, 0.2, 0.2, 0.2], [0.2, 0.2]]
|
122
|
+
density_dif = [10, 10] # density of the condensate vs the background.
|
94
123
|
|
95
124
|
[Output_Parameters]
|
96
125
|
output_path = "<YOUR-PATH-HERE-CAN-BE-ABSOLUTE-OR-RELATIVE>"
|
@@ -1,7 +1,7 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: AMS_BP
|
3
|
-
Version: 0.0.
|
4
|
-
Summary: Advanced
|
3
|
+
Version: 0.0.21
|
4
|
+
Summary: Advanced Microscopy Simulations developed for the Weber Lab by Baljyot Singh Parmar
|
5
5
|
Project-URL: Documentation, https://joemans3.github.io/AMS_BP/
|
6
6
|
Project-URL: Source code, https://github.com/joemans3/AMS_BP
|
7
7
|
Author-email: Baljyot Singh Parmar <baljyotparmar@hotmail.com>
|
@@ -19,11 +19,17 @@ Requires-Dist: tomli>=2.0.2
|
|
19
19
|
Requires-Dist: typer>=0.12.5
|
20
20
|
Description-Content-Type: text/markdown
|
21
21
|
|
22
|
-
# AMS-BP
|
23
|
-
|
22
|
+
# AMS-BP
|
23
|
+
<p>
|
24
|
+
<img src="./docs/assets/icons/drawing.svg" alt="AMS-BP Logo" width="500" height="200">
|
25
|
+
</p>
|
26
|
+
|
27
|
+
## Advanced Fluorescence Microscopy Simulation Tool
|
24
28
|
|
25
29
|
AMS-BP is a powerful simulation tool for advanced fluorescence microscopy experiments. This guide covers both command-line usage and library integration.
|
26
30
|
|
31
|
+
> **_NOTE:_** Please note that this application DOES NOT currently model the process of stimulated emission, and as such is not suitable for simulating stimulated emission microscopy ([STED](https://en.wikipedia.org/wiki/STED_microscopy))-type experiments. Work in this area is ongoing.
|
32
|
+
|
27
33
|
## Table of Contents
|
28
34
|
- [Installation](#installation)
|
29
35
|
- [Command Line Interface](#command-line-interface)
|
@@ -49,6 +55,14 @@ uv tool install AMS_BP
|
|
49
55
|
- `run_AMS_BP config` : This is a helper tool to generate a template config file for the simulation. (see `run_AMS_BP config --help` for more details)
|
50
56
|
- Note: using `run_AMS_BP --help` will show you all the available commands.
|
51
57
|
4. You can now use these tools (they are isolated in their own env created by uv, which is cool).
|
58
|
+
|
59
|
+
### ***PyPi***
|
60
|
+
|
61
|
+
1. Run:
|
62
|
+
```bash
|
63
|
+
pip install AMS_BP
|
64
|
+
```
|
65
|
+
|
52
66
|
## Command Line Interface
|
53
67
|
|
54
68
|
AMS-BP provides a command-line interface with two main commands:
|
@@ -70,7 +84,7 @@ run_AMS_BP runsim CONFIG_FILE
|
|
70
84
|
|
71
85
|
The configuration file (sim_config.toml) is divided into several key sections:
|
72
86
|
|
73
|
-
#### For a detailed description of the configuration file, refer to the [Configuration File Reference](
|
87
|
+
#### For a detailed description of the configuration file, refer to the [Configuration File Reference](https://joemans3.github.io/AMS_BP/API_Documentation/sim_config/).
|
74
88
|
### Basic Units
|
75
89
|
```toml
|
76
90
|
version = "0.1"
|
@@ -158,40 +172,3 @@ frames, metadata = function_exp(microscope=microscope, config=config_exp)
|
|
158
172
|
from AMS_BP.configio.saving import save_config_frames
|
159
173
|
save_config_frames(metadata, frames, setup_config["base_config"].OutputParameters)
|
160
174
|
```
|
161
|
-
|
162
|
-
### Key Components When Using as Library
|
163
|
-
|
164
|
-
1. **ConfigLoader**: Handles configuration file parsing and validation
|
165
|
-
2. **Microscope**: Represents the virtual microscope setup
|
166
|
-
3. **Experiment Functions**: Control experiment execution
|
167
|
-
4. **Save Functions**: Handle data output
|
168
|
-
|
169
|
-
### Custom Experiment Types
|
170
|
-
|
171
|
-
When using AMS-BP as a library, you can create custom experiment types by:
|
172
|
-
|
173
|
-
1. Extending the base experiment class
|
174
|
-
2. Implementing custom scanning patterns
|
175
|
-
3. Defining new molecule behaviors
|
176
|
-
4. Creating specialized analysis routines
|
177
|
-
|
178
|
-
## Tips and Best Practices
|
179
|
-
|
180
|
-
1. **Configuration Management**
|
181
|
-
- Keep separate config files for different experiment types
|
182
|
-
- Version control your configurations
|
183
|
-
- Document any custom modifications
|
184
|
-
|
185
|
-
2. **Resource Usage**
|
186
|
-
- Monitor memory usage for large simulations
|
187
|
-
- Use appropriate sampling rates
|
188
|
-
|
189
|
-
3. **Data Output**
|
190
|
-
- Set appropriate output paths
|
191
|
-
- Use meaningful naming conventions
|
192
|
-
- Consider data format requirements for analysis
|
193
|
-
|
194
|
-
## Troubleshooting
|
195
|
-
|
196
|
-
Common issues and their solutions:
|
197
|
-
TODO
|
@@ -1,6 +1,6 @@
|
|
1
|
-
AMS_BP/__init__.py,sha256=
|
1
|
+
AMS_BP/__init__.py,sha256=gA3WHujyg_TRO9bQK9orLK8uNHSObJpmsLkv8GHRzLc,327
|
2
2
|
AMS_BP/run_cell_simulation.py,sha256=fPU1Tuu7hBupGtMk07j2t8QYo_TjFLMJRU9fwmAgU9c,7502
|
3
|
-
AMS_BP/sim_config.toml,sha256=
|
3
|
+
AMS_BP/sim_config.toml,sha256=FD-OcSDAgRuNIalFe0pC8sbsaSwM-9DV2DNswds2q54,11976
|
4
4
|
AMS_BP/sim_microscopy.py,sha256=7JQ6NQlgNZCvFE-FC1f9Ehh6DoJgn7bLzeqS_Mamq9Y,18619
|
5
5
|
AMS_BP/cells/__init__.py,sha256=yWFScBC1uOGDkeC8i1m1ZBtIREcyt4JHxYa72LxbBZU,177
|
6
6
|
AMS_BP/cells/base_cell.py,sha256=FIPB9J8F40tb53vv7C6qG-SaAFLOI8-MGIk1mmZ-gnI,1503
|
@@ -8,8 +8,8 @@ AMS_BP/cells/rectangular_cell.py,sha256=5yGxvTXYvgldLXyWXpE_SD9Zx2NLerC-I2j02reH
|
|
8
8
|
AMS_BP/cells/rod_cell.py,sha256=jQ1kLEk74Pv2rcXPRJ6-QJJhux-mYiDSytzqlxCNWfA,3181
|
9
9
|
AMS_BP/cells/spherical_cell.py,sha256=n3ou3tW0nCxXIwv6uLkVKHkYCfgoNn8VI6CVTLBIll0,2140
|
10
10
|
AMS_BP/configio/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
11
|
-
AMS_BP/configio/configmodels.py,sha256=
|
12
|
-
AMS_BP/configio/convertconfig.py,sha256=
|
11
|
+
AMS_BP/configio/configmodels.py,sha256=Isc6THk3RAIVdjEUBW4c_OD0I122dYufgEvAcGJQ5uo,3046
|
12
|
+
AMS_BP/configio/convertconfig.py,sha256=lS7FTDheESdbpaZ0K1LcE8rkdJOKLjzIvcmWpjeebSs,34654
|
13
13
|
AMS_BP/configio/experiments.py,sha256=HdfaSi0gPPJ_wLF87XcW5ICja19Uezx7-ygFEwNzi30,3995
|
14
14
|
AMS_BP/configio/saving.py,sha256=596QgAadV32rzsN4B2FngGFcBWCzCDnLFN-qtQsv3bM,857
|
15
15
|
AMS_BP/metadata/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -48,8 +48,8 @@ AMS_BP/utils/decorators.py,sha256=4qFdvzPJne0dhkhD1znPxRln1Rfr5NX8rdcCDcbATRU,62
|
|
48
48
|
AMS_BP/utils/errors.py,sha256=7BOd-L4_YeKmWn3Q4EOdTnNF3Bj_exDa3eg5X0yCZrc,759
|
49
49
|
AMS_BP/utils/maskMaker.py,sha256=2ca3n2nc8rFtUh1LurKXOJJsUmhrOpWbRnVX7fjRVvs,335
|
50
50
|
AMS_BP/utils/util_functions.py,sha256=jI6WBh09_khdABnEoVK7SK1WRvCLHuw40f5ALyflzlc,9478
|
51
|
-
ams_bp-0.0.
|
52
|
-
ams_bp-0.0.
|
53
|
-
ams_bp-0.0.
|
54
|
-
ams_bp-0.0.
|
55
|
-
ams_bp-0.0.
|
51
|
+
ams_bp-0.0.21.dist-info/METADATA,sha256=RhM8C7dT2SXt-rbPFdQdo_EaiOFUx-7uC7uvic8IpvU,5316
|
52
|
+
ams_bp-0.0.21.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
53
|
+
ams_bp-0.0.21.dist-info/entry_points.txt,sha256=MFUK9bZWW61djfsavqopMqiVPVn4lJtt6v8qzyEFyNM,76
|
54
|
+
ams_bp-0.0.21.dist-info/licenses/LICENSE,sha256=k_-JV1DQKvO0FR8WjvOisqdTl0kp6VJ7RFM3YZhao0c,1071
|
55
|
+
ams_bp-0.0.21.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|