Skip to content

Developer Guide

This guide covers the REvoDesign codebase for contributors who want to understand the architecture, extend the plugin with new scorers or sidechain solvers, or make changes to the core infrastructure.

  • Concepts -- Key biological and software design concepts explained: mutant, mutant tree, designers, mutate runners, hotspots, profiles, GREMLIN, clusters, and the core software patterns.
  • Architecture -- Package structure, plugin lifecycle, singleton and registry patterns, config system, and extension points.
  • Concepts -- Key biological and software design concepts: mutant, mutant tree, designers, mutate runners, hotspots, profiles, GREMLIN, clusters, and core software patterns.
  • Testing -- Test framework (pytest + QtBot), test classification (fast/serial/slow), conftest harness, test data, and CI workflow.
  • CI/CD -- GitHub Actions workflows, matrix configuration, environment variables, and required secrets.
  • PSSM/GREMLIN Server -- Backend compute service for PSSM profile generation and GREMLIN co-evolution analysis.
  • Monaco Editor -- Embedded VS Code editor for YAML configuration editing with syntax highlighting and file whitelisting.
  • Rosetta Integration -- RosettaPy bridge for energy minimization, ddG scoring, ligand docking, and sidechain packing.
  • Translation (i18n) -- Qt Linguist-based multi-language support, adding new languages, and the translation pipeline.
  • UI Design -- Qt Designer workflow, .ui files, object naming conventions, and the runtime UI loading system.
  • CGO Graphics -- Compiled Graphics Objects: PyMOL's low-level OpenGL drawing API and REvoDesign's high-level cgo_utils wrapper.
  • Makefile Reference -- A command-by-command reference for all make targets.
  • Package Manager -- Standalone installer internals: thread management, Git solving, pip installation, and extras registry.
  • Adding a Scorer -- Step-by-step walkthrough for writing a new scorer plugin via ExternalDesignerAbstract.
  • Adding a Sidechain Solver -- How to integrate a new sidechain packing / mutation tool.
  • Adding a Profile Parser -- How to support a new mutagenesis profile format.
  • Adding a Configuration File -- How to add a new YAML config file and wire it into the widget system.
  • Adding a Shortcut -- How to register a new function as a cmd.extend command with a dialog popup and menu entry.
  • Codacy Fix Playbook -- AI-assisted workflow for triaging and fixing Codacy findings in risk-prioritized batches.
  • DeepSource Fix Playbook -- AI-assisted workflow for triaging and fixing DeepSource findings with minimal, verified diffs.