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
  • Problem with Number of duplicate marked and mate reads

    Problem with Number of duplicate marked and mate reads

    Hello. I'm using DRAGMAP for mapping. I have the results of Dragen's same mapping.

    When I use Dragen-os :

    dragen-os --build-hash-table true --ht-reference {input.fa} --output-directory {output}

    dragen-os -r {params.refdir} -1 {input.input1} -2 {input.input2} --ht-decoys {input.decoy} --output-directory {params.outdir} --output-file-prefix {wildcards.sample}_{wildcards.run}

    And I have a problem with one of the result in the summary :

    MAPPING/ALIGNING SUMMARY,,Number of duplicate marked and mate reads removed,0,0.00 MAPPING/ALIGNING SUMMARY,,Number of unique reads (excl. duplicate marked reads),60409748,100.00

    And if I run the same mapping with dragen in baseSpace :

    Number of duplicate marked reads 30,021,566 Number of duplicate marked reads (%) 49.7 Number of unique reads (excl. duplicate marked reads) 30,388,182 Number of unique reads (excl. duplicate marked reads) (%) 50.3

    What's happens here? Is there any option in dragen-os to see duplicated reads ?

    Thank you very much

    opened by magorbe 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
  • Version and software information not properly stated

    Version and software information not properly stated

    The -V command line option does not seem to work as expected:

    $ dragen-os -V
    UNKNOWN
    

    Also, the @PG line in the BAM files generated by the dragen-os command has an incorrect empty space next to the "ID:" field name, plus it doesn't state DRAGMAP, but DRAGEN-OS instead:

    @PG     ID: DRAGEN-OS   VN:0.2020.08.19 CL:dragen-os ...
    

    Finally, if version 0.2020.08.19 stored in BAM files means August 19th 2020, maybe the version numbering should be updated too.

    opened by jamigo 0
  • DRAGMAP installation

    DRAGMAP installation

    Hello, Thank you for making DRAGMAP available to install.

    1. I tried to install it using conda install -c bioconda dragmap but I could not get the latest version as follow: 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: The following specifications were found to be incompatible with each other:

    Output in format: Requested package -> Available versions

    Package libgcc-ng conflicts for: dragmap -> libgcc-ng[version='>=10.3.0|>=12|>=9.4.0'] dragmap -> zlib[version='>=1.2.12,<1.3.0a0'] -> libgcc-ng[version='>=11.2.0|>=7.5.0|>=7.3.0|>=7.2.0'] python=3.7 -> libgcc-ng[version='>=11.2.0|>=7.5.0|>=7.3.0|>=7.2.0']

    Package libstdcxx-ng conflicts for: python=3.7 -> libffi[version='>=3.4,<3.5'] -> libstdcxx-ng[version='>=11.2.0|>=7.5.0'] python=3.7 -> libstdcxx-ng[version='>=7.2.0|>=7.3.0']The following specifications were found to be incompatible with your system:

    • feature:/linux-64::__glibc==2.31=0
    • feature:|@/linux-64::__glibc==2.31=0
    • dragmap -> libgcc-ng[version='>=10.3.0'] -> __glibc[version='>=2.17']

    Your installed version is: 2.31

    However, when I run dragen-os --help, I got the message "command not found".

    • ===============================================================================
    1. I also tried to install it using the following code: wget --no-check-certificate https://github.com/Illumina/DRAGMAP/archive/refs/tags/${VERSION}.tar.gz \
    && tar -xvf ${VERSION}.tar.gz \
    && rm ${VERSION}.tar.gz \
    && cd DRAGMAP-${VERSION} \
    && make \
    && make install \
    && dragen-os --help
    

    But I got the following error:

    --2022-12-15 21:59:07-- https://github.com/Illumina/DRAGMAP/archive/refs/tags/.tar.gz Resolving github.com (github.com)... 140.82.121.3 Connecting to github.com (github.com)|140.82.121.3|:443... connected. HTTP request sent, awaiting response... 302 Found Location: https://codeload.github.com/Illumina/DRAGMAP/tar.gz/refs/tags/ [following] --2022-12-15 21:59:07-- https://codeload.github.com/Illumina/DRAGMAP/tar.gz/refs/tags/ Resolving codeload.github.com (codeload.github.com)... 140.82.121.10 Connecting to codeload.github.com (codeload.github.com)|140.82.121.10|:443... connected. HTTP request sent, awaiting response... 400 Bad Request 2022-12-15 21:59:08 ERROR 400: Bad Request. ` Kindly, would you please be able to guide me to install DRAGMAP latest version?

    Many thanks for your help!

    Maged

    opened by mtaema 0
  • fix intel compiler build break

    fix intel compiler build break

    build environment

    Ubuntu 18.04.6 LTS gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04) Intel(R) oneAPI DPC++/C++ Compiler 2022.2.0 (2022.2.0.20220730) boost 1.58

    run environment

    hardware

    2x Intel Xeon Gold 6342 2TB RAM (16x 128GB DDR4-3200) 4x 4TB PCI-E 4.0 NVME SSD RAID 0 (ref and input here)

    system

    Ubuntu 22.04.1 LTS

    common options

    --ref-load-hash-bin 1 --mmap-reference 1

    data

    board institute gatk bundle hg38 + using alt-masked bed file inhouse wes 200x coverage 150bp paied-end

    MAPPING/ALIGNING SUMMARY,,Total input reads,142688722,100.00
    MAPPING/ALIGNING SUMMARY,,Number of duplicate marked reads,0,0.00
    MAPPING/ALIGNING SUMMARY,,Number of duplicate marked and mate reads removed,0,0.00
    MAPPING/ALIGNING SUMMARY,,Number of unique reads (excl. duplicate marked reads),142688722,100.00
    MAPPING/ALIGNING SUMMARY,,Reads with mate sequenced,142688722,100.00
    MAPPING/ALIGNING SUMMARY,,Reads without mate sequenced,0,0.00
    MAPPING/ALIGNING SUMMARY,,QC-failed reads,0,0.00
    MAPPING/ALIGNING SUMMARY,,Mapped reads,142533774,99.89
    MAPPING/ALIGNING SUMMARY,,Mapped reads adjusted for filtered mapping,142533774,99.89
    MAPPING/ALIGNING SUMMARY,,Mapped reads R1,71304146,99.94
    MAPPING/ALIGNING SUMMARY,,Mapped reads R2,71229628,99.84
    MAPPING/ALIGNING SUMMARY,,Number of unique & mapped reads (excl. duplicate marked reads),142533774,99.89
    MAPPING/ALIGNING SUMMARY,,Unmapped reads,154948,0.11
    MAPPING/ALIGNING SUMMARY,,Unmapped reads adjusted for filtered mapping,154948,0.11
    MAPPING/ALIGNING SUMMARY,,Adjustment of reads matching non-reference decoys,0,0.00
    MAPPING/ALIGNING SUMMARY,,Singleton reads (itself mapped; mate unmapped),110302,0.08
    MAPPING/ALIGNING SUMMARY,,Paired reads (itself & mate mapped),142423472,99.81
    MAPPING/ALIGNING SUMMARY,,Properly paired reads,141084044,98.88
    MAPPING/ALIGNING SUMMARY,,Not properly paired reads (discordant),1339428,0.94
    MAPPING/ALIGNING SUMMARY,,Paired reads mapped to different chromosomes,142423472,100.00
    MAPPING/ALIGNING SUMMARY,,Paired reads mapped to different chromosomes (MAPQ>=10),133005934,93.39
    MAPPING/ALIGNING SUMMARY,,Reads with MAPQ [40:inf),124162867,87.02
    MAPPING/ALIGNING SUMMARY,,Reads with MAPQ [30:40),2394718,1.68
    MAPPING/ALIGNING SUMMARY,,Reads with MAPQ [20:30),3708424,2.60
    MAPPING/ALIGNING SUMMARY,,Reads with MAPQ [10:20),2812611,1.97
    MAPPING/ALIGNING SUMMARY,,Reads with MAPQ [ 0:10),9455154,6.63
    MAPPING/ALIGNING SUMMARY,,Reads with MAPQ NA (Unmapped reads),154948,0.11
    MAPPING/ALIGNING SUMMARY,,Reads with indel R1,857524,1.20
    MAPPING/ALIGNING SUMMARY,,Reads with indel R2,871870,1.22
    MAPPING/ALIGNING SUMMARY,,Total bases,21545997022
    MAPPING/ALIGNING SUMMARY,,Total bases R1,10772998511
    MAPPING/ALIGNING SUMMARY,,Total bases R2,10772998511
    MAPPING/ALIGNING SUMMARY,,Mapped bases R1,10766926046
    MAPPING/ALIGNING SUMMARY,,Mapped bases R2,10755673828
    MAPPING/ALIGNING SUMMARY,,Soft-clipped bases R1,773694088,7.19
    MAPPING/ALIGNING SUMMARY,,Soft-clipped bases R2,802316036,7.46
    MAPPING/ALIGNING SUMMARY,,Mismatched bases R1,26865434,0.25
    MAPPING/ALIGNING SUMMARY,,Mismatched bases R2,35386201,0.33
    MAPPING/ALIGNING SUMMARY,,Mismatched bases R1 (excl. indels),24746504,0.23
    MAPPING/ALIGNING SUMMARY,,Mismatched bases R2 (excl. indels),33232164,0.31
    MAPPING/ALIGNING SUMMARY,,Q30 bases,19997458379,92.81
    MAPPING/ALIGNING SUMMARY,,Q30 bases R1,10094153115,93.70
    MAPPING/ALIGNING SUMMARY,,Q30 bases R2,9903305264,91.93
    MAPPING/ALIGNING SUMMARY,,Total alignments,144115736
    MAPPING/ALIGNING SUMMARY,,Secondary alignments,0
    MAPPING/ALIGNING SUMMARY,,Supplementary (chimeric) alignments,1581962
    MAPPING/ALIGNING SUMMARY,,Estimated read length,151.00
    

    original 1.3.0

    MAPPING/ALIGNING SUMMARY,,DRAGEN mapping rate [thousand reads/second],330.71
            User time (seconds): 32616.91
            System time (seconds): 132.32
            Percent of CPU this job got: 7580%
            Elapsed (wall clock) time (h:mm:ss or m:ss): 7:12.02
            Average shared text size (kbytes): 0
            Average unshared data size (kbytes): 0
            Average stack size (kbytes): 0
            Average total size (kbytes): 0
            Maximum resident set size (kbytes): 55974088
            Average resident set size (kbytes): 0
            Major (requiring I/O) page faults: 364
            Minor (reclaiming a frame) page faults: 58609499
            Voluntary context switches: 792066
            Involuntary context switches: 87493
            Swaps: 0
            File system inputs: 72
            File system outputs: 32
            Socket messages sent: 0
            Socket messages received: 0
            Signals delivered: 0
            Page size (bytes): 4096
            Exit status: 0
    
    

    changed gcc opt options (sse2 only)

    CPPFLAGS += -march=x86-64 -O3 -ftree-vectorize -fvect-cost-model=cheap 
    
    MAPPING/ALIGNING SUMMARY,,DRAGEN mapping rate [thousand reads/second],305.52
            User time (seconds): 37615.52
            System time (seconds): 126.13
            Percent of CPU this job got: 8078%
            Elapsed (wall clock) time (h:mm:ss or m:ss): 7:47.21
            Average shared text size (kbytes): 0
            Average unshared data size (kbytes): 0
            Average stack size (kbytes): 0
            Average total size (kbytes): 0
            Maximum resident set size (kbytes): 55965548
            Average resident set size (kbytes): 0
            Major (requiring I/O) page faults: 272
            Minor (reclaiming a frame) page faults: 57129594
            Voluntary context switches: 752958
            Involuntary context switches: 129579
            Swaps: 0
            File system inputs: 1064
            File system outputs: 32
            Socket messages sent: 0
            Socket messages received: 0
            Signals delivered: 0
            Page size (bytes): 4096
            Exit status: 0
    
    

    icc skylake-avx512

    CPPFLAGS += -xSKYLAKE-AVX512 -O3 
    
    MAPPING/ALIGNING SUMMARY,,DRAGEN mapping rate [thousand reads/second],356.07
            User time (seconds): 20044.17
            System time (seconds): 99.55
            Percent of CPU this job got: 5020%
            Elapsed (wall clock) time (h:mm:ss or m:ss): 6:41.21
            Average shared text size (kbytes): 0
            Average unshared data size (kbytes): 0
            Average stack size (kbytes): 0
            Average total size (kbytes): 0
            Maximum resident set size (kbytes): 55977116
            Average resident set size (kbytes): 0
            Major (requiring I/O) page faults: 462
            Minor (reclaiming a frame) page faults: 61073017
            Voluntary context switches: 1047728
            Involuntary context switches: 41240
            Swaps: 0
            File system inputs: 0
            File system outputs: 32
            Socket messages sent: 0
            Socket messages received: 0
            Signals delivered: 0
            Page size (bytes): 4096
            Exit status: 0
    
    

    icc icelake-server

    CPPFLAGS += -xICELAKE-SERVER -O3 
    
    MAPPING/ALIGNING SUMMARY,,DRAGEN mapping rate [thousand reads/second],353.45
            User time (seconds): 20134.72
            System time (seconds): 102.66
            Percent of CPU this job got: 5009%
            Elapsed (wall clock) time (h:mm:ss or m:ss): 6:43.96
            Average shared text size (kbytes): 0
            Average unshared data size (kbytes): 0
            Average stack size (kbytes): 0
            Average total size (kbytes): 0
            Maximum resident set size (kbytes): 55977712
            Average resident set size (kbytes): 0
            Major (requiring I/O) page faults: 202
            Minor (reclaiming a frame) page faults: 60891037
            Voluntary context switches: 1044493
            Involuntary context switches: 40804
            Swaps: 0
            File system inputs: 0
            File system outputs: 32
            Socket messages sent: 0
            Socket messages received: 0
            Signals delivered: 0
            Page size (bytes): 4096
            Exit status: 0
    
    
    opened by fo40225 0
  • 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
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 137 Jan 3, 2023
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 170 Dec 29, 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 152 Dec 23, 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 98 Dec 9, 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 111 Jan 8, 2023
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 Jan 1, 2023
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 29 Dec 5, 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 104 Dec 28, 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 19 Nov 26, 2022
A ROS based Open Source Simulation Environment for Robotics Beginners

A ROS based Open Source Simulation Environment for Robotics Beginners

Sulegeyixiu 131 Jan 5, 2023
"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 1.1k Dec 31, 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 Dec 30, 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 102 Dec 5, 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 Jan 3, 2023
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 Dec 12, 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