Difference between revisions of "Mavila9 Week 10"

From LMU BioDB 2019
Jump to navigation Jump to search
(METHODS)
(past tense)
 
(2 intermediate revisions by the same user not shown)
Line 5: Line 5:
  
 
==Methods==
 
==Methods==
=== Creating the GRNmap Input Workbook ===
 
  
[https://github.com/kdahlquist/DahlquistLab/raw/master/data/Spring2019/15-genes_28-edges_sample_Sigmoid_estimation_2019.xlsx This sample workbook] was downloaded on which to base the one specific to your network and microarray data.
+
=== Create the GRNmap Input Workbook ===
  
Note that when following the instructions below, you need to follow them precisely, to the letter, or GRNmap will return an error.
+
[https://github.com/kdahlquist/DahlquistLab/raw/master/data/Spring2019/15-genes_28-edges_sample_Sigmoid_estimation_2019.xlsx This sample workbook] was downloaded to base the network and microarray data worksheet on.
  
 
==== production_rates sheet ====
 
==== production_rates sheet ====
 
+
   
* This sheet contains initial guesses for the production rate parameters, ''P'', for all genes in the network. 
+
*** The production rates were provided in a Microsoft Access database, which was[https://github.com/kdahlquist/DahlquistLab/raw/master/data/Spring2019/Expression-and-Degradation-rate-database_2019.accdb downloaded from here.]
* 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.
+
*** A query was performed to get the list of production rates for each gene as a group.
* The sheet should contain two columns (from left to right) entitled, "id", "production_rate".  
+
*** To perform the query, the following steps were taken:
** The id is an identifier that the user will use to identify a particular gene. In our case, we are using the "StandardName", for example, GLN3.
+
***# A list of the genes was imported to a new table in the database.  The "External Data" tab was clicked and the Excel icon with the "up" arrow on it was selected.
** The "production_rate" column should then contain the initial guesses for the ''P'' parameter as described above, rounded to four decimal places.
+
***# The "Browse" button was clicked and the Excel file containing the network that was used to upload to GRNsight was selected.
*** The production rates are provided in a Microsoft Access database, which you can [https://github.com/kdahlquist/DahlquistLab/raw/master/data/Spring2019/Expression-and-Degradation-rate-database_2019.accdb download from here.]
+
***# The button next to "Import the source data into a new table in the current database" was selected and "OK" was clicked.
*** You will perform a query to get the list of production rates for each gene as a group.
+
***# In the next window, the "network" worksheet was selected then "Next" was clicked .
*** To perform the query, you will need to follow these steps.
+
***# In the next window, the "First Row Contains Column Headings" was checked and "Next" was cliked.
***# 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.
+
***# In the next window, the left-most column was be highlighted and the"Field Name" was changed to "id" then "Next" was clicked.
***# Click the "Browse" button and select your Excel file containing your network that you used to upload to GRNsight.
+
***# In the next window, the button for "Choose my own primary key." was selected and the "id" field was chosen from the drop down next to it then "Next" was clicked.
***# Make sure the button next to "Import the source data into a new table in the current database" and click "OK".
+
***# In the next field, "Import to Table: network" was input then "Finish" was clicked.
***# In the next window, select the "network" worksheet, if it hasn't already been automatically selected for you.  Click "Next".
+
***# In the next window the import step was not saved, then "Close" was clicked.
***# In the next window, make sure the "First Row Contains Column Headings" is checked.  Click "Next".
+
***# A table called "network" appeared in the list of tables at the left of the window.
***# In the next window, the left-most column will be highlighted.  Change the "Field Name" to "id" if it doesn't say that already.  Click "Next".
+
***# "Query Design" was selected from the "Create" tab.
***# In the next window, select the button for "Choose my own primary key." and choose the "id" field from the drop down next to it.  Click "Next".
+
***# In the window that appears, the "network" table was chosen and "Add" was clicked. The "production_rates" table was selected and "Add" was clicked then "Close" was clicked.  
***# In the next field, make sure it says "Import to Table: network".  Click Finish.
+
***# The two tables appear in the main part of the window.  Then the word "id" was clicked in the network table and dragged to the "standard_name" field in the "production_rates" table, and released. A line appeared between those two words.
***# In the next window you do not need to save the import steps, so just click "Close".
+
***# After right-clicking the line between those words and "Join Properties" was selected from the menu that appears. Option "2: Include ALL records from 'network' and only those records from 'production_rates' where the joined fields are equal."  was selected and "OK" was clicked.
***# A table called "network" should appear in the list of tables at the left of the window.
+
***# The "id" word was clicked on in the "network" table and dragged to the bottom of the screen to the first column next to the word "Field" and release.
***# Go to the "Create" tab.  Click on the icon for "Query Design".
+
***# The "production_rate" field was clicked in the "production_rates" table and dragged it to the bottom of the screen to the second column next to the word "Field" and released.
***# In the window that appears, click on the "network" table and click "Add". Click on the "production_rates" table and click "Add".  Click "Close".  
+
***# Anywhere in the gray area near the two tables was right-clicked then in the menu that appears, "Query Type > Make Table Query..." was selected.
***# 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.  Click on the word "id" in the network table and drag your mouse to the "standard_name" field in the "production_rates" table, and release. You will see a line appear between those two words.
+
***# In the window that appears, the table was named "production_rates_1" then "Current Database" was selected and "OK" was clicked.
***# 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".
+
***# On the "Query Tools: Menus" tab the exclamation point icon was selected and "Yes" was selected.
***# Click on the "id" word in the "network" table and drag it to the bottom of the screen to the first column next to the word "Field" and release.
+
***# The "production_rates_1" table appeared in the list at the left.  The table name was double-clicked to open.
***# Click on the "production_rate" field in the "production_rates" table and drag it to the bottom of the screen to the second column next to the word "Field" and release.
+
***# The data in this table was copied and pasted back into the Excel workbook.
***# Right-click anywhere in the gray area near the two tables.  In the menu that appears, select "Query Type > Make Table Query...".
 
***# In the window that appears, name your table "production_rates_1" because you can't have two tables with the same name in the database.  Make sure that "Current Database" is selected and Click "OK".
 
***# Go to the "Query Tools: Menus" tab.  Click on the exclamation point icon.  A window will appear that tells you how many rows you are pasting into a new table.  Click "Yes".
 
***# Your new "production_rates_1" table will appear in the list at the left.  Double-click on that table name to open it.
 
***# 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 "Paste Special > Paste values" so that the Access formatting doesn't get carried along.  You can also choose to export this table to Excel going to the "External Data" tab and selecting the Excel icon with the arrow pointing to the right.  Select the workbook you want to export the table to, making sure that "Preserve Access formatting" is '''not''' checked.  Click "OK", click "Close".
 
* If there are missing values, substitute the value <code>0.1980</code> for the missing production rates.
 
* Note that the genes should be listed in the same order in all the sheets in the Excel workbook.
 
  
 
==== degradation_rates sheet ====
 
==== degradation_rates sheet ====
  
* This sheet contains degradation rates for all genes in the network, which are provided by the user. 
+
* Same steps as "production_rates sheet" were followed but with choosing degradation_rates data sheet
* Currently, the Dahlquist Lab is using data based on published mRNA half-life data from [http://rnajournal.cshlp.org/content/20/10/1645.full 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, you will use the same file, [https://github.com/kdahlquist/DahlquistLab/raw/master/data/Spring2019/Expression-and-Degradation-rate-database_2019.accdb Microsoft Access database] that you used to obtain the production rates in the first worksheet.  Again, you can copy and paste the values one-by-one or you can follow the instructions to execute a query, substituting the appropriate "degradation_rates" table in the query.  Note that you don't need to re-import your "network" table, you just need to create and execute the query.
 
* Again note, the genes should be listed in the same order in all the sheets in the Excel workbook.
 
* If there are missing values, substitute the value <code>0.0990</code> for the missing degradation rates.
 
  
 
==== Expression Data Sheets for Individual Yeast Strains ====
 
==== 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 sheet was 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.
** Each strain will have its own sheet in the workbook.
+
*** The transcription factors GLN3, HAP4, and CIN5 were included in the network.  Thus, the expression data from the dGLN3, dHAP4, dCIN5 deletion strains in the workbooks were used as well, naming the worksheets "dgln3_log2_expression", "dhap4_log2_expression", and "dcin5_expression".
** 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 had the following columns in this order:
*** Everyone in the class will have at least one expression worksheet called "wt_log2_expression". 
+
*# "id": list of all genes. The genes were listed in the same order in all the sheets in the Excel workbook.
*** You should have included the transcription factors GLN3, HAP4, and CIN5 in your network.  Thus, we will use the expression data from the dGLN3, dHAP4, dCIN5 deletion strains in our workbooks as well, naming the worksheets "dgln3_log2_expression", "dhap4_log2_expression", and "dcin5_expression".
+
*# The next series of columns contained the expression data for each gene at a given timepoint given as log2 ratios (log2 fold changes).  The column headers included the time at which the data were collected, without any units.
**** If, for some reason, you don't have all three of those genes in your network, only include expression data for the wild type and the genes out of those three that you have in your network.
+
*# Each strain had data for the same timepoints.
* The sheet should have the following columns in this order:
+
* The data for the 15, 30, and 60 minute timepoints were included, but not the 90 or 120 minute timepoints.
*# "id": list of all genes. The genes should be listed in the same order in all the sheets in the Excel workbook.
+
* The data used was contained in the [https://github.com/kdahlquist/DahlquistLab/raw/master/data/Spring2019/Expression-and-Degradation-rate-database_2019.accdb Expression-and-Degradation-rate-database_2019.accdb] file that was used to obtain the production and degradation rates.
*# 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.
+
* It is tedious to copy and paste all of these data by hand, so a query was executed in Microsoft Access.  The steps listed for the "production_rates" sheet were followed for each strains expression data.  After the data was imported into Excel, the column headers were changed to to "15", "15", etc., as described above.
*# 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 you will be using is contained in the [https://github.com/kdahlquist/DahlquistLab/raw/master/data/Spring2019/Expression-and-Degradation-rate-database_2019.accdb Expression-and-Degradation-rate-database_2019.accdb] file that you used to obtain the production and degradation rates.
 
* It is tedious to copy and paste all of these data by hand, so we will execute a query in Microsoft Access to do it for youFollow the steps listed for the "production_rates" sheet for each strains expression data.  After you import the data into Excel, you will need to change the column headers to "15", "15", etc., as described above.
 
* Missing values in the expression data sheets are OK; you don't need to put any values there like you did for the production_rates or degradation_rates sheets.
 
  
 
==== network sheet ====
 
==== network sheet ====
  
* The network you derived from the YEASTRACT database for the [[Week 9]] assignment 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 since you previewed it in GRNsight). The description below just explains what is already in this worksheet.
+
* The network you derived from the YEASTRACT database for the [[Week 9]] assignment was copied and pasted into this sheet directly.
** 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.
 
  
 
==== network_weights sheet ====
 
==== 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 were identical to the "network" sheet.
* 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 ====
 
==== optimization_parameters sheet ====
  
* The optimization_parameters sheet should have two columns (from left to right) entitled, "optimization_parameter" and "value".
+
* The optimization_parameters sheet had two columns (from left to right) entitled, "optimization_parameter" and "value".
* You should copy this worksheet from the [https://github.com/kdahlquist/DahlquistLab/raw/master/data/Spring2019/15-genes_28-edges_sample_Sigmoid_estimation_2019.xlsx 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.  If you don't have the dgln3, dhap4, or dcin5 expression sheets, then you will delete those from this row.  If you do so, make sure that you don't leave any gaps between cells.
+
* This worksheet was copied from the [https://github.com/kdahlquist/DahlquistLab/raw/master/data/Spring2019/15-genes_28-edges_sample_Sigmoid_estimation_2019.xlsx sample workbook] provided.  The only row that was modified was row 15, "Strain".  Just the strain designations for which you have a corresponding STRAIN_log2_expression sheet were included.  If the dgln3, dhap4, or dcin5 expression sheets were not present, then they were deleted from this row.
* What follows below 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 ====
 
==== threshold_b sheet ====
  
* These are the initial guesses for the estimation of the ''threshold_b'' parameters.   
+
* These were the initial guesses for the estimation of the ''threshold_b'' parameters.   
* There should be two columns.   
+
* There were 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 left-most column contained the header "id" and listed 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, we are going to use all 0.
+
** The second column had the header "threshold_b" and which contained the initial guesses all of which are 0.
 
 
==== Data and Files ====
 
 
 
Your data and files section should include:
 
* Your Excel workbook that is your GRNmap input workbook.
 
 
 
'''''Stopping point for Tuesday's interim deadline.'''''
 
  
 
=== Dynamical Systems Modeling of your Gene Regulatory Network ===
 
=== Dynamical Systems Modeling of your Gene Regulatory Network ===
  
Now you are ready to run the model and analyze the results.  The software we will use is called GRNmap, which stands for Gene Regulatory Network Modeling and Parameter Estimation.  It is written in MATLAB and can be run from code or run as a stand-alone executable if you don't have MATLAB installed.  However, it can only be run in Windows, not on Macs.
+
* To run GRNmap from code, MATLAB R2014b must be installed on the computer.
* To run GRNmap from code, you must have MATLAB R2014b installed on your computer.
+
*# The GRNmap v1.10 code was downloaded from the [http://kdahlquist.github.io/GRNmap/downloads/ GRNmap Downloads page].
*# Download the GRNmap v1.10 code from the [http://kdahlquist.github.io/GRNmap/downloads/ GRNmap Downloads page].
+
*#* [https://github.com/kdahlquist/GRNmap/archive/v1.10.zip The direct link to start downloading is here (81 MB).]
*#* [https://github.com/kdahlquist/GRNmap/archive/v1.10.zip This is a direct link to start downloading (81 MB).]
+
*# The file was unzipped. (Right-click, 7-zip > Extract here)
*# Unzip the file. (Right-click, 7-zip > Extract here)
+
*# MATLAB R2014b was launched.
*# Launch MATLAB R2014b.
+
*# GRNmodel.m was opened, which was in the directory of the unzipped GRNmap-1.10 > matlab
*# Open GRNmodel.m, which will be in the directory that you unzipped GRNmap-1.10 > matlab
+
*# The Run button (green "play" arrow) was clicked.
*# Click the Run button (green "play" arrow).
+
*# The workbook was selected to input.
*# You will be prompted to select your input workbook.
+
*# The optimization diagnostics graphic that shows the progress of the estimation appeared.
<!--* To run the GRNmap executable, you must have administrator rights on your computer for installing software.
+
*# When the run was over, expression plots were displayed.
** Download the GRNmap v1.10 executable from the [http://kdahlquist.github.io/GRNmap/downloads/ GRNmap Downloads page].
+
*# Output .xlsx and .mat files were saved in the same folder as the input folder, along with .jpg files containing the optimization diagnostic and individual expression plots.  These files were saved.
** [https://github.com/kdahlquist/GRNmap/releases/download/v1.10/GRNmap-v1.10.zip This is a direct link to start downloading (688 MB)]-->
 
*# You will see an optimization diagnostics graphic that shows the progress of the estimation.
 
*# When the run is over, expression plots will display.
 
*# 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.
 
*# 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 [http://dondi.github.io/GRNsight/ GRNsight] to visualize the results!
 
  
Class/Team Journal Assignment has been cancelled for Week 10.
+
==Data==
  
==Data==
+
[[media:Wt week10 expression mavila9.xlsx | data up to interim deadline]]
  
 +
[[media:GRNmap output mavila9.zip]]
  
 
==Conclusion==
 
==Conclusion==
  
[[media:Wt week10 expression mavila9.xlsx | data up to interim deadline]]
+
The results of running the MATLAB program showed the influence on transcription of the various genes analyzed, including inhibition and promotion.

Latest revision as of 21:35, 6 November 2019

Links

User Page

Template:mavila9

Assignment Page Individual Journal Entry Class Journal Entry
Week 1 Week 1 (User page) Shared Journal Week 1
Week 2 Mavila9 Week 2 Shared Journal Week 2
Week 3 Gene Page Week 3 Shared Journal Week 3
Week 4 Journal Entry Page Week 4 Shared Journal Week 4
Week 5 RNAct Database Page Week 5 Shared Journal Week 5
Week 6 Journal Entry Page Week 6 Shared Journal Week 6
Week 7 Journal Entry Page Week 7 Shared Journal Week 7
Week 8 Journal Entry Page Week 8 Shared Journal Week 8
Week 9 Journal Entry Page Week 9 Shared Journal Week 9
Week 10 Journal Entry Page Week 10 Shared Journal Week 10
Week 11 Sulfiknights Team Page Shared Journal Week 10
Journal Entry Page Week 11
Week 12/13 Journal Entry Page Week 12 Shared Journal Week 11
Week 12/13 Sulfiknights DA Week 12/13 Shared Journal Week 12
N/A Sulfiknights DA Week 14

Purpose

This investigation serves to help gain experience with database queries and modeling on Microsoft Access, GRNMAP, and MATLAB, to prepare for the the final project.

Methods

Create the GRNmap Input Workbook

This sample workbook was downloaded to base the network and microarray data worksheet on.

production_rates sheet

      • The production rates were provided in a Microsoft Access database, which wasdownloaded from here.
      • A query was performed to get the list of production rates for each gene as a group.
      • To perform the query, the following steps were taken:
        1. A list of the genes was imported to a new table in the database. The "External Data" tab was clicked and the Excel icon with the "up" arrow on it was selected.
        2. The "Browse" button was clicked and the Excel file containing the network that was used to upload to GRNsight was selected.
        3. The button next to "Import the source data into a new table in the current database" was selected and "OK" was clicked.
        4. In the next window, the "network" worksheet was selected then "Next" was clicked .
        5. In the next window, the "First Row Contains Column Headings" was checked and "Next" was cliked.
        6. In the next window, the left-most column was be highlighted and the"Field Name" was changed to "id" then "Next" was clicked.
        7. In the next window, the button for "Choose my own primary key." was selected and the "id" field was chosen from the drop down next to it then "Next" was clicked.
        8. In the next field, "Import to Table: network" was input then "Finish" was clicked.
        9. In the next window the import step was not saved, then "Close" was clicked.
        10. A table called "network" appeared in the list of tables at the left of the window.
        11. "Query Design" was selected from the "Create" tab.
        12. In the window that appears, the "network" table was chosen and "Add" was clicked. The "production_rates" table was selected and "Add" was clicked then "Close" was clicked.
        13. The two tables appear in the main part of the window. Then the word "id" was clicked in the network table and dragged to the "standard_name" field in the "production_rates" table, and released. A line appeared between those two words.
        14. After right-clicking the line between those words and "Join Properties" was selected from the menu that appears. Option "2: Include ALL records from 'network' and only those records from 'production_rates' where the joined fields are equal." was selected and "OK" was clicked.
        15. The "id" word was clicked on in the "network" table and dragged to the bottom of the screen to the first column next to the word "Field" and release.
        16. The "production_rate" field was clicked in the "production_rates" table and dragged it to the bottom of the screen to the second column next to the word "Field" and released.
        17. Anywhere in the gray area near the two tables was right-clicked then in the menu that appears, "Query Type > Make Table Query..." was selected.
        18. In the window that appears, the table was named "production_rates_1" then "Current Database" was selected and "OK" was clicked.
        19. On the "Query Tools: Menus" tab the exclamation point icon was selected and "Yes" was selected.
        20. The "production_rates_1" table appeared in the list at the left. The table name was double-clicked to open.
        21. The data in this table was copied and pasted back into the Excel workbook.

degradation_rates sheet

  • Same steps as "production_rates sheet" were followed but with choosing degradation_rates data sheet

Expression Data Sheets for Individual Yeast Strains

    • Each sheet was 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 transcription factors GLN3, HAP4, and CIN5 were included in the network. Thus, the expression data from the dGLN3, dHAP4, dCIN5 deletion strains in the workbooks were used as well, naming the worksheets "dgln3_log2_expression", "dhap4_log2_expression", and "dcin5_expression".
  • The sheet had the following columns in this order:
    1. "id": list of all genes. The genes were listed in the same order in all the sheets in the Excel workbook.
    2. The next series of columns contained the expression data for each gene at a given timepoint given as log2 ratios (log2 fold changes). The column headers included the time at which the data were collected, without any units.
    3. Each strain had data for the same timepoints.
  • The data for the 15, 30, and 60 minute timepoints were included, but not the 90 or 120 minute timepoints.
  • The data used was contained in the Expression-and-Degradation-rate-database_2019.accdb file that was used to obtain the production and degradation rates.
  • It is tedious to copy and paste all of these data by hand, so a query was executed in Microsoft Access. The steps listed for the "production_rates" sheet were followed for each strains expression data. After the data was imported into Excel, the column headers were changed to to "15", "15", etc., as described above.

network sheet

  • The network you derived from the YEASTRACT database for the Week 9 assignment was copied and pasted into this sheet directly.

network_weights sheet

  • Since these weights are initial guesses which will be optimized by GRNmap, the content of this sheet were identical to the "network" sheet.

optimization_parameters sheet

  • The optimization_parameters sheet had two columns (from left to right) entitled, "optimization_parameter" and "value".
  • This worksheet was copied from the sample workbook provided. The only row that was modified was row 15, "Strain". Just the strain designations for which you have a corresponding STRAIN_log2_expression sheet were included. If the dgln3, dhap4, or dcin5 expression sheets were not present, then they were deleted from this row.

threshold_b sheet

  • These were the initial guesses for the estimation of the threshold_b parameters.
  • There were two columns.
    • The left-most column contained the header "id" and listed the standard names for the genes in the model in the same order as in the other sheets.
    • The second column had the header "threshold_b" and which contained the initial guesses all of which are 0.

Dynamical Systems Modeling of your Gene Regulatory Network

  • To run GRNmap from code, MATLAB R2014b must be installed on the computer.
    1. The GRNmap v1.10 code was downloaded from the GRNmap Downloads page.
    2. The file was unzipped. (Right-click, 7-zip > Extract here)
    3. MATLAB R2014b was launched.
    4. GRNmodel.m was opened, which was in the directory of the unzipped GRNmap-1.10 > matlab
    5. The Run button (green "play" arrow) was clicked.
    6. The workbook was selected to input.
    7. The optimization diagnostics graphic that shows the progress of the estimation appeared.
    8. When the run was over, expression plots were displayed.
    9. Output .xlsx and .mat files were saved in the same folder as the input folder, along with .jpg files containing the optimization diagnostic and individual expression plots. These files were saved.

Data

data up to interim deadline

media:GRNmap output mavila9.zip

Conclusion

The results of running the MATLAB program showed the influence on transcription of the various genes analyzed, including inhibition and promotion.