Leanne Kuwahara-Week 6

From OpenWetWare
Jump to navigationJump to search

Purpose

To run and analyze the gene regulatory model in GRNmap, then use these results to propose in silico experiments of the data.

Methods

Creating the GRNmap Input Workbook

Purpose: to generate the input Excel workbook that will be run in the GRNmap modeling software

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
  • This 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. In our case, we are using the "StandardName" of the genes identified for the regulatory network
    • The "production_rate" column should then contain the initial guesses for the P parameter as described above, rounded to four decimal places
      • The production rates are provided in a Microsoft Access database, which you can download from here
      • You can copy and paste the values one-by-one from the "production_rates" table, or perform a query to grab them as a group
      • To perform a query:
        1. Import a your list of genes to a new table in the database. Click on the "External Data" tab and select the Excel icon with the "up" arrow on it
        2. Click the "Browse" button and select the regulation matrix Excel file
        3. Select "Import the source data into a new table in the current database" and click "OK"
        4. In the next window, select the "network" worksheet. Click "Next"
        5. In the next window, select "First Row Contains Column Headings." Click "Next"
        6. In the next window, the left-most column will be highlighted. Change the "Field Name" to "id." Click "Next"
        7. In the next window, select "Choose my own primary key" and choose the "id" field from the drop down next to it. Click "Next"
        8. In the next field, select "Import to Table: network." Click Finish
        9. In the next window you do not need to save the import steps, so just click "Close"
        10. A table called "network" should appear in the list of tables at the left of the window
        11. Go to the "Create" tab. Click on the icon for "Query Design"
        12. In the window that appears, click on the "network" table and click "Add." Click on the "production_rates" table and click "Add." Click "Close"
        13. The two tables should appear in the main part of the window. We need to tell Access which fields in the two tables correspond to each other. Drag "id" in the network table to the "standard_name" field in the "production_rates" table, and release. You will see a line appear between those two words
        14. Right-click on the line between those words and select "Join Properties" from the menu that appears. Select Option "2: Include ALL records from 'network' and only those records from 'production_rates' where the joined fields are equal." Click "OK"
        15. Drag the "id" word in the "network" table to the bottom of the screen to the first column next to the word "Field" and release
        16. Drag the "production_rate" field in the "production_rates" table to the second column next to the word "id" and release
        17. Right-click anywhere in the grey area near the two tables. In the menu that appears, select "Query Type > Make Table Query...".
        18. In the window that appears, name your table "production_rates_LK" (can't have two tables with the same name in the database). select "Current Database" and click "OK".
        19. Go to the "Query Tools: Design" tab. Click on the exclamation point icon "Run," a window will appear that tells you how many rows you are pasting into a new table. Click "Yes".
        20. Your new "production_rates_LK" table will appear in the list at the left. Double-click on that table name to open it
        21. You can copy the data in this table and paste it back into your Excel workbook. Make sure that when you paste that you use "Excel format" (do not want Access formatting to get carried along)
  • Note that the genes should be listed in the same order in all the sheets in the Excel workbook

degradation_rates sheet

  • This sheet contains degradation rates for all genes in the network
  • Currently, the Dahlquist Lab is using data based on published mRNA half-life data from Neymotin et al. (2006)
    • Half-life data values were converted 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 (make sure genes are in the same order as in the "production_rates" sheet)
    • 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

Expression Data Sheets for Individual Yeast Strains

  • Expression data will be provided for the wt, dgln3, dhap4, and dzap1
    • 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 units. For example, the 15 minute timepoint would have a column header "15" and the 30 minute timepoint would have the column header "30"
    3. 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
    4. If data are provided for multiple strains, each strain should have data for the same timepoints, although the number of replicates can vary
  • Include the data for the 15, 30, and 60 minute timepoints, but NOT the 90 or 120 minute timepoints
    • The data being used is the RAW log2 fold change data that the ANOVA analysis was run on
  • the query function in Access was used to transfer values to Excel

network sheet

  • Copy and paste the regulation matrix Excel workbook from the Week 5 assignment into this sheet directly. Enter "cols regulators/rows targets" into cell A1 (This text is there as a reminder of the direction of the regulatory relationships specified by the adjacency matrix).
  • The following description below explains what is in this worksheet:
    • 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.
    • “1” means there is a connection and “0” means that there is no connection
    • The rest of row 1 should contain the names of the transcription factors that are controlling the other genes in the network
    • 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
      • The transcription factor names should correspond to the "id" in the other sheets in the 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

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 will 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"
  • Copy this worksheet from the sample workbook provided
  • The following 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, 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 and =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) and =0 to estimate parameter P
    • 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 parameter b
    • 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 (left to right), "id" and "threshold_b"
    • "id" is a list of the standard names for the genes in the model (in the same order as in the other sheets)
    • "threshold_b" should contain the initial guesses, use all 0

This workbook was uploaded to BOX as GRNmapInput_dGLN3_LK

Dynamical Systems Modeling of your Gene Regulatory Network

The Gene Regulatory Network Modeling and Parameter Estimation (GRNmap) software will be used to run the model

  • To run GRNmap from code, you must have MATLAB R2014b installed
    1. Download the GRNmap v1.10 code from the GRNmap Downloads page
    2. Unzip the file
    3. Launch MATLAB R2014b
    4. In MATLAB, open GRNmodel.m (in the "matlab" folder within the GRNmap-1.10 file)
    5. Click the Run button (green "play" arrow)
    6. You will be prompted to select your input ("add new path") workbook: GRNmapInput_dGLN3_LK
      • You will see an optimization diagnostics graphic that shows the progress of the estimation
        • Shows "counter" and "LSE"
      • When the run is over, expression plots will display
    7. Output .xlsx and .mat files will be saved in the same folder as your input folder, along with .jpg files containing the optimization diagnostic and individual expression plots. Save these files.
    8. Note that if you need to run GRNmap again, you should not use the same directory for the input file. Currently, GRNmap will overwrite previous output.
  • You can upload your output .xlsx file into GRNsight to visualize the results!

Results

An Excel sheet containing parameter estimates (Pi, w, b), production rates, degradation rates, and expression estimates was created to run in GRNmap. The output Excel sheet was then run in GRNsight to created weighted regulatory matrices.

Conclusion

An Excel sheet was created to run in GRNmap. The output Excel sheet was then run in GRNsight to created weighted regulatory matrices, which will be analyzed in week 7.

Acknowledgements

-Texted a few times to compare data and clarify aspects of the assignment.
  • Emailed Dr. Dahlquist to obtain production and degradation rates for ASG1.
Except for what is noted above, this individual journal entry was completed by me and not copied from another source.

References

  • Dahlquist, K. & Fitpatrick, B. (2019). "BIOL388/S19: Week 6" Biomathematical Modeling, Loyola Marymount University. Accessed from:Week 6 Assignment Page

Links