DRAGEN open-source mapper

Overview

Dragmap

Dragmap is the Dragen mapper/aligner Open Source Software.

Installation

Prerequisites

Compilation was tested on CentOS 7

  • C++11 compatible compiler (e.g gcc-c++ >= 4.8.5-36.el7_6.2)
  • GNU make >= 3.82
  • Boost library : boost169-devel >= 1.69.0-1.el7
  • For unit tests : googletest (>= v1.6)
  • Hardware: x86_86, 64GB RAM minimum
  • OS: Centos >= 7.7

Install

The basic procedure is

make

Binary will be generated in ./build/release/

Then optionally, to install to /usr/bin/

make install

By default make will compile and launch unit tests. To disable unit tests, use HAS_GTEST=0, e.g. :

HAS_GTEST=0 make

To compile with unit tests, if google test was installed in user space, it might be required to set GTEST_ROOT and LD_LIBRARY_PATH to where gtest was installed, e.g. :

export GTEST_ROOT=/home/username/lib/gtest
export LD_LIBRARY_PATH=/home/username/lib/gtest/lib

Other variables controlling the build process:

  • GCC_BASE
  • CXX
  • BOOST_ROOT
  • BOOST_INCLUDEDIR
  • BOOST_LIBRARYDIR

Basic command line usage

Command line options

dragen-os --help

Build hash table of a reference fasta file

dragen-os --build-hash-table true --ht-reference reference.fasta  --output-directory /home/data/reference/

Align paired-end reads :

Output result to standard output

dragen-os -r /home/data/reference/ -1 reads_1.fastq.gz -2 reads_2.fastq.gz >  result.sam

Or directly to a file :

dragen-os -r /home/data/reference/ -1 reads_1.fastq.gz -2 reads_2.fastq.gz --output-directory /home/data/  --output-file-prefix result

Align single-end reads :

