Bioconductor / workshop-contributions

Repository for managing contributions to workshop.bioconductor.org
5 stars 0 forks source link

[Bioc 2023] Cytoverse #41

Closed almahmoud closed 10 months ago

almahmoud commented 11 months ago

DO NOT INCLUDE REQUESTS IN THE FIRST COMMENT. PLEASE POST THIS TEMPLATE UNCHANGED THEN FOLLOW ITS INSTRUCTIONS IN A NEW COMMENT

General Notes

This repository serves as a mostly automated pipeline for deploying workshops to the Bioconductor Workshop.

Bot Commands

Issues in this repository are listen to by a bot. All commands need to be written on the first line of the comment, in a single line, starting with the /command and containing all parameter="value in here" pairs.

Public request

Unless you are a member of the Bioconductor Core team or an administrator of this repository, you can only perform /request commands in this space. Some parameters are universal to all requests and mandatory, namely the Title, Description, Source URL, and Section on the workshop instance. You may request your workshop be added to an existing section, or request a new Section name. Below is an example of an incomplete request with all mandatory parameters:

/request id="myworkshopuniqueid" title="Bold Text" description="unbolded text next to the title" section="Conference 1996" source="https://github.com/super/repository" 

This request will then need to be completed with an additional 1-2 parameters depending on your source for the workshop.

We currently support 3 types of submissions:

1) docker= parameter for pre-built RStudio containers (such as Orchestra workshops built based on BuildABiocWorkshop) Below is an example of a full /request command for a workshop with a pre-built docker container:

/request id="tidybioc2022" title="Tidy Transcriptomics" description="For Single-Cell RNA Sequencing Analyses" section="Smorgasbord 2023" source="https://github.com/tidytranscriptomics-workshops/bioc2022_tidytranscriptomics" docker="ghcr.io/tidytranscriptomics-workshops/bioc2022_tidytranscriptomics:latest"

2) vignettes= parameter for Rmd/qmd workshops.

Note that when any Rmd or qmd files are pulled as part of a request including vignettes, the script will only deploy successfully if the vignettes can successfully render. In the process, all dependencies will be automatically scraped and installed in the resulting container image, making it optional to explicitly mention dependencies.

2) a) In-source vignettes, especially useful for example if your Rmd references other files (eg: images), in which case you should include them in your source repository. Parameter represents a comma-separated list of relative paths (with wildcards accepted) from your source repository. Eg: vignettes="vignettes/*,images/*" will copy all files from your source repository under those two subdirectories.

Below is an example of a full request with in-source vignettes:

/request id="annotation316" title="Genomic Annotation Resources" description="with Bioconductor annotation package" section="Smorgasbord 2023" source="https://github.com/Bioconductor/annotation" vignettes="vignettes/*"

2) b) markdown file urls, in the form of a comma-separated list of URLs. eg: vignettes="https://raw.githubusercontent.com/Bioconductor/annotation/devel/vignettes/Annotation_Resources.Rmd,https://raw.githubusercontent.com/Bioconductor/annotation/devel/vignettes/Annotating_Genomic_Ranges.Rmd". This can especially be useful for people unfamiliar with github, who could write a self-contained Rmd file in RStudio, paste it at https://gist.github.com where single files can be hosted with no directory structure or git operations.

Below is an example of a full request for a url vignette:

/request id="genranges316" title="Annotating Genomic Ranges" description="with Bioconductor annotation package" section="Smorgasbord 2023" source="https://raw.githubusercontent.com/Bioconductor/annotation/devel/vignettes/Annotating_Genomic_Ranges.Rmd" vignettes="https://raw.githubusercontent.com/Bioconductor/annotation/devel/vignettes/Annotating_Genomic_Ranges.Rmd,https://raw.githubusercontent.com/Bioconductor/annotation/devel/vignettes/Annotating_Genomic_Ranges.Rmd"

3) pkglist= which can be used with or without the vignettes= option, in order to add a list of Bioconductor and/or CRAN packages to the resulting auto-built container image for this request. It should be passed as a comma-separated list of package names. eg: pkglist="VariantAnnotation,AnnotationHub,TxDb.Hsapiens.UCSC.hg19.knownGene"

Below is an example of a request to add a package demo

/request id="bsgenome316" title="BSgenome package demo" description="in the latest Bioconductor" section="Package Demos" source="https://github.com/Bioconductor/BSgenome" pkglist="BSgenome"

