The Organization
As an independent research organization, the Morgridge Institute for Research explores uncharted scientific territory to discover tomorrow’s cures. In affiliation with the University of Wisconsin-Madison, we support researchers who take a fearless approach to advancing human health in emerging fields such as virology, advanced multi-scale fluorescence and electron microscopy, metabolism and regenerative biology. Through public programming, we work to inspire scientific curiosity in everyday life.
Description:
The Research Computing group at the Morgridge Institute for Research partners with a broad range of scientists to provide computing services for the Institute, the UW-Madison campus as part of the Center for High Throughput Computing, and the nation.
A common theme the group faces is figuring out how get the tools researchers already use to work with high throughput computing systems like the HTCondor Software Suite (HTCSS) and the Pelican Platform.
One piece of software we’ve identified as having the potential for high impact is the Snakemake workflow management tool. Snakemake is a Python package that lets users define Directed Acyclic Graph (DAG) workflows “via an easy to read, adaptable, [and] powerful specification language on top of Python,” and a growing number of researchers have asked about using HTCondor as the computational backend for their established Snakemake pipelines.
We are seeking a student looking to work in-person between 10 and 20 per week, as mutually agreed upon, to assist in turning our proof-of-concept Snakemake+HTCondor integrations into a polished, well-documented tool that researchers from all backgrounds can pick up and use off the shelf.
The student intern will become an expert in Snakemake and HTCondor workflow management, and they’ll use this expertise to identify and polish any rough edges that exist between it and the HTCondor Software Suite and the Pelican Platform. They’ll also work closely with stakeholders to write clear documentation and provide easy-to-understand examples.
Requirements:
- Identify opportunities to tighten the integration between Snakemake and HTCSS/Pelican Platform.
- Turn those opportunities into well-written, maintainable code.
- Communicate architectural decisions to other developers and stakeholders.
- Develop clear and concise user-facing educational materials (e.g. documentation, tutorials, etc.) that explain how this software can be used.
- Develop testing infrastructure for the overall integration.
Desired Skills:
The list below is representative of the knowledge, skill, and/or abilities of an ideal candidate. We recognize that student applicants may meet only some of these attributes and are interested in candidates looking to acquire these additional skills and knowledge. Reasonable accommodations may be made to enable individuals with disabilities to perform the primary functions.
Education and Experience:
- Working toward a bachelor’s or master’s degree in information technology, computer engineering or computer science or equivalent work experience.
Knowledge, Skills and Abilities Desired, but no Required:
- Basic proficiency in Python and/or C++ – experience can come from class/personal projects or professional experience.
- Experience with distributed computing or job management/scheduling software like HTCondor or Slurm.
- Basic knowledge of containerization software, e.g. Docker or Apptainer/Singularity.
- Basic knowledge of software development environments like Git or GitHub.
- Ability to organize, prioritize and meet deadlines.
To apply:
Qualified individuals interested in this opportunity are required to submit a cover letter and resume via the link below.