Skip to content

vosslab/biology-problems

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,377 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Biology problem generators

Standalone Python generators help biology instructors create randomized, LMS-ready quiz and homework questions across biochemistry, genetics, molecular biology, and related subjects.

Explore the generated question collection at Biology Problems OER.

From concept to LMS-ready question

Choose a topic, run its generator, and receive questions ready for Blackboard or a QTI-compatible learning management system. The current audited catalog covers 178 Python generators and 98 YAML question banks, with standalone scripts for focused topics and shared tooling for consistent output.

For example, this command creates five randomized multiple-choice questions about hydrogen bonding in an alpha-helix:

python3 problems/biochemistry-problems/alpha_helix_h-bonds.py --mc -d 5

A generated question is printed in readable form while the import-ready version is written to disk:

In a long alpha-helix, amino acid number 9 would form a hydrogen bond
with which two other amino acids?

A. amino acids 7 and 11
B. amino acids 6 and 12
C. amino acids 5 and 13
...

Writing 5 questions to file: bbq-alpha_helix_h-bonds-MC-questions.txt

The Blackboard output includes the question text, randomized answer choices, answer key, and the HTML needed for LMS import.

What you can create

  • Generate multiple-choice, multiple-answer, and numeric questions from focused topic scripts.
  • Cover biochemistry, biostatistics, cell biology, genetics, laboratory skills, and molecular biology from one repository.
  • Export Blackboard text files, QTI packages, and HTML self-test previews.
  • Build from Python logic, YAML matching sets, or statement-based question banks.
  • Randomize scenarios and answer ordering so repeated assessments are less predictable.

Quick start

This repository is not distributed as a Python package. Clone the source and run its generators in place; only the separate qti-package-maker dependency is installed from PyPI.

Prerequisites

  • Python 3.12.
  • The qti-package-maker Python package, installed from PyPI.
  • The packages listed in pip_requirements.txt.

qti-package-maker is installed separately so its release can be managed independently from this repository's dependency list.

Generate your first questions

Clone this repository, install its dependencies and qti-package-maker, then run a generator:

git clone https://github.com/vosslab/biology-problems.git
cd biology-problems
python3 -m pip install -r pip_requirements.txt
python3 -m pip install qti-package-maker
source source_me.sh
python3 problems/biochemistry-problems/alpha_helix_h-bonds.py --mc -d 5

Successful generation prints each question, displays an answer-choice histogram, and creates bbq-alpha_helix_h-bonds-MC-questions.txt in the repository root. The generated file is ignored by Git and can be imported into Blackboard.

Find a generator

Each generator is a standalone command. Run a script with --help to see its supported formats and options:

python3 problems/biochemistry-problems/alpha_helix_h-bonds.py --help

Documentation

Project status

The collection is actively maintained. The latest catalog audit recorded 178 Python generators and 98 YAML question banks across the supported biology subjects. Use the two indexes above for current coverage and docs/CHANGELOG.md for recent changes.

Platform support beyond macOS with Homebrew has not yet been confirmed.

License

Repository code is available under the GNU Lesser General Public License v3. Non-code educational content is available under the Creative Commons Attribution 4.0 International license.

About

Python scripts that generate biochemistry, genetics, molecular biology, and related homework/quiz items for instructors and course staff. Inputs live in data/ and images/, and generators emit outputs such as bbq-*.txt, qti*.zip, and selftest-*.html (ignored by git).

Resources

License

CC-BY-4.0, LGPL-3.0 licenses found

Licenses found

CC-BY-4.0
LICENSE.CC_BY_4_0
LGPL-3.0
LICENSE.LGPL_v3

Stars

5 stars

Watchers

1 watching

Forks

Contributors