{"id":46993797,"url":"https://github.com/jonas-fuchs/bamdash","last_synced_at":"2026-03-11T14:39:20.283Z","repository":{"id":198524836,"uuid":"700952196","full_name":"jonas-fuchs/BAMdash","owner":"jonas-fuchs","description":"create a interactive coverage plot dashboard from bam files and add gb, vcf and bed tracks","archived":false,"fork":false,"pushed_at":"2025-12-12T14:45:50.000Z","size":8297,"stargazers_count":57,"open_issues_count":3,"forks_count":4,"subscribers_count":2,"default_branch":"master","last_synced_at":"2026-01-31T09:52:43.019Z","etag":null,"topics":["bam-files","bed-files","coverage-report","dashboard","genbank-files","interactive","plotly","vcf-files"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jonas-fuchs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2023-10-05T16:02:07.000Z","updated_at":"2025-12-17T09:32:14.000Z","dependencies_parsed_at":"2024-01-15T11:10:53.929Z","dependency_job_id":"7b96dc9b-6f70-4aba-9098-675502dbbf8a","html_url":"https://github.com/jonas-fuchs/BAMdash","commit_stats":{"total_commits":47,"total_committers":2,"mean_commits":23.5,"dds":"0.42553191489361697","last_synced_commit":"09bf6274d327de8c02c17e0cb13e69abbbab80c5"},"previous_names":["jonas-fuchs/bamdash"],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/jonas-fuchs/BAMdash","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonas-fuchs%2FBAMdash","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonas-fuchs%2FBAMdash/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonas-fuchs%2FBAMdash/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonas-fuchs%2FBAMdash/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jonas-fuchs","download_url":"https://codeload.github.com/jonas-fuchs/BAMdash/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonas-fuchs%2FBAMdash/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30384151,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-11T14:10:17.325Z","status":"ssl_error","status_checked_at":"2026-03-11T14:09:37.934Z","response_time":84,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["bam-files","bed-files","coverage-report","dashboard","genbank-files","interactive","plotly","vcf-files"],"created_at":"2026-03-11T14:39:19.820Z","updated_at":"2026-03-11T14:39:20.275Z","avatar_url":"https://github.com/jonas-fuchs.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n\u003cimg src=\"./bamdash.png\" alt=\"bamdash\" /\u003e\n\n[![language](https://img.shields.io/badge/python-%3E3.9-green)](https://www.python.org/)\n[![License: GPL v3](https://img.shields.io/github/license/jonas-fuchs/bamdash)](https://www.gnu.org/licenses/gpl-3.0)\n![Static Badge](https://img.shields.io/badge/platform-linux_osx-blue)\n[![DOI](https://zenodo.org/badge/700952196.svg)](https://zenodo.org/badge/latestdoi/700952196)\n[![PiPy](https://img.shields.io/pypi/v/bamdash?label=pypi%20version)](https://pypi.org/project/bamdash/)\n[![Downloads](https://static.pepy.tech/badge/bamdash)](https://pypi.org/project/bamdash/)\n[![CONDA](https://img.shields.io/conda/v/bioconda/bamdash?label=conda%20version)](https://anaconda.org/bioconda/bamdash)\n[![CONDA](https://img.shields.io/conda/dn/bioconda/bamdash?label=conda%20downloads)](https://anaconda.org/bioconda/bamdash)\n\n## Overview\n\n**BAMdash lets you create interactive coverage plots from your bam file with [`plotly`](https://plotly.com/)**\n\n- **requires** only a `.bam`, `.bai` and the reference id to which the reads where mapped\n- **create** a interactive `html` for data exploration\n- **create** a static image (`jpg`, `png`, `pdf`, `svg`) ready for publication\n- **add** additional tracks (supported: `.vcf`, `.gb`, `.bed`)\n- **annotate** tracks with additional information\n- **export** annoated track data as tabular files (`.bed`, `.vcf`) or json (`.gb`)\n- **developed** for viral genomics\n- **customize** all plotting parameters\n\n**Feel free to report any bugs or request new features as issues!**\n\n\n## Automatic annotation\n\nBAMdash automatically computes serveral statistics:\n\n- if `-bs` is \u003e 1 it computes the mean over the bin size in the coverage plot\n- for each track it computes recovery and mean coverage (set `-c` for the min coverage) for each element in the track\n- if a `*.vcf` is provided it annotates `TRANSITION`/`TRANSVERSION` and type of exchange (`SNP`, `DEL`, `INS`)\n\nIf a `*.gb`and `*.vcf` is provided BAMdash computes if the mutations could have been caused by APOBEC deamination. \nMoreover, it annotates the aminoacid exchange and the effect in the CDS (inspired by but not as powerful as [snpeff](http://pcingola.github.io/SnpEff/snpeff)). SNP and INDEL vcf annotation supports:\n\n- `START_LOST`: INDEL or SNP start at the CDS and result in a start loss\n- `STOP_LOST`: INDEL or SNP result in the loss of the stop codon\n- `STOP_GAINED`: INDEL or SNP result in an additional stop codon\n- `SYN`: SNP does not lead to an amino acid change\n- `NON-SYN`: SNP leads to an amino acid change \n- `AC_INSERTION`: INS that does not change already present amino acids\n- `AC_CHANGE+AC_INSERTION`: INS where the affected codon is also non-syn\n- `AC_DELETION`: DEL that does not change already present amino acids\n- `AC_CHANGE+AC_DELETION`: DEL where the affected codon is also non-syn\n- `FRAMESHIFT`: INDEL that leads to a frameshift\n\nThe nomenclature for the aminoacid effect is pretty simplified:\n\n- `A58Y` - Exchange at pos 58 from A to Y\n- `A58YY`- Exchange at pos 58 from A to Y and insertion of an additional Y\n- `AF58Y`- Exchange at pos 58 from A to Y and deletion of the following F\n- `A58fsX` - Frameshift at pos 58\n\n## Example\n\u003cimg src=\"./example.gif\" alt=\"example\" /\u003e\n\n## Installation\n\n### via pip (recommened):\n```shell\npip install bamdash\n```\n### via conda:\n```shell\nconda install -c bioconda bamdash\n```\n### For development:\n```shell\ngit clone https://github.com/jonas-fuchs/BAMdash\ncd BAMdash\npip install .\n```\n```shell\nbamdash -v\n```\nYou should see the current BAMdash version.\n\n## Usage\n\n```shell\nusage: \t\n\nbamdash -b bam_file_path -r reference_id [additional arguments]\n```\n```\nfull usage:\n\n  -h, --help            show this help message and exit\n  -b  , --bam           bam file location\n  -r  , --reference     seq reference id\n  -q 15, --quality-threshold 15\n                        qaulity threshold for reads\n  -bs  , --binsize      bins for the coverage plot\n  -t [track_1 ...], --tracks [track_1 ...]\n                        file location of tracks\n  -c 5, --coverage 5    minimum coverage\n  --slider, --no-slider\n                        show slider (default: False)\n  -e None, --export_static None\n                        export as png, jpg, pdf, svg\n  -d px px, --dimensions px px\n                        width and height of the static image in px\n  --dump, --no-dump     dump annotated track data (default: False)\n  -v, --version         show program's version number and exit\n```\n\n## Test BAMdash\n\n- download the HEV example data:\nhttps://zenodo.org/api/records/10159816/files-archive \n- extract data, cd to folder and use bamdash:\n\n```shell\nbamdash -b HEV.bam -r HEV-pat-1 -t HEV.vcf HEVprim.bed HEVamp.bed HEV.gb\n```\n\n\n## Cutomization\n\nBAMcov plotting settings can be adjusted in in the `config.py`. Therefore, you have to clone this repo.\n\nGo to the configs location:\n```shell\ncd BAMdash/bamdash/scripts/\n```\nAnd open the `config.py` with a text editor, e.g.:\n```shell\ngedit config.py\n```\nand adjust the settings:\n```python\n# pdf settings\nshow_log = True\n\n# overall layout\nvcf_track_proportion = 0.3\ngb_track_proportion = 0.5\nbed_track_proportion = 0.2\nplot_spacing = 0.05\n\n# coverage customize\ncoverage_fill_color = \"rgba(255, 212, 135, 0.2)\"\ncoverage_line_color = \"rgba(224, 168, 68, 1)\"\naverage_line_color = \"grey\"\naverage_line_width = 1\n\n# track customize\ntrack_color_scheme = \"agsunset\"  # for mutiple annotations tracks (genebank)\ntrack_color_single = \"rgb(145, 145, 145)\"  # for single tracks (any rgb value, but no named colors)\nstrand_types = [\"triangle-right\", \"triangle-left\", \"diamond-wide\"]  # +, -, undefined strand\nstrand_marker_size = 8\nstrand_marker_line_width = 1\nstrand_marker_line_color = \"rgba(0, 0, 0, 0.2)\"\nbox_bed_alpha = [0.6, 0.6]  # alpha values for boxes (bed)\nbox_bed_size = [0.4, 0.4]  # size values for boxes (bed)\nbox_gb_alpha = [0.6, 0.8]  # alpha values for boxes (gb)\nbox_gb_size = [0.4, 0.3]  # size values for boxes (gb)\n\n# variant customize\nvariant_marker_size = 13\nvariant_marker_line_width = 1\nvariant_line_color = \"black\"\nstem_color = \"grey\"\nstem_width = 1\nsnp_color = \"grey\"\nins_color = \"blue\"\ndel_color = \"red\"\n```\nTo apply these new settings just repeat the installation procedure in the BAMdash dir:\n```shell\npip install .\n```\n\n---\n\n**Important disclaimer:**\n*The code is under the GPLv3 licence. The code is WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.*\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonas-fuchs%2Fbamdash","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjonas-fuchs%2Fbamdash","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonas-fuchs%2Fbamdash/lists"}