{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "Your goal is to perform a sensitivity analysis of the parameters in the fly clock model of Goldbeter. The base project is about determining how consistent the sensitivities are across parameter sets. I would love to see extensions that examine which processes have which effects.\n", "\n", "## Instructions\n", "
    \n", "
  1. Use your genetic algorithm to generate 10 excellent parameter sets (i.e. run the algorithm 10 times and use the lowest cost child from each run). You may use parameter sets you found in Project 4 or you may generate new parameter sets.\n", "
  2. For each of the parameter sets, analyze the sensitivity of the amplitude and of the period (separately) to each parameter. To analyze the sensitivity of the amplitude, you will need to choose which state variable to focus on, or use the sensitivity of the sum of the amplitudes. Analyzing the amplitude sensitivities of multiple states and comparing the results is an extension.\n", "
  3. What are the similarities and differences in sensitivity across parameter sets? Are there parameters that have opposite effects in different parameter sets? \n", "
\n", " \n", "## Extensions\n", "
    \n", "
  1. Analyze additional models\n", "
  2. Explore the effects of changing the size of the perturbation used to compute the sensitivities.\n", "
  3. Include an analysis of the sensitivity of state dynamics to parametric perturbation.\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Steps to get you started\n", "\n", "### 1. Copy-paste code and/or results from Project 4\n", "You will need the Golbeter's model and get_period at the very least. If you are generating parameter sets in this project, you will also need the GA code and cost function. If you using parameter sets from Project 4, you can just refer to the files that have them (assuming you have .npz file)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 2. Write the output functions you want to analyze.\n", "
    \n", "
  1. Write a function that takes as input the parameters and provides as output the period.\n", "
  2. Write a function that takes as input the parameters and provides as output a measurement of the peak-to-trough amplitude. Here is where you can make a decision. You can track the amplitude of one particular state, or sum the amplitudes of all 5 states. In your report, be sure to clearly indicate which you chose.\n", "
\n", "\n", "Test them with the published parameters. My output is\n", "\n", "period 23.662222222222223\n", "amplitude of M 2.3759648547322616\n", "amplitude of P0 1.4260629330956047\n", "amplitude of P1 0.7354556871287586\n", "amplitude of P2 0.7550101535148619\n", "amplitude of PN 1.0799752338320783\n", "sum of amplitudes of all states 6.372468862303565\n", "\n", "Note: Make sure you run the model for at least 10 days, to eliminate the transient. Then run it again to determine the period or amplitude." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 3. Write the sensitivity analysis code and test it." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " ## Begin your project here\n", " \n", " Complete the project (analyzing the sensitivities) here. If you write extensions, add any support code (e.g. a function to compute the sensitivities to the state dynamics) above. Just concentrate main code for the report here." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "# Start code and write-up here" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "Acknowledgements\n", "\n", "*Replace this text with links to external resources and thanks to people you worked with.*" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.5" } }, "nbformat": 4, "nbformat_minor": 4 }