Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/examples/advanced/dna/moleculardna/README

Version: [ ReleaseNotes ] [ 1.0 ] [ 1.1 ] [ 2.0 ] [ 3.0 ] [ 3.1 ] [ 3.2 ] [ 4.0 ] [ 4.0.p1 ] [ 4.0.p2 ] [ 4.1 ] [ 4.1.p1 ] [ 5.0 ] [ 5.0.p1 ] [ 5.1 ] [ 5.1.p1 ] [ 5.2 ] [ 5.2.p1 ] [ 5.2.p2 ] [ 6.0 ] [ 6.0.p1 ] [ 6.1 ] [ 6.2 ] [ 6.2.p1 ] [ 6.2.p2 ] [ 7.0 ] [ 7.0.p1 ] [ 7.1 ] [ 7.1.p1 ] [ 8.0 ] [ 8.0.p1 ] [ 8.1 ] [ 8.1.p1 ] [ 8.1.p2 ] [ 8.2 ] [ 8.2.p1 ] [ 8.3 ] [ 8.3.p1 ] [ 8.3.p2 ] [ 9.0 ] [ 9.0.p1 ] [ 9.0.p2 ] [ 9.1 ] [ 9.1.p1 ] [ 9.1.p2 ] [ 9.1.p3 ] [ 9.2 ] [ 9.2.p1 ] [ 9.2.p2 ] [ 9.2.p3 ] [ 9.2.p4 ] [ 9.3 ] [ 9.3.p1 ] [ 9.3.p2 ] [ 9.4 ] [ 9.4.p1 ] [ 9.4.p2 ] [ 9.4.p3 ] [ 9.4.p4 ] [ 9.5 ] [ 9.5.p1 ] [ 9.5.p2 ] [ 9.6 ] [ 9.6.p1 ] [ 9.6.p2 ] [ 9.6.p3 ] [ 9.6.p4 ] [ 10.0 ] [ 10.0.p1 ] [ 10.0.p2 ] [ 10.0.p3 ] [ 10.0.p4 ] [ 10.1 ] [ 10.1.p1 ] [ 10.1.p2 ] [ 10.1.p3 ] [ 10.2 ] [ 10.2.p1 ] [ 10.2.p2 ] [ 10.2.p3 ] [ 10.3 ] [ 10.3.p1 ] [ 10.3.p2 ] [ 10.3.p3 ] [ 10.4 ] [ 10.4.p1 ] [ 10.4.p2 ] [ 10.4.p3 ] [ 10.5 ] [ 10.5.p1 ] [ 10.6 ] [ 10.6.p1 ] [ 10.6.p2 ] [ 10.6.p3 ] [ 10.7 ] [ 10.7.p1 ] [ 10.7.p2 ] [ 10.7.p3 ] [ 10.7.p4 ] [ 11.0 ] [ 11.0.p1 ] [ 11.0.p2 ] [ 11.0.p3, ] [ 11.0.p4 ] [ 11.1 ] [ 11.1.1 ] [ 11.1.2 ] [ 11.1.3 ] [ 11.2 ] [ 11.2.1 ] [ 11.2.2 ] [ 11.3.0 ]

  1 -------------------------------------------------------------------
  2 
  3      =========================================================
  4      Geant4 - an Object-Oriented Toolkit for Simulation in HEP
  5      =========================================================
  6 
  7                             moleculardna
  8                             ------------
  9 
 10 A Geant4-DNA application for simulating DNA damage.
 11 
 12 AUTHORS (alphabetical order)
 13 
 14 J.M.C. Brown, K. Chatzipapas, P. Dondero, M. Dordevic, S. Incerti, M. Karamitros,
 15 N. Lampe, D. Sakata, W.G. Shin, R. Stanzani, H. Tran (*), S. Zein
 16 
 17 (*) contact: tran@lp2ib.in2p3.fr
 18 
 19 Dedicated website:
 20 http://moleculardna.org
 21 or
 22 https://geant4-dna.github.io/molecular-docs/
 23 
 24 This example is provided by the Geant4-DNA collaboration.
 25 (http://geant4-dna.org)
 26 
 27 These two PhD theses describe the chain:
 28 W.-G. Shin (2020): https://tel.archives-ouvertes.fr/tel-03161030
 29 N. Lampe (2017): http://www.theses.fr/2017CLFAC011
 30 
 31 Any report or published results obtained using the Geant4-DNA software
 32 shall cite the following Geant4-DNA collaboration publications:
 33 Med. Phys. (2024) in press (https://doi.org/10.1002/mp.17256)
 34 Med. Phys. 45 (2018) e722-e739
 35 Phys. Med. 31 (2015) 861-874
 36 Med. Phys. 37 (2010) 4692-4708
 37 Int. J. Model. Simul. Sci. Comput. 1 (2010) 157–178
 38 
 39 Related publications can be found at:
 40 http://geant4-dna.org
 41 
 42 0 - INTRODUCTION
 43 
 44     This example shows how to simulate physics, physico-chemistry and
 45     chemistry processes in DNA geometries to predict early damage.
 46 
 47     A more detailed description is available at http://moleculardna.org
 48 
 49     To build the example:
 50     mkdir build
 51     cd build
 52     cmake ../pathToExamples/moleculardna
 53     make
 54 
 55     To run the example:
 56     ./molecular -m cylinders.mac -t 2 -p 2
 57     # -m : macro file
 58     # -t : number of threads to run
 59     # -p : physics list option
 60 
 61     Macro files can control every aspect of the simulation, see this introduction:
 62     https://geant4-dna.github.io/molecular-docs/docs/overview/macro-anatomy
 63 
 64     The macro commands of this example are listed in:
 65     https://geant4-dna.github.io/molecular-docs/docs/overview/configuration
 66 
 67 1 - GEOMETRY DEFINITION
 68 
 69     The geometry is built from text files for cylinders (cylinders.mac),
 70     ecoli (ecoli.mac) and human cell (human_cell*.mac) geometries.
 71 
 72     - cylinders.mac: to build a 3 μm sphere filled with 200,000 individual 216 bp
 73       long straight DNA segments in a 100×30×30 nm placement volume.
 74       This is a geometry used for parameter (optimization) studies.
 75 
 76     - plasmid.mac: to model a cube of liquid water (side 4.84 um) containing around
 77       10 000 plasmids (pBR322, 4367 base pairs) randomly oriented in a supercoiled conformation.
 78 
 79     - ecoli.mac: to demonstrate a simple model where the bacterial DNA follows a
 80       large scale fractal ‘Hilbert curve’ geometry.
 81 
 82     - human_cell.mac, human_cell_HTB177.mac and human_cell_MCF7.mac: to model
 83       three different cell geometries, as detailed in [1]. These mac file may
 84       be used to produce data that serve as input to the repair models.
 85 
 86     - human_cell_chromosomes.mac: to model the chromosomal type of cell geometry,
 87       as detailed in [4].
 88 
 89     More geometry information can be found in https://geant4-dna.github.io/molecular-docs/docs/examples
 90 
 91     To construct other DNA geometries, see http://natl.github.io/fractaldna/
 92 
 93     To construct chromosomal or other complex DNA geometries, see https://github.com/konhat88/complexDNA
 94 
 95     Macro commands can be used to control the geometry parameters, see for example cylinders.mac:
 96 
 97     # Commands for world and cell dimensions
 98     /world/worldSize 10200 nm
 99     /cell/radiusSize 3 3 3 um
100 
101     # Command to select the chemistry model (only IRT_syn for this example)
102     /process/chem/TimeStepModel IRT_syn
103 
104     # End time of chemistry simulation
105     /scheduler/endTime 1 us
106 
107     # Set voxel optimisation
108     /dnageom/setSmartVoxels 1
109 
110     # Check overlaps in DNA geometry region
111     /dnageom/checkOverlaps false
112 
113     # Distance from base pairs at which radicals are killed
114     /dnageom/radicalKillDistance 9 nm
115 
116     # Deposited energy accumulation range limit to start recording SBs from direct effects
117     /dnageom/interactionDirectRange 7 angstrom
118 
119     # Side length for each placement (x, y, z)
120     /dnageom/placementSize 30 30 100 nm
121 
122     # Scaling of XYZ in fractal definition file
123     /dnageom/fractalScaling 1 1 1 nm
124 
125     # Path to file that defines placement locations
126     /dnageom/definitionFile geometries/prisms200k_r3000.txt
127 
128     # Set a placement volume [format] [name path]
129     /dnageom/placementVolume prism geometries/straight-216-0.txt
130 
131     # Take the angles in the voxel placement file as multiples of pi
132     # E.g. set to true if the angle 0.5 should mean 90 degrees
133     /dnageom/setVoxelPlacementAnglesAsMultiplesOfPi false # default
134 
135     # The molecule size columns are optional, as they can either
136     # fall back onto the default sizes or be set to custom sizes in the macro
137     # used default moleculeSize (as belows)
138     /dnageom/useCustomMoleculeSizes false # default
139     #/dnageom/moleculeSize
140 
141     # Draw cell/chromosome volumes rather than DNA (makes DNA invisible)
142     /dnageom/drawCellVolumes false # default
143 
144     # Activate Histone scavenging function with default radius
145     /dnageom/activateHistoneScavenging true # default
146 
147     # DNA geometries are only ever placed in a chromosome
148     /chromosome/add cylinder sphere 3000 0 0 0 nm
149 
150     # For the visualisation of DNA geometries, the following line can be used
151     /control/execute vis.mac
152     # More specifically, start moleculardna using the command ./molecular, to
153     # to open the Qt visualiser. Then use the mac file that you want, e.g.
154     # /control/execute cylinders.mac
155     # For the visualization, large amount of RAM is needed. For example
156     # using cylinders DNA geometries, to visualize 200 cylinders, ~2.5 GB
157     # are needed. For 2000 cylinders, ~11 GB are needed.
158 
159     The DNA parallel world can be activated using the "useParallelPhysicsWorld" flag
160     in the PhysicsList.cc and DetectorConstruction.cc files for the physics stage.
161     Setting "useParallelPhysicsWorld = false" means that particles will only interact
162     with the water volume. Energy deposition in water caused by direct damage is
163     recorded using octree data structures associated with DNA volumes.
164 
165 2 - PHYSICS LIST
166 
167     The physics list can use the recommended G4EmDNAPhysics_option2,
168     G4EmDNAPhysics_option4 or
169     G4EmDNAPhysics_option6 constructors.
170 
171 3 - PRIMARY GENERATOR
172 
173     The source can be specified via General Particle Source in the provided
174     macro files.
175 
176 4 - DNA DAMAGE MODEL
177 
178     Mechanistic DNA simulations are dependent upon a
179     DNA damage model to relate energy depositions close to DNA,
180     and chemical reactions with DNA, to actual DNA damage
181 
182     The following macro commands can be used to control the damage parameters:
183 
184     # Direct damage threshold
185     /dnadamage/directDamageLower 17.5 eV
186     /dnadamage/directDamageUpper 17.5 eV
187 
188     # Indirect damage probability to create a SSB for
189     # OH radical + DNA base
190     /dnadamage/indirectOHBaseChance 1.0
191     /dnadamage/indirectOHStrandChance 0.65
192     /dnadamage/inductionOHChance 0.0
193 
194     # H radicals + DNA base
195     /dnadamage/indirectHBaseChance 1.0
196     /dnadamage/indirectHStrandChance 0.65
197     /dnadamage/inductionHChance 0.0
198 
199     # e_aq radicals + base
200     /dnadamage/indirectEaqBaseChance 1.0
201     /dnadamage/indirectEaqStrandChance 0.65
202     /dnadamage/inductionEaqChance 0.0
203 
204 5 - RESULTS
205 
206     # Bool to set whether strands ought be saved
207     /analysisDNA/saveStrands false # default
208 
209     # Directory to save DNA damage fragments
210     /analysisDNA/strandDir
211 
212     # Gap between DNA fragments in base pairs
213     # Set to zero to score placement volumes independently
214     /analysisDNA/fragmentGap 0
215 
216     # To save the position of hits histos only on one chain
217     /analysisDNA/diagnosticChain
218 
219     Several ROOT macro files are provided in the analysis directory:
220     - cylinders.C: to plot damage from cylinders geometry
221     - ecoli.C: to plot damage from ecoli geometry
222     - human_cell.C: to plot damage and fragments distribution from human_cell*
223       geometries. The human_cell_alphas.C macro can be used as shown in [1].
224     - plasmid.C: to plot damage and fragments distribution from plasmid geometries
225     - human_cell_chromosomes.C: to plot damage and fragments distribution
226       from human_cell_chromosomes geometries.
227 
228     A python macro file is provided to modify ROOT output in SDD file format [2]:
229     - createSDD.py:  to use it, insert the command "python3 createSDD.py".
230                      If error with ROOT, simply
231                      source /path/to/root/bin/thisroot.(c)sh,
232                      do "pip install pyroot" and try again.
233 
234     A python macro file is provided to analyse the output of chromosomal geometry simulation [4]:
235     - human_cell_chromosomes.py: to use it, insert the command "python3 human_cell_chromosomes.py".
236 
237 
238     A python macro file to calculate repair kinetics is located in the folder
239     repair_survival_models. This script can be used with the output of the mac
240     file human_cell (10^5 primaries) to reproduce data published in [3]:
241     - molecularDNArepair.py:  to use it, insert the command "python3 molecularDNArepair.py".
242                               The molecular-dna.root file is also needed to run it, as produced by
243                               the human-cell.mac macro.
244 
245     A python macro file to calculate the survival probability of cells is located
246     in the folder repair_survival_models. This script is early released and needs to be optimized
247     to fit any data.
248     - molecularDNAsurvival.py:  to use it, insert the command "python3 molecularDNAsurvival.py".
249                                 The molecular-dna.root file is needed to run it, as produced by
250                                 the human-cell.mac macro.
251 
252 6 - PHASE SPACE READING
253 
254     The example can read a phase space file as source for the primary generation,
255     defined in the csv format used by the GRAS Two-Stage Analysis [5].
256     An example of phase space file and the macro to read it are provided in the
257     "/phase_space" subdirectory.
258     This simple phase space file only provides 20 electrons with an energy of
259     45 keV on a randomly shaped surface based on the cylinders.mac macro file.
260 
261 7 - REFERENCES
262 
263     [1] https://doi.org/10.1016/j.ejmp.2023.102613
264     [2] https://doi.org/10.1667/RR15209.1
265     [3] https://doi.org/10.1002/pro6.1186
266     [4] https://doi.org/10.1016/j.ejmp.2024.104839
267     [5] https://spitfire.estec.esa.int/trac/GRAS/wiki/GRAS/GRAS-05-02/UserGuideTwoStage
268 
269 An alternative example for DNA damage calculation can be found in /examples/advanced/dna/dsbandrepair