dragen-os -r /home/data/reference/ -1 reads_1.fastq.gz  >  result.sam
Comments
  • Segmentation fault (core dumped) for building index

    Segmentation fault (core dumped) for building index

    Hello! in the dragmap folder I tried: build/release/dragen-os --build-hash-table true --ht-reference /path/GRCh38/hg38.fa --output-directory /path/GRCh38/dragmapindex/

    and get: Segmentation fault (core dumped)

    Is there something wrong I did?

    opened by grenaud 16
  • Assertion `inputR1.eof()' failed

    Assertion `inputR1.eof()' failed

    I tried to use dragen-os on a pair of gzipped fastq files and it gave me this feed back:

    ''' dragen-os: /software/dragmap/1.1.2/src/lib/workflow/DualFastq2SamWorkflow.cpp:64: dragenos::align::InsertSizeParameters dragenos::workflow::DualFastq2SamWorkflow::requestInsertSizeInfo(dragenos::align::InsertSizeDistribution&, std::istream&, std::istream&): Assertion `inputR1.eof()' failed. ''' It seems the gzip fq file does not have a valid EOF But I checked the gzip file with gzip -v -t and it returned True.

    Then I gunzip the fq files and input to dragen-os and it gave me the same error. While both versions of the pair of fq files can be used to run bwa-mem without errors.

    Last, I tried to use another pair of gzipped fq files from another sequencing provider (platform Illumina) and dragen-os finished with no errors.

    Therefore, I wonder:

    1. Is this a bug?
    2. If not a but, is dragen-os applied to Illumina system generated fq files only?
    3. If 2, and if I want to use dragmap to process some simulation fastq files, what kind of format should I follow to make the simulated fastq files pass the dragmap format check?

    Much appreciated!

    opened by yangyxt 6
  • Segmentation fault (banded_sw)

    Segmentation fault (banded_sw)

    I hit a segmentation fault on this read pair from HG002. Index is built with hg38 reference.

    dragmap_1.fastq.txt dragmap_2.fastq.txt

    Failing line

    Program received signal SIGSEGV, Segmentation fault.
    0x00000000004ace0a in banded_sw (unclippedReadLen=251, read_begin=0, n=<optimized out>, mat=<optimized out>, band_width=1, weight_gapE=1, weight_gapO=7, score=<optimized out>, readLen=1, refLen=1,
        read=<optimized out>, ref=0xffffffffffffffff <Address 0xffffffffffffffff out of bounds>) at ./dragmap/thirdparty/sswlib/ssw/ssw.c:784
    784                                     temp2 = h_b[d] + mat[ref[j] * n + read[i]] + bonus;
    

    gdb stack trace

    #0  0x00000000004ace0a in banded_sw (unclippedReadLen=251, read_begin=0, n=<optimized out>, mat=<optimized out>, band_width=1, weight_gapE=1, weight_gapO=7, score=<optimized out>, readLen=1, refLen=1,
        read=<optimized out>, ref=0xffffffffffffffff <Address 0xffffffffffffffff out of bounds>) at ./dragmap/thirdparty/sswlib/ssw/ssw.c:784
    #1  ssw_align (prof=<optimized out>, ref=<optimized out>, refLen=1, weight_gapO=<optimized out>, weight_gapE=<optimized out>, flag=<optimized out>, filters=0, filterd=0, maskLen=125)
        at ./dragmap/thirdparty/sswlib/ssw/ssw.c:1029
    #2  0x0000000000445f5f in dragenos::align::VectorSmithWaterman::align (this=0x7fffffffac50, queryBegin=<optimized out>, queryEnd=<optimized out>, databaseBegin=0x0, databaseEnd=0x0,
        reverseQuery=<optimized out>, cigar=...) at ./dragmap/src/lib/align/VectorSmithWaterman.cpp:67
    #3  0x0000000000436848 in dragenos::align::AlignmentGenerator::generateAlignment ([email protected]=0x7fffffffacb8, alnMinScore=22, read=..., seedChain=..., alignment=...)
        at ./dragmap/src/lib/align/AlignmentGenerator.cpp:145
    #4  0x0000000000430786 in dragenos::align::Aligner::getAlignments ([email protected]=0x7fffffffa750, readPair=..., alignmentPairs=..., insertSizeParameters=..., pairBuilder=...)
        at ./dragmap/src/lib/align/Aligner.cpp:718
    #5  0x0000000000427e1f in alignAndStorePair<dragenos::workflow::DualFastq2SamWorkflow::parseDualFastq(std::istream&, std::istream&, std::ostream&, std::ostream&, std::ostream&)::__lambda10::__lambda12> (
        store=..., alignmentPairs=..., pairBuilder=..., singlePicker=..., aligner=..., pair=..., insertSizeParameters=...)
        at ./dragmap/src/include/workflow/alignment/AlignmentUtils.hpp:199
    #6  alignDualFastq<dragenos::workflow::DualFastq2SamWorkflow::parseDualFastq(std::istream&, std::istream&, std::ostream&, std::ostream&, std::ostream&)::__lambda10::__lambda12> (this=0x7fffffffc280,
        store=..., pairBuilder=..., singlePicker=..., aligner=..., inputR2=..., inputR1=..., insertSizeParameters=...) at ./dragmap/src/lib/workflow/DualFastq2SamWorkflow.cpp:107
    #7  dragenos::workflow::DualFastq2SamWorkflow::__lambda10::operator() (__closure=0x7fffffffb220, lock=...) at ./dragmap/src/lib/workflow/DualFastq2SamWorkflow.cpp:396
    #8  0x00000000004292be in execute (lock=..., this=0x7fffffffb050) at ./dragmap/src/include/common/Threads.hpp:188
    #9  unsafeExecute (executor=0x7fffffffb050, lock=..., this=0x8ff500 <dragenos::common::CPU_THREADS(unsigned long)::pool>) at ./dragmap/src/include/common/Threads.hpp:314
    #10 safeExecute (executor=0x7fffffffb050, lock=..., this=0x8ff500 <dragenos::common::CPU_THREADS(unsigned long)::pool>) at ./dragmap/src/include/common/Threads.hpp:332
    #11 execute<dragenos::workflow::DualFastq2SamWorkflow::parseDualFastq(std::istream&, std::istream&, std::ostream&, std::ostream&, std::ostream&)::__lambda10> (threads=56, func=..., lock=...,
        this=0x8ff500 <dragenos::common::CPU_THREADS(unsigned long)::pool>) at ./dragmap/src/include/common/Threads.hpp:201
    #12 execute<dragenos::workflow::DualFastq2SamWorkflow::parseDualFastq(std::istream&, std::istream&, std::ostream&, std::ostream&, std::ostream&)::__lambda10> (threads=56, func=...,
        this=0x8ff500 <dragenos::common::CPU_THREADS(unsigned long)::pool>) at ./dragmap/src/include/common/Threads.hpp:167
    #13 dragenos::workflow::DualFastq2SamWorkflow::parseDualFastq ([email protected]=0x7fffffffc280, r1Stream=..., r2Stream=..., os=..., insertSizeDistributionLogStream=..., mappingMetricsLogStream=...)
        at ./dragmap/src/lib/workflow/DualFastq2SamWorkflow.cpp:446
    #14 0x000000000042a579 in dragenos::workflow::DualFastq2SamWorkflow::parseDualFastq ([email protected]=0x7fffffffc280, os=..., insertSizeDistributionLogStream=..., mappingMetricsLogStream=...)
        at ./dragmap/src/lib/workflow/DualFastq2SamWorkflow.cpp:188
    #15 0x000000000040ae85 in dragenos::workflow::input2Sam (options=...) at ./dragmap/src/lib/workflow/Input2SamWorkflow.cpp:569
    #16 0x0000000000408ac8 in dragenos::common::run<dragenos::options::DragenOsOptions> (callback=0x40a740 <dragenos::workflow::input2Sam(dragenos::options::DragenOsOptions const&)>, [email protected]=11,
        [email protected]=0x7fffffffd308) at ./dragmap/src/include/common/Program.hpp:93
    #17 0x0000000000402499 in main (argc=11, argv=0x7fffffffd308) at ./dragmap/src/dragen-os.cpp:24
    

    Command line:

    ./build/release/dragen-os -r ./index -1 dragmap_1.fastq -2 dragmap_1.fastq  --output-directory ./sam --output-file-prefix dragmap
    

    System configuration: Centos 7.6, gcc 4.8.5, boost 1.53.0, zlib 1.2.11

    Thanks for looking into this. Let me know if you require any more details.

    opened by arun-sub 6
  • Docker image for DRAGMAP

    Docker image for DRAGMAP

    Hello there,

    Thank you for maintaining this awesome open-source version of Dragen's aligner! I was planning on replacing bwa-mem2 with dragmap for its slightly higher accuracy. We have internally benchmarked it, and it seems to perform better.

    I just have a quick question. Do you have a Dockerfile for building an image of this tool? I peeked around Dockerhub and saw a few images exist for DRAGMAP, but they didn't look too promising after taking a closer look. I was planning on building an image for our pipeline if one does not exist. If you want, I can send you the final Dockerfile.

    Please let me know what you think.

    Best Regards, @skchronicles

    opened by skchronicles 5
  • Missing ALT aware support

    Missing ALT aware support

    I thought the benefit of the dragmap aligner was supposed to be its superior handling of ALT contigs in GRCh38 (compared to bwa mem). But the --ht-alt-liftover option does not look to be supported. I find "config->altLiftover" in the source code but no way to configure/enable it from the command line. Can anyone clarify if GRCh38 ALT-awareness is supported in the current release? And if yes, how to use it. And if no, if it is planned and for when? Thx.

    opened by MikeMallard 5
  • conda installation error

    conda installation error

    When I follow the instructions in the README I get the following error:

    Collecting package metadata (current_repodata.json): done
    Solving environment: failed with initial frozen solve. Retrying with flexible solve.
    Collecting package metadata (repodata.json): done
    Solving environment: failed with initial frozen solve. Retrying with flexible solve.
    
    PackagesNotFoundError: The following packages are not available from current channels:
    
      - dragmap
    
    Current channels:
    
      - https://repo.anaconda.com/pkgs/main/linux-64
      - https://repo.anaconda.com/pkgs/main/noarch
      - https://repo.anaconda.com/pkgs/r/linux-64
      - https://repo.anaconda.com/pkgs/r/noarch
    
    To search for alternate channels that may provide the conda package you're
    looking for, navigate to
    
        https://anaconda.org
    
    and use the search bar at the top of the page.
    

    I think the correct command is conda install -c bioconda dragmap. But when I try that, I get another error.

    jmschr:/users/jmschr/github$ conda install -c bioconda dragmap
    Collecting package metadata (current_repodata.json): done
    Solving environment: failed with initial frozen solve. Retrying with flexible solve.
    Solving environment: failed with repodata from current_repodata.json, will retry with next repodata source.
    Collecting package metadata (repodata.json): done
    Solving environment: failed with initial frozen solve. Retrying with flexible solve.
    Solving environment: | 
    Found conflicts! Looking for incompatible packages.
    This can take several minutes.  Press CTRL-C to abort.
    failed                                                                                                                                                                 
    
    UnsatisfiableError: 
    

    I'm on Ubuntu 18.04.6 LTS and used a fresh conda environment running Python 3.8.3 with GCC 7.3.0.

    opened by jmschrei 4
  • Requesting primary data for an invalid seed

    Requesting primary data for an invalid seed

    Hi there,

    I'm getting the following error on some in house generated data:

    2022-01-24 17:24:34     [7f49749857c0]  Version: 66742900
    2022-01-24 17:24:34     [7f49749857c0]  argc: 9 argv: dragen-os --num-threads 16 -r /analysis/dragmap_test/gca -1 sample-dna-1-1_S7_R1_001.fastq.gz -2 sample-dna-1-1_S7_R2_001.fastq.gz
    decompHashTableCtxInit...
      0.932 seconds
    decompHashTableHeader...
      0.001 seconds
    decompHashTableLiterals...
      3.131 seconds
    decompHashTableExtIndex...
      0.058 seconds
    decompHashTableAutoHits...
      20.644 seconds
    decompHashTableSetFlags...
      1.207 seconds
    finished decompress
    Running dual fastq workflow on 16 threads. System supports 96 threads.
    0       249     0       0       0       0       10000   1       40000   1       1000    0       0       0       6
    0       250     0       0       0       0       10000   1       40000   1       1000    0       0       0       5
    0       251     0       0       0       0       10000   1       40000   1       1000    0       0       0       4
    0       252     0       0       0       0       10000   1       40000   1       1000    0       0       0       3
    0       253     0       0       0       0       10000   1       40000   1       1000    0       0       0       2
    0       254     0       0       0       0       10000   1       40000   1       1000    0       0       0       1
    0       0       165     212     274     224.484 79.2253 1       601     26      423     91232   91986   0       0
    Initial paired-end statistics detected for read group all, based on 91232 high quality pairs for FR orientation
            Quartiles (25 50 75) = 165 212 274
            Mean = 224.484
            Standard deviation = 79.2253
            Rescue radius = 198.063
            Effective rescue sigmas = 2.5
            Boundaries for mean and standard deviation: low = 1, high = 492
            Boundaries for proper pairs: low = 1, high = 601
            NOTE: DRAGEN's insert estimates include corrections for clipping (so they are not identical to TLEN)
    [139951751513856]       ERROR: This thread caught an exception first
    Error: : Invalid argument: /tools/DRAGMAP-1.2.1/src/lib/sequences/Seed.cpp(64): Throw in function dragenos::sequences::Seed::Data dragenos::sequences::Seed::getPrimaryData(bool) const
    Dynamic exception type: boost::exception_detail::clone_impl<dragenos::common::PreConditionException>
    std::exception::what: Requesting primary data for an invalid seed
    : Requesting primary data for an invalid seed
    

    I am using GCA_000001405.15 as my reference. I could use the same reference to map some reads from the 1000 Genomes Project but I'm only getting the above error with the in house generated data (which can be mapped using BWA MEM).

    Unfortunately, I can't share the data but may you let me know how I can troubleshoot the issue? (I get the same error with the latest (commit) version of DRAGMAP.

    Thank you, Dave

    opened by davetang 3
  • Error when trying to make with the source code

    Error when trying to make with the source code

    Hi, I'm trying to create docker container of the newest version of Dragmap, but am getting the following error:

    #0 291.9 making /DRAGMAP-1.3.0/build/release/common/SystemCompatibility.o
    #0 294.6 /DRAGMAP-1.3.0/src/lib/common/SystemCompatibility.cpp: In function 'void dragenos::common::configureMemoryManagement(bool, bool)':
    #0 294.6 /DRAGMAP-1.3.0/src/lib/common/SystemCompatibility.cpp:382:13: error: 'M_ARENA_MAX' was not declared in this scope
    #0 294.6   382 |     mallopt(M_ARENA_MAX, 1);
    #0 294.6       |             ^~~~~~~~~~~
    #0 294.6 /DRAGMAP-1.3.0/src/lib/common/SystemCompatibility.cpp:382:5: error: 'mallopt' was not declared in this scope; did you mean 'malloc'?
    #0 294.6   382 |     mallopt(M_ARENA_MAX, 1);
    #0 294.6       |     ^~~~~~~
    #0 294.6       |     malloc
    #0 294.6 /DRAGMAP-1.3.0/src/lib/common/SystemCompatibility.cpp:392:13: error: 'M_MXFAST' was not declared in this scope
    #0 294.6   392 |     mallopt(M_MXFAST, 0);
    #0 294.6       |             ^~~~~~~~
    #0 294.6 /DRAGMAP-1.3.0/src/lib/common/SystemCompatibility.cpp:392:5: error: 'mallopt' was not declared in this scope; did you mean 'malloc'?
    #0 294.6   392 |     mallopt(M_MXFAST, 0);
    #0 294.6       |     ^~~~~~~
    #0 294.6       |     malloc
    #0 295.1 make: *** [/DRAGMAP-1.3.0/make/lib.mk:110: /DRAGMAP-1.3.0/build/release/common/SystemCompatibility.o] Error 1
    

    This is my code used to create the docker image:

    FROM alpine:3.16.0
    
    RUN apk update && \
        apk add bash boost-dev g++ gtest-dev make zlib-dev && \
        wget -qO- "https://github.com/Illumina/DRAGMAP/archive/refs/tags/1.3.0.tar.gz" | tar -zx && \
        cd DRAGMAP-* && \
        make && \
        make install && \
        cd .. && \
        rm -rf DRAGMAP-*
    

    Does anyone know what I can do to fix this? Thanks in advance :)

    opened by nvnieuwk 2
  • Segmentation fault: decodeRcBase (Sam.hpp)

    Segmentation fault: decodeRcBase (Sam.hpp)

    I was trying out DRAGMAP to align one of the Illumina Platinum Genome datasets: fastq1, fastq2 and hit a segmentation fault after aligning around ~86 million reads to the hg38 reference genome.

    gdb reports this line:

    generateSequence<dragenos::sequences::Read, dragenos::align::Alignment> (a=..., read=..., os=...) at ./dragmap/src/include/align/Sam.hpp:127
    127             os << ReadT::decodeRcBase(*it);
    

    Here is the backtrace:

    #0  generateSequence<dragenos::sequences::Read, dragenos::align::Alignment> (a=..., read=..., os=...) at ./dragmap/src/include/align/Sam.hpp:127
    #1  dragenos::align::Sam::generateRecord<dragenos::sequences::Read, dragenos::align::Alignment> (this=0x7fffffffb100, os=..., read=..., alignment=..., rgid="1")
        at ./dragmap/src/include/align/Sam.hpp:73
    #2  0x000000000043b55c in dragenos::workflow::DualFastq2SamWorkflow::__lambda10::__lambda12::operator() ([email protected]=0x7fff8378cf80, r=..., a=...)
        at ./dragmap/src/lib/workflow/DualFastq2SamWorkflow.cpp:379
    #3  0x000000000043bda9 in dragenos::workflow::alignment::storePeSupplementary<dragenos::workflow::DualFastq2SamWorkflow::parseDualFastq(std::istream&, std::istream&, std::ostream&, std::ostream&, std::ostream&)::__lambda10::__lambda12>(const dragenos::align::SinglePicker &, const dragenos::sequences::Read &, dragenos::align::Aligner::Alignments &, dragenos::align::Alignment *, const dragenos::align::Alignment &, dragenos::workflow::DualFastq2SamWorkflow::__lambda10::__lambda12, const dragenos::align::InsertSizeParameters &) (singlePicker=..., read=..., alignments=..., primary=0x7ff1f49285e0, mate=...,
        store=..., insertSizeParameters=...) at ./dragmap/src/include/workflow/alignment/AlignmentUtils.hpp:90
    #4  0x000000000043e1ae in alignAndStorePair<dragenos::workflow::DualFastq2SamWorkflow::parseDualFastq(std::istream&, std::istream&, std::ostream&, std::ostream&, std::ostream&)::__lambda10::__lambda12> (
        store=..., alignmentPairs=std::vector of length 32, capacity 512 = {...}, pairBuilder=..., singlePicker=..., aligner=..., pair=..., insertSizeParameters=...)
        at ./dragmap/src/include/workflow/alignment/AlignmentUtils.hpp:233
    #5  alignDualFastq<dragenos::workflow::DualFastq2SamWorkflow::parseDualFastq(std::istream&, std::istream&, std::ostream&, std::ostream&, std::ostream&)::__lambda10::__lambda12> (this=0x7fffffffc400,
        store=..., pairBuilder=..., singlePicker=..., aligner=..., inputR2=..., inputR1=..., insertSizeParameters=...) at ./dragmap/src/lib/workflow/DualFastq2SamWorkflow.cpp:107
    #6  dragenos::workflow::DualFastq2SamWorkflow::__lambda10::operator() (__closure=0x7fffffffb3a0, lock=...) at ./dragmap/src/lib/workflow/DualFastq2SamWorkflow.cpp:396
    #7  0x000000000048e5e6 in unsafeExecute (executor=0x7fffffffb1d0, lock=..., this=0x724620 <dragenos::common::CPU_THREADS(unsigned long)::pool>)
        at ./dragmap/src/include/common/Threads.hpp:314
    #8  safeExecute (executor=0x7fffffffb1d0, lock=..., this=0x724620 <dragenos::common::CPU_THREADS(unsigned long)::pool>) at /x/arunsub/winter_21/dragmap/src/include/common/Threads.hpp:332
    #9  executeAllPending (lock=..., this=0x724620 <dragenos::common::CPU_THREADS(unsigned long)::pool>) at ./dragmap/src/include/common/Threads.hpp:371
    #10 dragenos::common::BasicThreadPool<false>::threadFunc (this=0x724620 <dragenos::common::CPU_THREADS(unsigned long)::pool>) at ./dragmap/src/include/common/Threads.hpp:350
    #11 0x00007ffff6799070 in ?? () from /usr/lib64/libstdc++.so.6
    #12 0x00007ffff60a1ea5 in start_thread () from /usr/lib64/libpthread.so.0
    #13 0x00007ffff58b28dd in clone () from /usr/lib64/libc.so.6
    

    Command line:

    ./build/release/dragen-os -r ./index -1 ERR194147_1.fastq.gz -2 ERR194147_2.fastq.gz --output-directory ./sam --output-file-prefix ERR194147
    

    System configuration: Centos 7.6, gcc 4.8.5, boost 1.53.0, zlib 1.2.11

    Thanks for looking into this.

    opened by arun-sub 2
  • compilation fails on alpine linux

    compilation fails on alpine linux

    Compilation fails at this step:

    g++ -MT /src/DRAGMAP-1.2.1/build/release/common/SystemCompatibility.o -MMD -MP -MF /src/DRAGMAP-1.2.1/build/release/common/SystemCompatibility.Td -Wall -ggdb3 -DLOCAL_BUILD -D'DRAGEN_OS_VERSION="0.2020.08.19"'  -DVERSION_STRING="UNKNOWN" -I /src/DRAGMAP-1.2.1/thirdparty -I /src/DRAGMAP-1.2.1/src/include -I /src/DRAGMAP-1.2.1/thirdparty/dragen/src -I /src/DRAGMAP-1.2.1/thirdparty/dragen/src/common/public  -I /src/DRAGMAP-1.2.1/thirdparty/dragen/src/host/metrics/public -I /src/DRAGMAP-1.2.1/thirdparty/sswlib -I /src/DRAGMAP-1.2.1/stubs/dragen/src/host/dragen_api -I /src/DRAGMAP-1.2.1/stubs/dragen/src/host/dragen_api/dbam  -I /src/DRAGMAP-1.2.1/stubs/dragen/src/host/infra/public -I /src/DRAGMAP-1.2.1/stubs/dragen/src/host/metrics/public -Wfatal-errors -g -msse4.2 -O2 -ftree-vectorize -finline-functions -fpredictive-commoning -fgcse-after-reload -funswitch-loops -ftree-slp-vectorize -fvect-cost-model -fipa-cp-clone -ftree-phiprop -std=c++11 -c -o /src/DRAGMAP-1.2.1/build/release/common/SystemCompatibility.o /src/DRAGMAP-1.2.1/src/lib/common/SystemCompatibility.cpp
    /src/DRAGMAP-1.2.1/src/lib/common/SystemCompatibility.cpp: In function 'void dragenos::common::configureMemoryManagement(bool, bool)':
    /src/DRAGMAP-1.2.1/src/lib/common/SystemCompatibility.cpp:401:13: error: 'M_ARENA_MAX' was not declared in this scope
      401 |     mallopt(M_ARENA_MAX, 1);
          |             ^~~~~~~~~~~
    compilation terminated due to -Wfatal-errors.
    make: *** [/src/DRAGMAP-1.2.1/make/lib.mk:113: /src/DRAGMAP-1.2.1/build/release/common/SystemCompatibility.o] Error 1
    
    opened by stephenturner 1
  • Segmentation fault version 1.3.0

    Segmentation fault version 1.3.0

    Hi,

    I am running dragmap 1.3.0 on some small test data and continue to get a failure with

    0 Segmentation fault      dragen-os -r dragmap --num-threads 2 -1 test_1.fastq.gz -2 test_2.fastq.gz 2> test.sorted.dragmap.log
              31 Done                    | samtools sort --threads 2 -o test.sorted.bam -
    

    as soon as I downgrade back to 1.2.1, it works on the same data/setup.

    Command run:

      dragen-os \
          -r dragmap \
           \
          --num-threads 2 \
          -1 test_1.fastq.gz -2 test_2.fastq.gz \
          2> test.sorted.dragmap.log \
          | samtools sort  --threads 2 -o test.sorted.bam -
    
    opened by FriederikeHanssen 0
  • RG PL field value is not spec compliant

    RG PL field value is not spec compliant

    The SAM header @RG sub field "PL" is listed as PL0 at https://github.com/Illumina/DRAGMAP/blob/2e0ec6856bf88f869e89283b650ada53bac75d80/src/include/sam/SamGenerator.hpp#L173

    This is being reported by users as turning up in data, which will cause problems for any data which validates the input matches the specifications. The default from DRAGMAP should be ILLUMINA. This field is a controlled vocabulary, designed to allow users to tune their algorithms to the type of data being generated. The PM field (Platform Model) is more flexible and permits additional machine details.

    Reported via https://github.com/samtools/hts-specs/issues/679

    opened by jkbonfield 0
  • Illegal instruction (core dumped)

    Illegal instruction (core dumped)

    I have installed Dragmap successfully in two different servers. In one serve, when I ran it I got an error: Illegal instruction (core dumped). Can anyone help me please? CPU model: Intel(R) Xeon(R) CPU E7-8870 v2 @ 2.30GHz It works perfectly in the other server.

    opened by masoudedi 0
  • Compressed extend table index doesn't match hash table size

    Compressed extend table index doesn't match hash table size

    Hello,

    After upgrading to dragmap version 1.3, I get the following error for one of my runs that previously had a segmentation fault: image

    The command line is as follows: dragen-os -r dragmap_testref/ -1 mrna_S1_L001_R1_001.fastq.gz -2 mrna_S1_L001_R2_001.fastq.gz --output-directory mRNA_output/ --output-file-prefix mrna-alpha-x1

    I am unsure what the exception means. Thank you for your help.

    opened by hddesai 0
  • Segmentation fault (core dumped) when building a hash table

    Segmentation fault (core dumped) when building a hash table

    I was successful in building a hash table with the alt masked bed file you provide in this repo, but when using version 2 of illumina's maked bed I get a Segmentation fault (core dumped) error, as seen below.

    I tried using different versions of dragmap and sorting the bed file in different ways but haven't had any success.

    Building hash table from /refs/gatk_ref/Homo_sapiens_assembly38.fasta

    Supressing decoys

    Reading reference input file /refs/gatk_ref/Homo_sapiens_assembly38.fasta: 3249912778 bytes... 3 sequences, 689445510 bases (689501184 after trimming/padding) 5 sequences, 1061198324 bases (1061166080 after trimming/padding) 8 sequences, 1536488912 bases (1536199680 after trimming/padding) 12 sequences, 2077042982 bases (2076576768 after trimming/padding) 17 sequences, 2574038003 bases (2524183552 after trimming/padding) 23 sequences, 3031042417 bases (2965273600 after trimming/padding)

    Reading BED file /refs/hg38_alt_mask_v2.sorted.bed and masking regions...

    Total: 3366 sequences, 3217346917 bases (3088479232 after trimming/padding)

    Spawning 31 threads build STR table... Encoding binary reference sequence... 3 sequences, 689445510 bases (689501184 after trimming/padding) 5 sequences, 1061198324 bases (1061166080 after trimming/padding) 8 sequences, 1536488912 bases (1536199680 after trimming/padding) 12 sequences, 2077042982 bases (2076576768 after trimming/padding) 17 sequences, 2574038003 bases (2524183552 after trimming/padding) 23 sequences, 3031042417 bases (2965066752 after trimming/padding) 3366 sequences, 3217346917 bases (3088479232 after trimming/padding) Segmentation fault (core dumped)

    opened by atimms 2
  • iostream error 4

    iostream error 4

    Tried to run dragmap, the commands are: dragen-os -r /paedyl01/disk1/yangyxt/indexed_genome/hg19 -1 /paedyl01/disk1/yangyxt/wgs/40_samples_help/download_data/clean/TCA-082A/forward_read/TCA-082A-542_1.fastq.gz -2 /paedyl01/disk1/yangyxt/wgs/40_samples_help/download_data/clean/TCA-082A/reverse_read/TCA-082A-542_2.fastq.gz --num-threads 10 --Aligner.sec-aligns 5 --fastq-offset 30 --Aligner.sw-method dragen --verbose --RGID TCA-082A --RGSM TCA-082A --output-directory /paedyl01/disk1/yangyxt/wgs/40_samples_help/download_data/clean/TCA-082A --output-file-prefix test.bqsr It ended up with an IO stream error, while the later part of the error log looks like this: decompHashTableCtxInit... 0.630 seconds decompHashTableHeader... 0.002 seconds decompHashTableLiterals... 0.511 seconds decompHashTableExtIndex... 0.031 seconds decompHashTableAutoHits... 7.618 seconds decompHashTableSetFlags... 1.006 seconds finished decompress INFO: writing SAM file to "/paedyl01/disk1/yangyxt/wgs/40_samples_help/download_data/clean/TCA-082A/test.bqsr.sam" INFO: writing mapping metrics stats into "/paedyl01/disk1/yangyxt/wgs/40_samples_help/download_data/clean/TCA-082A/test.bqsr.mapping_metrics.csv" Running fastq workflow on 10 threads. System supports 80 threads. 0 249 0 0 0 0 10000 1 40000 1 1000 0 0 0 6 0 250 0 0 0 0 10000 1 40000 1 1000 0 0 0 5 0 251 0 0 0 0 10000 1 40000 1 1000 0 0 0 4 0 252 0 0 0 0 10000 1 40000 1 1000 0 0 0 3 0 253 0 0 0 0 10000 1 40000 1 1000 0 0 0 2 0 254 0 0 0 0 10000 1 40000 1 1000 0 0 0 1 [46984712248960] ERROR: This thread caught an exception first Error: boost::exception: /opt/conda/conda-bld/dragmap_1659316645256/work/src/lib/workflow/Input2SamWorkflow.cpp(459): Throw in function void dragenos::workflow::parseSingleInput(std::ostream&, const dragenos::options::DragenOsOptions&, const dragenos::reference::ReferenceSequence&, const dragenos::reference::HashtableConfig&, const dragenos::reference::Hashtable&, std::ostream&) Dynamic exception type: boost::wrapexcept<std::runtime_error> std::exception::what: gzip error: iostream error 4

    I make sure that reference genome are indexed and are used to built hash table. Also the input forward read and reverse read are valid.

    I dunno what's going on. Pls share some insights about the potential cause ? Thanks!

    opened by yangyxt 1