Every request must contain at least 1 of the 3 listed parameters, in addition to the mandatory parameters listed above.

You may add any comments, information or special requests after the second line, but the first line must contain only the /command and its parameters.

Admin request

Bioconductor Core Team and repository admins will be able to deploy vetted requests to one of two servers. These requests take the same parameters as the /request command, but go through with building and deploying the changes. When the request does not include a docker= parameter, the image building might delay a response by a couple of hours for package-intensive workshops.

The /test command will deploy the instance to our test server, where the requester can verify the aesthetics as well as functionality of the workshop and request any changes.

The /publish command will deploy the final approved workshop to the production instance.

The best way for an admin to populate these requests is copy-paste the last passing full /request command and all parameters from the requester, and replace the /request command with the appropriate deployment directive.

almahmoud commented 11 months ago

/test id="bioc2023cytoverse" title="Using parallel computing in R" description="with the cytoverse" section="BioC 2023" startfile="vignettes/Import_fcs.Rmd" source="https://github.com/OzetteTech/cytoverse-bioc-2023" docker="ghcr.io/ozettetech/cytoverse-bioc-2023:latest"

almahmoud commented 11 months ago

AUTO-GENERATED RESPONSE Action Log Your request has passed initial checks and is being built and/or deployed to the test instance. Please wait further updates.

almahmoud commented 11 months ago

AUTO-GENERATED RESPONSE Action Log Your workshop has been successfully deployed to the test instance. :sparkles: Please test your workshop on the development instance and notify us via comment when you deem it ready for public consumption on the production instance.

amcdavid commented 11 months ago

Hi @almahmoud -- I poked around on the test instance, and when I launched it, although the dependencies of CytoverseBioc2023 appear to be installed, the package itself doesn't seem to have been installed, and none of the vignettes are visible under /home/rstudio/ The docker image at ghcr.io/ozettetech/cytoverse-bioc-2023:latest launches fine on my machine, and has CytoverseBioc2023 installed.

Do we need to modify the deploy somehow? I noticed that the title was set to "Using parallel computing in R".

almahmoud commented 11 months ago

Thank you for testing. The image you launched to test is indeed that docker image (see image below), so not sure how it could be possible for it to be different. The pull policy is set to Always, so each new launch should pull the latest image if you update your repository and the action successfully rebuilds.

image

Thank you for catching the name. That was a mistake when copying. I will fix that. Let me know if you want it changed after the default is changed

almahmoud commented 11 months ago

/test id="bioc2023cytoverse" title="Analysis of flow cytometry experiments" description="with the cytoverse" section="BioC 2023" startfile="vignettes/Import_fcs.Rmd" source="https://github.com/OzetteTech/cytoverse-bioc-2023" docker="ghcr.io/ozettetech/cytoverse-bioc-2023:latest"

almahmoud commented 11 months ago

AUTO-GENERATED RESPONSE Action Log Your request has passed initial checks and is being built and/or deployed to the test instance. Please wait further updates.

almahmoud commented 11 months ago

AUTO-GENERATED RESPONSE Action Log Your workshop has been successfully deployed to the test instance. :sparkles: Please test your workshop on the development instance and notify us via comment when you deem it ready for public consumption on the production instance.

amcdavid commented 11 months ago

Thanks -- I tried relaunching and it seems like it just hangs. It's never moved from the "stopped" state since I first tried to launch it.

Edit: stopped and tried launching it again, and now it runs and shows the files under vignettes, as expected. :tada:

almahmoud commented 11 months ago

/test id="bioc2023cytoverse" title="Reproducible and programmatic analysis of flow cytometry experiments " description="with the cytoverse" section="BioC 2023" startfile="vignettes/Import_fcs.Rmd" source="https://github.com/OzetteTech/cytoverse-bioc-2023" docker="ghcr.io/ozettetech/cytoverse-bioc-2023:latest"

almahmoud commented 11 months ago

AUTO-GENERATED RESPONSE Action Log Your request has passed initial checks and is being built and/or deployed to the test instance. Please wait further updates.

almahmoud commented 11 months ago

AUTO-GENERATED RESPONSE Action Log Your workshop has been successfully deployed to the test instance. :sparkles: Please test your workshop on the development instance and notify us via comment when you deem it ready for public consumption on the production instance.