BIOL398-05/S17:Week 12

From OpenWetWare
Jump to navigationJump to search
BIOL398-05: Biomathematical Modeling

MATH 388-01: Survey of Biomathematics

Loyola Marymount University

Home       People        Brightspace        Box       Help      

This journal entry is due on Thursday, April 20 at midnight PDT (Wednesday night/Thursday morning). NOTE that the server records the time as Eastern Daylight Time (EDT). Therefore, midnight will register as 03:00. NOTE also that the assignment is due the week after Easter Break.

Individual Journal Assignment

  • Store this journal entry as "username Week 12" (i.e., this is the text to place between the square brackets when you link to this page).
  • Create the following set of links. (HINT: These links should all be in your personal template that you created for the Week 1 Assignment; you should then simply invoke your template on each new journal entry.)
    • Link to your journal entry from your user page.
    • Link back from your journal entry to your user page.
    • Link to this assignment from your journal entry.
    • Don't forget to add the "BIOL398-05/S17" category to the end of your wiki page.

Homework Partners

Please meet with your partner (either face-to-face or virtually) at least once when preparing this assignment. Even though you may work together to understand the article, your journal assignment must be completed individually. It is not acceptable to do a joint assignment and copy it over to each others' journal page.

  • Lauren, Cameron
  • Nika, Conor
  • Maggie

Electronic Lab Notebook

Complete your electronic notebook that gives the details of what you did for the assignment this week. Your notebook entry should contain:

  1. The purpose: what was the scientific purpose of your investigations?
    • Note that this is different than the learning purpose.
  2. Your workflow or methods: what did you actually do? Give a step by step account.
    • There should be enough detail provided so that you or another person could re-do it based solely on your notebook.
    • You may copy protocol instructions to your page and modify them as to what you actually did, as long as you provide appropriate attribution in the acknowledgments and references section.
    • Take advantage of the electronic nature of the notebook by providing screenshots, links to web pages, etc.
  3. Your results: the answers to the questions in the protocol, plus any other results you gathered. Your results will include some or all of the following: images, plots, data, and files.
    • Note that files left on the Desktop or My Documents or Downloads folders on the Seaver 120 computers will be deleted upon restart of the computers. Files stored on the T: drive will be saved. However, it is not a good idea to trust that they will be there when you next use the computer.
    • Thus, it is a critical skill for data and computer literacy to back-up your data and files in at least two ways:
    • References to data and files should be made within the methods and results section of your notebook, listed above.
    • In addition to these inline links, create a Data and Files section of your notebook to make a list of the files generated in this exercise.
  4. A scientific conclusion: what was your main finding for today's project? Did you fulfill the purpose? Why or why not?
  5. The Acknowledgments section, see below.
  6. The References section, see below.


In this section, you need to acknowledge anyone who assisted you with your assignment, either in person, electronically, or even anonymously without their knowledge.

  1. You must acknowledge your homework partner or team members with whom you worked, giving details of the nature of the collaboration. You should include when and how you met and what content you worked on together. An appropriate statement could be (but is not limited to) the following:
    • I worked with my homework partner (give name and link name to their user page) in class. We met face-to-face one time outside of class. We texted/e-mailed/chatted online three times. We worked on the <details> portion of the assignment together.
  2. Acknowledge anyone else you worked with who was not your assigned partner. This could be Dr. Dahlquist or Dr. Fitzpatrick (for example, via office hours), the TA, other students in the class, or even other students or faculty outside of the class.
  3. If you copied wiki syntax or a particular style from another wiki page, acknowledge that here. Provide the user name of the original page, if possible, and provide a link to the page from which you copied the syntax or style.
  4. If you need to reference content (such as the methods of a protocol) also acknowledge it here and include a formal citation in your References section (see below).
  5. You must also include this statement unless otherwise noted:
    • "Except for what is noted above, this individual journal entry was completed by me and not copied from another source."
  6. Sign your Acknowledgments section with your wiki signature.


  1. In this section, you need to provide properly formatted citations to any content that was not entirely of your own devising. This includes, but is not limited to:
    • methods
    • data
    • facts
    • images
    • documents, including the scientific literature
  2. The references in this section should be accompanied by in text citations on your page that refer to these references.
  3. Do not include citations/references to sources that you did not use.
  4. Generally, you should include a reference to that week's assignment page.
  5. The references should be formatted according to the APA guidelines.
  6. For more detailed instructions on how to cite journal articles, books, or web pages, please see the document Guidelines for Literature Citations in a Scientific Paper that you were given on the first day of class.

