Gene hAPI

From LMU BioDB 2017
Jump to: navigation, search

Gene hAPI

Links

Our Deliverables: Gene hAPI Deliverables

Main Page: Main Page

Project Page: GRNsight Gene Page Project

GRNsight

GRNsight Gene Page Project Links
Overview Deliverables Reference Format Guilds Project Manager Quality Assurance Data Analysis Coder
Teams Page Desiigner Lights, Camera, InterACTION! Gene hAPI JASPAR the Friendly Ghost

General Information

Eddie (Cazinge):

Dina (Dbashour):

Corinne (Cwong34):

  • Role: Project Manager/Quality Assurance
  • User Page: Corinne Wong

John (johnllopez616):

Executive Summaries

Eddie:

  • Week 11:
    • This week, I finished the bulk of the function logic for our final project; I also performed research on the items necessary for an effective journal club presentation this coming Thursday by completing the individual assignment that we were assigned for the week.
    • Getting a large portion of our designated assignment completed early worked pretty successfully to alleviate our stress over the impending assignment and place us ahead of the pace of other groups so that we would be able to work on the more secondary parts of our final presentation across the next 4 weeks.
    • Working on the project without having a proper development environment set up ended up detracting from the fluidity of our collaboration as a team; as the versions of the final function that John and I worked on weren't linked via git, and were somewhat unruly to collaborate on.
    • Next time, I'll make sure to set up my development environment according to Dondi's instructions on the Coders Guild Page.

Cazinge (talk) 23:39, 20 November 2017 (PST)

  • Week 12:
    • This week my task was to set up my development environment for the coder milestones. As such, I've completed milestones 1-3, talked to the other coders, and established a plan to work on the assignment in the future along with the rest of my team.
    • Setting up milestones 1-3 went pretty well; since they were all standard open source project tasks, I was able to complete them simply, efficiently, and without any real friction.
    • The only thing that I found less than desirable from this week was our communication; As Thanksgiving weekend rolls around we only stand to fall behind if we continue without amending our communication situation.
    • This next week, I'll focus on keeping an open line of communication with the rest of my team, as well as completing the majority of the coding milestones that we have left.

Cazinge (talk) 23:39, 20 November 2017 (PST)

  • Week 14:
    • This week's we reached a good spot in terms of the execution of Milestone 4. I was the main point of contact with regards to general coding questions, and we're approaching the completion of the final assignment.
    • This week was fun as I was able to leisurely interact with my classmates in an environment more typically representing that of actual software development. As such, I was able to help out with typical software development problems and speed up the development of the final project.
    • I don't feel as if I struggled with any specific part of this week's assignment, but we haven't exactly been proactive about writing our tests, so that eventually needs to be resolved.
    • As far as what needs to get done for this next week, testing. Other than that, I'm feeling good about our progress going into the last week.

Cazinge (talk) 13:18, 8 December 2017 (PST)

  • Week 15:
    • This week we finished the final functionality of the API function, marking our progress with the final project complete.

Cazinge (talk) 13:18, 8 December 2017 (PST)

Dina:

  • Week 11
    • For this week, I assisted with creating our group wiki page, adding the template and setting up the page in preparation for the later weeks to come. I also located two out of 4 research articles regarding cold shock, yeast, and microarray data that we might later use for our final project. I became familiar with how to narrow down search queries in order to yield the smallest amount of results that are related to your actual topic, as well as identify how many articles are cited and how many articles cite the articles I found.
    • I liked being able to work on the assignment in class, this way I was able to ask questions or clarify certain things that I needed help with. I also like that we have a guild of people, this way there is more of a support system if I am ever lost or need assistance.
    • Because my task for this week was simply following the directions on the wiki, there was nothing that went wrong or needed fixing.
    • Next week, I will work with my guild to present on our found articles and collaborate with them all in order to make our presentation run smoothly.

