{"id":24378832,"url":"https://github.com/benlangmead/bowtie2","last_synced_at":"2025-05-15T01:09:03.897Z","repository":{"id":6038639,"uuid":"7263010","full_name":"BenLangmead/bowtie2","owner":"BenLangmead","description":"A fast and sensitive gapped read aligner","archived":false,"fork":false,"pushed_at":"2024-12-12T16:12:00.000Z","size":154373,"stargazers_count":711,"open_issues_count":174,"forks_count":163,"subscribers_count":33,"default_branch":"master","last_synced_at":"2025-05-05T09:35:58.289Z","etag":null,"topics":["bioinformatics","c-plus-plus","genomics","read-aligners"],"latest_commit_sha":null,"homepage":null,"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/BenLangmead.png","metadata":{"files":{"readme":"README.md","changelog":"NEWS","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":"AUTHORS","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2012-12-20T19:25:11.000Z","updated_at":"2025-04-26T07:55:14.000Z","dependencies_parsed_at":"2023-10-13T09:05:00.701Z","dependency_job_id":"1b5e7213-dad9-4802-b021-21aea5316d6e","html_url":"https://github.com/BenLangmead/bowtie2","commit_stats":{"total_commits":2434,"total_committers":43,"mean_commits":"56.604651162790695","dds":0.5698438783894824,"last_synced_commit":"04ec2d46ed816e45381404e9ce0e1e787b34d152"},"previous_names":[],"tags_count":54,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BenLangmead%2Fbowtie2","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BenLangmead%2Fbowtie2/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BenLangmead%2Fbowtie2/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BenLangmead%2Fbowtie2/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BenLangmead","download_url":"https://codeload.github.com/BenLangmead/bowtie2/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254254042,"owners_count":22039792,"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","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","c-plus-plus","genomics","read-aligners"],"created_at":"2025-01-19T06:35:31.712Z","updated_at":"2025-05-15T01:08:58.889Z","avatar_url":"https://github.com/BenLangmead.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n\u003c!-- badges: start --\u003e\n![Random Tests](https://github.com/BenLangmead/bowtie2/actions/workflows/random-tests.yml/badge.svg)\n![Simple Tests](https://github.com/BenLangmead/bowtie2/actions/workflows/simple-tests.yml/badge.svg)\n[![Version](https://img.shields.io/badge/version-2.5.4-green.svg)](https://shields.io/)\n\u003c!-- [![Build Status](https://travis-ci.org/BenLangmead/bowtie2.svg?branch=master)](https://travis-ci.org/BenLangmead/bowtie2) --\u003e\n[![License: GPL v3](https://img.shields.io/badge/license-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)\n\u003c!--badges: end --\u003e\n\n## Overview\n\n*Bowtie 2* is an ultrafast and memory-efficient tool for aligning sequencing reads\nto long reference sequences. It is particularly good at aligning reads of about 50\nup to 100s or 1,000s of characters, and particularly good at aligning to relatively\nlong (e.g. mammalian) genomes. Bowtie 2 indexes the genome with an FM Index to keep\nits memory footprint small: for the human genome, its memory footprint is typically\naround 3.2 GB. Bowtie 2 supports gapped, local, and paired-end alignment modes.\n\n## Obtaining Bowtie2\n\n*Bowtie 2* is available from various package managers, notably\n[Bioconda](https://anaconda.org/bioconda/bowtie2). With Bioconda installed, you\nshould be able to install Bowtie 2 with `conda install bowtie2`.\n\nContainerized versions of Bowtie 2 are also available via the\n[Biocontainers](https://biocontainers.pro/) project (e.g. via\n[Docker Hub](https://hub.docker.com/r/biocontainers/bowtie2/)).\n\nYou can also download Bowtie 2 sources and binaries from the\n\"releases\" tab on this page. Binaries are available for the Linux,\nMac OS X, and Windows. By utilizing the [SIMDE project](https://github.com/simd-everywhere/simde)\nBowtie 2 now supports the following architectures: ARM64, PPC64, and\ns390x.  If you plan to compile Bowtie 2 yourself, make sure you at least have\nthe [zlib](https://www.zlib.net) library and header files installed. See the\n[Building from source](http://bowtie-bio.sourceforge.net/bowtie2/manual.shtml#building-from-source)\nsection of the manual for details.\n\n## Getting started\nLooking to try out Bowtie 2? Check out the [Bowtie 2 UI](http://bit.ly/bt2ui-beta) (currently in beta).\n\n### Alignment\n`bowtie2` takes a Bowtie 2 index and a set of sequencing read files and outputs a\nset of alignments in SAM format.\n\n\"Alignment\" is the process by which we discover how and where the read sequences are\nsimilar to the reference sequence. An \"alignment\" is a result from this process,\nspecifically: an alignment is a way of \"lining up\" some or all of the characters in\nthe read with some characters from the reference in a way that reveals how they're\nsimilar. For example:\n\n```\n  Read:      GACTGGGCGATCTCGACTTCG\n             |||||  |||||||||| |||\n  Reference: GACTG--CGATCTCGACATCG\n```\nWhere dash symbols represent gaps and vertical bars show where aligned characters match.\n\nWe use alignment to make an educated guess as to where a read originated with\nrespect to the reference genome. It's not always possible to determine this with\ncertainty. For instance, if the reference genome contains several long stretches of\nAs (`AAAAAAAAA` etc.) and the read sequence is a short stretch of As (`AAAAAAA`), we\ncannot know for certain exactly where in the sea of As the read originated.\n\n**Examples**\n```\n# Aligning unpaired reads\nbowtie2 -x example/index/lambda_virus -U example/reads/longreads.fq\n\n# Aligning paired reads\nbowtie2 -x example/index/lambda_virus -1 example/reads/reads_1.fq -2 example/reads/reads_2.fq\n```\n\n### Building an index\n\n`bowtie2-build` builds a Bowtie index from a set of DNA sequences. `bowtie2-build`\noutputs a set of 6 files with suffixes `.1.bt2`, `.2.bt2`, `.3.bt2`, `.4.bt2`,\n`.rev.1.bt2`, and `.rev.2.bt2`. In the case of a large index these suffixes will\nhave a `bt2l` termination. These files together constitute the index: they are all\nthat is needed to align reads to that reference. The original sequence FASTA files\nare no longer used by Bowtie 2 once the index is built.\n\nBowtie 2's `.bt2` index format is different from Bowtie 1's `.ebwt` format, and they\nare not compatible with each other.\n\n**Examples**\n```\n# Building a small index\nbowtie2-build example/reference/lambda_virus.fa example/index/lambda_virus\n\n# Building a large index\nbowtie2-build --large-index example/reference/lambda_virus.fa example/index/lambda_virus\n```\n\n### Index inpection\n\n`bowtie2-inspect` extracts information from a Bowtie 2 index about what kind of\nindex it is and what reference sequences were used to build it. When run without any\noptions, the tool will output a FASTA file containing the sequences of the original\nreferences (with all non-A/C/G/T characters converted to Ns). It can also be used to\nextract just the reference sequence names using the `-n/--names` option or a more\nverbose summary using the `-s/--summary` option.\n\n**Examples**\n```\n# Inspecting a lambda_virus index (small index) and outputting the summary\nbowtie2-inspect --summary example/index/lambda_virus\n\n# Inspecting the entire lambda virus index (large index)\nbowtie2-inspect --large-index example/index/lambda_virus\n```\n\n## Publications\n\n### Bowtie 2 Papers\n\n- Langmead B, Wilks C., Antonescu V., Charles R. __[Scaling read aligners to hundreds of threads on general-purpose processors](https://doi.org/10.1093/bioinformatics/bty648)__. [Bioinformatics](https://academic.oup.com/bioinformatics). bty648.\n\n- Langmead B, Salzberg S. __[Fast gapped-read alignment with Bowtie 2](http://www.nature.com/nmeth/journal/v9/n4/full/nmeth.1923.html)__. [Nature Methods](http://www.nature.com/nmeth). 2012, 9:357-359.\n\n- Langmead B, Trapnell C, Pop M, Salzberg SL. __[Ultrafast and memory-efficient alignment of short DNA sequences to the human genome](https://genomebiology.biomedcentral.com/articles/10.1186/gb-2009-10-3-r25)__. [Genome Biology](https://genomebiology.biomedcentral.com/) 10:R25.\n\n### Related Publications\n\n- P. Ferragina, G. Manzini __[Opportunistic data structures with applications](https://ieeexplore.ieee.org/document/892127)__. [IEEE Xplore](http://genomebiology.com/) 10.1109/SFCS.2000.892127\n\n## Related Work\n\nCheck out the [Bowtie 2 UI](http://bit.ly/bt2ui-beta), a [shiny](https://shiny.rstudio.com), frontend to the Bowtie 2 command line.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbenlangmead%2Fbowtie2","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbenlangmead%2Fbowtie2","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbenlangmead%2Fbowtie2/lists"}