trimmomatic: init at 0.39

Co-authored-by: Anderson Torres <torres.anderson.85@protonmail.com>
This commit is contained in:
László Kupcsik 2023-09-08 23:12:55 +02:00 committed by Anderson Torres
parent 0820c58d09
commit c678bba28c
2 changed files with 74 additions and 0 deletions

View file

@ -0,0 +1,66 @@
{ lib
, stdenv
, ant
, fetchFromGitHub
, jdk11_headless
, jre
, makeWrapper
}:
stdenv.mkDerivation rec {
pname = "trimmomatic";
version = "0.39";
src = fetchFromGitHub {
owner = "usadellab";
repo = "Trimmomatic";
rev = "v${version}";
hash = "sha256-u+ubmacwPy/vsEi0YQCv0fTnVDesQvqeQDEwCbS8M6I=";
};
# Set source and target version to 11
postPatch = ''
substituteInPlace ./build.xml \
--replace 'source="1.5" target="1.5"' 'release="11"'
'';
nativeBuildInputs = [ jdk11_headless ant makeWrapper ];
buildPhase = ''
runHook preBuild
ant
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir -p $out/bin $out/share
cp dist/jar/trimmomatic-${version}.jar $out/share/
cp -r adapters $out/share/
makeWrapper ${jre}/bin/java $out/bin/trimmomatic \
--add-flags "-cp $out/share/trimmomatic-${version}.jar org.usadellab.trimmomatic.Trimmomatic"
runHook postInstall
'';
meta = {
description = "A flexible read trimming tool for Illumina NGS data";
longDescription = ''
Trimmomatic performs a variety of useful trimming tasks for illumina
paired-end and single ended data: adapter trimming, quality trimming,
cropping to a specified length, length filtering, quality score
conversion.
'';
homepage = "http://www.usadellab.org/cms/?page=trimmomatic";
downloadPage = "https://github.com/usadellab/Trimmomatic/releases";
license = lib.licenses.gpl3Only;
sourceProvenance = [
lib.sourceTypes.fromSource
lib.sourceTypes.binaryBytecode # source bundles dependencies as jars
];
maintainers = [ lib.maintainers.kupac ];
};
}

View file

@ -39342,6 +39342,14 @@ with pkgs;
trimal = callPackage ../applications/science/biology/trimal { };
trimmomatic = callPackage ../applications/science/biology/trimmomatic {
# Reduce closure size
jre = pkgs.jre_minimal.override {
modules = [ "java.base" "java.logging" ];
jdk = pkgs.jdk11_headless;
};
};
truvari = callPackage ../applications/science/biology/truvari { };
varscan = callPackage ../applications/science/biology/varscan { };