From 503243807bfa6d691eb51a021b8e1e8c38cdc4bc Mon Sep 17 00:00:00 2001 From: arq5x <arq5x@virginia.edu> Date: Thu, 6 Mar 2014 14:18:52 -0500 Subject: [PATCH] [DOC] multiple ops/cols allowed in a single map run. also, speed comparo. --- .../images/tool-glyphs/map-speed-comparo.png | Bin 0 -> 41233 bytes docs/content/tools/map.rst | 35 +++++++++++++++++- 2 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 docs/content/images/tool-glyphs/map-speed-comparo.png diff --git a/docs/content/images/tool-glyphs/map-speed-comparo.png b/docs/content/images/tool-glyphs/map-speed-comparo.png new file mode 100644 index 0000000000000000000000000000000000000000..238ae43dc7fc2eb7b4585a435ba9128331055779 GIT binary patch literal 41233 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 Rp@RHz`Q6>A;kU4>{{`RJflUAa literal 0 HcmV?d00001 diff --git a/docs/content/tools/map.rst b/docs/content/tools/map.rst index 880aea1e..f28ae675 100644 --- a/docs/content/tools/map.rst +++ b/docs/content/tools/map.rst @@ -31,7 +31,22 @@ Another example is discussed in this Biostars .. note:: ``bedtools map`` requires each input file to be sorted by genome coordinate. - For BED files, this can be done with ``sort -k1,1 -k2,2n``. + For BED files, this can be done with ``sort -k1,1 -k2,2n``. Other sorting criteria are allowed if a genome file (`-g`) is provides that specifies the expected chromosome order. + + +.. note:: + + The ``map`` tool is substantially faster in versions 2.19.0 and later. The plot below demonstrates the increased speed when, for example, counting the number of exome alignments that align to each exon. The bedtools times are compared to the bedops `bedmap` utility as a point of reference. + +| + +.. image:: ../images/tool-glyphs/map-speed-comparo.png + :width: 500pt + :align: center + +| + + @@ -189,3 +204,21 @@ BED format) for all intervals in B that overlap each interval in A. chr1 10 20 a1 1 + 5 chr1 50 60 a2 2 - . chr1 80 90 a3 3 - 3 + + +================================================================================ +Multiple operations and columns at the same time. +================================================================================ + +As of version 2.19.1, multiple columns and operations are allowed at the same time in a single run. This greatly expedites analyses by preventing one from having to process the same file over an over for each column/operation. + +.. code-block:: bash + + $ bedtools map -a a.bed -b b.bed -c 5,5,5,5 -o min,max,median,collapse + +Or, apply the same function to multiple columns: + +.. code-block:: bash + + $ bedtools map -a a.bed -b b.bed -c 3,4,5,6 -o mean + -- GitLab