Commit 6e8d9cda authored by Vladimír Ulman's avatar Vladimír Ulman
Browse files

Configuration that has been used for calculating

velocity/movement stuff for the TMI paper.

This was run on eight instances in paralel (givin 40 initial cells).
A    TMI
A    TMI/config-711extVOI-highSNR.ini
AM   TMI/initial_mask_7-11_extended.tif

The restarting of chromatin was disabled by RESTART_PERIOD=1000.
Cell cycle has increased length variability.
M    src/cell.h

Disabled some stats reporting functions.
M    src/cellChr.cpp

Velocity span increased.
M    src/cellScm.cpp

Only 2x noFramesPerCellCycle should be generated.
M    src/main.cpp

Added tweak to avoid having auxiliarly images greater than sceneMasks.
M    src/toolbox/bp_lists.cpp

CMAKE options:
BUILD_STATIC                     OFF                                                                                         
CMAKE_INSTALL_PREFIX             /usr/local                                                                                  
DEBUG_VERSION                    ON                                                                                          
DOCUMENTATION                    OFF                                                                                         
DO_EVENTS_SYNCHRONIZED           OFF                                                                                         
DO_FLAT_2DMOTION                 ON                                                                                          
DO_MULTITHREADING                ON                                                                                          
DO_NONRIGID_MOTION               OFF                                                                                         
DO_PHOTOBLEACHING                OFF                                                                                         
DO_RIGID_MOTION                  ON                                                                                          
ENABLE_NUCLEOLI                  OFF                                                                                         
HIGH_SNR                         ON                                                                                          
INC_CYTOPACQ                     /usr/local/include                                                                          
INC_GSL                          /usr/include                                                                                
INC_I3D                          /usr/local/include                                                                          
INC_INIPARSER                    /usr/local/include                                                                          
LIB_ACQUIGEN                     /usr/local/lib/libacquigen.so                                                               
LIB_CYTOGEN                      /usr/local/lib/libcytogen.so                                                                
LIB_DL                           /usr/lib/x86_64-linux-gnu/libdl.so                                                          
LIB_FFTW_SINGLE                  /usr/lib/x86_64-linux-gnu/libfftw3f.so                                                      
LIB_FFTW_SINGLE_THREADS          /usr/lib/x86_64-linux-gnu/libfftw3f_threads.so                                              
LIB_GSL                          /usr/lib/libgsl.so                                                                          
LIB_I3DALGO                      /usr/local/lib/libi3dalgo.so                                                                
LIB_I3DCORE                      /usr/local/lib/libi3dcore.so                                                                
LIB_INIPARSER                    /usr/local/lib/libiniparser.so                                                              
LIB_OPTIGEN                      /usr/local/lib/liboptigen.so                                                                
SAVE_ANISOTROPIC_GT              OFF                                                                                         
SAVE_FINAL                       OFF                                                                                         
SAVE_FLOWFIELDS                  OFF                                                                                         
SAVE_NUCLEI                      OFF                                                                                         
SAVE_TIFFS                       OFF                                                                                         
SHOW_CENTRES                     OFF                                                                                         
SHOW_TERRITORIES                 OFF                                                                                         
SOFA_CONNECTOR                   OFF                                                                                         
USE_REAL_PSF                     OFF                                                                                         


parent 7259f1d4
Loading
Loading
Loading
Loading
+313 −0
Original line number Diff line number Diff line
;
;--------------- characteristics of one 'universal' cell ----------------
;
[cell]
; Should be 46 for humans.
chromosome count = 46

; Lengths of phases of cell cycle
; (in percents)
;
; Well, they sum up to only 95% (not 100%) and that is because
; there is Cell::SetDelay() executed after cytokinesis, which
; delays, that is, lengthen/enlarges, the budget of the G1 phase
; by 0% to 10%  (with mean of 5%) of the cell cycle length.
; So the \e durationOfG1Phase ranges, in fact, from 45% to 55%
; yielding new total of 95% to 105% (with mean at 100%).
;
; times correspond to literature
duration of G1 phase = 45.0
duration of S phase = 30.0
duration of G2 phase = 15.0
duration of prophase = 1.25
duration of metaphase = 2.85
duration of anaphase = 0.25
duration of telophase = 0.325
duration of cytokinesis = 0.325

;
;testing:
;durationOfG1Phase = 1.0
;durationOfSPhase = 1.0
;durationOfG2Phase = 1.0
;durationOfProphase = 1.0
;durationOfMetaphase = 1.0
;durationOfAnaphase = 1.0
;durationOfTelophase = 20.0
;durationOfCytokinesis = 1.0
;

;
; amount of fluorophore molecules filling the nucleus interior
; (in percents)
;
coverage = 300.0

;
; The average diameter of standard cell (in microns)
;
cell diameter = 7.0

;
; A diameter of nucleolus (in microns)
;
nucleolus diameter = 1.4


