GRNmap Testing Report 16 Test Files from Dahlquist-data 2015-05-26 TM

From OpenWetWare
Revision as of 11:34, 28 May 2015 by Tessa A. Morris (talk | contribs) (change observations to data and observations)
Jump to navigationJump to search

GRNmap Testing Report

  • Date started: 2015-05-26 Date completed 2015-05-27
  • Code Version: "current" version from Dr. Fitzpatrick 2014-09-18
  • GRNmap version 1.0.6
  • MATLAB Version: 2014b
  • Model was run on the following computers (from door): Row#1 5, 6; Row#2 4, 5, 6; Row#3 1

Input, Output, and Images for the 16 Input Sheets

Sigmoidal: Estimate + Forward

Sigmoidal: Forward only

Michaelis Menten: Estimate + Forward

Michaelis Menten: Forward only

Testing each GRNmap input

  • Follow the protocol described by Dr. Dahlquist to prepare the data and select a list of candidate transcription factors to test.

Creating the General Input Excel Workbook for Each Model

  1. Download the general input sheet from Github.
  2. Naming convention is (#-genes)_(#-edges)_(data-source-model-used)_(forward vs. estimation)_(fixb-1 vs. fixb-0)_(fixP-1 vs. fixP-0)_(graph vs. no graph)
    • For example: Sigmoidal, Estimate + Forward, Estimate b (b=0) and Estimate P (P=0), Graph is named 22-genes_47-edges_Dahlquist-data_Sigmoidal_estimation_fixb-0_fixP-0_graph
  3. For all input sheets:
    • Copy the transposed matrix from your "network" sheet and paste it into the worksheets called "network" and "network_weights".
    • Note that the transcription factor names have to be in the same order and same format across the top row and first column. CIN5 does not match Cin5p, so the latter will need to be changed to CIN5 if you have not already done so.
    • It may be easier for you if you put the transcription factors in alphabetical order (using the sort feature in Excel), but whether you leave your list the same as it is from the YEASTRACT assignment or in alphabetical order, make sure it is the same order for all of the worksheets.
  4. The next worksheet to edit is the one called "degradation_rates".
    • Paste your list of transcription factors from your "network" sheet into the column named "StandardName". You will need to look up the "SystematicName" of your genes. YEASTRACT has a feature that will allow you to paste your list of standard names in to retrieve the systematic names here.
    • Next, you will need to look up the degradation rates for your list of transcription factors. These rates have been calculated from protein half-life data from a paper by Belle et al. (2006). Look up the rates for your transcription factors from this file and include them in your "degradation_rates" worksheet.
    • If a transcription factor does not appear in the file above, use the value "0.027182242" for the degradation rate.
  5. The next worksheet to edit is the one called "production_rates".
    • Paste the "SystematicName" and "StandardName" columns from your "degradation_rates" sheet into the "production_rates" sheet.
    • The initial guesses for the production rates we are using for the model are two times the degradation rate. Compute these values from your degradation rates and paste the values into the column titled "ProductionRate".
  6. Next you will input the expression data for the wild type strain and one other strain (dcin5, dgln3, dhap4, dhmo1, dzap1, or spar; note that we can't use dswi4 because it only has 2 cold shock timepoints). You need to include only the data for the genes in your network, in the same order as they appear in the other worksheets.
    • Put the wild type data in the sheet called "wt".
    • The sample spreadsheet has a worksheet named "dcin5". Change this name to match the strain you are using (listed above). The instructions below should be followed for each strain sheet.
    • Paste the SystematicName and StandardName columns from one of your previous sheets into this one.
    • This data in this sheet is the Log Fold Changes for each replicate and each timepoint from the "Rounded_Normalized_Data" worksheet from the big Excel workbook in which you computed the statistics. We are only going to use the cold shock timepoints for the modeling. Thus your column headings for the data should be "15", "30", and "60". There will be multiple columns for each timepoint (typically 4) to represent the replicate data, but they will all have the same name. For example, you may have four columns with the header "15".
    • Copy and paste the data from your spreadsheet into this one. You need to include only the data for the genes in your network. Make sure that the genes are in the same order as in the other sheets.
  7. The last sheet that will be identical is "network_b".
    • Paste in the list of standard names for your transcription factors from one of your previous sheets. Note that this sheet does not have a column for the Systematic Name.
    • The "threshold" value for each gene should be "0".

Editing the Optimization Parameters for each Input

  • There are sixteen different input sheets that need to be tested. The "optimization parameters" worksheet is adjusted for each type. For all inputs, the following optimization parameters will be the same:
    • "alpha" should be 0.01
    • "kk_max" should be 1
    • "MaxIter" should be 1e08
    • "TolFun" should be 1e-6
    • "MaxFunEval" should be 1e08
    • "TolX" should be 1e-6
    • For the parameter "time" (Cell A13), should have "15", "30", and "60"
    • For the parameter "Strain" (Cell A14), make sure it says "dcin5", making sure that the capitalization and spelling is the same as the worksheet containing that strain's expression data.
    • For the parameter "Sheet" (Cell A15), give the number of the worksheet from left to right that your "Strain" log2 expression data is in. This should be the fourth sheet.
    • For the parameter "Deletion", leave the zero in cell B15 (corresponding to wt). In cell C15, put a number corresponding to the position in the list of gene names that the gene that was deleted appears. This should be the number three in the list (disregard the column header in this count and only consider the actual gene names themselves).
    • For the parameter, "simtime", perform the forward simulation of the expression in five minute increments from 0 to 60 minutes. Thus, this row should read: simtime should be 0, 5, <...fill by steps of 5...>, 60, each number in a different cell.
  • The parameters "Sigmoid","estimateParams", "makeGraphs","fix_P", and "fix_b" will be different for each input sheet.
  1. Sigmoidal: Estimate + Forward, Estimate b and Estimate p, Graph
    • "Sigmoid" should be 1
    • "estimateParams" should be 1
    • "makeGraphs" should be 1
    • "fix_P" should be 0
    • "fix_b" should be 0
  2. Sigmoidal: Estimate + Forward, Estimate b and Estimate p, No Graph
    • "Sigmoid" should be 1
    • "estimateParams" should be 1
    • "makeGraphs" should be 0
    • "fix_P" should be 0
    • "fix_b" should be 0
  3. Sigmoidal: Estimate + Forward, Estimate b and Fix p, Graph
    • "Sigmoid" should be 1
    • "estimateParams" should be 1
    • "makeGraphs" should be 1
    • "fix_P" should be 1
    • "fix_b" should be 0
  4. Sigmoidal: Estimate + Forward, Estimate b and Fix p, No Graph
    • "Sigmoid" should be 1
    • "estimateParams" should be 1
    • "makeGraphs" should be 0
    • "fix_P" should be 1
    • "fix_b" should be 0
  5. Sigmoidal: Estimate + Forward, Fix b and Estimate p, Graph
    • "Sigmoid" should be 1
    • "estimateParams" should be 1
    • "makeGraphs" should be 1
    • "fix_P" should be 0
    • "fix_b" should be 1
  6. Sigmoidal: Estimate + Forward, Fix b and Estimate p, No Graph
    • "Sigmoid" should be 1
    • "estimateParams" should be 1
    • "makeGraphs" should be 0
    • "fix_P" should be 0
    • "fix_b" should be 1
  7. Sigmoidal: Estimate + Forward, Fix b and Fix p, Graph
    • "Sigmoid" should be 1
    • "estimateParams" should be 1
    • "makeGraphs" should be 1
    • "fix_P" should be 1
    • "fix_b" should be 1
  8. Sigmoidal: Estimate + Forward, Fix b and Fix p, No Graph
    • "Sigmoid" should be 1
    • "estimateParams" should be 1
    • "makeGraphs" should be 0
    • "fix_P" should be 1
    • "fix_b" should be 1
  9. Sigmoidal: Forward only, Graph
    • "Sigmoid" should be 1
    • "estimateParams" should be 0
    • "makeGraphs" should be 1
    • "fix_P" should be 0
    • "fix_b" should be 1
  10. Sigmoidal: Forward only, No Graph
    • "Sigmoid" should be 1
    • "estimateParams" should be 0
    • "makeGraphs" should be 0
    • "fix_P" should be 0
    • "fix_b" should be 1
  11. Michaelis Menten: Estimate + Forward, Fix p, Graph
    • "Sigmoid" should be 0
    • "estimateParams" should be 1
    • "makeGraphs" should be 1
    • "fix_P" should be 1
    • "fix_b" should be 0
  12. Michaelis Menten: Estimate + Forward, Fix p, No Graph
    • "Sigmoid" should be 0
    • "estimateParams" should be 1
    • "makeGraphs" should be 0
    • "fix_P" should be 1
    • "fix_b" should be 0
  13. Michaelis Menten: Estimate + Forward, Estimate p, Graph
    • "Sigmoid" should be 0
    • "estimateParams" should be 1
    • "makeGraphs" should be 1
    • "fix_P" should be 0
    • "fix_b" should be 0
  14. Michaelis Menten: Estimate + Forward, Estimate p, No Graph
    • "Sigmoid" should be 0
    • "estimateParams" should be 1
    • "makeGraphs" should be 0
    • "fix_P" should be 0
    • "fix_b" should be 0
  15. Michaelis Menten: Forward only, Graph
    • "Sigmoid" should be 0
    • "estimateParams" should be 0
    • "makeGraphs" should be 1
    • "fix_P" should be 0
    • "fix_b" should be 0
  16. Michaelis Menten: Forward only, No Graph
    • "Sigmoid" should be 0
    • "estimateParams" should be 0
    • "makeGraphs" should be 0
    • "fix_P" should be 1
    • "fix_b" should be 0

Running GRNmap

You will now finally run the GRNmap model on each input workbook created above.

  1. Download the version 1.0.6 of GRNmap from GitHub.
    • Save it into a new folder called "GRNmap" on the Desktop.
    • Unzip the file by right-clicking on it and choosing 7-zip > Extract here.
  2. Open the "GRNmap-1.0.6" folder and open the "matlab" subfolder. Double-click on the file "GRNmodel.m" to open GRNmap in MATLAB 2014b.
  3. Click on the green triangle "Run" button to run the model.
    • You will be prompted by an Open dialog to find your input file that you created in the previous section. Browse and select this input file and click OK.
    • Note that the Open dialog will default to show files of *.xlsx only. If your file is saved as *.xls, you will need to select the drop-down menu to show all files.
    • A window called "Figure 1" will appear. The counter is showing the number of iterations of the least squares optimization algorithm. The top plot is showing the values of all the parameters being estimated. You should see some movement of the diamonds each time the counter iterates.
  4. Once the model has completed its run, plots showing the expression over time for all of the genes in the network will appear if "makeGraphs" was set to 1. The plots will automatically be saved as *.jpg files in the same folder as your input file. Compile the figures into a folder following the naming convention described earlier. Compress this folder by right clicking then selecting "7-zip" and "Add to archive...". Make sure the archive format is "zip."
  5. Upload the .xlsx output sheet and the zipped folder with the output plots onto openwetware.

Compare Input Sheets

  1. Create an empty excel workbook and make a column for each of the sixteen options.
  2. Create two worksheets, one for the out production rates and one for the weights.
  3. Create a bar chart in order to compare the "fixed b" and "estimated b" weights.
  4. Create bar charts to compare the differences

Data & Observations

Explanation of the intended effect of changing each parameter

  • Sigmoid: =1 if sigmoidal model, =0 if Michaelis-Menten model
  • estimateParams =1 if want to estimate parameters and =0 if the user wants to do just one forward run
  • makeGraphs =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, use initial guess and never change; =0 to estimate
  • fix_b: =1 if the user does not want to estimate the b parameter, use initial guess and never change; =0 to estimate

Observations from test

May 26, 2015

  • Setting "makeGraphs" to 1 yielded graphs and when it was set to 0 it did not produce graphs, indicating that the "makeGraphs" command is working properly.
  • I did not complete the comparison yet, but so far it looks like there is no change in the production rates for any of the sixteen.
  • I only completed comparing the weights between (1) and (2), but they looked identical, which further shows that the "makeGraphs" command is working correctly.
  • Tomorrow finish adding in the production rates and comparing the weights.
  • Comparing the weights proves to be tedious. The easiest method I found was to copy the matrix and transpose it, copy each column into one master column, create a "master list", sort the weights column by number (smallest to largest), delete the zeros, then sort back into the order of the master list. Then make the list of the Controller ---> target, which is also tedious, however, it does make it easy to double check that the previous step was done correctly. There may be a more efficient way of performing this step.

May 27, 2015

  • Preliminary Results are shown in the presentation.
  • Excel document with analysis
  • The difference was taken between "Graph" and "No graph" values for the b, production rates, and weights were calculated. Overall there was little to no difference in the values between "Graph" and "No graph." The "Graph" function produced plots each time and the "No graph" did not indicating it was working properly.
  • The differences between Sigmoidal and Michaelis Menten could be seen when looking at a bar graph comparing their weights. They seemed to follow the overall shape with the exception of MIG2-->CIN5, MIG2-->MSN2, MSN2-->GCR2, AND MSN2-->HMO1, where there was a change in sign.
    • Small magnitude sign changes: ARG80-->MSN2, FKH2-->HMO1, PDR1-->MSN2,SFP1--> MSN2, YHP1-->MSN2
  • It was worth noting that there was primarily positive weights for the Michaelis Menten, with the exception of a few negative weights with very small magnitude ( in between 0 and -0.5)
  • When b was fixed (b=1), there was a difference in the network_b values for GLN3 and ZAP1 for the Sigmoidal estimation fixb-1 & fixP-0, Sigmoidal fixb-1 & fixP-1, and Sigmoidal forward only. There was no output for setting b=0, which indicates that fixb-1 is estimating and fixb-0 is fixing b.
  • The production rates for "fixP-1" were the same as the production rates in the input sheet, meaning that P was fixed and not estimated, which was the intended function.
  • There was no production rate produced for "fixP-0" which should have produced results where the production rates were estimated.

Dahlquist Lab Navigation