Skip to content

Conversation

@enryH
Copy link

@enryH enryH commented Oct 16, 2025

Update VueGen to the latest version.

@mashehu mashehu changed the title 🔧 update image and bioconda container to latest version 🔧 update image and bioconda container for VueGen to latest version Oct 16, 2025
enryH added a commit to biosustain/dsp_demo_nf_acore_vuegen that referenced this pull request Oct 16, 2025
@famosab
Copy link
Contributor

famosab commented Oct 17, 2025

Please request to join the github org in slack :) under #github-invitations, you can join slack here https://nf-co.re/join

Copy link
Contributor

@famosab famosab left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe you can add something that renders the versions.yml file to the nf-test file because it seems to me that the versions are not correctly rendered in the snap :)

I think you can find it in other modules but you will need to adjust the .nf.test file and add

path(process.out.versions[0]).yaml

- had no command line interface option to display version, see
Multiomics-Analytics-Group/vuegen#167
@enryH
Copy link
Author

enryH commented Oct 20, 2025

I saw that the main.nf did not correctly implement getting the version, so I changed it to

python -c "import vuegen; print(vuegen.__version__)"

Is the other change something different?

@famosab
Copy link
Contributor

famosab commented Oct 20, 2025

Is the other change something different?

Its helpful for a reviewer to not only see the version md5sum but how its actually printed in the end. So I would like to see that :) Its just one line added to the nf.test file.

@enryH
Copy link
Author

enryH commented Oct 20, 2025

Ok. I get it know. So when specifying in main.nf.test for a test under snapshot

...
            assertAll(
                { assert process.success },
                {
                    assert snapshot([
                        versions: path(process.out.versions[0]).yaml,
                    ]).match()
                }
            )

then the snapshot displays the file content of a yaml file in a structured way:

        "content": [
            {
                "versions": {
                    "VUEGEN": {
                        "vuegen": "0.5.1"
                    }
                }
            }
        ],

label 'process_single'
conda "${moduleDir}/environment.yml"
container "dtu_biosustain_dsp/vuegen:v0.3.2-nextflow"
container "dtu_biosustain_dsp/vuegen:v0.5.1-nextflow"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we get this container moved to the nf-core quay.io please?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do I need special permission? are there instructions for moving it?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

a core member (like me) needs to do it. could you prepare it according to step 2 here please https://nf-co.re/docs/checklists/community_governance/core_team#making-custom-docker-containers-for-modules

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ok. We have a Dockerfile and I will add it to the module here, see: Multiomics-Analytics-Group/nf-vuegen#1

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see that most core modules 'only' have a conda environment file. Would you then auto-build the docker container (I like wave, but so far i think one has to either use wave or docker, and cannot 'just' use wave for modules which do not have their own docker images)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if you have everything in a conda env file, you can just use seqera containers to build docker and singularity images: https://nf-co.re/docs/tutorials/nf-core_components/using_seqera_containers

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done.

@enryH
Copy link
Author

enryH commented Oct 24, 2025

I do not get the errors on the CI (actions). Locally it worked, but codespace nf-test fails both for singularity and conda.

@mashehu
Copy link
Contributor

mashehu commented Oct 24, 2025

looks like a problem with quarto. you should be able to test singularity in github codespaces

@enryH
Copy link
Author

enryH commented Oct 28, 2025

So I see issues on singularity with deno.

 /opt/conda/bin/quarto: line 197: /opt/conda/bin/tools/x86_64/deno: No such file or directory
    [2025-10-24 10:02:23,660] vuegen: ERROR - Error running 'Vuegen Test' html report: Command '['quarto', 'render', 'quarto_report/quarto_report.qmd']' returned non-zero exit status 127.

Quick search reveals @mahesh-panchal ran into the same issue using quarto. Will try to follow his approach:

https://github.com/mahesh-panchal/quarto-docker-singularity-problem

@enryH
Copy link
Author

enryH commented Oct 28, 2025

Ok. No I see the OsError you suspected @mashehu:

  error: Uncaught (in promise) Error: Read-only file system (os error 30): mkdir '/home/runner/.cache/quarto'
      Deno.mkdirSync(dir, { recursive: true });
           ^
      at Object.mkdirSync (ext:deno_fs/30_fs.js:192:3)
      at ensureDirSync (file:///opt/conda/bin/quarto.js:1881:10)
      at quartoDir (file:///opt/conda/bin/quarto.js:36030:3)
      at quartoCacheDir (file:///opt/conda/bin/quarto.js:36022:10)
      at file:///opt/conda/bin/quarto.js:38736:23

I will try to work on it in a GitHub workspace to track down the apptainer issue:

https://apptainer.org/docs/user/main/cli/apptainer_cache.html

@mahesh-panchal
Copy link
Member

I suggest adding these lines too:

# Set environment variables needed for Quarto rendering
export XDG_CACHE_HOME="./.xdg_cache_home"
export XDG_DATA_HOME="./.xdg_data_home"

@enryH
Copy link
Author

enryH commented Oct 29, 2025

ok. Thanks @mahesh-panchal. This fixed this error. Now I just need to see how to set the latex path correctly:

Rendering PDF
running lualatex - 1

No TeX installation was detected.

Please run 'quarto install tinytex' to install TinyTex.
If you prefer, you may install TexLive or another TeX distribution.

@mahesh-panchal
Copy link
Member

I think you would need to add it to your container/ env description, but since you're using quarto, then could you use typst (https://quarto.org/docs/output-formats/typst.html) instead of TeX to generate the pdf?

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.

4 participants