You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+23-23Lines changed: 23 additions & 23 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,7 +8,7 @@
8
8
<imgtitle="Simulated smFRET timetrace, bursts and FRET histogram"src="https://cloud.githubusercontent.com/assets/4156237/11384620/11051666-92c6-11e5-871e-041e71839f22.png"height="110" />
9
9
</div>
10
10
11
-
**[PyBroMo](http://tritemio.github.io/PyBroMo/)** is an open-source simulator
11
+
**[PyBroMo](http://opensmfs.github.io/PyBroMo/)** is an open-source simulator
12
12
for Brownian-motion diffusion and photon emission of fluorescent particles
13
13
excited by a diffraction limited laser spot.
14
14
PyBroMo allows to simulate timestamps of photons emitted during
@@ -17,7 +17,7 @@ including sample background and detectors dark counts and to save the results in
17
17
in [Photon-HDF5](http://photon-hdf5.org) format. The smFRET data files can
18
18
be analyzed with any smFRET burst analysis software.
19
19
20
-
> For an opensource smFRET burst analysis software supporting Photon-HDF5 see [FRETBursts](https://github.com/tritemio/FRETBursts).
20
+
> For an opensource smFRET burst analysis software supporting Photon-HDF5 see [FRETBursts](https://github.com/OpenSMFS/FRETBursts).
21
21
22
22
PyBromo simulates 3-D Brownian motion trajectories and emission of an
23
23
arbitrary number of particles freely diffusing in a simulation volume (a box).
@@ -69,57 +69,57 @@ If you are new to Jupyter Notebook, refer to this guide for installation and fir
69
69
70
70
# Architecture
71
71
72
-
The simulation domain is defined as 3-D box, centered around the origin.
73
-
As boundary conditions particles can be either reflected at the interface ("mirror" condition)
72
+
The simulation domain is defined as 3-D box, centered around the origin.
73
+
As boundary conditions particles can be either reflected at the interface ("mirror" condition)
74
74
or reinjected from the opposite face ("periodic" condition).
75
75
76
-
A particle is described by its initial position. A list of particles with random initial position
76
+
A particle is described by its initial position. A list of particles with random initial position
77
77
is generated before running the diffusion simulation.
78
78
79
-
The excitation PSF is a function of the position and is centered with maximum on the origin.
80
-
A realistic PSF obtained by vectorial electromagnetic simulation is precomputed using
79
+
The excitation PSF is a function of the position and is centered with maximum on the origin.
80
+
A realistic PSF obtained by vectorial electromagnetic simulation is precomputed using
81
81
[PSFLab](http://onemolecule.chem.uwm.edu/software). The PSF is computed for a
82
82
water immersion objective (NA = 1.2) at 532 nm
83
-
and includes effects such as refractive index mismatch and mismatch between the objective lens
84
-
correction and the cover-glass thickness. The user can generate a different PSF using
85
-
[PSFLab](http://onemolecule.chem.uwm.edu/software) or equivalent software. The PSF is generated
83
+
and includes effects such as refractive index mismatch and mismatch between the objective lens
84
+
correction and the cover-glass thickness. The user can generate a different PSF using
85
+
[PSFLab](http://onemolecule.chem.uwm.edu/software) or equivalent software. The PSF is generated
86
86
using circular polarized light so it has cylindrical symmetry and it is precomputed only on the x-z plane.
87
87
Alternatively, a simple Gaussian PSF can also be used.
88
88
89
-
The Brownian motion parameters are: the diffusion coefficient, the simulation box,
89
+
The Brownian motion parameters are: the diffusion coefficient, the simulation box,
90
90
the list of particles, the simulation time step and the simulation duration.
91
91
92
92
The Brownian motion simulation uses constant time-steps (typically 0.5 μs).
93
93
This allows a straightforward and efficient implementation.
94
94
The total simulation time is divided in chunks so that trajectories for a single chunk
95
-
can easily fit in RAM. For each chunk, trajectories are computed by
96
-
cumulative sum ([`cumsum`](http://docs.scipy.org/doc/numpy/reference/generated/numpy.cumsum.html))
95
+
can easily fit in RAM. For each chunk, trajectories are computed by
96
+
cumulative sum ([`cumsum`](http://docs.scipy.org/doc/numpy/reference/generated/numpy.cumsum.html))
97
97
of the array of Gaussian displacement.
98
98
99
99
The instantaneous emission rate of each particle is computed during the Brownian motion simulation
100
-
by evaluating the PSF intensity at each position. After the diffusion simulation, for each particle,
101
-
photons are generated from a [Poisson process](http://en.wikipedia.org/wiki/Poisson_process) using the
102
-
previously computed emission rates. An additional constant Poisson process models sample background
100
+
by evaluating the PSF intensity at each position. After the diffusion simulation, for each particle,
101
+
photons are generated from a [Poisson process](http://en.wikipedia.org/wiki/Poisson_process) using the
102
+
previously computed emission rates. An additional constant Poisson process models sample background
103
103
and detectors' dark counts. The time bin in which a "count" (photon or background) is extracted
104
104
becomes the timestamp.
105
105
106
106
PyBroMo provides functions to simulate one or multiple FRET populations,
107
107
saving the results in regular smFRET data files in Photon-HDF5 format. For each timestamp,
108
108
the particle ID is also saved, allowing to separate the contribution of each particle.
109
-
Photo-physics effects, such as blinking and bleaching, are not explicily
109
+
Photo-physics effects, such as blinking and bleaching, are not explicily
110
110
modeled but they can be easily included "modulating" the emission
111
111
rates before generating the photons.
112
-
Two-states systems (each state with a different FRET efficiency) can be also
112
+
Two-states systems (each state with a different FRET efficiency) can be also
113
113
simulated. In this case, the user needs to generate a static smFRET data file for each state
114
114
(from the same diffusion trajectories). Next, transition times (switch-points) can be
115
-
computed (e.g. drawing exponetial random variables) for each particle until the simulation
115
+
computed (e.g. drawing exponetial random variables) for each particle until the simulation
116
116
duration is covered. Finally, the user can create a new
117
117
smFRET data file by selecting timestamps from each static-state file
118
118
according to the generated transitions.
119
119
120
120
As a final note, PyBroMo computations can be performed on a single core
121
-
or distributed on the nodes of a cluster (IPython cluster).
122
-
Thanks to the IPython infrastructure the simulation can be seamless run on a single machine,
121
+
or distributed on the nodes of a cluster (IPython cluster).
122
+
Thanks to the IPython infrastructure the simulation can be seamless run on a single machine,
123
123
on a cluster of machines or on a cloud computing server.
124
124
125
125
# Usage examples
@@ -132,8 +132,8 @@ and user guide. The notebooks can be read online at:
132
132
You may be also interested in a few notebooks on the theory of Brownian motion
133
133
simulation (they don't require PyBroMo):
134
134
135
-
*[Theory - Introduction to Brownian Motion simulation](http://nbviewer.ipython.org/urls/raw.github.com/tritemio/PyBroMo/master/notebooks/Theory%2520-%2520Introduction%2520to%2520Brownian%2520Motion%2520simulation.ipynb)
136
-
*[Theory - On Browniam motion and Diffusion coefficient](http://nbviewer.ipython.org/urls/raw.github.com/tritemio/PyBroMo/master/notebooks/Theory%2520-%2520On%2520Browniam%2520motion%2520and%2520Diffusion%2520coefficient.ipynb)
135
+
*[Theory - Introduction to Brownian Motion simulation](http://nbviewer.ipython.org/urls/raw.github.com/OpenSMFS/PyBroMo/master/notebooks/Theory%2520-%2520Introduction%2520to%2520Brownian%2520Motion%2520simulation.ipynb)
136
+
*[Theory - On Browniam motion and Diffusion coefficient](http://nbviewer.ipython.org/urls/raw.github.com/OpenSMFS/PyBroMo/master/notebooks/Theory%2520-%2520On%2520Browniam%2520motion%2520and%2520Diffusion%2520coefficient.ipynb)
"*In this notebook we show how to perform a 3-D trajectories simulation of a set of freely diffusing molecules. The simulation computes (and saves!) 3-D trajectories and emission rates due to a confocal excitation PSF for each single molecule. Depending on the simulation length, the required disk space can be significant (~ 750MB per minute of simulated diffusion).*\n",
29
29
"\n",
30
-
"*For more info see [PyBroMo Homepage](http://tritemio.github.io/PyBroMo/)*."
30
+
"*For more info see [PyBroMo Homepage](http://opensmfs.github.io/PyBroMo/)*."
0 commit comments