Dbashour (talk) 23:43, 13 November 2017 (PST)

  • Week 12
    • For this week, Corrine and I prepared for the journal club presentation by individually reading the article "Comprehensive expression analysis of time-dependent responses in yeast cells to low temperature" by Sahara, T., Goda, T., & Ohgiya, S. After reading this article, I developed an outline that highlighted the main points in each section of the article. With Corrine, I made a presentation on that outline, making sure to include each highlighted point. I also located and defined 10 words in the article that I was unfamiliar with and presented a flowchart of the overall experimental design.
    • What worked well for this week was to collaborate with Corrine on who was going to present which parts of the article, this way there was no confusion on that matter and the overall flow of the presentation would be well executed.
    • There was a lack of communication with all of us as a team, so I am unsure as to what John and Eddie have done for this week.
    • Next week, we will all communicate via text either with the entire class or with just my group in order to clarify what the role of each person is and if we have been completing our tasks.

Dbashour (talk) 12:10, 21 November 2017 (PST)

  • Week 14
    • This week, I corrected my week 8 and week 10 assignments on my Week 14 individual page., fixing anything that Dr. Dahlquist and Dr. Dionisio had requested to fix on my talk page. I made my electronic notebook be written in the past tense, corrected my files, and added any information I needed to add. Also this week I completed the remainder of the week 10 assignment that we had not complete during that week. I made a network model of transcription factors based on my deletion strain dGLN3. I also met with the data analysts to see if we were all on the same page and made a group message in order to have a method of communication for any questions we had.
    • Being on top of my assignments and my time management during class worked well this week. I was able to ask questions and accomplish a lot from working on my assignment in class in a timely manner.
    • I would have liked to meet more with my group and touch base on where we all resided in the project. I wish that we updated each other more on what we were working on, specifically between the coders and the analysts/QA.
    • Next week, I hope to continue my efforts of time management in class and communicate more with the coders to see how far we have all come. I will specifically ask the coders what they have done and what they plan on doing next in order to facilitate the communication barrier.

Dbashour (talk) 13:00, 9 December 2017 (PST)

  • Week 15
    • This week, Dr. Dahlquist reviewed my files and made corrections to them so that they would work and be visualized in GRNsight. I organized my final deliverables in order to prepare for the final project. As a team we worked together to complete the final powerpoint and paper, meeting in class as well as outside of class to work on it.

Dbashour (talk) 13:00, 9 December 2017 (PST)

Corinne:

  • Week 11:
    • This week I helped to create the template and group page. I found two sources to contribute to our annotated bibliography, which we can use to research information for our final project. I researched the accessibility and publishing details of the sources.
    • It was nice that we had some time in class to work, so we could easily check in with each other about what we were working on. It was also nice that Dina and I were working on the same project, so we could easily understand our work and help each other.
    • It was a bit difficult to be fully aware of the progress of everyone because we had separate projects for this week and next week too. Both halves of our group are working on separate presentations, so we have different focuses, which makes it harder to keep up with each other.
    • Next week, since it will be a similar situation, I will try to keep up with the other half of my group by fully understanding their objectives/assignments for the week and checking in some more.
  • Week 12:
    • This week, I read the "Comprehensive expression analysis of time-dependent responses in yeast cells to low temperature" by Sahara, T., Goda, T., & Ohgiya, S. I came up with a flow chart of their methods for the experiment and made an outline for my individual assignment. I also found ten terms I didn't know and wrote down their definitions in my individual journal. I worked with Dina on our presentation of the article over the weekend.
    • Having a collaborative assignment worked for me and Dina because we knew exactly what we needed to do for the project this week, and we worked together to get it done. Moreover, we had more time to meet up with each other this weekend, so it was easier to collaborate.
    • It was still difficult to keep in touch with all of the members of the group since we all had different things to work on.
    • However, now that we are done with our separate presentations, it will be more of a focus to know what each person is working on. Moreover, I will work to create more communication between group members to keep track of our progress, whether it's on our gene page or over text.