Releases(1.3.0)
  • 1.3.0(May 5, 2022)

    Bug fixes :

    • fix crash in Smith Waterman code for reads shorter than 30 bp
    • fix multiple crashes in rescue scanning code for short reads
    • fix ineligible alignments / fix alignment with impossible coordinates past the end of chromosome
    • fix issue in unclipped bonus score adjustment in SW
    • fix crash when input bam is not name sorted ( now detects if bam is not name-sorted and outputs correct error message)

    New feature :

    • now allows "process substitution" input of uncompressed fastq format

    Code Optimization :

    Up to 30 % runtime reduction

    Misc

    • now using C++17 standard (requires gcc >= 7.1 to compile)
    Source code(tar.gz)
    Source code(zip)
  • 1.2.1(Sep 27, 2021)

Owner
Illumina
Illumina Open Source Software
Illumina
Manual mapper that uses PTE manipulation, Virtual Address Descriptor (VAD) manipulation, and forceful memory allocation to hide executable pages. (VAD hide / NX bit swapping)

Stealthy Kernel-mode Injector Manual mapper that uses PTE manipulation, Virtual Address Descriptor (VAD) manipulation, and forceful memory allocation

Charlie Wolfe 112 Nov 21, 2022
SinMapper - usermode driver mapper that forcefully loads any signed kernel driver

