Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at devShellTools-shell 91 lines 2.2 kB view raw
1{ 2 lib, 3 stdenv, 4 boost, 5 bzip2, 6 cereal_1_3_2, 7 cmake, 8 curl, 9 fetchFromGitHub, 10 icu, 11 jemalloc, 12 libgff, 13 libiconv, 14 libstaden-read, 15 pkg-config, 16 tbb_2021, 17 xz, 18 zlib, 19}: 20 21stdenv.mkDerivation (finalAttrs: { 22 pname = "salmon"; 23 version = "1.10.3"; 24 25 pufferFishSrc = fetchFromGitHub { 26 owner = "COMBINE-lab"; 27 repo = "pufferfish"; 28 rev = "salmon-v${finalAttrs.version}"; 29 hash = "sha256-g4pfNuc620WQ7UDv8PQHVbbTVt78aGVqcHHMszmBIkA="; 30 }; 31 32 src = fetchFromGitHub { 33 owner = "COMBINE-lab"; 34 repo = "salmon"; 35 rev = "v${finalAttrs.version}"; 36 hash = "sha256-HGcDqu0XzgrU3erHavigXCoj3VKk82ixMLY10Kk9MW4="; 37 }; 38 39 patches = [ 40 # Use pufferfish source fetched by nix 41 ./fetch-pufferfish.patch 42 ]; 43 44 postPatch = "patchShebangs ."; 45 46 buildInputs = [ 47 (boost.override { 48 enableShared = false; 49 enabledStatic = true; 50 }) 51 bzip2 52 cereal_1_3_2 53 curl 54 icu 55 jemalloc 56 libgff 57 libstaden-read 58 tbb_2021 59 xz 60 zlib 61 ] 62 ++ lib.optionals stdenv.hostPlatform.isDarwin [ libiconv ]; 63 64 nativeBuildInputs = [ 65 cmake 66 pkg-config 67 ]; 68 69 strictDeps = true; 70 71 meta = { 72 description = "Tool for quantifying the expression of transcripts using RNA-seq data"; 73 mainProgram = "salmon"; 74 longDescription = '' 75 Salmon is a tool for quantifying the expression of transcripts 76 using RNA-seq data. Salmon uses new algorithms (specifically, 77 coupling the concept of quasi-mapping with a two-phase inference 78 procedure) to provide accurate expression estimates very quickly 79 and while using little memory. Salmon performs its inference using 80 an expressive and realistic model of RNA-seq data that takes into 81 account experimental attributes and biases commonly observed in 82 real RNA-seq data. 83 ''; 84 homepage = "https://combine-lab.github.io/salmon"; 85 downloadPage = "https://github.com/COMBINE-lab/salmon/releases"; 86 changelog = "https://github.com/COMBINE-lab/salmon/releases/tag/" + "v${finalAttrs.version}"; 87 license = lib.licenses.gpl3Only; 88 platforms = lib.platforms.all; 89 maintainers = [ lib.maintainers.kupac ]; 90 }; 91})