{"id":26597136,"url":"https://github.com/jcaperella29/atac_app","last_synced_at":"2026-04-16T18:37:47.802Z","repository":{"id":283399423,"uuid":"951638439","full_name":"jcaperella29/ATAC_APP","owner":"jcaperella29","description":"Interactive Shiny app for annotating MACS2 ATAC-seq peaks and visualizing functional enrichment (GO, KEGG, Reactome) — fully containerized for Docker \u0026 HPC.","archived":false,"fork":false,"pushed_at":"2025-06-30T18:58:42.000Z","size":2162,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-30T19:28:28.886Z","etag":null,"topics":["atac-seq","bioinformatics","chipseeker","functional-enrichment","genomics-tools","r","shiny","singularity"],"latest_commit_sha":null,"homepage":"","language":"R","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jcaperella29.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-03-20T02:13:42.000Z","updated_at":"2025-06-30T18:58:45.000Z","dependencies_parsed_at":"2025-05-16T03:19:33.022Z","dependency_job_id":"d5058447-fa1a-4817-a9ac-a4dd60728870","html_url":"https://github.com/jcaperella29/ATAC_APP","commit_stats":null,"previous_names":["jcaperella29/atac_app"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jcaperella29/ATAC_APP","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jcaperella29%2FATAC_APP","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jcaperella29%2FATAC_APP/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jcaperella29%2FATAC_APP/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jcaperella29%2FATAC_APP/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jcaperella29","download_url":"https://codeload.github.com/jcaperella29/ATAC_APP/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jcaperella29%2FATAC_APP/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273862213,"owners_count":25181541,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-06T02:00:13.247Z","response_time":2576,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["atac-seq","bioinformatics","chipseeker","functional-enrichment","genomics-tools","r","shiny","singularity"],"created_at":"2025-03-23T17:31:18.877Z","updated_at":"2026-04-16T18:37:47.766Z","avatar_url":"https://github.com/jcaperella29.png","language":"R","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🔬 JCAP_ATAC_SEQ APP\n\nAn interactive R Shiny app for analyzing and visualizing ATAC-seq peak data.  \nUpload BED files, generate consensus peaks, annotate regions, run motif enrichment, perform machine learning, simulate power, and more — **no coding required**.\n\n---\n\n## 🚀 Features\n\n- 📂 **Upload** ZIPs of BED files to generate consensus peaks\n- 🧬 **Peak annotation** (nearest gene, distance to TSS, etc)\n- 📊 **Motif enrichment** (using motifmatchr + JASPAR2020)\n- 🧪 **Differential accessibility** (DAA) with DESeq2\n- 📈 **PCA, UMAP, heatmaps** for exploratory analysis\n- 🤖 **Random Forest** classifier (AUC, feature importance)\n- 🔬 **Power analysis** for experimental design\n- 💾 **Downloadable** results for all major outputs\n- 🎨 **Anime-inspired UI** (with fairy_tail.css)\n- 🖥️ Runs in RStudio, Shiny Server, or on HPC (Singularity)\n\n---\n\n## 🧪 Sample Data\n\nTo test the app’s full workflow, use the provided files:\n\n| File                       | Purpose                         |\n|----------------------------|---------------------------------|\n| `focused_promoter_peaks.zip` | Consensus peaks (ZIP of BED)    |\n| `simulated_counts (1).csv`   | Simulated peak × sample counts  |\n| `simulated_metadata (1).csv` | Sample annotations (incl. group)|\n\n**How to use:**  \nUpload each file via the corresponding input in the sidebar.\n\n---\n\n## 📦 Requirements\n\nYou need R (≥ 4.3.x) and the following R packages:\n\n```r\ninstall.packages(c(\n  \"shiny\", \"shinyjs\", \"plotly\", \"DT\", \"markdown\",\n  \"randomForest\", \"pROC\", \"enrichR\",\"uwot\", \"umap\"\n))\nif (!requireNamespace(\"BiocManager\", quietly = TRUE)) install.packages(\"BiocManager\")\nBiocManager::install(c(\n  \"GenomicRanges\", \"GenomicFeatures\", \"org.Hs.eg.db\",\n  \"TxDb.Hsapiens.UCSC.hg38.knownGene\", \"TFBSTools\",\n  \"JASPAR2020\", \"BSgenome.Hsapiens.UCSC.hg38\", \"motifmatchr\"\n))\n\n\n🧬 How to Run the App\nOption 1: Local RStudio\nDownload/clone this repository.\n\nOpen RStudio, set your working directory to the project folder:\n\nand  run  this in your console\n\nsetwd(\"/path/to/ATAC_APP\")\nlibrary(shiny)\nrunApp(\".\")\nThe app will open in your browser (e.g. http://localhost:8787 if using Shiny Server).\n\nHPC / Singularity Deployment\nOption 2: HPC (with SLURM \u0026 Singularity)\n\n1.Build and run from the bash command line:\n\nsingularity build atac-shiny.sif Singularity.def\n2.Submit your job with SLURM:\n\nsbatch run_atac_app.sh\n\nMonitor the output and error logs as specified in the batch script.\n\n3.Forward port 8787 to your local machine for browser access:\n\nssh -L 8787:localhost:8787 user@cluster\n\nOpen the app in your browser:\nhttp://localhost:8787\nTip:\n\nEdit run_atac_app.sh to adjust resource requirements or output locations for your cluster.\n\nSee example SLURM script (run_atac_app.sh) included in the repo.\n\n\n🎛️ How to Use the App\nConsensus Peaks:\nUpload a ZIP of BED files and click Make Consensus Peaks.\n\nPeak Annotation:\nClick Run Peak Annotation.\n\nResults: Peak Annotation Table, Pie Chart.\n🧬 Enrichr Pathway Analysis\n\nRun Enrichr\n\nRun DAA first\n\nSelect a contrast (e.g. Treated_vs_Control)\n\nChoose a gene set (DAA_ALL, DAA_UP, or DAA_DOWN)\n\nClick Run Enrichr\n\nThe app will:\n\nMap ATAC peaks → genes\n\nSend the gene set to Enrichr\n\nRetrieve enriched GO, Reactome, KEGG, and regulatory pathways\n\nRank results by Combined Score (or Adjusted p-value when needed)\n\nFilter out weak single-gene overlaps\n\nResults appear in:\n\nEnrichr Table (full pathway list)\n\nEnrichr Barplot (top ranked biological programs)\n\nThis converts chromatin accessibility changes into interpretable biological pathways for downstream analysis and LLM triage.\nMotif Enrichment:\nSelect a JASPAR family, click Run Motif Enrichment.\n\nResults: Motif Table, Motif Barplot.\n\nCounts \u0026 Metadata:\nUpload count matrix (CSV) and metadata (CSV).\nClick Run DAA on Uploaded Counts to see DESeq2 results.\n\n.\n\n\nExploratory Visualizations:\n\nPCA: Click Run PCA\n\nUMAP: Click Run UMAP\n\nHeatmap: Click Plot Heatmap\n\nRandom Forest Classifier:\nClick Run Random Forest Classifier.\n\nResults: AUC, Accuracy, Feature Importance.\n\nPower Analysis:\nSet effect size, FDR, and replicates. Click Run Power Analysis.\n\nDownloadable Results:\nAll major tables have Download buttons.\n\n| Tab Name                            | Description                                                                            |\n| ----------------------------------- | -------------------------------------------------------------------------------------- |\n| **README**                          | Usage guide, pipeline overview, and interpretation notes                               |\n| **Peak Annotation Table**           | Annotated consensus peaks with nearest gene, TSS distance, and peak IDs (downloadable) |\n| **Annotation Pie Chart**            | Visual distribution of peaks by nearest gene (top hits)                                |\n| **Motif Enrichment Table**          | Transcription factor motifs matched to accessible regions                              |\n| **Motif Enrichment Plot**           | Barplot of top enriched transcription factor motifs                                    |\n| **DAA Results (per condition)**     | Differential accessibility results from DESeq2 for each contrast                       |\n| **DAA Gene Sets (ALL / UP / DOWN)** | Enrichr-ready gene sets built from significant ATAC peaks                              |\n| **Enrichr Pathways**                | Pathway enrichment of ATAC-derived gene sets (GO, Reactome, etc.)                      |\n| **Enrichr Barplot**                 | Ranked pathway barplot (Combined Score / Adjusted p-value)                             |\n| **PCA Plot**                        | Principal component analysis of ATAC peak counts                                       |\n| **UMAP Plot**                       | UMAP projection of samples based on chromatin accessibility                            |\n| **Heatmap**                         | Clustered heatmap of top variable peaks (log-scaled counts)                            |\n| **RF Metrics**                      | Random forest classifier performance (AUC, accuracy)                                   |\n| **Feature Importance**              | Peaks ranked by Gini importance from the RF model                                      |\n| **ROC Curve**                       | Receiver-operating characteristic curve for classification                             |\n| **Power Plot**                      | Statistical power vs. number of replicates                                             |\n| **Power Table**                     | Power estimates with confidence intervals (downloadable)                               |\n\n\n🛠️ Developer Notes\nError logging: All errors are appended to error_log.txt.\n\nLogs: Use email_log.R to manage or email logs if desired.\nATAC_APP/\n├── app.R                    # Main Shiny app\n├── run.sh                   # Launch script (local)\n├── run_atac_app.sh          # SLURM batch script for HPC\n├── email_log.R              # Log emailer\n├── error_log.txt            # Error logs\n├── www/\n│   └── fairy_tail.css       # Themed UI\n├── sample_data/\n│   └── focused_promoter_peaks.zip\n│   └── simulated_counts (1).csv\n│   └── simulated_metadata (1).csv\n├── logs/                    # Archived logs\n├── Singularity.def          # Singularity definition\n└── README.md\n\n\n🧠 FAQ\nCan I use BAM files?\nNo — only BED/peak-level data are supported. Use MACS2 or similar to call peaks first.\n\nIs this cloud deployable?\nNot trivially — Bioconductor packages and large genome data require persistent local storage. HPC, local, or Docker/Singularity are recommended.\n\nHow big can my datasets be?\nThe app is robust for datasets up to ~10k peaks × 100 samples. Larger sets may need more RAM.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjcaperella29%2Fatac_app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjcaperella29%2Fatac_app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjcaperella29%2Fatac_app/lists"}