Microarray Data Analysis

For this assignment, we will continue to analyze the data from the Week 11 assignment. Whatever you did not finish for Week 11 gets rolled into this assignment with the additions below.


This is a list of steps required to analyze DNA microarray data.

  1. Quantitate the fluorescence signal in each spot
  2. Calculate the ratio of red/green fluorescence
  3. Log2 transform the ratios
    • Steps 1-3 have been performed for you by the GenePix Pro software (which runs the microarray scanner).
  4. Normalize the ratios on each microarray slide
  5. Normalize the ratios for a set of slides in an experiment
  6. Perform statistical analysis on the ratios
  7. Compare individual genes with known data
    • Steps 6-7 are performed in Microsoft Excel
  8. Pattern finding algorithms (clustering)
  9. Map onto biological pathways
    • We will use software called STEM for the clustering and mapping
  10. Identifying regulatory transcription factors responsible for observed changes in gene expression
  11. Dynamical systems modeling of the gene regulatory network
    • The modeling will be performed in MATLAB

For the modeling project, each pair of students will analyze a Dahlquist lab microarray dataset from a particular strain of yeast.

  • Wild type: Maggie
  • Δgln3: Nika and Conor
  • Δhap4: Lauren and Cameron

You will download your assigned Excel spreadsheet from Box. You were e-mailed a link to do this before class. Because the Dahlquist Lab data is unpublished, please do not post it on this public wiki. Instead, post the file(s) back to Box, which is protected by a password.

Before you begin...

Remember to set your computer to display file extensions and your browser to download files to a folder you specify. Instructions are on the Week 11 Assignment page.

Using YEASTRACT to Infer which Transcription Factors Regulate a Cluster of Genes

In the previous analysis using STEM, we found a number of gene expression profiles (aka clusters) which grouped genes based on similarity of gene expression changes over time. The implication is that these genes share the same expression pattern because they are regulated by the same (or the same set) of transcription factors. We will explore this using the YEASTRACT database.

  1. Open the gene list in Excel for the one of the significant profiles from your stem analysis. Choose a cluster with a clear cold shock/recovery up/down or down/up pattern. You should also choose one of the largest clusters.
    • Copy the list of gene IDs onto your clipboard.
  2. Launch a web browser and go to the YEASTRACT database.
    • On the left panel of the window, click on the link to Rank by TF.
    • Paste your list of genes from your cluster into the box labeled ORFs/Genes.
    • Check the box for Check for all TFs.
    • Accept the defaults for the Regulations Filter (Documented, DNA binding plus expression evidence)
    • Do not apply a filter for "Filter Documented Regulations by environmental condition".
    • Rank genes by TF using: The % of genes in the list and in YEASTRACT regulated by each TF.
    • Click the Search button.
  3. Answer the following questions:
    • In the results window that appears, the p values colored green are considered "significant", the ones colored yellow are considered "borderline significant" and the ones colored pink are considered "not significant". How many transcription factors are green or "significant"?
    • Copy the table of results from the web page and paste it into a new Excel workbook to preserve the results.
      • Upload the Excel file to OWW or Box and link to it in your electronic lab notebook.
      • Are GLN3 or HAP4 on the list? If so, what is their "% in user set", "% in YEASTRACT", and "p value".
  4. For the mathematical model that we will build, we need to define a gene regulatory network of transcription factors that regulate other transcription factors. We can use YEASTRACT to assist us with creating the network. We want to generate a network with approximately 15-30 transcription factors in it.
    • You need to select from this list of "significant" transcription factors, which ones you will use to run the model. You will use these transcription factors and add GLN3 and HAP4 if they are not in your list. Explain in your electronic notebook how you decided on which transcription factors to include. Record the list and your justification in your electronic lab notebook.
    • Go back to the YEASTRACT database and follow the link to Generate Regulation Matrix.
    • Copy and paste the list of transcription factors you identified (plus HAP4 and GLN3) into both the "Transcription factors" field and the "Target ORF/Genes" field.
    • We are going to use the "Regulations Filter" options of "Documented", "Only DNA binding evidence"
      • Click the "Generate" button.
      • In the results window that appears, click on the link to the "Regulation matrix (Semicolon Separated Values (CSV) file)" that appears and save it to your Desktop. Rename this file with a meaningful name so that you can distinguish it from the other files you will generate.

