-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
111 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,9 +1,115 @@ | ||
# BarBay | ||
# BarBay.jl | ||
|
||
[![Build Status](https://github.com/mrazomej/BarBay.jl/actions/workflows/CI.yml/badge.svg?branch=main)](https://github.com/mrazomej/BarBay.jl/actions/workflows/CI.yml?query=branch%3Amain) | ||
[![codecov](https://codecov.io/gh/mrazomej/BarBay.jl/graph/badge.svg?token=W2JREEH8O8)](https://codecov.io/gh/mrazomej/BarBay.jl) | ||
|
||
Welcome to the `GitHub` repository for `BarBay.jl`, a software package to perform Bayesian inference of relative fitness on high-throughput barcode sequencing data! | ||
BarBay.jl is a Julia package for performing Bayesian inference of relative fitness from high-throughput barcode sequencing data. The package implements robust statistical models to analyze competitive fitness assays and estimate relative fitness values with quantified uncertainty. | ||
|
||
Please visit the [documentation](https://mrazomej.github.io/BarBay.jl) to learn more about the package and how to use it. | ||
## Features | ||
|
||
Please open an issue on this repository if you have any comments or want to contribute. | ||
- 🧬 Analyze barcode sequencing data from competitive fitness assays | ||
- 📊 Support for multiple experimental designs: | ||
- Single condition experiments | ||
- Multiple experimental replicates | ||
- Multiple environmental conditions | ||
- Multiple genotype groupings | ||
- 📈 Bayesian inference using: | ||
- Variational inference with ADVI | ||
- 🎯 Built-in support for: | ||
- Population mean fitness estimation | ||
- Mutant fitness effects | ||
- Hierarchical models for replicates and genotypes | ||
- Environment-specific fitness effects | ||
|
||
## Installation | ||
|
||
```julia | ||
using Pkg | ||
Pkg.add("BarBay") | ||
``` | ||
|
||
## Quick Start | ||
|
||
Here's a simple example of analyzing fitness data from a single condition | ||
experiment: | ||
|
||
```julia | ||
using BarBay | ||
using CSV | ||
using DataFrames | ||
|
||
# Load your data (must be in tidy format) | ||
data = DataFrame( | ||
:barcode => [...], # Barcode identifiers | ||
:time => [...], # Time points | ||
:count => [...], # Raw counts | ||
:neutral => [...] # Boolean indicating neutral lineages | ||
) | ||
|
||
# Run Bayesian inference using ADVI | ||
results = BarBay.vi.advi( | ||
data = data, | ||
model = BarBay.model.fitness_normal, # Basic fitness model | ||
outputname = "fitness_results" # Optional: save to CSV | ||
) | ||
|
||
# The results DataFrame contains posterior distributions for: | ||
# - Population mean fitness | ||
# - Individual mutant fitness effects | ||
# - Associated uncertainty measurements | ||
``` | ||
|
||
For more complex experimental designs: | ||
|
||
```julia | ||
# Multiple replicates | ||
results = BarBay.vi.advi( | ||
data = data, | ||
model = BarBay.model.replicate_fitness_normal, | ||
rep_col = :replicate # Column indicating replicates | ||
) | ||
|
||
# Multiple environments | ||
results = BarBay.vi.advi( | ||
data = data, | ||
model = BarBay.model.multienv_fitness_normal, | ||
env_col = :environment # Column indicating environments | ||
) | ||
|
||
# Multiple genotypes | ||
results = BarBay.vi.advi( | ||
data = data, | ||
model = BarBay.model.genotype_fitness_normal, | ||
genotype_col = :genotype # Column indicating genotypes | ||
) | ||
``` | ||
|
||
## Documentation | ||
|
||
For detailed documentation, tutorials, and API reference, please visit our | ||
[documentation page](https://mrazomej.github.io/BarBay.jl/stable/). | ||
|
||
## Contributing | ||
|
||
We welcome contributions! Please feel free to: | ||
|
||
- Open issues for bug reports or feature requests | ||
- Submit pull requests | ||
- Suggest improvements to documentation | ||
- Share example use cases | ||
|
||
## Citation | ||
|
||
If you use BarBay.jl in your research, please cite: | ||
|
||
Razo-Mejia, M., Mani, M. & Petrov, D. Bayesian inference of relative fitness on | ||
high-throughput pooled competition assays. *PLoS Comput Biol* 20, | ||
[e1011937](https://dx.plos.org/10.1371/journal.pcbi.1011937) (2024). | ||
|
||
## License | ||
|
||
BarBay.jl is released under the MIT License. | ||
|
||
## Contact | ||
|
||
Please open an issue on this repository if you have any questions, comments, or | ||
would like to contribute. |