{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Project 5" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "*Name:*" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Your goal is to perform a sensitivity analysis of the parameters in the fly clock model of Goldbeter.\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. If at all possible, please plot the results for all parameter sets on the same graph (a box-and-whisker plot might be helpful here).\n", "
  3. What are the similarities and differences in sensitivity across parameter sets? For example, are there any parameter which make the period longer in some parameter sets, but shorter in others? Are there any parameters that have radically different sensitivities across the 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 }