GitHub
05/14/2026, 1:39 PMcustom/clustering, custom/clustermetrics and custom/clustervisualization modules (see nf-core/modules#11372).
Files added under:
data/genomics/homo_sapiens/popgen/clustering/
Will be referenced in the modules tests as:
file(params.modules_testdata_base_path + 'genomics/homo_sapiens/popgen/clustering/test.eigenvec', checkIfExists: true)
nf-core/test-datasetsGitHub
05/14/2026, 3:46 PMdata/genomics/homo_sapiens/popgen/clustering/, but the diff also adds 1000g_phase3_plink2_pca/ and 1000g_phase3_small/ as fresh top-level subdirectories under homo_sapiens/. Please update the description to enumerate all three locations and link each to the specific module(s) the test data supports.
Path organisation
homo_sapiens/popgen/ already hosts PLINK content (plink_simulated.*, 1000GP.chr* etc.). Adding 1000g_phase3_plink2_pca/ as a sibling of popgen/ rather than nesting it inside puts PLINK test data in two parallel locations. Suggest moving it under popgen/ (e.g. popgen/1000g_phase3/ or popgen/plink2_pca/) so the sibling sub-tree style with popgen/clustering/ stays consistent.
Path reference in description
params.modules_testdata_base_path + '/data/genomics/...' would resolve to a double /data/data/. The base path already ends in data/. The modules PR should use:
file(params.modules_testdata_base_path + 'genomics/homo_sapiens/popgen/clustering/test.eigenvec', checkIfExists: true)
Documentation
• Add a paragraph + file line to the main README.md of the modules branch describing the new content. This is the consistent ask in recent merged PRs (#2031, #2044).
• Add provenance docs for the new files. The branch README requires "a short description about how this file was generated [...] either in this description or in the respective subfolder." The existing popgen/README.md documents data generation via `plink --simulate ...`; the new files need equivalent (e.g. for the VCF, where it was subsetted from + the bcftools/plink command; for the eigenvec / clusters / features, either generate them from the existing simulated PLINK data with plink --pca for reproducibility, or document that they're hand-rolled minimal examples).
Optional
The popgen/clustering/ test files are hand-rolled floats. Technically valid (PR #2049: "only technical validity matters, not biological interpretation"), but a few-row eigenvec generated by plink --pca on the existing popgen/plink_simulated.* data would be reproducible from documented commands and slot in naturally with the existing simulated PLINK content. Not blocking; just more in keeping with the directory's conventions.
nf-core/test-datasetsGitHub
05/15/2026, 3:48 PMplink_simulated-derived suggestion - that was our optional suggestion and going for it is the right instinct, but the new files have format issues that break the consuming modules. The hand-rolled files we approved in the previous round were format-correct; the regeneration introduced regressions worth fixing before this lands.
Three problems:
1. test.eigenvec is now in pandas to_csv() default format (CSV with an extra row-index column and a numeric column header), not PLINK eigenvec format. The custom/clustering module parses with pd.read_csv(sep=r"\\s+") expecting the #FID IID PC1 ... whitespace-separated header that PLINK actually emits.
2. test_clusters.csv and test_features.tsv use IID as the sample-id column. The custom/clustermetrics and custom/clustervisualization modules require sample_id (this is the simplification we made in the modules PR — they no longer defensively re-parse PLINK headers, just check for sample_id). Both modules would error with ValueError: features/clusters file must have a 'sample_id' column. Found: ['IID', ...].
3. README.md is out of date - still says "first 6 samples" and "hand-rolled minimal examples", neither of which is true any more (files are now 200-row PLINK-derived).
Inline comments on each.
nf-core/test-datasetsGitHub
05/18/2026, 1:57 PMsample_id, and the subdir README now matches the regenerated data. Approving.
One small follow-up: the main README.md entry still describes the files as "hand-rolled minimal examples", which is stale now that they're derived from popgen/plink_simulated. Inline suggestion below — feel free to take it or rephrase as you like.
nf-core/test-datasetsGitHub
05/19/2026, 9:39 AM