Cwong34 (talk) 23:26, 20 November 2017 (PST)

  • Week 14:
    • This week, I met with the group members to check in on where we were in the project. I met with the other QAs, and we worked together to come up with a list of information to pull from databases, and specifically which information to pull from where.
    • Having time to work on the project in class was very helpful to be able to meet with everyone. I could easily communicate to my team members and check in with them, but I could also check in with other teams to work together. There was a lot more communication this week, and I feel I have a good idea of our progression for the rest of the semester.
    • Having to split the class time between working with our team members and working with our guilds was a bit of a challenge because there was a lot to cover between both groups. We made it work, but hopefully we'll be able to find a time to meet outside of class as well this coming week to work on our project.

Cwong34 (talk) 00:25, 5 December 2017 (PST)

John:

  • Week 11:
    • This week my task was mostly focused around organizing the Journal Club Presentation. I created the initial outline for the powerpoint, created the style, and added over half the content to it. In addition, I spent some time with Eddie Azinge who finished most of the deliverable portion of the assignment as he explained to me his process.
    • I felt the assembling of the group was done so with ease because I worked with each of the people in the past on different assignments/projects. I felt like each of my members are dedicated and willing to work, so I'm glad that we have a good group. Eddie's experience in coding was an advantage for me because I shouldn't have any sort of confusion, however as I explain below, it is also a disadvantage.
    • Despite the fact that Eddie provided an explanation for how he was able to develop the primary deliverable for the project, I felt a little disappointed that I couldn't go through the same discovery process he did. It essentially makes me feel like my role in the project isn't as important. In addition, I was also irritated that we didn't have many opportunities to work on the Journal Club Presentations in advance, for I felt like we weren't as prepared to create/give them as we could have been.
    • Next week, I know that I have to get a head start on my individual portion of the assignment so that I'm not crunched for time like I was for the presentation. In addition, it's imperative that I review the code Eddie set up in detail so I can understand each line and how it works. Furthermore, I have to follow along with the other coders in setting up development rigs.

Johnllopez616 (talk) 23:41, 13 November 2017 (PST)

  • Week 12:
    • This week my task involved setting up my development environment for the later milestones. It included the establishment of milestones 1-3, talking to the other coders, and establishing a plan to work on the assignment in the future.
    • I felt like the setting up of the environment went well. Once I understood what I had to do, it was not difficult to set up the environment. In addition, I had no problems setting it up on GitHub and my computer once it happened.
    • Unfortunately I felt like this week wasn't a very productive week. Despite setting up the environment, I did not collaborate well with my teammates. We have yet to arrange a proper work schedule and plan, especially to ensure that over the thanksgiving break we are able to do some stuff. This has led to the group's progress existing in a state of limbo.
    • On Thursday, I asked the class to obtain a WhatsApp to allow for communication. This will be essential to communicate between the coders to accomplish the project. On Tuesday I will connect with as many people in the class. More importantly, I will get my group together to work on a set plan to work on the assignment and establish deadlines. Although this week wasn't the most productive for me, I will ensure that we don't fall behind next week.

Johnllopez616 (talk) 23:27, 20 November 2017 (PST)

  • Week 14:
    • This week's primary objective was to get as much of Milestone 4 as finished as possible. My portion of the assignment was to learn how to extract data from XML files and translate it so that the page developers could use it.
    • Perhaps the best part about this portion of the assignment was being able to discover a bit of jQuery and DOM functions. Knowledge and exposure to both of these is fundamental in obtaining a potential job.
    • One area where I struggled was figuring out how to extract JSON using javascript. This is something that both of the Eddies, however, were proficient in doing, so it's important that I seek their help in understanding this concept. In addition, I wish I communicated more with the coders during the development of the project.
    • This week will be crucial in finishing Milestone 4 for the project. It's absolutely necessary that the coders and I not only integrate everything, but that I am following along with what they do. I will ask a lot of questions to truly understand what's happening.

Johnllopez616 (talk) 23:16, 4 December 2017 (PST)

  • Week 15:
    • This week involved finalizing the XML extraction functions and examining the JSON to see what could be pulled. With this completed, we were able to finish the code and work on the rest of the project deliverables.

Johnllopez616 (talk) 16:19, 15 December 2017 (PST)

Journal Club Deliverable

The presentation - Coder/Designer
Journal Club Week 12 Presentation - QA/Data Analyst

Journal Club Article