;
; How far a cell can normally move between frames (in microns)
;
; When setting this value, take into account how many
; frames are used to sample cell cycle, which correlates
; with time delay between acquisition of frames in real
; situation
;
; Default value is based on our observation that a cell
; moves 1.5-2.0um/frame if time-sampling is 9.5min/frame,
; and about 1um/frame if time-sampling is 5min/frame. Thus,
; both cases yield "average" velocities of 0.184um/min and 0.2um/min.
; We use 0.19um/min and 23.75hrs/cycle.
;
; This value must not be greater than cellLookDistance.
;
; Erik data:
; cellMagnitudeOfMovementPerFrame = 0.6 
;
; short sequences
cell magnitude of movement per frame = 1.4

;
; How far a cell can move between frames (in microns) if the cell is cometing.
; Refer to the type StateOfComet for details about cometing.
;
comet cell magnitude of movement per frame = 0.5

;
; maximum magnitude of vectors used for usual and occuring-most-of-the-time
; non-rigid deformation of cells (in microns)
;
; short sequence:
cell nonrigid deformation = 0.15

;
; maximum magnitude of vectors used for "strong" non-rigid
; deformation of cells (in microns); this deformation typically
; happens just occasionally and, unlike the deformations driven
; with the cellNonRigidDeformation constant, one usually notices it;
; if set to zero, the "strong" deformation is disabled
;
; observed from Erik's data:
; cellNonRigidStrongDeformation = 1.0
;
; short sequence:
cell nonrigid strong deformation = 0.7
 
;
; Should or shouldn't non-rigid deformations (if available) be done
; in every frame. It is good to disable them when noFramesPerCellCycle
; is more than 60.
;
; Erik's data:
; const bool cellSparseNonRigidDeformations=true;
;
; short sequences:
cell sparse nonrigid deformations = false

;
; How far a cell can "see" when it is trying to move
; to region with lower density of cells (in microns).
;
; The higher the value is, the greater outlook a cell has
; and the higher chance it flows into less dense region (
; and the higher time demand for the simulation :-).
;
; This value must not be less than cellMagnitudeOfMovementPerFrame.
;
; Erik data:
; cellLookDistance = 1.1f*cellMagnitudeOfMovementPerFrame; 
;
; short sequences:
cell look distance = 6.0

; two presets available: "Erik data" vs. "short sequences"
;
; Default (average) number of frames per cell cycle
;
; Observation: 
; 150 frames/cycle gives 9.5min/frame provided cycle lasts 23.75 hours.
; 285 frames/cycle gives 5min/frame provided cycle lasts 23.75 hours.
;
; Erik data:
; noFramesPerCellCycle = 150
; short sequences:
number of frames per cell cycle = 100
; Eva data:
; noFramesPerCellCycle = 280; 


;
;-------------- characteristics of scheduler -------------------
;
[scheduler]

;
; Number of initial cells put into the process
;
number of initial cells = 10

;
; A constant that defines which slice from fully _ISOtropic_ 3D image
; should be used for spatiotemporal image. The spatiotemporal images
; are created from the ISOtropic images before these are anisotropically
; resampled.
;
slice of interest = 60


;
;---------------- optical system --------------------------------------
;
;
[objective]
name = Zeiss 63x/1.40 Oil DIC (new)
magnification = 63

[microscope]
name = Zeiss S100
magnification = 0.859

[microscope adapter]
magnification = 1

[confocal unit]
name = Atto CARV
magnification = 1

[confocal unit adapter]
magnification = 1

[psf]
;experimentaly measured point spread function
;corresponding to the selected components
;location = /mnt/gryf/COMMON/DATA/PSF/2013-01-30_1_1_9_0_2_0_0_1_0_0_0_0_11_14.ics
location = 2013-01-30_1_1_9_0_2_0_0_1_0_0_0_0_11_14.ics
;location = /home/xulman/gryfCOMMON/DATA/PSF/2013-01-30_1_1_9_0_2_0_0_1_0_0_0_0_11_14.ics

[light source]
;experimentaly measured quadratic surface of uneven illumination
;corresponding to the selected components
b1 = 0.8507717563
b2 = 0.0003232258
b3 = 0.0002796816
b4 = -0.0000000193
b5 = -0.0000003282
b6 = -0.0000002623

[fluorophore]
photobleaching rate = 0.003

[camera]
name = Micromax 1300-YHS
pixel size = 6.7
dynamic range = 12
grid = (1300,1030)
baseline = 550
ADC gain = 6
ADC offset = 0
read out noise = 25
dark current = 0.1
full well depth = 18000

[acquisition]
time = 5000
dynamic range usage = 85

[table]
z step = 0.2

[voi]
; size and shift in microns
size = (86.7,86.7,9.3)
shift = (0,0)

[subpixel precision]
level = 1


;
;--------------- testing mode options ----------------
;
[testing]

;
; When starting the simulation with the '-g' parameter (use given initial
; masks image/file), the following two integer parameters override the span
; of IDs which the simulator searches for. Note that the created cells will
; receive their own IDs, independently of the mask image.
;
; Used in the Scheduler constructor. Should be positive natural numbers.
init mask min label = 7
init mask max label = 11

