Skip to content

WillHannon-MCB/titerplot

Repository files navigation

Titerplot

Author: Will Hannon

Plotting viral titers from experiments with a factorial/combinatorial design with Altair.

Install

# Requires Python > 3.12
pip install titerplot

Use

The primary function of this library is plot_titers, which can be imported directly from the package:

from titerplot import plot_titers

# Example usage
plot_titers(
    data,
    titer_col="Titer",
    condition_cols=["Condition_A", "Condition_B", "Condition_C", "Condition_D"],
    facet_col="Facet",
    color_col="Virus"
)

For a complete demonstration of the library's capabilities, check out the plotting demo notebook. For an example of the ideal data format, check out the dummy_data.

Develop

This project uses Poetry for dependency management and packaging.

Setup development environment

# Clone the repository
git clone git@github.com:WillHannon-MCB/titerplot.git
cd titerplot

# Install dependencies with Poetry
poetry install

# Activate the virtual environment
poetry shell

Run tests

Pytest runs the demo notebooks and saves the rendered notebooks to /docs/.

# Run pytest
pytest

Project structure

.
├── data/               # Sample data files
├── docs/               # Rendered Demo notebooks
├── notebooks/          # Development notebooks
├── src/                # Source code
│   └── titerplot/      # Main package
├── tests/              # Test files
├── pyproject.toml      # Package configuration
└── poetry.lock         # Locked dependencies

Publish

titerplot is published on PyPI so that it can be installed with pip. A worflow run by Github Actions publishes to PyPI when the tag is updated:

git tag -a v0.1.0 -m "First release version"
git push origin v0.1.0 

Ensure that you've updated the CHANGELOG with specific changes and pyproject.toml with the same version as the tag. For now, this is handled manually.

About

Plot viral titers from experiments with a factorial/combinatorial design.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors