# This is an example file, created by Laura van Smeden, from iGEM TU-Eindhoven 2017 # In case of any questions, contact igem@tue.nl or l.v.smeden@student.tue.nl # Good luck with modelling! # The first part of a BNGL file is the parameters block, where you can define the rates # of equations or the starting numbers of any of the molecular species. # Make sure you use the correct units: # uM, um, seconds, molecules begin parameters volume 1e-15 # reaction volume in Liter # 1e-15 Liter = 1 um^3 # the volume can be changed to a desired amount, but take into account that # a larger volume will take more computation effort and if the volume is taken too larger # the default NFsim maximum of number of molecules can be exceeded. Na 6.02e23 # avogadro's number ####################################################### # starting molecule concentrations need to be converted to single molecules Protein1Conc 1e-6*(volume*Na) # 1 uM Protein2Conc 0.5e-6*(volume*Na) # 0.5 uM InducerConc 2e-6*(volume*Na) # 2 uM ####################################################### # Kinetic parameters kD_Protein 0.25e-6 # 0.25 uM -> Binding with Protein1 and Protein2, after inducer is bound kD_Inducer 10e-6 # 10 uM -> Binding with Inducer and Protein1 kOnGeneral 10e5 # /M/s =estimation of diffusion limited association rate for proteins kOnP1P2 kOnGeneral/(Na*volume) # /molecule/second, the Molarity should be converted to molecules kOnInducer kOnGeneral/(Na*volume) # /molecule/second, the Molarity should be converted to molecules kOffP1P2 kOnGeneral*kD_Protein # /second, kD=kOff/kOn kOffInducer kOnGeneral*kD_Inducer # /second, kD=kOff/kOn end parameters # Next, we define the set of molecule types in the system. This is a declaration only, so # we don't specify how many of each molecules there are, and we have to provide a list # of all possible state values for each component of each molecule with a tilda (~) # character. begin molecule types # Take for example that Protein1 has three sites (named "s") # Each site had two states: e for empty and i for induced Protein1(s~e~i,s~e~i,s~e~i) # option for pockets e=empty, Inducer=Inducer bound # When the sites are different, it is also possible to use s1, s2 and s3. # In the case of different site, you should also define specific rates # Take for example that Protein2 has two placed where it can bind to Protein1 Protein2(p,p) # Take for example that Inducer is a single molecule and has no specific sites Inducer end molecule types # Here is where we declare the starting molecules in our simulation. Each component # must be assigned a single state value, and we have to provide how many of each # molecule exists in the system. The number of starting molecules can also be # specified with one of the parameters defined earlier begin species Protein1(s~e,s~e,s~e) Protein1Conc Protein2(p,p) Protein2Conc Inducer InducerConc end species # Observables allow us to define simulation output. Here we have declared a number # of Molecules observables with the given name and pattern. If you look at the output # gdat files that are generated from simulations of this model, you will see that they # each have a count for every simulation time. begin observables Molecules FreeProtein1 Protein1(s~e,s~e,s~e) Molecules FreeProtein2 Protein2(p,p) Molecules Inducer Inducer Molecules BondedProteins Protein1(s~i!1).Protein2(p!1) end observables # This model does not require any user-defined functions, but you would # declare them here if you needed to. See the user manual for help with # declaring your own functions. begin functions # no functions needed end functions # This is only an example, and you should adapt it according to your onw designed constructs. # Here are the rule definitions: begin reaction rules # Reversible reactions can be defined with: Protein1(s~e) + Inducer <-> Protein1(s~i) kOnInducer, kOffInducer # Non-reversible reactions can be defined with: Protein1(s~i) + Protein2(p) -> Protein1(s~i!1).Protein2(p!1) kOnP1P2 end reaction rules ####################################################################################################### # After all the parameters and reactions are defined, it is time to give the command for the simulation # With t_end you can define the end time of your simulation and with n_steps you can specify the amount # of steps is should use to reach the end-time. # When running the bngl file only for generating an xml-file it is not necessary, but it can still be # useful, especially if you want to get an output of the final state. # We use suffix nf as an indication to tell which output is generated with NFsim, but it is optional. simulate_nf({suffix=>nf,t_end=>1,n_steps=>10,get_final_state=>1}); # If we want to run NFsim directly from the console, and ignore BioNetGen altogether # after the BNGL file has been processed, we need to include the "writeXML" command. # This will write out your model to "system_example.xml". In general, the XML file # name will match the BNGL file name, with an XML extension instead of .bngl. writeXML();