Visualizing Your Gene Regulatory Networks with GRNsight

We will analyze the regulatory matrix files you generated above in Microsoft Excel and visualize them using GRNsight to determine which one will be appropriate to pursue further in the modeling.

  1. First we need to properly format the output files from YEASTRACT. You will repeat these steps for each of the three files you generated above.
    • Open the file in Excel. It will not open properly in Excel because a semicolon was used as the column delimiter instead of a comma. To fix this, Select the entire Column A. Then go to the "Data" tab and select "Text to columns". In the Wizard that appears, select "Delimited" and click "Next". In the next window, select "Semicolon", and click "Next". In the next window, leave the data format at "General", and click "Finish". This should now look like a table with the names of the transcription factors across the top and down the first column and all of the zeros and ones distributed throughout the rows and columns. This is called an "adjacency matrix." If there is a "1" in the cell, that means there is a connection between the trancription factor in that row with that column.
    • Save this file in Microsoft Excel workbook format (.xlsx).
    • Check to see that all of the transcription factors in the matrix are connected to at least one of the other transcription factors by making sure that there is at least one "1" in a row or column for that transcription factor. If a factor is not connected to any other factor, delete its row and column from the matrix. Make sure that you still have somewhere between 15 and 30 transcription factors in your network after this pruning.
      • Only delete the transcription factor if there are all zeros in its column AND all zeros in its row. You may find visualizing the matrix in GRNsight (below) can help you find these easily.
    • For this adjacency matrix to be usable in GRNmap (the modeling software) and GRNsight (the visualization software), we need to transpose the matrix. Insert a new worksheet into your Excel file and name it "network". Go back to the previous sheet and select the entire matrix and copy it. Go to you new worksheet and click on the A1 cell in the upper left. Select "Paste special" from the "Home" tab. In the window that appears, check the box for "Transpose". This will paste your data with the columns transposed to rows and vice versa. This is necessary because we want the transcription factors that are the "regulatORS" across the top and the "regulatEES" along the side.
    • The labels for the genes in the columns and rows need to match. Thus, delete the "p" from each of the gene names in the columns. Adjust the case of the labels to make them all upper case.
    • In cell A1, copy and paste the text "rows genes affected/cols genes controlling".
    • Finally, for ease of working with the adjacency matrix in Excel, we want to alphabatize the gene labels both across the top and side.
      • Select the area of the entire adjacency matrix.
      • Click the Data tab and click the custom sort button.
      • Sort Column A alphabetically, being sure to exclude the header row.
      • Now sort row 1 from left to right, excluding cell A1. In the Custom Sort window, click on the options button and select sort left to right, excluding column 1.
    • Name the worksheet containing your organized adjacency matrix "network" and Save.
  2. Now we will visualize what these gene regulatory networks look like with the GRNsight software.
    • Go to the GRNsight home page.
    • Select the menu item File > Open and select the regulation matrix .xlsx file that has the "network" worksheet in it that you formatted above. If the file has been formatted properly, GRNsight should automatically create a graph of your network. Move the nodes (genes) around until you get a layout that you like and take a screenshot of the results. Paste it into your PowerPoint presentation.

Generating an Input Workbook for GRNmap

Now that you have identified the gene regulatory network that you want to model, the next step is to generate the input Excel workbook that you will run in the GRNmap modeling software.

Click here to download a sample workbook on which to base the one specific to your network and microarray data.

Note that when following the instructions below, you need to follow them precisely, to the letter, or GRNmap will return an error.

production_rates sheet

  • This sheet contains initial guesses for the production rate parameters, P, for all genes in the network.
    • Assuming that the system is in steady state with the relative expression of all genes equal to 1, (P/2) - lambda = 0, where lambda is the degradation rate, is a reasonable initial guess.
    • The sheet should contain two columns (from left to right) entitled, "id", "production_rate".
      • The id is an identifier that the user will use to identify a particular gene.
      • The "production_rate" column should then contain the initial guesses for the P parameter as described above, rounded to four decimal places.
    • The genes should be listed in the same order in all the sheets in the Excel workbook.
  • While this is the first worksheet in the workbook (from left to right), it makes sense to create the degradation_rates sheet first (instructions below).

