If you like building software and want to learn diverse technologies, this may be a good opportunity for you.
To apply please send your resume to Dr. Loraine via email to email@example.com.
Integrated Genome Browser is open source, genome visualization software many scientists use to visualize and interact with genomic data. IGB is best known for implementing fast animated zooming through a genome. IGB offers many diverse ways to look at data. Ease of navigation and visualization diversity combined with diversity of data available distinguish IGB from other genome browsers.
By working with us on the IGB project, you will gain deeper knowledge of how to build and improve large software systems. You’ll also get more practice using state-of-the-art, professional programming technologies and tools – such as git, Jira, maven, AWS, and more. By applying and developing your skill as a builder of tools, you’ll help push the boundaries of what’s currently possible in genomics data visualization.
Preferred requirements (software positions):
- Java programming, especially experience with OSGi and/or Swing
- Django web application framework expertise (for working with BioViz Connect, App Store, and Track Hub Facade)
- Maven build tool (java)
- User interface design and usability
- Team programming using git (for source code management) and Jira (for task management)
- 2+ years experience in professional software development
- IGB Java API – platform support. IGB is actually just a collection of OSGi “bundles” running within a modular, OSGi run-time (Apache felix). Each bundle shares its functionality with other bundles via services and/or exported packages. In this advanced role, you’ll develop IGB services that expose key functionality of IGB to App developers. You’ll also help improve all aspects of the platform, from build system to deployment to usability, making IGB more accessible to developers and researchers alike. Mission-critical upcoming tasks for fall: Updating IGB platform service component annotations (OSGi) and migrating to a newer version of the Java language.
- IGB Apps. The IGB platform is extensible. Developers can add new features as “IGB Apps,” implemented as OSGi “bundles” (jar files) that users can down and add to IGB while it’s running, using either the IGB App Store or a within-IGB interface called App Manager. We are building and improving new and existing IGB Apps. In this project, you’ll update and maintain existing IGB Apps, and develop new ones.
- IGB App Store. Using AWS cloud resources for deployment, we built an IGB App Store for developers to distribute IGB Apps to IGB users. App Store is deployed at https://apps.bioviz.org and the App Store source code repository is at https://bitbucket.org/lorainelab/appstore. People working on this project will investigate how and whether the IGB App versioning scheme is robust to changes in the platform, such as upgrading to later versions of Java and OSGI standards.
- BioViz Connect – linking IGB and CyVerse. CyVerse is a publicly funded network of high performance computing and storage resources. CyVerse offers access to these resources via REST APIs. We connected IGB and CyVerse using these APIs and a middleware Web site called BioViz Connect. In this project, you’ll learn about using and building on cloud-based resources, how to use REST APIs that require authentication, and how to build intuitive, graphic user interfaces to these resources in support of genomic data browsing in IGB.
For more information, see:
- On-line class on developing IGB – https://canvas.instructure.com/courses/1164217
- IGB download site – https://bioviz.org
- IGB YouTube Channel with videos showing IGB in action – https://www.youtube.com/
- IGB source code – https://bitbucket.org/
- Loraine Lab code repositories – https://bitbucket.org/lorainelab