An interactive R Shiny application for visualizing and analyzing ATAC-seq data from macrophage samples. This application provides a user-friendly interface to explore chromatin accessibility patterns in macrophages.
- Features
- Quick Start
- Installation
- Usage
- Data Description
- Docker Deployment
- Configuration
- Contributing
- Interactive visualization of ATAC-seq peaks
- Analysis of differential accessibility between conditions
- Integration with gene expression data
- Dynamic filtering and sorting capabilities
- Customizable visualization parameters
- Export functionality for plots and data
Using Docker:
docker pull rohitrrj/macrophage-atac
docker run -p 3838:3838 rohitrrj/macrophage-atacThe app will be available at: http://localhost:3838
- Clone the repository:
git clone https://github.com/rohitrrj/macrophage_atac.git
cd macrophage_atac- Install R dependencies:
install.packages(c("shiny", "ggplot2", "DT", "plotly"))- Run the app:
shiny::runApp("app")Build the Docker image:
docker build -t macrophage-atac .- Launch the application
- Upload or select pre-loaded data
- Use the sidebar controls to:
- Select samples/conditions
- Adjust visualization parameters
- Filter data points
- Interact with plots and tables
- Export results as needed
The application works with:
- Processed ATAC-seq peak files
- VST-normalized count matrix (
vstNormalizedCounts_Macrophage.txt) - Gene annotations (
Gene_Symbols.txt) - Differential accessibility results (
HCvsCAD.txt)
Peak Files:
chromosome start end signal
chr1 1000 1500 5.2
chr1 2000 2500 3.1
...
Count Matrix:
GeneID Sample1 Sample2 Sample3
GENE1 10.5 11.2 9.8
GENE2 8.7 7.9 8.1
...
The application is containerized using Docker for easy deployment:
FROM rocker/shiny:4.1.0
# Install system dependencies
RUN apt-get update && apt-get install -y \
libcurl4-gnutls-dev \
libssl-dev
# Copy application files
COPY app /srv/shiny-server/app
COPY shiny-server.sh /usr/bin/shiny-server.sh
COPY shiny-customized.config /etc/shiny-server/shiny-server.conf
# Set permissions
RUN chmod +x /usr/bin/shiny-server.sh
# Expose port
EXPOSE 3838
# Start Shiny server
CMD ["/usr/bin/shiny-server.sh"]The application uses a custom Shiny server configuration (shiny-customized.config):
run_as shiny;
preserve_logs true;
access_log /var/log/shiny-server/access.log tiny;
server {
listen 3838;
location / {
site_dir /srv/shiny-server/app;
log_dir /var/log/shiny-server;
directory_index on;
}
}
Modify app/app.R for:
- Maximum upload size
- Cache settings
- Plot parameters
- Default filters
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
- Follow R code style guidelines
- Add tests for new features
- Update documentation
- Test Docker deployment
This project is licensed under the MIT License - see the LICENSE file for details.
This visualization tool has been used in the following publications:
-
"PD-1 combination therapy with IL-2 modifies CD8+ T cell exhaustion program"
- Nature. 2022 Oct;610(7933):737-743
- DOI: 10.1038/s41586-022-05257-0
- PMID: 36215562
- Used for visualizing chromatin accessibility changes in exhausted T cells
-
"Epigenetic signature of PD-1+ TCF1+ CD8 T cells that act as resource cells during chronic viral infection"
- Proc Natl Acad Sci U S A. 2022 Feb 22;119(8):e2117314119
- DOI: 10.1073/pnas.2117314119
- PMID: 35085847
- Used for interactive exploration of ATAC-seq peaks in T cell subsets
Code availability: ⭐ rohitrrj/macrophage_atac - Interactive visualization app for ATAC-seq data analysis
- Data processing pipeline: ATACseq_Pipeline
- R Shiny framework
- Supporting institutions and funding