Skip to content

add many more tests and R ports - #1393

Open
danielnachun wants to merge 22 commits into
mainfrom
cleanup3
Open

add many more tests and R ports#1393
danielnachun wants to merge 22 commits into
mainfrom
cleanup3

Conversation

@danielnachun

@danielnachun danielnachun commented Jul 27, 2026

Copy link
Copy Markdown
Collaborator

This PR should cover almost all testable notebooks save for twoone:

  • STAR because the executable is broken on macOS (I'm still working on this)
  • gregor because the database seems to be missing from the MWE

@jaempawi

Copy link
Copy Markdown
Contributor

Tested this branch (015e513) end-to-end on the BU SCC (RHEL 8, glibc 2.28), 8 cores via the batch scheduler.

Results: test_scripts 60/60 green; test_notebooks 134/139.

Three findings, all environment-level rather than test bugs:

  1. pixi.toml needs a newer pixi than the error suggests. The new inline form platforms = [{ platform = "linux-64", glibc = "2.17" }, "osx-arm64"] fails to parse in pixi 0.57.0 with a bare "expected a string, found table" pointing at line 5, which is a confusing failure mode. 0.75.0 parses it fine. Worth documenting a minimum pixi version in the README, since CI always gets the latest via setup-pixi and won't catch this.

  2. Three tools can't run on glibc 2.28. This affects real analyses, not just tests. test_rnaseqc_call, test_grm_loco_workflow and test_rsem_index all fail at dynamic-link time before executing any pipeline logic. objdump shows rnaseqc, gcta and rsem-extract-reference-transcripts each require GLIBC_2.38.

Note the manifest declares glibc = "2.17", so these builds are being selected despite advertising a floor they don't honor (likely upstream packaging metadata). Either way, the protocol currently can't run RNA-SeQC, GCTA or RSEM on RHEL 8 clusters from this environment.

  1. The preprocessCore threading workaround is needed outside CI too. test_sesame and test_minfi fail in quantile normalization with ERROR; return code from pthread_create() is 22. Minimal reproducer: Rscript -e 'library(preprocessCore); normalize.quantiles(matrix(rnorm(100), 10))'. Rebuilding with configure.args = "--disable-threading" makes both pass immediately (verified: 2 passed). Since ci.yml flags that rebuild as CI-only and unsafe for production, it'd be worth either pinning a build that works or documenting the constraint. Right now methylation calling is broken on this platform out of the box.

@danielnachun

Copy link
Copy Markdown
Collaborator Author

@jaempawi I identified the cause for the package issues you identified here and they should all be fixed now. I was wondering if the preprocessCore issue would show up in a real environment and since it did, I went ahead and repackaged it on my channel. It should work now because I remove the workaround in the CI commands and it passed here.

I will update the README to reflect that a newer pixi is needed. Thankfully pixi can be updated with pixi self-update, which I will add to the README.

Please go ahead and retest everything now and let's see if it all works this time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants