Skip to content

Commit

Permalink
update README file
Browse files Browse the repository at this point in the history
  • Loading branch information
mrazomej committed Jan 15, 2025
1 parent a8f4b72 commit 497ea2a
Showing 1 changed file with 111 additions and 5 deletions.
116 changes: 111 additions & 5 deletions README.md
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.

0 comments on commit 497ea2a

Please sign in to comment.