BMI-219 – Scientific Software Development

Team Projects

Objective:

BMI-219 team projects provides the opportunity to apply the software development tools and methods discussed in the course. Each team will take a project from conception through delivery, concluding with an oral presentation. The team project will determine the grade for all team members.

Project Elements:

  • Project must include both web and data management components
  • Project requirements must be submitted prior to design and implementation
  • Project must be implemented on plato.cgl.ucsf.edu
  • Each team will include three team members
  • Each team member must have a defined role
  • Oral Presentation:

  • Each team will present for 30 minutes, including ~10 minutes of Q&A
  • All team members must present and prepared to discuss all aspects of the project
  • Presentation should include:
    1. Team member introductions, including your role on the project
    2. Project description
    3. Entity-Relationship diagram
    4. Use cases / Personas
    5. Web site walk-through
    6. Architectural features of your project
    7. Future plans
    8. What were the hardest parts to implement?
    9. Suggestions to improve the course
  • Possible Projects:

  • A protein annotation system. Mine and store data about proteins from a variety of sources.
  • Construct a web portal to a group of existing protein function (e.g. SFLD), structure (e.g. SCOP), and sequence (e.g. Pfam) data sources using a local database to keep the associated metadata.
  • A molecule classification system for Protein Data Bank (PDB) structures. Collect information from PDB entries and present a web interface to search for terms that appear in the HEADER field.
  • A citation tracking system. Mine Google Scholar, PubMed, and Web of Science for references to subjects of interest. The associated user web interface could include searching and browsing capabilities and output could include bibliographies and links to full papers.
  • A reagent ordering system. Use a database for storing information about reagent inventory and present web interfaces for data update and report generation.
  • Additional suggestions welcomed