Commit fe8d9e15 authored by Andreas Tille's avatar Andreas Tille
Browse files

New upstream version 2.4.32+dfsg

parent eabeaa5b
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -61,3 +61,11 @@ tramp
# OS X stuff
.DS_Store
__MACOSX

applications/bed/bedextract/bin/
applications/bed/bedmap/bin/
applications/bed/bedops/bin/
applications/bed/closestfeats/bin/
applications/bed/conversion/bin/
applications/bed/sort-bed/bin/
applications/bed/starch/bin/
 No newline at end of file
+2 −2
Original line number Diff line number Diff line
@@ -15,5 +15,5 @@ install:
  - if [[ "$CXX" == "g++" ]]; then if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo apt-get install -qq g++-4.8; fi; fi
  - if [[ "$CXX" == "g++" ]]; then if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 50; fi; fi
script: 
  - if [[ "$CC" == "gcc" ]]; then if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then make -j4; fi; fi
  - if [[ "$CC" == "clang" ]]; then if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then make -j4; fi; fi
 No newline at end of file
  - if [[ "$CC" == "gcc" ]]; then if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then make all; fi; fi
  - if [[ "$CC" == "clang" ]]; then if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then make all; fi; fi
 No newline at end of file
+292 −98

File changed.

Preview size limit exceeded, changes collapsed.

+10 −11
Original line number Diff line number Diff line
## BEDOPS v2.4.26: high-performance genomic feature operations ##
## BEDOPS v2.4.32: high-performance genomic feature operations ##

