Giter Club home page Giter Club logo

bedtools2's Introduction

shamalamadingdong

bedtools - the swiss army knife for genome arithmetic

Download current version

Documentation

Summary

Collectively, the bedtools utilities are a swiss-army knife of tools for a wide-range of genomics analysis tasks. The most widely-used tools enable genome arithmetic: that is, set theory on the genome. For example, bedtools allows one to intersect, merge, count, complement, and shuffle genomic intervals from multiple files in widely-used genomic file formats such as BAM, BED, GFF/GTF, VCF.

While each individual tool is designed to do a relatively simple task (e.g., intersect two interval files), quite sophisticated analyses can be conducted by combining multiple bedtools operations on the UNIX command line.

Performance

As of version 2.18, bedtools is substantially more scalable thanks to improvements we have made in the algorithm used to process datasets that are pre-sorted by chromosome and start position. As you can see in the plots below, the speed and memory consumption scale nicely with sorted data as compared to the poor scaling for unsorted data. The current version of bedtools intersect is as fast as (or slightly faster) than the bedops package's bedmap which uses a similar algorithm for sorted data. The plots below represent counting the number of intersecting alignments from exome capture BAM files against CCDS exons. The alignments have been converted to BED to facilitate comparisons to bedops. We compare to the bedmap --ec option because similar error checking is enforced by bedtools.

Note: bedtools could not complete when using 100 million alignments and the R-Tree algorithm used for unsorted data.

Speed Comparison Memory Comparison

Details

First created through urgency and adrenaline by Aaron Quinlan Spring 2009. Maintained by the Quinlan Laboratory at the University of Virginia.

  1. Lead developers: Aaron Quinlan, Neil Kindlon
  2. Significant contributions: Assaf Gordon, Royden Clark, John Marshall, Brent Pedersen, Ryan Dale
  3. Repository: https://github.com/arq5x/bedtools2
  4. Stable releases: https://github.com/arq5x/bedtools2/releases
  5. Documentation: http://bedtools.readthedocs.org
  6. License: Released under GNU public license version 2 (GPL v2).

Citation

Please cite the following article if you use BEDTools in your research:

  • Quinlan AR and Hall IM, 2010. BEDTools: a flexible suite of utilities for comparing genomic features. Bioinformatics. 26, 6, pp. 841โ€“842.

Also, if you use pybedtools, please cite the following.

  • Dale RK, Pedersen BS, and Quinlan AR. Pybedtools: a flexible Python library for manipulating genomic datasets and annotations. Bioinformatics (2011). doi:10.1093/bioinformatics/btr539

bedtools2's People

Contributors

agordon avatar alexpenson avatar arjanvandervelde avatar arq5x avatar bgruening avatar brentp avatar charles-plessy avatar daler avatar davidrichardson avatar dhoeric avatar gtamazian avatar jakebiesinger avatar jayhesselberth avatar jmarshall avatar lbthrice avatar lindenb avatar martijnvermaat avatar mdshw5 avatar nachocab avatar nathanweeks avatar nkindlon avatar portah avatar pryvkin avatar rmzelle avatar ryan-williams avatar theoryno3 avatar timflutre-perso avatar wookietreiber avatar yanlinlin82 avatar yesimon avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.