The goal of these workshops is to give participants hands on experience with computational tools and skills required by modern bioinformatics and computational biology research. The workshops are designed to be interactive and engaging, with a focus on practical application of the skills covered.

The workshops are organized as a series of realistic use cases that participants will work through in a hands on manner. The workshops are designed to be self contained, with each workshop building on the skills learned in the previous workshop.

LLM usage is central to these workshops. Each workshop follows the Problem → Prompt → Code → Debug → Result cycle:

  1. Problem Statement: Clear biological/bioinformatics challenge with specific output goal
  2. Prompt Engineering: Craft effective LLM prompts to generate initial code.
  3. Code Generation: Use LLM to create starting solution
  4. Run & Debug: Execute code, identify errors, return to LLM for fixes
  5. Iterate: Repeat LLM interaction until achieving target result
  6. Add New Features: Augment the problem statement to include new features.
  7. Revise/Append: Revise the problem statement to include new features.
  8. Repeat: Repeat steps 2-7 until the workshop is complete.

Workshop Flow

Our goal is that you should leave the workshops with the ability to use LLMs to help understand a problem statement, translate it into technical requirements, generate initial code, debug it, and iterate until a solution is reached. You should also understand the limitations of LLMs, what they’re good for, and what they’re not good for.

Covered Skills

  • Large language models
    • basic prompt engineering and refinement
    • code generation
    • debugging
  • Linux
    • command line interface
    • basic navigation and file manipulation
    • basic bash scripting
    • conda
  • Version control
    • git
    • github
  • Shared compute cluster (SCC)
    • SCC ondemand
    • GNU modules usage
    • basic computional resource management (understanding CPU, RAM, GPU)
    • memory resource usage
    • job submission and monitoring
  • Computational environments and tools
    • VS code
    • GNU modules
    • conda
    • Docker/singularity
    • computational notebooks
  • Workflow management software
    • snakemake
  • Basic programming
    • python
    • R
    • bash