Skip to content

Commit

Permalink
dragmap: init at 1.3.0
Browse files Browse the repository at this point in the history
Genomic mapper. Open-source version of DRAGEN.
Tests are run during execution with google-tests.
  • Loading branch information
apraga committed Aug 31, 2024
1 parent 6414ef7 commit e017939
Show file tree
Hide file tree
Showing 3 changed files with 139 additions and 0 deletions.
60 changes: 60 additions & 0 deletions pkgs/by-name/dr/dragmap/cstdint.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
diff --git a/src/include/map/SeedPosition.hpp b/src/include/map/SeedPosition.hpp
index 30a7d47..c05af16 100644
--- a/src/include/map/SeedPosition.hpp
+++ b/src/include/map/SeedPosition.hpp
@@ -16,6 +16,7 @@
#define MAP_SEED_POSITION_HPP

#include <ostream>
+#include <cstdint>

#include "sequences/Seed.hpp"

diff --git a/src/include/sequences/Read.hpp b/src/include/sequences/Read.hpp
index 460c1cb..c7ff619 100644
--- a/src/include/sequences/Read.hpp
+++ b/src/include/sequences/Read.hpp
@@ -16,6 +16,7 @@
#define SEQUENCES_READ_HPP

#include <iostream>
+#include <cstdint>
#include <string>
#include <vector>

diff --git a/src/include/sequences/Seed.hpp b/src/include/sequences/Seed.hpp
index a242153..dd4d23b 100644
--- a/src/include/sequences/Seed.hpp
+++ b/src/include/sequences/Seed.hpp
@@ -16,6 +16,7 @@
#define SEQUENCES_SEED_HPP

#include <ostream>
+#include <cstdint>
#include <vector>

#include "sequences/Read.hpp"
diff --git a/src/lib/sequences/tests/unit/CrcHasherMocks.hpp b/src/lib/sequences/tests/unit/CrcHasherMocks.hpp
index 1866be7..5d9b7d7 100644
--- a/src/lib/sequences/tests/unit/CrcHasherMocks.hpp
+++ b/src/lib/sequences/tests/unit/CrcHasherMocks.hpp
@@ -2,6 +2,7 @@

#include <array>
#include <cassert>
+#include <cstdint>
#include <cstdlib>
#include <string>

diff --git a/stubs/dragen/src/host/dragen_api/read_group_list.hpp b/stubs/dragen/src/host/dragen_api/read_group_list.hpp
index eefb9ae..623a77f 100644
--- a/stubs/dragen/src/host/dragen_api/read_group_list.hpp
+++ b/stubs/dragen/src/host/dragen_api/read_group_list.hpp
@@ -14,6 +14,7 @@
#define __READ_GROUP_LIST_HPP__

#include "dragen_exception.hpp"
+#include <cstdint>
class ReadGroupList {
public:
const std::string &getReadGroupName(const uint16_t idx) const {
67 changes: 67 additions & 0 deletions pkgs/by-name/dr/dragmap/package.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
{
lib,
stdenv,
fetchFromGitHub,
boost,
cmake,
gtest,
zlib,
}:

stdenv.mkDerivation (finalAttrs: {
pname = "dragmap";
version = "1.3.0";

src = fetchFromGitHub {
owner = "Illumina";
repo = "DRAGMAP";
rev = finalAttrs.version;
fetchSubmodules = true;
hash = "sha256-f1jsOErriS1I/iUS4CzJ3+Dz8SMUve/ccb3KaE+L7U8=";
};

nativebuildInputs = [ boost ];
buildInputs = [
gtest
zlib
];

patches = [
# pclose is called on a NULL value. This is no longer allowed since
# https://github.com/bminor/glibc/commit/64b1a44183a3094672ed304532bedb9acc707554
./stdio-pclose.patch

# Add missing include cstdint. Upstream does not accept PR. Issue opened at
# https://github.com/Illumina/DRAGMAP/issues/63
./cstdint.patch
];

GTEST_INCLUDEDIR = "${gtest.dev}/include";
CPPFLAGS = "-I ${boost.dev}/include";
LDFLAGS = "-L ${boost.out}/lib";

installPhase = ''
runHook preInstall
mkdir -p $out/bin
cp build/release/dragen-os $out/bin/
runHook postInstall
'';

# Tests are launched by default from makefile
doCheck = false;

meta = with lib; {
description = "Open Source version of Dragen mapper for genomics";
mainProgram = "dragen-os";
longDescription = ''
DRAGMAP is an open-source software implementation of the DRAGEN mapper,
which the Illumina team created to procude the same results as their
proprietary DRAGEN hardware.
'';
license = licenses.gpl3;
platforms = platforms.unix;
maintainers = with maintainers; [ apraga ];
};
})
12 changes: 12 additions & 0 deletions pkgs/by-name/dr/dragmap/stdio-pclose.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
diff --git a/stubs/dragen/src/host/infra/linux/infra_linux_utils.cpp b/stubs/dragen/src/host/infra/linux/infra_linux_utils.cpp
index cd02cd4..c26e9cf 100644
--- a/stubs/dragen/src/host/infra/linux/infra_linux_utils.cpp
+++ b/stubs/dragen/src/host/infra/linux/infra_linux_utils.cpp
@@ -57,7 +57,6 @@ int GetDmiValue(const std::string& label, std::string& value)
FILE* dmiOutput = popen("sudo /usr/sbin/dmidecode -t 2", "r");
if (dmiOutput == NULL) {
perror("dmidecode popen");
- pclose(dmiOutput);
return -1;
}

0 comments on commit e017939

Please sign in to comment.