Sahara, T., Goda, T., & Ohgiya, S. (2002). Comprehensive expression analysis of time-dependent genetic responses in yeast cells to low temperature. Journal of Biological Chemistry, 277(51), 50015-50021.

Project Deliverables Checklist

[X]Organized Team deliverables wiki page (or other media (CD or flash drive) with table of contents)
[ ]Group Report (.doc, .docx or .pdf file)
[ ]Individual statements of work, assessments, reflections (wiki page, .doc, .docx, .pdf, or e-mailed to both Dr. Dahlquist and Dr. Dionisio)
[X]Group PowerPoint presentation (given on Tuesday, December 12, .ppt, .pptx or .pdf file)
[ ]Code (GitHub pull request)
[ ]Each team should coordinate in performing a final integration and integration testing iteration (see Coder milestone for details) which the Interaction and Integration team then submits to the original
[ ]GRNsight GitHub repository as a single, unified pull request from the class project’s fork
[ ]Supply a README that summarizes the functionality of your team's new feature (.txt or .md, one README per team)
[ ]Excel spreadsheet with ANOVA results/stem formatting (.xlsx)
[ ]PowerPoint of screenshots of stem results (.pptx)
[ ]Gene List and GO List files from each significant profile (.txt compressed together in a .zip file)
[ ]YEASTRACT "rank by TF" results (.xlsx)
[ ]GRNmap input workbook (with network adjacency matrix, .xlsx)
[ ]GRNmap output workbook (.xlsx)
[X]Electronic notebook corresponding to these the microarray results files (Week 8, Week 10, and Weeks 11-15) support reproducible research so that all manipulations of the data and files are documented so that someone else could begin with your starting file, follow the protocol, and obtain your results.

Project Manager

[X]Milestone 1: Project “Scaffolding”

This milestone pertains to setting up an initial schedule and any resources that your team will use for the duration of the project. It will be useful to get an overview of every team member’s own milestones so that you have an accurate big picture view.

  1. In consultation with your team, work backward from the final deadline to set intermediate deadlines for each deliverable. In particular you need to set deadlines for what you will accomplish by the journal deadline for Week 12, Week 14, and Week 15.
  2. Organize management tools for your team:
    • Workflow narratives
    • Action items
    • Testing results/reports
      • Bugs/feature requests
      • Question/answer sequences

[X]Milestone 2: Periodic Updates

Not as much a milestone as an on-going task, once the project is up and running the Project Manager is responsible for keeping track of everyone’s progress.

  1. Get periodic updates on progress; in particular, the project’s “place” in the overall flow should be known at all times (transparency). Team members will be giving a status reports in class for the rest of the semester. However, the instructors will expect you to know and be able to report on the status of each member of your team at any time.
  2. Familiarize yourselves with the specific milestones of each team member so that you know how to monitor the team’s overall progress.
  3. Monitor the status of the report-in-progress and other related documentation.
  4. Coordinate team decisions and action items addressing any unforeseen delays or roadblocks.

Data Analyst

[X]Milestone 1: Annotated Bibliography

  • For the Week 11 assignment, the Data Analysts will work with the QAs to develop an annotated bibliography of papers that perform the global transcriptional analysis of DNA microarray data in yeast.

[X]Milestone 2: Journal Club Presentation

  • For the Week 12 assignment, the Data Analysts will work with the QAs to prepare a PowerPoint presentation to be delivered in class on Tuesday, November 21.

