Difference between revisions of "Knguye66 Eyoung20 Week 15"
(→Data and files: added file) |
(→Data and files: edit) |
||
Line 247: | Line 247: | ||
[[media:FunGals Green Profile RegulationMatrix Input Workbook.xlsx | Input Workbook for Green profile (.xlsx)]] | [[media:FunGals Green Profile RegulationMatrix Input Workbook.xlsx | Input Workbook for Green profile (.xlsx)]] | ||
− | [[media | + | [[media:GRNmap FunGals Green profile.zip | Output Workbook for Green profile (.zip)]] |
[[Media:GRN_Model_Red_from_Matlab.zip]] | [[Media:GRN_Model_Red_from_Matlab.zip]] |
Revision as of 16:25, 5 December 2019
Combined Individual Journals for Kaitlyn Nguyen and Emma Young (Data Analysts).
Contents
- 1 Purpose
- 2 Methods and Results: Progress
- 2.1 - Progress 11/26/19 -
- 2.2 Analyzing and Interpreting STEM Results
- 2.3 Clustering the data with STEM, as did on Week 9.
- 2.4 Using YEASTRACT to Infer which Transcription Factors Regulate a Cluster of Genes
- 2.5 Visualizing Your Gene Regulatory Networks with GRNsight
- 2.6 production_rates sheet
- 2.7 degradation_rates sheet
- 2.8 Expression Data Sheets for Individual Yeast Strains
- 2.9 network sheet
- 2.10 network_weights sheet
- 2.11 optimization_parameters sheet
- 2.12 threshold_b sheet
- 3 Conclusion
- 4 Data and files
- 5 Acknowledgements
- 6 References
Purpose
The purpose of this assignment is to record our progress towards the FunGals group deliverables as the Data Analysts for this week and the future weeks to come. The purpose of week 12 specifically was to download and adapt the data to the formatting we need for analysis. Then to begin the analysis with ANOVA and preparations for STEM.
Methods and Results: Progress
- Progress 11/26/19 -
Analyzing and Interpreting STEM Results
- Why did you select this profile? In other words, why was it interesting to you?
- We collectively combined the 4 red profiles together because they had similar trends and to increase the number of genes for analysis (called "Red".) Similarly this was done to the 3 green profiles as well (upward trends), with the addition of the blue profile #29 added. We will call this group "Green".
- How many genes belong to this profile?
- Red (composed of Profile #9,26,34,11): 289
- Green (Profile #40,42,18,29): 214
- How many genes were expected to belong to this profile?
- Red (composed of Profile #9,26,34,11): 51.5
- Green (Profile #40,42,18,29): 48.5
- What is the p value for the enrichment of genes in this profile?
- Due to combining the profiles, we do not have p-values for the enrichment of genes in the 2 different groups.
- Viewing and Saving STEM Results -
- A new window will open called "All STEM Profiles (1)". Each box corresponds to a model expression profile. Colored profiles have a statistically significant number of genes assigned; they are arranged in order from most to least significant p value. Profiles with the same color belong to the same cluster of profiles. The number in each box is simply an ID number for the profile.
- Click on the button that says "Interface Options...". At the bottom of the Interface Options window that appears below where it says "X-axis scale should be:", click on the radio button that says "Based on real time". Then close the Interface Options window.
- Take a screenshot of this window (on a PC, simultaneously press the
Alt
andPrintScreen
buttons to save the view in the active window to the clipboard) and paste it into a PowerPoint presentation to save your figures.
- Click on each of the SIGNIFICANT profiles (the colored ones) to open a window showing a more detailed plot containing all of the genes in that profile.
- Take a screenshot of each of the individual profile windows and save the images in your PowerPoint presentation.
- At the bottom of each profile window, there are two yellow buttons "Profile Gene Table" and "Profile GO Table". For each of the profiles, click on the "Profile Gene Table" button to see the list of genes belonging to the profile. In the window that appears, click on the "Save Table" button and save the file to your desktop. Make your filename descriptive of the contents, e.g. "wt_profile#_genelist.txt", where you replace the number symbol with the actual profile number.
- Upload these files to the wiki and link to them on your individual journal page. (Note that it will be easier to zip all the files together and upload them as one file).
- For each of the significant profiles, click on the "Profile GO Table" to see the list of Gene Ontology terms belonging to the profile. In the window that appears, click on the "Save Table" button and save the file to your desktop. Make your filename descriptive of the contents, e.g. "wt_profile#_GOlist.txt", where you use "wt", "dGLN3", etc. to indicate the dataset and where you replace the number symbol with the actual profile number. At this point you have saved all of the primary data from the STEM software and it's time to interpret the results!
- Upload these files to the wiki and link to them on your individual journal page. (Note that it will be easier to zip all the files together and upload them as one file).
Clustering the data with STEM, as did on Week 9.
- Note that we will make some adjustments to the GO term analysis because stem was not providing GO term names. We are going to use the GO enrichment tool at GeneOntology.org instead.
- Go to http://geneontology.org/.
- For the cluster you want to analyze, open the gene list and copy the list of genes.
- Paste the list of genes into the "Go Enrichment Analysis" box on the right hand side of the GeneOntology.org page.
- Select "Saccharomyces cerevisiae" from the species drop-down menu.
- Click the "Launch" buton.
- Near the bottom of the results page, click on the button to Export "Table".
- This will prompt you to save a .txt file that can be opened in Excel to view your results.
- Use YEASTRACT to generate a candidate gene regulatory network as you did on Week 9.
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.
- 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.
- 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.
- 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"?
- Green: 31
- Red: 30
- 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 the wiki and link to it in your electronic lab notebook.
- Are CIN5, GLN3, and/or HAP4 on the list? If so, what is their "% in user set", "% in YEASTRACT", and "p value".
- Green
- CIN5
- 0.2991 % in user set
- 0.0294
- p-value: 0.5492
- GLN3
- 0.3645% in user set
- 0.0324% in YEASTRACT
- p-value: 0.18046
- HAP4
- 0.2383% in user set
- 0.0467% in YEASTRACT
- P-value:0.00031337
- CIN5
- Red
- CIN5
- 0.2111%% in user set
- 0.028% in YEASTRACT
- p-value: 0.9998
- GLN3
- 0.4152% in user set
- 0.0498% in YEASTRACT
- p-value:0.00207752
- HAP4
- 0.2353% in user set
- 0.0623% in YEASTRACT
- P-value:0.000006235
- CIN5
- 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"?
- 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-20 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, HAP4, and CIN5 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. Each group member will select a different network (they can have some overlapping transcription factors, but some should also be different).
- 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, GLN3, and CIN5) 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.
- First we need to properly format the output files from YEASTRACT.
- 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).
- 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.
- 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. You can click the "Grid Layout" button to arrange the nodes in a grid, or you can click and drag 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.
- If you have nodes (genes) floating around in the display that are not connected to any other nodes, we need to delete them from the network for the modeling to work properly. Go back to the Excel workbook and network sheet and delete both the row and column with the floating gene's name. Then re-upload the edited file to GRNsight to visualize it. Use this final version in your PowerPoint and subsequent modeling.
- The deleted genes (floating) on GRNsight were:
- Green: MSN and BAS1
- Progress 12/03/19 -
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. In our case, we are using the "StandardName", for example, GLN3.
- 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 will perform a query to get the list of production rates for each gene as a group.
- To perform the query, you will need to follow these steps.
- 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.
- Click the "Browse" button and select your Excel file containing your network that you used to upload to GRNsight.
- Make sure the button next to "Import the source data into a new table in the current database" and click "OK".
- In the next window, select the "network" worksheet, if it hasn't already been automatically selected for you. Click "Next".
- In the next window, make sure the "First Row Contains Column Headings" is checked. Click "Next".
- 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".
- 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 next field, make sure it says "Import to Table: network". Click Finish.
- In the next window you do not need to save the import steps, so just click "Close".
- A table called "network" should appear in the list of tables at the left of the window.
- Go to the "Create" tab. Click on the icon for "Query Design".
- In the window that appears, click on the "network" table and click "Add". Click on the "production_rates" table and click "Add". Click "Close".
- 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.
- 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".
- 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.
- 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.
- 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
0.1980
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
- 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, you will use the same file, 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
0.0990
for the missing degradation rates.
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.
- Everyone in the class will have at least one expression worksheet called "wt_log2_expression".
- 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".
- 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.
- The sheet should have the following columns in this order:
- "id": list of all genes. The genes should be listed in the same order in all the sheets in the Excel workbook.
- 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.
- 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 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 you. Follow 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
- 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.
- 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
- 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. 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.
- 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
- 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, we are going to use all 0.
Conclusion
The first stage of our group's project was completed via referencing Week 8 and using Microsoft Excel to complete the tasks. The excel file will be located in the FunGals page for viewing and download. We were able to successfully complete the ANOVA analysis and correct found mistakes. We were able to complete a sanity check with results showing. For the sanity check the unadjusted p- values showed 37.2% of the genes had a p<0.05, 18.16% had a p<0.01, 5.04% have p<0.001, and 0.87% have p<0.0001. The sanity check for the Bonferroni-corrected p-value 0.11% of the genes have p<0.05. For the sanity check on the Benjamini and Hochberg-corrected p-value 16.36% go the genes had a p <0.05. Finally we were able to prepare the Data to run STEM in the next step of working on this project.
Extra Notes (will delete later): PDR3 did not show up in Access while running Query's
Data and files
Combined Genelist and GOlist (.xlsx)
Green Regulation Matrix/network (.xlsx)
Input Workbook for Green profile (.xlsx)
Output Workbook for Green profile (.zip)
Media:GRN_Model_Red_from_Matlab.zip
Acknowledgements
This section is in acknowledgement to partner Kaitlyn Nguyen (User:knguye66), Michael Armas (User:Marmas), as well as, Iliana Crespin (User:Icrespin), and Emma Young (User:eyoung20). We would also like to acknowledge Dr. Dahlquist (User:KDahlquist) for introducing and teaching the topic and direction of this assignment. Also to acknowledge that this is a shared electronic notebook between Kaitlyn Nguyen and Emma Young.
"Except for what is noted above, this individual journal entry was completed by me and not copied from another source." Knguye66 (talk) 18:49, 20 November 2019 (PST)
"Except for what is noted above, this individual journal entry was completed by me and not copied from another source." Eyoung20 (talk) 16:40, 25 November 2019 (PST)
References
- Dahlquist, K. (2019, November 19). Data Analysis. In Wikipedia, Biological Databases. Retrieved 6:25, November 20, 2019, from https://xmlpipedb.cs.lmu.edu/biodb/fall2019/index.php/Data_Analysis
- Dahlquist, K. (2019, November 20). Final Project Deliverables. In Wikipedia, Biological Databases. Retrieved 2:59, December 5, 2019, from https://xmlpipedb.cs.lmu.edu/biodb/fall2019/index.php/Final_Project_Deliverables
- Dahlquist, K. (2019, October 29). Week 9. In Wikipedia, Biological Databases. Retrieved 2:57, December 2, 2019, from https://xmlpipedb.cs.lmu.edu/biodb/fall2019/index.php/Week_9
- Dahlquist, K. (2019, November 7). Week 10. In Wikipedia, Biological Databases. Retrieved 2:59, December 5, 2019, from https://xmlpipedb.cs.lmu.edu/biodb/fall2019/index.php/Week_10
User Page
User:knguye66
Template Page
Template:knguye66