;
; For non-rigid deformations, the simulator uses a coherent deformation pool
; saved as the Scheduler::pnArray. At the start up, if this data is not found
; in a cache file pnArray.cache on harddisk, a new one is automatically
; created. When creating the new one, its 3D+t size is typically derived from
; the cell diameter (times a factor of 3.5x times scene resolution) and from
; the Scheduler::GetInterphaseBudget(). With this option, one can override
; the default. Typically we want to make it a lot tighter...
;
; Used in the main() function. The factor is a positive real number,
; the length is positive natural one.
;pnArray xyz factor = 2.0
;pnArray z length = 52

;
; The simulator is capable of performing 'strong non-rigid deformations'
; occasionally. The average number of frames between two consecutive
; 'strong deformations' is normally inferred the duration of the G2 cell
; cycle phase. This parameter may override this average delay [in frames].
;
; Used in the Cell constructor and Cell::ScmSuggestNonrigidDeformation().
; Should be positive natural number.
;strong deformation delay = 10

;
; This option overrides the simulation scenario (whatever is currently used,
; e.g., interviewing Scheduler::Run(...) with creation of comets) by calling
; a single Run(X) with X read from this parameter.
;
; Used in the main() function. Should be positive natural number.
;single run length = 1

;
; When starting the simulation, every cell starts initially in the G2 cell
; cycle phase and stays there for some random time. This parameter overrides
; this random time and, actually, fixes it for all cells to the same specified
; value.
;
; Used in both Scheduler constructors. Should be positive natural number.
cell initial G2 life = 5

;
; If rigid movement of cells is enabled in the CMake, this parameter can
; disable it. It cannot, however, enable it if the rigid movement is disabled
; in the CMake (as the code is simply missing in the simulator binary then).
;
; Presence of the parameter with any value disables the movements,
; and vice versa.
;disable rigid movement = 1

; If this parameter is present, the routine for rendering territories into
; images will render the nucleus boundary as the very first thing.
;territories with nucleus boundary = 1

; If this parameter is present, the routine for rendering territories into
; images will not render all chromatin but, instead, only the chromatin
; which is listed in the parameter.
;
; Note that the number of chromatin present in the simulation is defined
; in the [cell] section of this configuration file. So, the numbers listed
; in this parameter should range from 0 up to (the number of chromatin minus 1).
;territories show only these chromatins = 15 30 45
+1.9 MiB

File added.

No diff preview for this file type.

+5 −5
Original line number Diff line number Diff line
@@ -14,11 +14,11 @@

// The frequency of restarting the chromatin (texture)
// note: set high number to disable it
#ifndef GTGEN_WITH_SOFA
	#define RESTART_PERIOD 4
#else
//#ifndef GTGEN_WITH_SOFA
	//#define RESTART_PERIOD 4
//#else
	#define RESTART_PERIOD 1000
#endif
//#endif

/**
 * A helper function to provide IDs for objects which guarantees their uniqueness
@@ -163,7 +163,7 @@ template <class MV, class PV> class Cell
			  			// The noFramesPerCellCycle should slightly vary between cells to simulate
			  			//  non-uniformity of cells in population.
						cellCycleLength = (size_t) floorf(GetRandomGauss(cellCycleLength, 
																						 0.05f*cellCycleLength));
																						 0.17f*cellCycleLength));
						REPORT("new cell has cycle length " << cellCycleLength << " frames");
					}

+4 −0
Original line number Diff line number Diff line
@@ -278,18 +278,21 @@ void Cell<MV, PV>::ChrGetCentreOfLowDensity(i3d::Vector3d<float>& centre)
template <class MV, class PV>
void Cell<MV, PV>::ChrReportStats(void)
{
	/*
	for (size_t i=0; i < chrCentres.size(); ++i)
	{
		DEBUG_REPORT("chromosome " << i << " has centre coordinate "
			<< chrCentres[i].pos << " um, spread of "
			<< chrSpreads[i] << " um, and density " << chrDensities[i]);
	}
	*/
}

//-----------------------------------------------------------------------------
template <class MV, class PV>
void Cell<MV, PV>::ChrReportClosests(void)
{
	/*
	for (size_t i=0; i < chrCentres.size(); ++i)
	{
		float closests_dist=100;
@@ -308,6 +311,7 @@ void Cell<MV, PV>::ChrReportClosests(void)
		DEBUG_REPORT("chromosome " << i << " has closest chromosome "
			<< closests_ID << " at distance " << closests_dist << " um");
	}
	*/
}


+2 −1
Original line number Diff line number Diff line
@@ -1080,7 +1080,8 @@ void Cell<MV, PV>::ScmSuggestTranslationVector(i3d::Vector3d<float> &V,
#endif
		if (availTrans >= 5) {
			//make cellMagnitudeOfMovementPerFrame vector lengths the most popular
			MultiplyWithRadialGaussian(mm,cellMagnitudeOfMovementPerFrame,cellLookDistance/3.f);
			//MultiplyWithRadialGaussian(mm,cellMagnitudeOfMovementPerFrame,cellLookDistance/3.f);
			MultiplyWithRadialGaussian(mm,cellMagnitudeOfMovementPerFrame,1.33f*cellMagnitudeOfMovementPerFrame); //=4/3*vel
			//
			//mm.SaveImage("MovsMask-radial.ics");

Loading