[X]Milestone 3: Complete Data Analysis of Dahlquist Lab Data for Visualization with GRNsight

  • For Week 14 and Week 15, the Data Analysts will review and complete the microarray data analysis begun with the Week 8 and Week 10 assignments with the eventual goal of visualizing a gene regulatory network derived from their dataset in GRNsight. Specifically:
    1. Review the ANOVA results from Week 8 for accuracy, making corrections if necessary.
    2. If corrections were made to the ANOVA results, re-running stem (Week 10).
    3. Using the YEASTRACT Database to determine which transcription factors are candidates for regulating the genes in a cluster from stem (part of Week 10 that we postponed.
    4. Using the YEASTRACT Database to develop a candidate gene regulatory network (part of Week 10 that we postponed).
    5. Using the GRNmap software to model the gene regulatory network (confer with Dr. Dahlquist when you are ready for this).
    6. Visualizing the results with GRNsight.
  • As the end-user of the GRNsight software, the Data Analysts will provide feedback to the QAs and Coders about the usability of the new features.

Quality Assurance

[X]Milestone 1: Annotated Bibliography

  • For the Week 11 assignment, the Data Analysts will work with the QAs to develop an annotated bibliography of papers that perform the global transcriptional analysis of DNA microarray data in yeast.

[X]Milestone 2: Journal Club Presentation

  • For the Week 12 assignment, the Data Analysts will work with the QAs to prepare a PowerPoint presentation to be delivered in class on Tuesday, November 21.

[X]Milestone 3: Requirements Analysis

As the Coders begin their development work and the Data Analysts start working with their assigned microarray data sets, the QA team members should familiarize themselves with and help specify the expected correct functionalities of their respective teams.

  • The entire QA guild should become an expert on the information that can be retrieved for a gene, so that they know how IDs should look, how certain data types will be displayed, etc. This will help them detect flaws and areas of improvement as development work proceeds.
  • Gene Database APIs team: QA should get to know how the four web service APIs are to be used in order to retrieve gene data given a gene symbol. They should be able to perform these steps themselves using curl or a web browser, so that they can provide independent verification that the Coders’ work is functioning correctly.

[X]Milestone 4: On-going Testing of Respective Team Deliverables

The rest of the semester is expected to be an on-going process of verifying and validating the correctness of a QA member’s assigned team. Specific concerns include but are not limited to the following:

  • Gene Database APIs and JASPAR teams: Manual testing will involve some combination of curl and web browser developer tool use in order to get to know the data returned by the various web services. The Coder members should find ways to show the Quality Assurance members the work-in-progress data returned by getGeneInformation, which QA can then compare to the raw web service API calls for accuracy. After the first integration milestone, QA members can examine the behavior of the prototype gene page at both the end-user and Developer Tools levels (i.e., examining network traffic to make sure the correct requests are going out with the expected responses coming in; inspecting the gene page elements to make sure that they received the correct data).

Coders

[X]Milestone 0: Journal Club Presentation

  • For the Week 11 assignment, the Coders (including Designers) of each team will prepare a PowerPoint presentation of their respective assigned software design/development/engineering/best practices reading to be delivered in class on Tuesday, November 14.

[X]Milestone 1: Working Environment Setup

Coder work will require the following software. The Seaver 120 lab computers are already set up for this; this list is provided for Coders who need to work on a different computer or outside of the lab.

  • Node.js 8.4.0 or newer
  • Code-savvy editor such as Atom or Microsoft Visual Studio Code
  • Web browser with developer tools (Seaver 120 uses Google Chrome)
  • git version control software
  • (depends on team) curl command

Make sure that this software is installed and operational before beginning. If any Coder needs help with any of these packages, please consult your fellow guild members or ask Dr. Dionisio.

[X]Milestone 2: Version Control Setup

Coding work will be done on a fork of the open source GRNsight project, which is hosted on GitHub. The software that interacts with GitHub to perform version control is git. If any Coder needs help with git or version control concepts in general, please consult your fellow guild members or ask Dr. Dionisio.

The Interaction and Integration team is responsible for this fork, and will do their own work on the master branch of this fork. Thus, many of the early steps in this procedure involve them, and they must accomplish these steps first before the others can proceed:

  1. All members of the Coder guild should acquire a GitHub account, if they don’t already have one (it’s free).
  2. One of the Coders of the Interaction and Integration team creates a fork of the GRNsight project.
  3. The Interaction and Integration team adds the GitHub accounts of all Coder guild members as collaborators on the fork.
  4. Once every team is a collaborator on this fork, they can then create their respective branches on the fork:
    • The Page Design team creates a branch called page-design.
    • The Gene Database APIs team creates a branch called gene-database-apis.
    • After the gene-database-apis branch is created, the JASPAR API team creates a branch from gene-database-apis called jaspar-api.

The teams will then do their work on their respective branches. The protocol for integrating your work is described in the Integration and Integration Testing milestone below.

The structure described in this milestone is a typical GitHub fork-and-branch approach which some Coders are already familiar with. If any Coder needs help with this methodology, please consult your fellow guild members or ask Dr. Dionisio.

[X]Milestone 3: “Developer Rig” Setup and Initial As-Is Build

Before development can begin in earnest, the following initial setup steps must be performed per Coder after version control setup is complete:

  1. git clone the GitHub fork created in the version control setup milestone on where you plan to work on the project.
  2. cd into the folder that contains the cloned repository
  3. git checkout the branch that is assigned to you:
    • Interaction and Integration: master (no need for an explicit checkout because the clone defaults to this branch)
    • Page Design: page-design
    • Gene Database APIs: gene-database-apis
    • JASPAR: jasper-api (note that as instructed above, this should be a branch of the gene-database-apis branch)
  4. Follow the instructions in the GRNsight wiki to perform the following:
    1. Installation of necessary third-party libraries
    2. Initial startup of the GRNsight application on your computer

If anyone runs into problems with this procedure, please consult with your fellow guild members or notify Dr. Dionisio.

[X]Milestone 4: Development, Implementation, and Localized Testing

At this point, each team proceeds with their own development work. In general, each team will do most of their work (and place most of their files) in the following locations within the GRNsight repository. Some files may need to go elsewhere; check in with Dr. Dionisio if there are any file organization/location issues:

  • Page Design: web-client/public/html (this folder does not yet exist; you will need to create it) and web-client/test (in case you are able to write unit tests for your work)
  • Gene Database APIs: web-client/public/js and web-client/test
  • JASPAR: web-client/public/js and web-client/test
  • Interaction and Integration: Because you are integrating the other teams’ work, you will likely interact with the entire web-client folder

For the Gene Database APIs and JASPAR teams, your work will not be visible to end-users until the first overall integration is done, so use unit tests as your initial approach for verifying that your code is working well. You will probably need to mock up your API calls so that you don’t bombard the web services with requests while unit testing. However, these sites are generally open access so you can probably write your initial set of tests using real requests and responses.

The Quality Assurance members of each team should take charge of manual testing. Specific suggested manual testing tasks are described in the Quality Assurance guild page.

The Interaction and Integration team should initially get to know the files being created and worked on by the other teams prior to the first integration milestone.

Teams should perform their own internal testing (both manual and automated) on their respective files throughout development. Commit and push your work to your designated branch at appropriate intervals. Coders who are not familiar with this style of working should consult with fellow guild members or talk to Dr. Dionisio.

Acknowledgments

  1. We received help and guidance from Dr. Dondi and Dr. Dahlquist.

References

  1. Becerra M., Lombardía L.J., González-Siso M.I., Rodríguez-Belmonte E., Hauser N.C., & Cerdán M.E. (2003). Genome-wide analysis of the yeast transcriptome upon heat and cold shock. Comparative and Functional Genomics, 4(4), 366-375. doi: 10.1002/cfg.301
  2. Paul Ford, 2015, Bloomberg, Retrieved from: https://www.bloomberg.com/graphics/2015-paul-ford-what-is-code/#the-time-you-attended-the-e-mail-address-validation-meeting
  3. Homma T., Iwahashi H., & Komatsu Y. (2003). Yeast gene expression during growth at low temperature. Cryobiology, 46(3), 230-237. https://doi.org/10.1016/S0011-2240(03)00028-2
  4. LMU BioDB 2017. (2017). GRNsight Gene Page Project. Retrieved from https://xmlpipedb.cs.lmu.edu/biodb/fall2017/index.php/GRNsight_Gene_Page_Project
  5. Murata et. al.(2006). Genome-wide expression analysis of yeast response during exposure to 4 C. Extremophiles, 10(2), 117-128.
  6. Sahara, T., Goda, T., & Ohgiya, S. (2002). Comprehensive expression analysis of time-dependent genetic responses in yeast cells to low temperature. Journal of Biological Chemistry, 277(51), 50015-50021.