Migration of GLYCAM-Web to new codebase

Overview

Get hands-on experience rebuilding, testing and documenting GLYCAM-Web!

Description

Students will be part of a team tasked with migrating GLYCAM-Web (http://glycam.org) from a C++/Java/Tomcat base to a refactored codebase in C++/Python/Django. The site will also need to be thoroughly tested and documented by persons familiar with the relevant scientific principles.

GLYCAM-Web provides molecular modeling services to researchers worldwide who generate molecular models containing carbohydrates as part of their work.  The current site predicts and generates reasonable  3D structures for:

  • Oligosaccharides of arbitrary lengths including branched moieties
    • Special libraries simplify the procedure for common mammalian glycans
  • Glycosaminoglycans (GAGs) with custom makeup from common, biologically-relevant monosaccharides
  • Glycosylated forms, N- and O-linked, of existing protein structures
  • Automated docking of carbohydrates to antibodies
  • Binding studies of full, biologically-relevant glycans based on structures containing only a glycan fragment

The C++ codebase was recently refactored into an organized form, GMML, a library designed to be easy for scientists to modify and expand.  To further simplify use of the codebase, a translation layer allows the GMML library to be accessed directly from Python.  A collection of Python scripts used by the website and offered as examples for researchers has been released as GEMS.  The new code should be much more stable and simpler to maintain and expand.

Opportunity Types

Students will be accepted in the following categories:

  • Course Credit
  • Unpaid Internship
  • Visiting Scholar / Researcher

Projects

There are too many specific projects to list them all, but the basic tasks fall into one of the categories below.  Although the tasks are grouped as being more relevant to a scientific background or to a computing background, interested and motivated students are encouraged to ‘cross over’ and expand their skill set.

Benefiting from a scientific background

  • Develop scientifically relevant test sets for validating website utilities
  • Generate documentation of the utilities geared to persons with a general scientific background
  • Recommend improvements in the site layout and design

Benefiting from a computing background

  • Generate templates, schema and scripts for the website interface
  • Automate validation tests
  • Refactor the old Java/C++ back-end so that it uses the new Python/C++ codebase.

Course Information

Prerequisites

We expect any one applicant to be familiar with only a small number of the needed skills, but it is necessary that trainees be conversant with at least one or two – or somewhat familiar with a larger number – before beginning.  Most trainees will need to be or become familiar with several of these topics.

Applicants should be familiar with at least one of the following and willing to learn others.

  • Domain knowledge
    • Chemistry
      • Organic, especially with regard to molecular structure
      • Biochemistry, general, but some knowledge of glycobiology is a plus
      • General knowledge of carbohydrate naming and structure, particularly as relevant to glycobiology
    • Molecular Modeling
      • Molecular dynamics (MD) simulations
      • Force fields
      • Visualization and analysis of MD simulation data
    • Computer Science
      • Algorithms relevant to graph theory
      • Object-oriented programming languages
      • Software design and architecture
  • Computer languages
      • C++
      • Python
      • HTML / CSS / Javascript
      • SQL

Prior familiarity with one or more of the following is recommended.  During the course of the project, trainees will have at least some interaction with several of them.

  • Domain specific
    • AMBER molecular modeling suite
    • Autodock
    • JSMol
    • NAccess
    • NetOGlyc
    • VMD
  • Computing
    • Django
    • Docker
    • Doxygen
    • Git
    • Graphviz
    • MariaDB / MySQL
    • PHP
    • WordPress

Other Requirements

All interested persons are welcome to apply.  Current UGA students will be preferred for course credit.  Applicants who are not current or recent UGA students might be required to pass an entrance exam or otherwise demonstrate appropriate background.

Time commitment

Time requirements vary according to the type of training.

  • Interns and students seeking course credit:
    • Minimum:
      • Summer: 12 hours per week
      • Fall and Spring:  8 hours per week
    • Maximum:
      • All semesters:  40 hours per week
        • Note:  students seeking course credit should check with their departments for possible restrictions on the maximum number of hours.
      • As with any course, you get out what you put in, so we do not discourage study on your own outside hours, but we will not require more than the number of hours you agree to.
  • Visiting scholars / researchers
    • Since visiting scholars often come from afar, we encourage them to put in 40 hours per week (or more if they wish).  But, the number of hours is negotiable based on the needs of the student.

Credit hour equivalents for students seeking course credit

Because no work will be required outside of time in the lab, 4 hours of work in lab will equal one hour of UGA course credit except where departmental requirements dictate otherwise.  Credit hour equivalents for students not attending UGA will be decided on a case-by-case basis.

How to Apply

Send a resume and cover letter to Lachele Foley (lfoley@uga.edu).

Print Friendly, PDF & Email

Leave a Reply

Your email address will not be published. Required fields are marked *