Here you will find the supporting code for my Bioengineering Final Year Project which is my last written coursework ever. The original code is in the DSL_backend folder which contains the pure Julia files. I have formatted the background required and code in a readable way in the form of Jupyter notebooks for your viewing pleasure. I hope this code is helpful and that you might one day attain this level of happiness as well.
This project was about modelling and analysing genetic circuits with biomolecular controllers in the context of cellular resources. The main idea for this repo is to introduce you to the ideas behind the model and to be able to play around with it in Julia. We will be using Jupyter Notebooks that you can also run in your favourite IDE (I use Visual Studio Code).
3 main resources used in gene expression are analysed with mathematical and computational methods:
# | Resource | Stage of Gene Expression | Analysis Method |
---|---|---|---|
1 | RNA Polymerases (RNAP) | Transcription | Sensitivity Analysis |
2 | Ribosomes | Translation | Sensitivity Analysis |
3 | Phosphate bonds (~ATP) | Both | Numerical Quantification |
Summary of results of framework:
Simplified framework with is able to reflect experimental results for the dose response of an activation cascade from the paper, Resource Competition Shapes the Response of Genetic Circuits by Qian. et al.
See 4_activation_cascade_simulation. It is important to note that the interest is in the underlying dynamics not the actual quantity.
Transcription Translation (TX) (TL) +------------+ +------------+ +------------+ | | | | | | | Gene, g +--+--> | mRNA, m +--+--> | Protein, x | | | | | | | | | +------------+ | +------------+ | +------------+ | | RNAP, [p] Ribosome, [r] + [ATP] + [ATP]
- Mathematical Model Definition
- Node Visualisation in Matrix Form
- Domain Specific Language (DSL) Showcase
- Simulation of Activation Cascade (Original Julia File)
- Resource Quantification
- Sensitivity Analysis
- DSL_backend
- Install Julia
- Open your command line
- Run the Julia REPL
user> julia
- Add Julia to Jupyter Notebook: Enter
]
to enter Julia's package manager
julia> ]
(v1.7 pkg)> add IJulia
- Download the Anaconda Python distribution and open it to launch Jupyter Notebook from the Anaconda Navigator.
- Clone this repo or just download it.
- Navigate to the downloaded folder and open the files with Jupyter Notebook.
More info about Julia basics: https://sje30.github.io/catam-julia/intro/julia-manual.html
- Install Git
- Open up the folder you want to download the files in.
- Open up command line
- Type
cd
then drag the folder into the command line and pressenter
. This will navigate to the folder you want to download the files in easily. - Copy and paste the following into the command line
user> git clone https://github.com/AlexanderSimWS/Y4_FYP.git
Continue from point 7. in the Quick Start Guide.