Skip to content

Commit 83defba

Browse files
authored
multiqc: init at 1.26 (NixOS#372510)
2 parents 1de313a + 8fb567c commit 83defba

File tree

3 files changed

+168
-0
lines changed

3 files changed

+168
-0
lines changed
Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,117 @@
1+
{
2+
lib,
3+
python3Packages,
4+
fetchFromGitHub,
5+
procps,
6+
stdenv,
7+
versionCheckHook,
8+
}:
9+
10+
python3Packages.buildPythonApplication rec {
11+
pname = "multiqc";
12+
version = "1.26";
13+
14+
# Two data sources. One for the code, another for the test data
15+
srcs = [
16+
(fetchFromGitHub {
17+
name = "multiqc";
18+
owner = "MultiQC";
19+
repo = "MultiQC";
20+
tag = "v${version}";
21+
hash = "sha256-MPAw6gG/3LzdskkDXOTDEM1NpG0sH9GvklYFQ1ZXWIs=";
22+
})
23+
(fetchFromGitHub {
24+
owner = "MultiQC";
25+
repo = "test-data";
26+
rev = "67435083a8bfa228dca3dda7d835facef15fc2c7";
27+
hash = "sha256-oYmPIJSy6dOKPcMr3B4foGoWcerA29x0XeGoU4dSYsA=";
28+
name = "test-data";
29+
})
30+
];
31+
32+
sourceRoot = "multiqc";
33+
34+
dependencies = with python3Packages; [
35+
click
36+
humanize
37+
importlib-metadata
38+
jinja2
39+
kaleido
40+
markdown
41+
natsort
42+
numpy
43+
packaging
44+
requests
45+
pillow
46+
plotly
47+
pyyaml
48+
rich
49+
rich-click
50+
coloredlogs
51+
spectra
52+
pydantic
53+
typeguard
54+
tqdm
55+
];
56+
57+
optional-dependencies = {
58+
dev = with python3Packages; [
59+
pre-commit-hooks
60+
pdoc3
61+
pytest
62+
pytest-cov-stub
63+
pytest-xdist
64+
syrupy
65+
pygithub
66+
mypy
67+
types-pyyaml
68+
types-tqdm
69+
types-requests
70+
types-markdown
71+
types-beautifulsoup4
72+
types-pillow
73+
];
74+
};
75+
76+
# Some tests run subprocess.run() with "multiqc"
77+
preCheck = ''
78+
chmod -R u+w ../test-data
79+
ln -s ../test-data .
80+
export PATH=$out/bin:$PATH
81+
'';
82+
83+
# Some tests run subprocess.run() with "ps"
84+
nativeCheckInputs = with python3Packages; [
85+
procps
86+
pytest-cov
87+
pytest-xdist
88+
pytestCheckHook
89+
syrupy
90+
pygithub
91+
versionCheckHook
92+
];
93+
94+
versionCheckProgramArg = [ "--version" ];
95+
96+
disabledTests =
97+
# On darwin, kaleido fails to starts
98+
lib.optionals (stdenv.hostPlatform.isDarwin) [
99+
"test_flat_plot"
100+
];
101+
102+
meta = {
103+
description = "Aggregates bioinformatics results from multiple samples into a unified report";
104+
longDescription = ''
105+
MultiQC is a tool to create a single report with interactive plots for multiple bioinformatics analyses across many samples.
106+
107+
Reports are generated by scanning given directories for recognised log files. These are parsed and a single HTML report is generated summarising the statistics for all logs found. MultiQC reports can describe multiple analysis steps and large numbers of samples within a single plot, and multiple analysis tools making it ideal for routine fast quality control.
108+
'';
109+
homepage = "https://multiqc.info";
110+
changelog = "https://github.com/MultiQC/MultiQC/releases/tag/v${version}/";
111+
license = [ lib.licenses.gpl3Plus ];
112+
maintainers = [ lib.maintainers.apraga ];
113+
mainProgram = "multiqc";
114+
platforms = lib.platforms.unix;
115+
};
116+
117+
}
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
{
2+
buildPythonPackage,
3+
colormath,
4+
fetchFromGitHub,
5+
fetchpatch2,
6+
lib,
7+
pytestCheckHook,
8+
setuptools,
9+
}:
10+
11+
buildPythonPackage rec {
12+
pname = "spectra";
13+
version = "0.0.11";
14+
pyproject = true;
15+
16+
src = fetchFromGitHub {
17+
owner = "jsvine";
18+
repo = "spectra";
19+
tag = "v${version}";
20+
hash = "sha256-4A2TWTxYqckJ3DX5cd2KN3KXcmO/lQdXmOEnGi76RsA=";
21+
};
22+
23+
patches = [
24+
# https://github.com/jsvine/spectra/pull/21
25+
(fetchpatch2 {
26+
name = "nose-to-pytest.patch";
27+
url = "https://github.com/jsvine/spectra/commit/50037aba16dac4bf0fb7ffbd787d0e6b906e8a4b.patch";
28+
hash = "sha256-cMoIbjRwcZjvhiIOcJR7NmIAOaqpr/e5eh9+sPGKqos=";
29+
excludes = [ ".github/*" ];
30+
})
31+
];
32+
33+
build-system = [
34+
setuptools
35+
];
36+
37+
propagatedBuildInputs = [ colormath ];
38+
39+
nativeCheckInputs = [
40+
pytestCheckHook
41+
];
42+
43+
meta = {
44+
description = "Python library that makes color math, color scales, and color-space conversion easy";
45+
homepage = "https://github.com/jsvine/spectra";
46+
license = lib.licenses.mit;
47+
maintainers = with lib.maintainers; [ apraga ];
48+
};
49+
}

pkgs/top-level/python-packages.nix

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15244,6 +15244,8 @@ self: super: with self; {
1524415244

1524515245
speaklater3 = callPackage ../development/python-modules/speaklater3 { };
1524615246

15247+
spectra = callPackage ../development/python-modules/spectra { };
15248+
1524715249
spectral-cube = callPackage ../development/python-modules/spectral-cube { };
1524815250

1524915251
speechbrain = callPackage ../development/python-modules/speechbrain { };

0 commit comments

Comments
 (0)