proteinpaint
Data visualization and analysis framework focused on phenotype-molecular data integration at cohort level.
ProteinPaint visualizes cohort genotype and phenotype data
A genomics visualization and analysis framework from St. Jude focused on phenotype-molecular data integration.
What ProteinPaint is for
ProteinPaint is a genomics visualization tool for exploring a cohort's genotype and phenotype data. The README opens with that single sentence and frames the project as a framework for looking at molecular data alongside the phenotypic features of a group of samples. The stated focus is integration at the cohort level, which means the tool is built to compare many subjects at once rather than to inspect a single record in isolation. This orientation suits cancer genomics work, where a research group wants to see how mutations, expression, and clinical attributes line up across a patient cohort. The project is maintained by St. Jude, and the README points to a server config file and a documented set of system dependencies for anyone running the server code. The short description in the README does not enumerate every chart type, but it is clear that the goal is exploratory visual analysis of combined molecular and phenotypic data, with the cohort as the central unit of study rather than the individual variant. The README does not list every supported chart, but the cohort level framing tells a research user that the tool is built for comparing groups of samples rather than inspecting one record in isolation.
Installation and development
The README gives two ways to get a working environment. A host machine install pulls system dependencies listed in an external installation document, then runs a setup hook, selects Node via nvm, and runs npm install. A Docker dev container path requires Docker Desktop and runs a script that mounts the project and rebundles on change. For development, the scripts need npm v11 or later and are tested with Node v24 or later. The server and client can be developed with two terminal windows using npm run dev to rebundle the frontend and npm start to run the server, or with npm run dev1 to see both in one window. The project also documents a VSCode Dev Containers workflow, where opening the directory in a remote container and running install, build, set hooks, copy a server config, and dev1 brings up the environment. These paths show that ProteinPaint targets contributors who are comfortable with Node tooling and who may prefer a container to avoid installing native dependencies on their machine. The two paths, one on the host and one in a container, let a contributor choose whether to keep the environment isolated or to develop directly against the installed Node toolchain without Docker.
Testing, building, and documentation
The README describes how the project is tested, built, and documented. Tests run with npm testws, which exercises all workspaces, and a developer can also set serverconfig debugmode and open a test runner page to see client side unit and integration tests. Builds and releases are triggered through GitHub Actions using a Create Release workflow, and a Docker build is documented in the container README. Versioning uses standard npm tooling under the hood, with version, pack, and publish steps, and a jump script lets a maintainer dry run a version change before committing. Documentation is auto generated into a public docs folder with npm run doc. The README closes with two TODO notes about organizing the leftbar links by API topic and displaying test code specific to a documented type or interface, which tells readers that the docs are functional but still being polished. For a research group adopting the tool, this mix of Actions driven releases and workspace tests signals a maintained project rather than a static snapshot. The Actions driven release flow and the workspace test command show that the project is maintained actively, and the documentation generator keeps the published reference in step with the code as it changes.
Editorial conclusion
The repository is hosted at github.com/stjude/proteinpaint and its most recent commit was on 2026-08-26.
Community notes