degradation_rates sheet

  • This sheet contains degradation rates for all genes in the network, which are provided by the user.
  • Currently, the Dahlquist Lab is using data based on published mRNA half-life data from Neymotin et al. (2006).
    • We converted the half-life data values to the degradation rates by taking the natural log of the half-life and dividing by 2.
  • The sheet should contain two columns (from left to right) entitled "id", and "degradation_rate".
      • The id is an identifier that the user will use to identify a particular gene.
      • The "degradation_rate" column should then contain the absolute value of the degradation rate for the corresponding gene as described above, rounded to four decimal places.
        • To obtain these values, download the file: Neymotin_2014_RNA_degradation_rates_processed.xlsx.
        • From the worksheet called "degradation_rate_Harbison202", locate the rounded degradation rate value (from column F) and copy and paste it into your input workbook.
        • If the value is missing for a gene, check the worksheet "degradation_rate_all". If it is not there either, substitute the median value of -0.0990 for the missing degradation rates.
    • The genes should be listed in the same order in all the sheets in the Excel workbook.

Expression Data Sheets for Individual Yeast Strains

  • Expression data can be provided for either a single strain or multiple strains of yeast (for example, the wild type strain and a transcription factor deletion strain).
  • Each strain will have its own sheet in the workbook.
  • Each sheet should be given a unique name that follows the convention "STRAIN_log2_expression", where the word "STRAIN" is replaced by the strain designation, which will appear in the optimization_diagnostics sheet. The sheet should have the following columns in this order:
    1. "id": list of all genes. The genes should be listed in the same order in all the sheets in the Excel workbook.
    2. The next series of columns should contain the expression data for each gene at a given timepoint given as log2 ratios (log2 fold changes). The column header should be the time at which the data were collected, without any units. For example, the 15 minute timepoint would have a column header "15" and the 30 minute timepoint would have the column header "30". GRNmap supports replicate data for each of the timepoints. Replicate data for the same timepoint should be in columns immediately next to each other and have the same column headers. For example, three replicates of the 15 minute timepoint would have "15", "15", "15" as the column headers.
    3. If data are provided for multiple strains, each strain should have data for the same timepoints.
  • Everyone in the class will have at least one expression worksheet called "wt_log2_expression".
  • If your network includes GLN3 and/or HAP4, then include expression worksheets, called "dgln3_log2_expression" and/or "dhap4_log2_expression".
  • Include the data for the 15, 30, and 60 minute timepoints, but not the 90 or 120 minute timepoints.
  • The data you will be using is the normalized log2 fold changes that you did the ANOVA analysis on. Remember, the data files are on Box.
    • "BIOL398-05_Spring2017_master_microarray_data_wt.xlsx"
    • "BIOL398-05_Spring2017_master_microarray_data_dGLN3.xlsx"
    • "BIOL398-05_Spring2017_master_microarray_data_dHAP4.xlsx"
  • It is tedious to copy and paste all of the data by hand, so in class, Dr. Dahlquist will demonstrate how to execute a query in Microsoft Access to do it for you.
  • You will note that in the sample input workbook, there are some cells in the expression sheets highlighted in yellow. This is because those cells had missing data in them. GRNmap will return an error if it encounters missing values, so we need to fill those cells.
    • When you see cells with missing data in them, highlight the cell yellow.
    • Then write a formula that computes the average of the log2 fold change for that gene and timepoint.
    • Then copy the contents of that cell, and "Paste special > paste values" into the cell to remove the formula.

network sheet

  • This sheet contains an adjacency matrix representation of the gene regulatory network.
  • The columns correspond to the transcription factors and the rows correspond to the target genes controlled by those transcription factors.
  • A “1” means there is an edge connecting them and a “0” means that there is no edge connecting them.
  • The upper-left cell (A1) should contain the text “cols regulators/rows targets”. This text is there as a reminder of the direction of the regulatory relationships specified by the adjacency matrix.
  • The rest of row 1 should contain the names of the transcription factors that are controlling the other genes in the network, one transcription factor name per column.
  • The rest of column A should contain the names of the target genes that are being controlled by the transcription factors heading each of the columns in the matrix, one target gene name per row.
  • The transcription factor names should correspond to the "id" in the other sheets in the workbook. They should be capitalized the same way and occur in the same order along the top and side of the matrix. The matrix needs to be symmetric, i.e., the same transcription factors should appear along the top and left side of the matrix. The genes should be listed in the same order in all the sheets in the Excel workbook.
  • Each cell in the matrix should then contain a zero (0) if there is no regulatory relationship between those two transcription factors, or a one (1) if there is a regulatory relationship between them. Again, the columns correspond to the transcription factors and the rows correspond to the target genes controlled by those transcription factors.
  • The network you derived from the YEASTRACT database in the last class can be copied and pasted into this sheet directly. You may need to edit the contents of cell A1, but the rest should be good to go (especially if you previewed it in GRNsight).

