Warning, /geant4/examples/extended/medical/dna/moleculardna/README is written in an unsupported language. File is not indexed.
0001 -------------------------------------------------------------------
0002
0003 =========================================================
0004 Geant4 - an Object-Oriented Toolkit for Simulation in HEP
0005 =========================================================
0006
0007 moleculardna
0008 ---------
0009
0010 A Geant4-DNA application for simulating DNA damage.
0011
0012 AUTHORS
0013
0014 N. Lampe, M. Karamitros, D. Sakata, W. G. Shin, M. Dordevic, K. Chatzipapas,
0015 P.Dondero, R.Stanzani, H.N. Tran (*) et al.
0016
0017 (*) contact: tran@cenbg.in2p3.fr
0018
0019 This example is provided by the Geant4-DNA collaboration.
0020 (http://geant4-dna.org)
0021
0022 Any report or published results obtained using the Geant4-DNA software
0023 shall cite the following Geant4-DNA collaboration publications:
0024 Med. Phys. 45 (2018) e722-e739
0025 Phys. Med. 31 (2015) 861-874
0026 Med. Phys. 37 (2010) 4692-4708
0027 Int. J. Model. Simul. Sci. Comput. 1 (2010) 157–178
0028
0029 These two PhD theses describe the chain:
0030 W.-G. Shin (2020): https://tel.archives-ouvertes.fr/tel-03161030
0031 N. Lampe (2017): http://www.theses.fr/2017CLFAC011
0032
0033 Related publications can be found at:
0034 http://geant4-dna.org
0035
0036 0 - INTRODUCTION
0037
0038 This example shows how to simulate physics, physico-chemistry and
0039 chemistry processes in DNA geometries.
0040 Please find its documentation in https://natl.github.io/molecular-docs/
0041
0042 To build the example:
0043 mkdir build
0044 cd build
0045 cmake ../pathToExamples/moleculardna
0046 make
0047
0048 To run the example:
0049 ./molecular -m cylinders.mac -t 2 -p 2
0050 # -m : macro file
0051 # -t : number of threads to run
0052 # -p : physics list option
0053
0054 Macro files can control every aspect of the simulation.
0055
0056 1 - GEOMETRY DEFINITION
0057
0058 The geometry is built from text files for cylinders (cylinders.mac),
0059 ecoli (ecoli.mac) and human cell (human_cell.mac) geometries.
0060
0061 - cylinders.mac : to build a 3 μm sphere filled with 200,000 individual 216 bp
0062 long straight DNA segments in a 100×30×30 nm placement volume
0063 - human_cell.mac : to model a fibroblast cell geometry. This mac file, may be used
0064 to produce data that may be used with the repair model, to produce results published
0065 in https://doi.org/10.1002/pro6.1186
0066 - ecoli.mac : to demonstrate a simple model where the bacterial DNA follows a
0067 large scale fractal ‘Hilbert curve’ geometry
0068 - more geometry information can be found in https://natl.github.io/molecular-docs/
0069
0070 For the details, please see documentation to construct DNA geometry models:
0071 http://natl.github.io/fractaldna/
0072
0073
0074 Macro commands can be used to control the geometry parameters
0075
0076 # Commands for world geometry params
0077 /world/worldSize 10200 nm
0078 /cell/radiusSize 3 3 3 um
0079
0080 # Commands for the time of chemistry simulation
0081 /scheduler/endTime 1 us
0082
0083 # Set Smartless for logicalVolume
0084 /dnageom/setSmartVoxels 1
0085 # Check overlaps in DNA geometry region
0086 /dnageom/checkOverlaps false # default
0087
0088 # Distance from base pairs at which to kill radicals
0089 /dnageom/radicalKillDistance 9 nm
0090
0091 # Critical range to start recording SSBs from direct effects
0092 /dnageom/interactionDirectRange 7 angstrom
0093
0094 # Side length for each placement (x, y, z)
0095 /dnageom/placementSize 30 30 100 nm
0096
0097 # Scaling of XYZ in fractal definition file
0098 /dnageom/fractalScaling 1 1 1 nm
0099
0100 # Path to file that defines placement locations (cylinders.mac)
0101 /dnageom/definitionFile geometries/prisms200k_r3000.txt
0102
0103 # Set a placement volume [format] [name path] (cylinders.mac)
0104 /dnageom/placementVolume prism geometries/straight-216-0.txt
0105
0106 # Take the angles in the voxel placement file as multiples of pi
0107 # E.g. set to true if the angle 0.5 should mean 90 degrees
0108 /dnageom/setVoxelPlacementAnglesAsMultiplesOfPi false # default
0109
0110 # The molecule size columns are optional, as they can either
0111 # fall back onto the default sizes or be set to custom sizes in the macro
0112 # used default moleculeSize (as belows)
0113 /dnageom/useCustomMoleculeSizes false # default
0114 #/dnageom/moleculeSize
0115
0116 # Draw cell/chromosome volumes rather than DNA (makes DNA invisible)
0117 /dnageom/drawCellVolumes false # default
0118
0119 # Activate Histone scavenging function with default radius
0120 /dnageom/activateHistoneScavenging true # default
0121
0122 # DNA geometries are only ever placed in a chromosome
0123 /chromosome/add cylinder sphere 3000 0 0 0 nm
0124
0125 # For the visualisation of DNA geometries, the following line can be used
0126 /control/execute vis.mac
0127 # More specifically, start moleculardna using the command ./molecular, to
0128 # to open the Qt visualiser. Then use the mac file that you want, e.g.
0129 # /control/execute cylinders.mac
0130 # For the visualization, large amount of RAM is needed. For example
0131 # using cylinders DNA geometries, to visualize 200 cylinders, ~2.5 GB
0132 # are needed. For 2000 cylinders, ~11 GB are needed.
0133
0134 The DNA parallel world can be activated using the "useParallelPhysicsWorld" flag
0135 in the PhysicsList.cc and DetectorConstruction.cc files for the physics stage.
0136 Setting "useParallelPhysicsWorld = false" means that particles will only interact
0137 with the water volume. Energy deposition in water caused by direct damage is
0138 recorded using octree data structures associated with DNA volumes.
0139
0140 2 - PHYSICS LIST
0141
0142 MolecularPhysicsList is a Geant4 modular physics which can use
0143 the recommended G4EmDNAPhysics_option2, G4EmDNAPhysics_option4 or
0144 G4EmDNAPhysics_option6 constructors.
0145
0146 3 - PRIMARY GENERATOR
0147
0148 The source can be specified via General Particle Source in the provided
0149 macro files.
0150
0151 4 - DNA DAMAGE MODEL
0152
0153 Mechanistic DNA simulations are dependent upon a
0154 DNA damage model to relate energy depositions close to DNA,
0155 and chemical reactions with DNA to actual DNA damage
0156
0157 The following macro commands can be used to control the damage parameters
0158
0159 # Direct damage Threshold
0160 /dnadamage/directDamageLower 17.5 eV
0161 /dnadamage/directDamageUpper 17.5 eV
0162
0163 # Indirect damage probability to create a SSB for
0164 # OH radical + DNA base,
0165 /dnadamage/indirectOHBaseChance 1.0
0166 /dnadamage/indirectOHStrandChance 0.65
0167 /dnadamage/inductionOHChance 0.0
0168
0169 # H radicals + DNA base
0170 /dnadamage/indirectHBaseChance 1.0
0171 /dnadamage/indirectHStrandChance 0.65
0172 /dnadamage/inductionHChance 0.00
0173
0174 # e_aq radicals + base
0175 /dnadamage/indirectEaqBaseChance 1.0
0176 /dnadamage/indirectEaqStrandChance 0.65
0177 /dnadamage/inductionEaqChance 0.00
0178
0179 5 - RESULTS
0180
0181 # Bool to set whether strands ought be saved
0182 /analysisDNA/saveStrands false # default
0183
0184 # Directory to save DNA damage fragments
0185 /analysisDNA/strandDir
0186
0187 # Gap between DNA fragments in base pairs
0188 # Set to zero to score placement volumes independently
0189 /analysisDNA/fragmentGap 0
0190
0191 # To save the position of hits histos only on one chain
0192 /analysisDNA/diagnosticChain
0193
0194 Several ROOT macro files are provided in the analysis directory:
0195 - cylinders.C : to plot damage from cylinders geometry
0196 - ecoli.C : to plot damage from ecoli geometry
0197 - human_cell.C : to plot damage and fragments distribution from human_cell
0198 geometry
0199
0200 A python macro file is provided to modify ROOT output in SDD file format:
0201 - createSDD.py : to use it, insert the command "python3 createSDD.py".
0202 If error with root, simply
0203 source /path/to/root/bin/thisroot.(c)sh,
0204 do "pip install pyroot" and try again.
0205
0206 A python macro file to calculate repair kinetics is located in the folder
0207 repair_survival_models. This script can be used with the output of the mac
0208 file human_cell (10^5 primaries) to reproduced data published in
0209 https://arxiv.org/abs/2210.01564
0210 - molecularDNArepair.py : to use it, insert the command "python3 molecularDNArepair.py".
0211 The molecular-dna.root is also needed to run it, as produced by
0212 the human-cell.mac.
0213
0214 A python macro file to calculate the survival probability of cells is located
0215 in the folder repair_survival_models. This script is early released and needs to be optimized
0216 to fit any data.
0217 - molecularDNAsurvival.py : to use it, insert the command "python3 molecularDNAsurnival.py".
0218 The molecular-dna.root is needed to run it, as produced by
0219 the human-cell.mac.
0220
0221
0222 6 - PHASE SPACE READING
0223
0224 The example can read a phase space file as source for the primary generation,
0225 defined in the csv format used by the GRAS Two-Stage Analysis [1].
0226 An example of phase space file and the macro to read it are provided in the
0227 "/phase_space" subdirectory.
0228 This simple phase space file only provides 20 electrons with an energy of
0229 45 keV on a randomly shaped surface based on the cylinders.mac macro file.
0230
0231 An alternative example for DNA damage calculation can be found in /examples/advanced/dsbandrepair
0232
0233 Reference
0234 [1] https://spitfire.estec.esa.int/trac/GRAS/wiki/GRAS/GRAS-05-02/UserGuideTwoStage
0235