{"id":32563019,"url":"https://github.com/smithlabcode/abismal","last_synced_at":"2026-03-08T19:36:37.458Z","repository":{"id":37621401,"uuid":"228294373","full_name":"smithlabcode/abismal","owner":"smithlabcode","description":"Abismal is a mapper of FASTQ bisulfite-converted short reads (between 50 and 1000 bases) to a FASTA reference genome.","archived":false,"fork":false,"pushed_at":"2025-10-06T20:38:40.000Z","size":1182,"stargazers_count":19,"open_issues_count":0,"forks_count":5,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-10-06T22:13:09.058Z","etag":null,"topics":["bioinformatics","bisulfite-sequencing","mapping-algorithms"],"latest_commit_sha":null,"homepage":"","language":"C++","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/smithlabcode.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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2019-12-16T03:23:35.000Z","updated_at":"2025-10-06T20:33:31.000Z","dependencies_parsed_at":"2023-12-19T02:10:14.991Z","dependency_job_id":"458038a3-075e-4ac4-b3e6-fed0dcf49289","html_url":"https://github.com/smithlabcode/abismal","commit_stats":null,"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/smithlabcode/abismal","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smithlabcode%2Fabismal","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smithlabcode%2Fabismal/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smithlabcode%2Fabismal/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smithlabcode%2Fabismal/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/smithlabcode","download_url":"https://codeload.github.com/smithlabcode/abismal/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smithlabcode%2Fabismal/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281549786,"owners_count":26520515,"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-10-29T02:00:06.901Z","response_time":59,"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":["bioinformatics","bisulfite-sequencing","mapping-algorithms"],"created_at":"2025-10-29T02:56:07.691Z","updated_at":"2025-10-29T02:56:15.794Z","avatar_url":"https://github.com/smithlabcode.png","language":"C++","readme":"[![GitHub Downloads](https://img.shields.io/github/downloads/smithlabcode/abismal/total?style=social)](https://github.com/smithlabcode/abismal/releases/latest)\n[![Install with Conda](https://anaconda.org/bioconda/abismal/badges/platforms.svg)](https://anaconda.org/bioconda/abismal)\n[![Install with Conda](https://img.shields.io/conda/dn/bioconda/abismal?color=red\u0026label=conda%20downloads\u0026style=flat-square)](https://anaconda.org/bioconda/abismal)\n\n# Abismal\n\n**A**nother **Bis**ulfite **M**apping **Al**gorithm (abismal) is a read\nmapping program for bisulfite sequencing in DNA methylation studies.\n\n* Binaries for [macOS](https://github.com/smithlabcode/abismal/releases/download/v3.3.0/abismal-macOS.tar.gz) and [Linux](https://github.com/smithlabcode/abismal/releases/download/v3.3.0/abismal-Linux.tar.gz).\n* Latest stable [release](https://github.com/smithlabcode/abismal/releases/latest).\n* [Quickstart](#quickstart)\n* [Examples](#examples)\n* Full documentation [here](https://github.com/smithlabcode/abismal/blob/master/docs/MANUAL.md) (2025-06-13 needs an update)\n* Building from [source](#building-from-source)\n\n## Quickstart\n\n* Download\n  [macOS](https://github.com/smithlabcode/abismal/releases/download/v3.3.0/abismal-macOS.tar.gz)\n  or\n  [Linux](https://github.com/smithlabcode/abismal/releases/download/v3.3.0/abismal-Linux.tar.gz)\n  binaries, install through [conda](https://anaconda.org/bioconda/abismal) or\n  [source](https://github.com/smithlabcode/abismal/releases/download/v3.3.0/abismal-3.3.0.tar.gz).\n\n* Make an index for your reference genome (assuming human hg38):\n\n  ```console\n  ./abismal idx hg38.fa hg38.idx\n  ```\n\n* Map reads using that index:\n\n  ```console\n  ./abismal map -i hg38.idx -o reads.sam reads_1.fq reads_2.fq\n  ```\n\n* See\n  [documentation](https://github.com/smithlabcode/abismal/blob/master/docs/MANUAL.md)\n  for mapping options and output formats.\n\n## Examples\n\n* Make an index from a reference genome in a single FASTA file (here, `hg38.fa`):\n\n  ```console\n  ./abismal idx hg8.fa hg38.idx\n  ```\n\n* Make an index using 8 threads:\n\n  ```console\n  ./abismal idx -t 8 hg38.fa hg38.idx\n  ```\n\n* Map single-end reads to hg38 using an index:\n\n  ```console\n  ./abismal map -i hg38.idx -o reads.sam reads.fq\n  ```\n\n* Map single-end reads with 64 cores (and get very close to 64x speedup):\n\n  ```console\n  ./abismal map -i hg38.idx -o reads.sam -t 64 reads.fq\n  ```\n\n* Map paired-end reads in `reads_1.fq` and `reads_2.fq`:\n\n  ```console\n  ./abismal map -i hg38.idx -o reads.sam reads_1.fq reads_2.fq\n  ```\n\n* Get output in BAM format:\n\n  ```console\n  ./abismal map -i hg38.idx -B -o reads.bam reads.fq\n  ```\n\n* Get mapping statistics in YAML format:\n\n  ```console\n  ./abismal map -i hg38.idx -s reads.stats.yaml -o reads.sam reads.fq\n  ```\n\n* Skip making the index (make it on the fly):\n\n  ```console\n  ./abismal map -g hg38.fa -o reads.sam reads.fq\n  ```\n\n* Map reads from PBAT data:\n\n  ```console\n  ./abismal map -i hg38.idx -P -o reads.sam reads.fq\n  ```\n\n* Map reads from random PBAT data:\n\n  ```console\n  ./abismal map -i hg38.idx -R -o reads.sam reads.fq\n  ```\n\nMapping results are reported in SAM format. Some choices in the output are\nexplicitly highlighted below:\n\n * Reads are output identically to how they appear in the input FASTQ files,\n   regardless of mapped strand.\n * the `NM` tag reports the edit distance between the read and the output,\n   specifically the sum of mismatches, insertions and deletions to the best\n   mapping position.\n * The `CV` tag reports the assumed bisulfite base used to map the read. Reads\n   mapped as A-rich will be reported with `CV:A:A`, and reads mapped as T-rich\n   will be reported with `CV:A:T`. This tag is independent of the strand the\n   read was mapped to. If reads are not mapped in PBAT or random PBAT mode,\n   the first end will always be T-rich and the second end will always be\n   A-rich.\n\n## Building from source\n\nIf you are here because the binaries don't work for you, please let us know\nand we'll try to fix that.\n\n### Linux\n\nThese instructions have been tested for Ubuntu 24.04 and Fedora 41. They will\nlikely work on most APT and RPM-based distributions in 2025.\n\nHere are the basic commands if you are ready to build:\n\n```console\nwget https://github.com/smithlabcode/abismal/releases/download/v3.3.0/abismal-3.3.0.tar.gz\ntar -xf abismal-3.3.0.tar.gz\ncd abismal-3.3.0\n./configure --prefix=${HOME}\nmake\nmake install\n```\n\nIf you that doesn't work, then check that you have the right dependencies. You\ncan find them in the lists below, depending on your system.\n\n* Dependencies:\n\n  Ubuntu/Debian\n\n  ```console\n  apt-get update \u0026\u0026 \\\n  DEBIAN_FRONTEND=noninteractive \\\n  apt-get install -y --no-install-recommends \\\n      ca-certificates \\\n      g++ \\\n      make \\\n      zlib1g-dev \\\n      libhts-dev \\\n      automake \\\n      git \\\n      wget\n  ```\n\n  Fedora/Red Hat\n\n  ```console\n  dnf update -y \u0026\u0026 \\\n  dnf install -y \\\n      g++ \\\n      make \\\n      zlib-devel \\\n      libhts-devel \\\n      wget \\\n      automake \\\n      awk \\\n      git\n  ```\n\n  The wget is only needed if for the next step, and the automake and git (and\n  awk for Fedora/Red Hat) are only needed for the subsequent step using a\n  clone. Your machine likely has these already.\n\n  If you don't have admin privileges on your system, you can use Conda to get\n  all the dependencies.  Assuming you don't already have conda installed, this\n  will get everything you need:\n\n  ```console\n  wget https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-x86_64.sh \u0026\u0026 \\\n  sh Miniforge3-Linux-x86_64.sh -bsup ${HOME}/miniforge3 \u0026\u0026 \\\n  export PATH=${HOME}/miniforge3/bin:$PATH \u0026\u0026 \\\n  conda install -y \\\n      conda-forge::binutils \\\n      conda-forge::gxx \\\n      conda-forge::zlib \\\n      conda-forge::make \\\n      conda-forge::automake \\\n      conda-forge::git \\\n      bioconda::htslib\n  ```\n\n* Build from a source release and install in your home directory:\n\n  ```console\n  wget https://github.com/smithlabcode/abismal/releases/download/v3.3.0/abismal-3.3.0.tar.gz\n  tar -xf abismal-3.3.0.tar.gz\n  cd abismal-3.3.0\n  ./configure --prefix=${HOME}\n  make\n  make install\n  ```\n\n* Build from a clone and install in your home directory:\n\n  ```console\n  git clone --recursive https://github.com/smithlabcode/abismal.git\n  cd abismal\n  ./autogen.sh\n  ./configure --prefix=${HOME}\n  make\n  make install\n  ```\n\n### macOS\n\n* Dependencies:\n\n  Get a compiler through [xcode](https://developer.apple.com/xcode) or get gcc\n  from Homebrew by adding `gcc` to the list below.\n\n  ```console\n  brew update \u0026\u0026 \\\n  brew install \\\n      zlib \\\n      htslib \\\n      automake \\\n      git \\\n      wget\n  ```\n\n  The wget is only needed if for the next step, and the automake and git are\n  only needed for the subsequent step using a clone. I tested these steps on\n  GitHub runners for macOS-15 so you might need additional dependencies.\n\n  Conda as explained above will also work, but you need the conda installer\n  script for your macOS system.\n\n* Build from a source release and install in your home directory:\n\n  ```console\n  wget https://github.com/smithlabcode/abismal/releases/download/v3.3.0/abismal-3.3.0.tar.gz\n  tar -xf abismal-3.3.0.tar.gz\n  cd abismal-3.3.0\n  ./configure CPPFLAGS=\"-I$(brew --prefix)/include\" LDFLAGS=\"-L$(brew --prefix)/lib\" --prefix=${HOME}\n  make\n  make install\n  ```\n\n* Build from a clone and install in your home directory:\n\n  ```console\n  git clone --recursive https://github.com/smithlabcode/abismal.git\n  cd abismal\n  ./autogen.sh\n  ./configure CPPFLAGS=\"-I$(brew --prefix)/include\" LDFLAGS=\"-L$(brew --prefix)/lib\" --prefix=${HOME}\n  make\n  make install\n  ```\n\nIf you build from source you can enable a mode for mapping very short reads.\nUsing such reads is discouraged and rarely helpful. Use the `--help` argument\nto the configure script to see how to enable this option.\n\n## Contacts\n\nAndrew D Smith andrewds@usc.edu\n\n## Citation\n\nThe abismal manuscript is available\n[here](https://doi.org/10.1093/nargab/lqab115).  If you used `abismal` to\nanalyze your data, please cite:\n\n```\nde Sena Brandine, G., \u0026 Smith, A. D. (2021).\nFast and memory-efficient mapping of short bisulfite sequencing reads using a two-letter alphabet.\nNAR Genomics and Bioinformatics, 3(4), lqab115.\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsmithlabcode%2Fabismal","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsmithlabcode%2Fabismal","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsmithlabcode%2Fabismal/lists"}