[![Build Status](https://travis-ci.org/bedops/bedops.svg?branch=master)](https://travis-ci.org/bedops/bedops) [![GitHub stars](https://img.shields.io/github/stars/bedops/bedops.svg)](https://github.com/bedops/bedops/stargazers) [![Project license](https://img.shields.io/badge/license-GPLv2-blue.svg)](https://github.com/bedops/bedops/blob/master/LICENSE) [![Documentation Status](https://readthedocs.org/projects/bedops/badge/?version=latest)](https://readthedocs.org/projects/bedops/?badge=latest)

@@ -6,9 +6,9 @@

### About ###

**BEDOPS v2.4.26** is a suite of tools to address common questions raised in genomic studies — mostly with regard to overlap and proximity relationships between data sets. It aims to be scalable and flexible, facilitating the efficient and accurate analysis and management of large-scale genomic data. 
**BEDOPS v2.4.32** is a suite of tools to address common questions raised in genomic studies — mostly with regard to overlap and proximity relationships between data sets. It aims to be scalable and flexible, facilitating the efficient and accurate analysis and management of large-scale genomic data. 

The <a href="https://bedops.readthedocs.io/en/latest/content/overview.html#overview">overview</a> section of the **BEDOPS v2.4.26** documentation summarizes the toolkit, functionality and performance enhancements. The <a href="https://bedops.readthedocs.io/en/latest/index.html#reference">reference</a> table offers documentation for all applications and scripts.
The <a href="https://bedops.readthedocs.io/en/latest/content/overview.html#overview">overview</a> section of the **BEDOPS v2.4.32** documentation summarizes the toolkit, functionality and performance enhancements. The <a href="https://bedops.readthedocs.io/en/latest/index.html#reference">reference</a> table offers documentation for all applications and scripts.


### Downloads ###
@@ -28,21 +28,20 @@ The <a href="https://bedops.readthedocs.io/en/latest/content/overview.html#overv
<tr>
<td valign="top">
<ul style="list-style-type:square; font-size:smaller; margin-left:0; margin-right:0px; padding-right:0px; padding-left:20px;">
<li><a href="https://github.com/bedops/bedops/releases/download/v2.4.26/bedops_linux_x86_64-v2.4.26.tar.bz2">x86-64 (64-bit)</a> binaries</li>
<li><a href="https://github.com/bedops/bedops/releases/download/v2.4.26/bedops_linux_i386-v2.4.26.tar.bz2">i386 (32-bit)</a> binaries</li>
<li><a href="https://github.com/bedops/bedops/releases/download/v2.4.32/bedops_linux_x86_64-v2.4.32.tar.bz2">x86-64 (64-bit)</a> binaries</li>
<li><a href="http://bedops.readthedocs.io/en/latest/content/installation.html#linux">Installation instructions</a> for Linux hosts</li>
</ul>
</td>
<td valign="top">
<ul style="list-style-type:square; font-size:smaller; margin-left:0; margin-right:0px; padding-right:0px; padding-left:20px;">
<li><a href="https://github.com/bedops/bedops/releases/download/v2.4.26/BEDOPS.2.4.26.pkg.zip">Intel (32-/64-bit, 10.7-10.12)</a> installer package</li>
<li><a href="https://github.com/bedops/bedops/releases/download/v2.4.32/BEDOPS.2.4.32.pkg.zip">Intel (64-bit, 10.10-10.13)</a> installer package</li>
<li><a href="http://bedops.readthedocs.io/en/latest/content/installation.html#mac-os-x">Installation instructions</a> for Mac OS X hosts</li>
</ul>
</td>
<td valign="top">
<ul style="list-style-type:square; font-size:smaller; margin-left:0; margin-right:0px; padding-right:0px; padding-left:20px;">
<li><a href="https://github.com/bedops/bedops/archive/v2.4.26.tar.gz">Source code</a> (tar.gz)</li>
<li><a href="https://github.com/bedops/bedops/archive/v2.4.26.zip">Source code</a> (zip)</li>
<li><a href="https://github.com/bedops/bedops/archive/v2.4.32.tar.gz">Source code</a> (tar.gz)</li>
<li><a href="https://github.com/bedops/bedops/archive/v2.4.32.zip">Source code</a> (zip)</li>
<li><a href="http://bedops.readthedocs.io/en/latest/content/installation.html#installation-via-source-code">Compilation instructions</a></li>
</ul>
</td>
@@ -51,11 +50,11 @@ The <a href="https://bedops.readthedocs.io/en/latest/content/overview.html#overv

### Documentation ###

Complete documentation for **BEDOPS v2.4.26** tools is available at: <a href="https://bedops.readthedocs.io/en/latest/index.html">https://bedops.readthedocs.io/</a>
Complete documentation for **BEDOPS v2.4.32** tools is available at: <a href="https://bedops.readthedocs.io/en/latest/index.html">https://bedops.readthedocs.io/</a>

### Citation ###

If you use **BEDOPS v2.4.26** in your research, please cite the following manuscript:
If you use **BEDOPS v2.4.32** in your research, please cite the following manuscript:

> Shane Neph, M. Scott Kuehn, Alex P. Reynolds, et al.  
> [**BEDOPS: high-performance genomic feature operations**  
@@ -63,7 +62,7 @@ If you use **BEDOPS v2.4.26** in your research, please cite the following manusc

### Copyright ###

> Copyright (C) 2011-2017 Shane J. Neph, M. Scott Kuehn and Alex P. Reynolds
> Copyright (C) 2011-2018 Shane J. Neph, M. Scott Kuehn and Alex P. Reynolds
>
> Source code, documentation and media assets released under <a href="https://github.com/bedops/bedops/blob/master/LICENSE">GNU Public License Version 2</a> (GPL v2).
+26 −13
Original line number Diff line number Diff line
@@ -4,7 +4,7 @@
*/
//
//    BEDOPS
//    Copyright (C) 2011-2017 Shane Neph, Scott Kuehn and Alex Reynolds
//    Copyright (C) 2011-2018 Shane Neph, Scott Kuehn and Alex Reynolds
//
//    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
@@ -33,12 +33,13 @@
#include <map>
#include <numeric>
#include <string>
#include <type_traits>
#include <utility>
#include <vector>

#include "algorithm/bed/FindBedRange.hpp"
#include "algorithm/visitors/helpers/ProcessBedVisitorRow.hpp"
#include "data/bed/BedTypes.hpp"
//#include "data/bed/BedTypes.hpp"
#include "data/bed/BedCheckIterator.hpp"
#include "suite/BEDOPS.Constants.hpp"
#include "suite/BEDOPS.Version.hpp"
@@ -48,8 +49,9 @@ namespace {

  const std::string prognm = "bedextract";
  const std::string citation = BEDOPS::citation();
  const std::string version = BEDOPS::revision();
  const std::string version = BEDOPS::version();
  const std::string authors = "Shane Neph & Alex Reynolds";
  constexpr std::size_t PoolSz = 2*8;

  //======
  // Help
@@ -66,12 +68,11 @@ namespace {
  //=======
  template <typename ValueType>
  struct Cache {
    Cache() : empty_(true), value_()
    Cache() : empty_(true)
      { }

    template <typename T>
    void operator()(const T* t) {
      value_ = static_cast<ValueType>(*t);
      empty_ = false;
    }

@@ -80,7 +81,6 @@ namespace {

  private:
    bool empty_;
    ValueType value_;
  };

  using Bed::extract_details::TargetBedType;
@@ -156,8 +156,8 @@ namespace {
    }

    OpMode Mode() const { return m_; }
    FILE* File1() { return f1_; }
    FILE* File2() { return f2_; }
    FILE* File1() const { return f1_; }
    FILE* File2() const { return f2_; }
    std::string File2Name() const { return f2Name_; }
    std::string Chrome() const { return(chrom_); }

@@ -238,10 +238,20 @@ namespace {
    return(c == EOF);
  }

  //=============
  // get_pool()
  //============
  template <typename BedTypePtr>
  Ext::PooledMemory<typename std::remove_pointer<BedTypePtr>::type, PoolSz>&
  get_pool() {
    static Ext::PooledMemory<typename std::remove_pointer<BedTypePtr>::type, PoolSz> pool;
    return pool;
  }

  //==========
  // doWork()
  //==========
  void doWork(Input& input) {
  void doWork(const Input& input) {
    // execute the mode requested by the user
    Input::OpMode mode = input.Mode();
    FILE* f = input.File1();
@@ -253,11 +263,13 @@ namespace {
    if ( mode == Input::TWOFILE ) { // find elements of file1 that overlap specified ranges of file2
      Visitors::BedHelpers::Println printer;
      if ( input.File2Name() == "stdin" ) {
        Bed::bed_check_iterator<TargetBedType*> titer(std::cin, input.File2Name()), teof;
        auto& mem = get_pool<TargetBedType*>();
        Bed::bed_check_iterator<TargetBedType*, PoolSz> titer(std::cin, input.File2Name(), mem), teof;
        find_bed_range(f, titer, teof, printer);
      } else {
        std::ifstream* infile = new std::ifstream(input.File2Name().c_str());
        Bed::bed_check_iterator<TargetBedType*> titer(*infile, input.File2Name()), teof;
        auto& mem = get_pool<TargetBedType*>();
        Bed::bed_check_iterator<TargetBedType*, PoolSz> titer(*infile, input.File2Name(), mem), teof;
        find_bed_range(f, titer, teof, printer);
        delete infile;
      }
@@ -289,8 +301,9 @@ namespace {
        if ( lbound.first && lbound.second != at_end ) {
          std::fseek(f, lbound.second, SEEK_SET);
          ByteOffset b = std::ftell(f);
          QueryBedType q(f);
          printf("%s\n", q.chrom());
          auto q = new QueryBedType(f);
          printf("%s\n", q->chrom());
          delete q;
          std::fseek(f, b, SEEK_SET);
        }
        else
Loading