network_weights sheet

  • These are the initial guesses for the estimation of the weight parameters, w.
  • Since these weights are initial guesses which will be optimized by GRNmap, the content of this sheet can be identical to the "network" sheet.

optimization_parameters sheet

The optimization_parameters sheet should have two columns (from left to right) entitled, "optimization_parameter" and "value".

You should copy this worksheet from the sample workbook provided. The only row that you need to modify is row 15, "Strain". Include just the strain designations for which you have a corresponding STRAIN_log2_expression sheet. Everyone will have "wt" and some will have either or both "dgln3" and/or "dhap4".

This is an explanation of what the optimization_parameters mean.

  • alpha: Penalty term weighting (from the L-curve analysis)
  • kk_max: Number of times to re-run the optimization loop. In some cases re-starting the optimization loop can improve performance of the estimation.
  • MaxIter: Number of times MATLAB iterates through the optimization scheme. If this is set too low, MATLAB will stop before the parameters are optimized.
  • TolFun: How different two least squares evaluations should be before the program determines that it is not making any improvement
  • MaxFunEval: maximum number of times the program will evaluate the least squares cost
  • TolX: How close successive least squares cost evaluations should be before the program determines that it is not making any improvement.
  • production_function: = Sigmoid (case-insensitive) if sigmoidal model, =MM (case-insensitive) if Michaelis-Menten model
  • L_curve: =0 if an L-curve analysis should NOT be run or =1 if an L-curve analysis SHOULD be run. The L-curve analysis will automatically run sequential rounds of estimation for an array of fixed alpha values (0.8, 0.5, 0.2, 0.1,0.08, 0.05,0.02,0.01, 0.008, 0.005, 0.002, 0.001, 0.0008, 0.0005, 0.0002, and 0.0001). GRNmap makes a copy of the user's selected input workbook and changes alpha to the first alpha in the list. The estimation runs and the resulting parameter values are used as the initial guesses for the next round of estimation with the next alpha value. This process repeats until all alpha values have been run. New input and output workbooks are generated for each alpha value, although currently, the graphs are only saved for the last run.
  • estimate_params =1 if want to estimate parameters and =0 if the user wants to do just one forward run
  • make_graphs =1 to output graphs; =0 to not output graphs
  • fix_P =1 if the user does not want to estimate the production rate, P, parameter, just use the initial guess and never change; =0 to estimate
  • fix_b =1 if the user does not want to estimate the b parameter, just use the initial guess and never change; =0 to estimate
  • expression_timepoints: A row containing a list of the time points when the data was collected experimentally. Should correspond to the timepoint column headers in the STRAIN_log2_expression sheets.
  • Strain: A row containing a list of all of the strains for which there is expression data in the workbook. Should correspond to the "STRAIN" portion of the names of the STRAIN_log2_expression sheets for each strain. Note that GRNmap will run the model for the wild type network (all genes present in the network) and for networks where the gene deleted from the designated STRAIN has been deleted from the network.
  • simulation_timepoints: A row containing a list of the time points at which to evaluate the differential equations to generate the simulated data. This does not need to correspond to the actual measurement times, but should be in the same units (e.g. minutes).

threshold_b sheet

  • These are the initial guesses for the estimation of the threshold_b parameters.
  • There should be two columns.
    • The left-most column should contain the header "id" and list the standard names for the genes in the model in the same order as in the other sheets.
    • The second column should have the header "threshold_b" and should contain the initial guesses, typically all 0.

Once you have completed your input workbook, either upload and link to it on the OWW wiki, or share it on Box.

Shared Journal Assignment

  • Store your shared journal entry in the shared Class Journal Week 12 page. If this page does not exist yet, go ahead and create it (congratulations on getting in first :) )
  • Link to your journal entry from your user page.
  • Link back from the journal entry to your user page.
  • Sign your portion of the journal with the standard wiki signature shortcut (~~~~).
  • Add the "BIOL398-05/S17" category to the end of the wiki page (if someone has not already done so).


  1. What is the most valuable thing you have learned by completing this assignment?
  2. What is not yet clear?