usermode driver mapper that forcefully loads any signed kernel driver (legit cert) with a big enough section (example: .data, .rdata) to map your driver over. the main focus of this project is to prevent modern anti-cheats (BattlEye, EAC) from finding your driver and having the power to hook anything due to being inside of legit memory (signed legit driver).

null 166 Nov 25, 2022
Open-source and open-hardware scientific RPN calculator

OpenRPNCalc Open-source and open-hardware scientific RPN calculator Introduction OpenRPNCalc is a scientific calculator based on STM32 microcontroller

Anton Poluektov 145 Nov 10, 2022
A fully-functional open source and open hardware mechanical USB computer keyboard with only three keys!

threeboard threeboard is a fully-functional open source and open hardware mechanical USB computer keyboard with only three keys. It supports multiple

Conor Taylor 97 Nov 15, 2022
Open Source Cheat for Apex Legends, designed for ease of use. Made to understand reversing of Apex Legends and respawn's modified source engine as well as their Easy Anti Cheat Implementation.

Apex-Legends-SDK Open Source Cheat for Apex Legends, designed for ease of use. Made to understand reversing of Apex Legends and respawn's modified sou

null 107 Nov 20, 2022
Sourcetrail - free and open-source interactive source explorer

Sourcetrail Important Note: This project was archived by the original autors and maintainers of Sourcetrail by the end of 2021. If you want to know mo

