mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-01-01 02:23:54 +00:00
4f0dadbf38
After final improvements to the official formatter implementation, this commit now performs the first treewide reformat of Nix files using it. This is part of the implementation of RFC 166. Only "inactive" files are reformatted, meaning only files that aren't being touched by any PR with activity in the past 2 months. This is to avoid conflicts for PRs that might soon be merged. Later we can do a full treewide reformat to get the rest, which should not cause as many conflicts. A CI check has already been running for some time to ensure that new and already-formatted files are formatted, so the files being reformatted here should also stay formatted. This commit was automatically created and can be verified using nix-builda08b3a4d19
.tar.gz \ --argstr baseRevb32a094368
result/bin/apply-formatting $NIXPKGS_PATH
97 lines
2.8 KiB
Nix
97 lines
2.8 KiB
Nix
{
|
|
lib,
|
|
stdenv,
|
|
fetchzip,
|
|
jre,
|
|
perl,
|
|
makeWrapper,
|
|
imagemagick,
|
|
makeDesktopItem,
|
|
copyDesktopItems,
|
|
desktopToDarwinBundle,
|
|
testers,
|
|
}:
|
|
|
|
stdenv.mkDerivation (finalAttrs: {
|
|
pname = "fastqc";
|
|
version = "0.12.1";
|
|
|
|
src = fetchzip {
|
|
url = "https://www.bioinformatics.babraham.ac.uk/projects/fastqc/fastqc_v${finalAttrs.version}.zip";
|
|
hash = "sha256-TenRG2x8ivJ2HM2ZpLaJShp0yI0Qc6K5lW5/NJFAa1I";
|
|
};
|
|
|
|
dontBuild = true;
|
|
|
|
nativeBuildInputs =
|
|
[
|
|
makeWrapper
|
|
imagemagick
|
|
]
|
|
++ lib.optional stdenv.hostPlatform.isLinux copyDesktopItems # postInstallHook
|
|
++ lib.optional stdenv.hostPlatform.isDarwin desktopToDarwinBundle; # fixupOutputHook
|
|
buildInputs = [
|
|
jre
|
|
perl
|
|
];
|
|
|
|
desktopItem = (
|
|
makeDesktopItem {
|
|
name = "FastQC";
|
|
exec = "fastqc";
|
|
icon = "fastqc";
|
|
desktopName = "FastQC";
|
|
comment = finalAttrs.meta.description;
|
|
categories = [ "Science" ];
|
|
}
|
|
);
|
|
desktopItems = [ finalAttrs.desktopItem ];
|
|
|
|
installPhase = ''
|
|
runHook preInstall
|
|
|
|
mkdir -p $out/{bin,FastQC}
|
|
cp -r $src/* $out/FastQC
|
|
|
|
# Create desktop item
|
|
mkdir -p $out/share/{applications,icons}
|
|
# Freedesktop doesn't support windows ICO files. Use imagemagick to convert it to PNG
|
|
convert $out/FastQC/fastqc_icon.ico $out/share/icons/fastqc.png
|
|
|
|
runHook postInstall
|
|
'';
|
|
|
|
preFixup = ''
|
|
makeWrapper $out/FastQC/fastqc $out/bin/fastqc --prefix PATH : ${jre}/bin
|
|
'';
|
|
|
|
passthru.tests.version = testers.testVersion {
|
|
package = finalAttrs.finalPackage;
|
|
version = "v${finalAttrs.version}";
|
|
};
|
|
|
|
meta = {
|
|
description = "A quality control application for high throughput sequence data";
|
|
longDescription = ''
|
|
FastQC aims to provide a simple way to do some quality control checks on raw sequence data coming from high throughput sequencing pipelines. It provides a modular set of analyses which you can use to give a quick impression of whether your data has any problems of which you should be aware before doing any further analysis.
|
|
|
|
The main functions of FastQC are
|
|
|
|
- Import of data from BAM, SAM or FastQ files (any variant)
|
|
- Providing a quick overview to tell you in which areas there may be problems
|
|
- Summary graphs and tables to quickly assess your data
|
|
- Export of results to an HTML based permanent report
|
|
- Offline operation to allow automated generation of reports without running the interactive application
|
|
'';
|
|
homepage = "https://www.bioinformatics.babraham.ac.uk/projects/fastqc/";
|
|
sourceProvenance = [ lib.sourceTypes.binaryNativeCode ];
|
|
license = with lib.licenses; [
|
|
gpl3Plus
|
|
asl20
|
|
];
|
|
maintainers = [ lib.maintainers.dflores ];
|
|
mainProgram = "fastqc";
|
|
platforms = lib.platforms.unix;
|
|
};
|
|
})
|