Coati Software 13.1k Nov 27, 2022
Single source file ASTC texture decompression in C++ (derived from Google's open source Android project)

astc_dec astc_dec is a single source file ASTC texture decompressor with the Apache 2.0 license, derived from Google's open source Android sources. Th

Rich Geldreich 30 Oct 22, 2022
First open source android modding library for Geometry Dash Based on Hooking-and-Patching-android-template

Android-ML First open source android modding library for Geometry Dash Based on Hooking-and-Patching-android-template Installation Download this githu

BlackTea ML 21 Jul 17, 2022
OpenTibiaBR - Canary Project is a free and open-source MMORPG server emulator written in C++.

OpenTibiaBR - Canary Project is a free and open-source MMORPG server emulator written in C++. It is a fork of the OTServBR-Global project. To connect to the server and to take a stable experience, you can use our own client or tibia client and if you want to edit something, check our customized tools.

OpenTibiaBR 94 Nov 15, 2022
Rasdisys Open Source code for a LTE eNB on Qualcomm FSM9955

Downloaded on June 1st, 2021 from https://www.radisys.com/OpenRadisys-4G-RAN-Software which clearly stated that this code was licensed under GNU AGPLv

Harald Welte 18 Nov 9, 2022
A ROS based Open Source Simulation Environment for Robotics Beginners

A ROS based Open Source Simulation Environment for Robotics Beginners

Sulegeyixiu 126 Nov 13, 2022
"Sigma File Manager" is a free, open-source, quickly evolving, modern file manager (explorer / finder) app for Windows, MacOS, and Linux.

"Sigma File Manager" is a free, open-source, quickly evolving, modern file manager (explorer / finder) app for Windows, MacOS, and Linux.

Aleksey Hoffman 1k Nov 20, 2022
Khepri is a Cross-platform agent, the architecture and usage like Coblat Strike but free and open-source.

Khepri Free,Open-Source,Cross-platform agent and Post-exploiton tool written in Golang and C++ Description Khepri is a Cross-platform agent, the archi

Young 1.4k Nov 18, 2022
Open source release of challenges and other code used in the Hack-A-Sat 2 Qualifier in 2021.

Hack-a-Sat 2 Qualifier This repository contains the open source release for the Hack-a-Sat 2 qualifier from 2021. Released artifacts include: Source c

Cromulence 59 Sep 18, 2022
SynapseOS is a free and open source 64x operating system written in FASM and C

SynapseOS SynapseOS is a free and open source 64x operating system written in FASM and C Documentation Documentation Build To build SynapseOS you need

Synapse OS 103 Nov 19, 2022
Free,Open-Source,Cross-platform agent and Post-exploiton tool written in Golang and C++, the architecture and usage like Cobalt Strike

Khepri Free,Open-Source,Cross-platform agent and Post-exploiton tool written in Golang and C++ Description Khepri is a Cross-platform agent, the archi

Young 1.4k Nov 20, 2022
ModuLiDAR is an all-in-one open-source software for autonomous UGVs and industrial robots.

ModuLiDAR is an all-in-one open-source software for autonomous UGVs and industrial robots. the target industries that ModuLiDAR is working on are farming industry, mining industry, warehouses industry, and construction industry.

null 18 Jun 22, 2022
An open-source general-purpose programming language

An open source general purpose high-level programming language! [OO-N-YUH] This language is gonna onya other languages Vs Code Extention Language Supp

Tech Penguin 4 Aug 9, 2021
Crashser - open source dump/crash server for different programming languages

Crashser - open source dump/crash server for different programming languages (used for crash analysis in various applications). This library is crossplatfrom (now only Windows, Linux, OSX) implementation C++ client for Crasher dump/crash server.

Balun Vladimir 16 Oct 15, 2022