diff --git a/.gitignore b/.gitignore index 3ecd7f3..f1e51bf 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ .DS_Store .Rproj.user +.Rhistory \ No newline at end of file diff --git a/docs/Working_on_Wynton_Part_1.html b/docs/Working_on_Wynton_Part_1.html index 41b0031..98066a3 100644 --- a/docs/Working_on_Wynton_Part_1.html +++ b/docs/Working_on_Wynton_Part_1.html @@ -4,7 +4,7 @@ - Working on Wynton - Part 1 + Working on Wynton @@ -512,7 +512,7 @@ margin-left: 75px; margin-right: 50px } .reveal img { -max-width: 60%; +max-width: 70%; border: none !important; box-shadow: none !important; display: block !important; @@ -537,6 +537,12 @@ font-size: 80%; .big-picture img{ max-width: 95%; } +.small-picture img{ +max-width: 65%; +} +.smaller-picture img{ +max-width: 60%; +} .reveal a { color: #0c74dc; @@ -565,7 +571,8 @@ document.addEventListener('DOMContentLoaded', function(e) {
-

Working on Wynton - Part 1

+

Working on Wynton

+

Part 1

Natalie Elphick

April 15th, 2024

@@ -580,7 +587,7 @@ document.addEventListener('DOMContentLoaded', function(e) {

Introductions

Natalie Elphick
Bioinformatician I

-

Alex Pico
+

Alex Pico (TA)
Bioinformatics Core Director

@@ -605,13 +612,13 @@ Bioinformatics Core Director

What is Wynton HPC?

-
-

High-performance Computing Cluster

+
+

High-performance Computing Cluster

  • A collection of specialized computers (nodes) connected together on a fast local network
-

HPC Diagram

+

HPC Diagram

Wynton

@@ -641,8 +648,7 @@ research groups nodes. File management.
  • Development: Compile and install software. Test job scripts. Submit and query jobs. Version control. File management.
  • -
  • Compute: Running short and long-running job -scripts.
  • +
  • Compute: Running job scripts.
  • Transfer: Fast in- & outbound file transfers. File management.
  • @@ -665,10 +671,10 @@ Cluster

    Login

      -
    • Make sure you are on the UCSF or Gladstone WiFi networks (or the -respective VPN)
    • -
    • ssh -[your-username]@[node-name].wynton.ucsf.edu
    • +
    • Connect to the UCSF or Gladstone WiFi networks (or the respective +VPN) or using 2FA
      +
    • +
    • ssh [your-username]@[node].wynton.ucsf.edu
    {local}$ ssh alice@log1.wynton.ucsf.edu
     alice@log1.wynton.ucsf.edu's password: 
    @@ -685,7 +691,7 @@ software installed
     
    • e.g. git, vim, nano, make and python
    -
  • Also has access to software +
  • Also has access to software repositories some which are maintained by other users or research groups
      @@ -710,15 +716,17 @@ groups

      Names:

      dt1 and dt2

  • -
    -

    Compute Nodes

    +
    +

    Compute Nodes

    • Can not be logged in to directly
    • +
    • No internet or UCSF network access
      +
    • Used to run non-interactive compute job scripts
    • The software to run the job script is provided using a container
    -

    Compute Jobs

    +

    Compute Jobs

    @@ -804,12 +812,16 @@ LD_LIBRARY_PATH

    Storage

    • Wynton storage is not backed up
    • -
    • /wynton/[group_name]/[user] +
    • /wynton/home/[group_name]/[user]
        +
      • PHI users : +/wynton/protected/home/[group_name]/[user]
      • User home directory - limited to 500 GiB
    • -
    • /wynton/[group_name] +
    • /wynton/group/[group_name]
        +
      • PHI users : +/wynton/protected/group/[group_name]
      • User group directory - disk quota varies by group
      • Use this directory for any analysis you want to share with your lab
      • @@ -820,13 +832,15 @@ information on disk quotas

        To check your group disk quota run:

        beegfs-ctl --getquota --storagepoolid=12 --gid "$(id --group)"
    -
    -

    Scratch - Temporary Storage

    +
    +

    Scratch - Temporary Storage

    • Local /scratch - 0.1-1.8 TiB/node storage unique to each compute node
      • Can only be accessed from the specific compute node
      • +
      • Use this to store intermediate files only needed for a job
        +
    • /wynton/scratch and /wynton/protected/scratch (for PHI users) @@ -863,10 +877,13 @@ knowledge base page
      • Always back up anything you store under /wynton
      • -
      • Use /gladstone if you have access to it for all of -your work since it is automatically backed up
      • -
      • Use the scratch directories to store temporary files so they do not -count against your group or user quotas
      • +
      • Back up your data on /gladstone if you have access +to it +
          +
        • A large number of jobs reading and writing to these directories will +be slower since it is NFS mounted not BeeGFS
        • +
      • +
      • Use the scratch directories to store temporary files
    @@ -1016,8 +1033,8 @@ system

    Containers

    -
    -

    Motivation

    +
    +

    Motivation

    • Compute heavy jobs (high RAM, multiple cores) should be run on compute nodes
    • @@ -1029,18 +1046,17 @@ Rocky 8 Linux
    • Improves reproducibility
    -

    Compute Jobs

    +

    Compute Jobs

    Definitions

      -
    • Virtualization: When software mimics the functions -of physical hardware to run virtual machines
    • -
    • Containers: Implements virtualization using an -image as its base
    • +
    • Containers: An isolated environment for running +software that is created from an image file, preventing +conflicts with the host system.
    • Images: An ordered collection of root filesystem -changes and the corresponding execution parameters for use within a -container runtime
    • +changes that contain all necessary dependencies, ensuring software run +identically across various computing platforms.
    diff --git a/docs/Working_on_Wynton_Part_2.html b/docs/Working_on_Wynton_Part_2.html index cdf57b3..1d5b705 100644 --- a/docs/Working_on_Wynton_Part_2.html +++ b/docs/Working_on_Wynton_Part_2.html @@ -4,7 +4,7 @@ - Working on Wynton - Part 2 + Working on Wynton @@ -512,7 +512,7 @@ margin-left: 75px; margin-right: 50px } .reveal img { -max-width: 60%; +max-width: 70%; border: none !important; box-shadow: none !important; display: block !important; @@ -537,6 +537,12 @@ font-size: 80%; .big-picture img{ max-width: 95%; } +.small-picture img{ +max-width: 65%; +} +.smaller-picture img{ +max-width: 60%; +} .reveal a { color: #0c74dc; @@ -565,7 +571,8 @@ document.addEventListener('DOMContentLoaded', function(e) {
    -

    Working on Wynton - Part 2

    +

    Working on Wynton

    +

    Part 2

    Natalie Elphick

    April 16th, 2024

    @@ -580,7 +587,7 @@ document.addEventListener('DOMContentLoaded', function(e) {

    Introductions

    Natalie Elphick
    Bioinformatician I

    -

    Alex Pico
    +

    Alex Pico (TA)
    Bioinformatics Core Director

    @@ -607,8 +614,8 @@ Bioinformatics Core Director

    Custom Containers

    -
    -

    Motivation

    +
    +

    Motivation

    • Compute heavy jobs (high RAM, multiple cores) should be run on compute nodes
    • @@ -620,7 +627,7 @@ Rocky 8 Linux
    • Improves reproducibility
    -

    Compute Jobs

    +

    Compute Jobs

    Dockerfile Basics

    @@ -726,18 +733,20 @@ command, -t, to set the name of the docker image
    [alice@dev1 ~]$ apptainer pull docker://docker_hub_user/seurat-harmony:1.0
    -
    -

    Notes on Building Custom Images

    +
    +

    Notes on Building Custom Images

      -
    • Time consuming process and uses a lot of RAM on your local +
    • Time consuming process and can use a lot of RAM on your local machine
    • A good base image can save you a lot of time
    • -
    • You must run apt-get update and -apt-get install in the same command +
    • You must run apt-get update and apt-get +install in the same command
      • Otherwise you will encounter caching issues
      • +
      • These are only for Ubuntu, for other OS run the equivalent package +list retrieval and install commands together
    • -
    • Remember to use apt-get install -y +
    • Remember to use apt-get install -y
      • You will have no control over the process while it’s building
    • @@ -949,7 +958,7 @@ development node.

      bioinformatics analysis pipelines
    • The most commonly used one is the RNA-seq pipeline
    -

    RNA-seq

    +

    RNA-seq

    Example - RNA-seq Pipeline

    diff --git a/working-on-wynton-hpc/Working_on_Wynton_Part_1.Rmd b/working-on-wynton-hpc/Working_on_Wynton_Part_1.Rmd index 779310b..f20e2ac 100644 --- a/working-on-wynton-hpc/Working_on_Wynton_Part_1.Rmd +++ b/working-on-wynton-hpc/Working_on_Wynton_Part_1.Rmd @@ -1,5 +1,6 @@ --- -title: "Working on Wynton - Part 1" +title: "Working on Wynton" +subtitle: "Part 1" author: "Natalie Elphick" date: "April 15th, 2024" knit: (function(input, ...) { @@ -28,7 +29,7 @@ output: **Natalie Elphick** Bioinformatician I -**Alex Pico** +**Alex Pico (TA)** Bioinformatics Core Director @@ -50,7 +51,7 @@ Bioinformatics Core Director # What is Wynton HPC? -## High-performance Computing Cluster +## High-performance Computing Cluster {.smaller-picture} - A collection of specialized computers (nodes) connected together on a fast local network @@ -75,7 +76,7 @@ Bioinformatics Core Director - **Login:** Submit and query jobs. SSH to development nodes. File management. - **Development:** Compile and install software. Test job scripts. Submit and query jobs. Version control. File management. -- **Compute:** Running short and long-running job scripts. +- **Compute:** Running job scripts. - **Transfer:** Fast in- & outbound file transfers. File management. ## The Login Nodes {.small-bullets} @@ -92,8 +93,8 @@ log1, log2 and plog (for PHI users) ## Login {.small-bullets} -- Make sure you are on the UCSF or Gladstone WiFi networks (or the respective VPN) -- **ssh [your-username]@[node-name].wynton.ucsf.edu** +- Connect to the UCSF or Gladstone WiFi networks (or the respective VPN) or using [2FA](https://wynton.ucsf.edu/hpc/get-started/duo-signup.html) +- **ssh [your-username]@[node].wynton.ucsf.edu** ```{r, engine='bash', eval=TRUE, results='markup',comment=NA, highlight=TRUE, echo=FALSE} echo "{local}$ ssh alice@log1.wynton.ucsf.edu @@ -108,7 +109,7 @@ alice@log1.wynton.ucsf.edu's password: - Has a set of [core software](https://wynton.ucsf.edu/hpc/software/core-software.html) installed - e.g. git, vim, nano, make and python -- Also has access to [software repositories](https://wynton.ucsf.edu/hpc/software/software-repositories.htmll) some which are maintained by other users or research groups +- Also has access to [software repositories](https://wynton.ucsf.edu/hpc/software/software-repositories.html) some which are maintained by other users or research groups - e.g. matlab, R and openjdk - Cannot be logged in to directly, only from a login node ```{r, engine='bash', eval=TRUE, results='markup',comment=NA, highlight=TRUE, echo=FALSE} @@ -138,14 +139,15 @@ dt1 and dt2 -## Compute Nodes {.small-bullets .big-picture} +## Compute Nodes {.small-bullets} - Can **not** be logged in to directly +- No internet or UCSF network access - Used to run non-interactive compute job scripts - The software to run the job script is provided using a container -![Compute Jobs](slide_materials/compute_job_workflow.svg) +![Compute Jobs](slide_materials/compute_job_workflow.png) @@ -161,9 +163,6 @@ dt1 and dt2 - - - ## BeeGFS {.small-bullets} - Wynton uses a *parallel* shared file system called BeeGFS @@ -196,18 +195,18 @@ dt1 and dt2 - Prefer fewer, large files over many small ones - Distribute reading and writing over several directories - Including compute job output and error files -- Use local scratch (/scratch) when possible +- Use local scratch (**/scratch**) when possible - Don't include anything in **/wynton** in your default LD_LIBRARY_PATH - - ## Storage {.small-bullets} - **Wynton storage is not backed up** -- /wynton/**[group_name]**/**[user]** +- /wynton/home/**[group_name]**/**[user]** + - PHI users : /wynton/protected/home/**[group_name]**/**[user]** - User home directory - limited to 500 GiB -- /wynton/**[group_name]** +- /wynton/group/**[group_name]** + - PHI users : /wynton/protected/group/**[group_name]** - User group directory - disk quota varies by group - Use this directory for any analysis you want to share with your lab - [More information on disk quotas](https://wynton.ucsf.edu/hpc/howto/storage-size.html#file-sizes-and-disk-quotas) @@ -220,9 +219,10 @@ echo 'beegfs-ctl --getquota --storagepoolid=12 --gid "$(id --group)"' -## Scratch - Temporary Storage +## Scratch - Temporary Storage {.small-bullets} - Local **/scratch** - 0.1-1.8 TiB/node storage unique to each compute node - - Can only be accessed from the specific compute node + - Can only be accessed from the specific compute node + - Use this to store intermediate files only needed for a job - **/wynton/scratch** and **/wynton/protected/scratch** (for PHI users) - 703 TiB storage accessible from everywhere - No quotas @@ -245,8 +245,10 @@ echo 'beegfs-ctl --getquota --storagepoolid=12 --gid "$(id --group)"' ## Storage Advice - Always back up anything you store under **/wynton** -- Use **/gladstone** if you have access to it for all of your work since it is automatically backed up -- Use the scratch directories to store temporary files so they do not count against your group or user quotas +- Back up your data on **/gladstone** if you have access to it + - A large number of jobs reading and writing to these directories will be slower since it is NFS mounted not BeeGFS +- Use the scratch directories to store temporary files + # Data Transfer @@ -372,26 +374,23 @@ echo '[alice@dev1 ~]$ nextflow -v' - - # Containers -## Motivation {.small-bullets} +## Motivation {.small-bullets .small-picture} - Compute heavy jobs (high RAM, multiple cores) should be run on compute nodes - Containers allow us to make additional software available to the compute nodes - Also allows the use of software that might be hard to install on Rocky 8 Linux - Improves reproducibility -![Compute Jobs](slide_materials/compute_job_workflow.svg) +![Compute Jobs](slide_materials/compute_job_workflow.png) ## Definitions {.small-bullets} -- **Virtualization:** When software mimics the functions of physical hardware to run virtual machines -- **Containers:** Implements virtualization using an *image* as its base -- **Images:** An ordered collection of root filesystem changes and the corresponding execution parameters for use within a container runtime +- **Containers:** An isolated environment for running software that is created from an *image* file, preventing conflicts with the host system. +- **Images:** An ordered collection of root filesystem changes that contain all necessary dependencies, ensuring software run identically across various computing platforms. ## Apptainer {.small-bullets} diff --git a/working-on-wynton-hpc/Working_on_Wynton_Part_2.Rmd b/working-on-wynton-hpc/Working_on_Wynton_Part_2.Rmd index 341da38..523c03c 100644 --- a/working-on-wynton-hpc/Working_on_Wynton_Part_2.Rmd +++ b/working-on-wynton-hpc/Working_on_Wynton_Part_2.Rmd @@ -1,5 +1,6 @@ --- -title: "Working on Wynton - Part 2" +title: "Working on Wynton" +subtitle: "Part 2" author: "Natalie Elphick" date: "April 16th, 2024" knit: (function(input, ...) { @@ -28,7 +29,7 @@ output: **Natalie Elphick** Bioinformatician I -**Alex Pico** +**Alex Pico (TA)** Bioinformatics Core Director @@ -53,14 +54,14 @@ Bioinformatics Core Director # Custom Containers -## Motivation {.small-bullets} +## Motivation {.small-bullets .small-picture} - Compute heavy jobs (high RAM, multiple cores) should be run on compute nodes - Containers allow us to make additional software available to the compute nodes - Also allows the use of software that might be hard to install on Rocky 8 Linux - Improves reproducibility -![Compute Jobs](slide_materials/compute_job_workflow.svg) +![Compute Jobs](slide_materials/compute_job_workflow.png) @@ -125,13 +126,14 @@ echo "docker push docker_hub_user/seurat-harmony:1.0" echo "[alice@dev1 ~]$ apptainer pull docker://docker_hub_user/seurat-harmony:1.0" ``` -## Notes on Building Custom Images {.code-small} +## Notes on Building Custom Images {.small-bullets} -- Time consuming process and uses a lot of RAM on your local machine +- Time consuming process and can use a lot of RAM on your local machine - A good base image can save you a lot of time -- You must run `apt-get update` and `apt-get install` in the same command +- You must run **apt-get update** and **apt-get install** in the same command - Otherwise you will encounter caching issues -- Remember to use `apt-get install -y` + - These are only for Ubuntu, for other OS run the equivalent package list retrieval and install commands together +- Remember to use **apt-get install -y** - You will have no control over the process while it's building # Compute Jobs diff --git a/working-on-wynton-hpc/renv.lock b/working-on-wynton-hpc/renv.lock index a000798..abbdc26 100644 --- a/working-on-wynton-hpc/renv.lock +++ b/working-on-wynton-hpc/renv.lock @@ -9,49 +9,6 @@ ] }, "Packages": { - "DBI": { - "Package": "DBI", - "Version": "1.2.2", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "methods" - ], - "Hash": "164809cd72e1d5160b4cb3aa57f510fe" - }, - "MASS": { - "Package": "MASS", - "Version": "7.3-60.0.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "grDevices", - "graphics", - "methods", - "stats", - "utils" - ], - "Hash": "b765b28387acc8ec9e9c1530713cb19c" - }, - "Matrix": { - "Package": "Matrix", - "Version": "1.6-5", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "grDevices", - "graphics", - "grid", - "lattice", - "methods", - "stats", - "utils" - ], - "Hash": "8c7115cd3a0e048bda2a7cd110549f7a" - }, "R6": { "Package": "R6", "Version": "2.5.1", @@ -62,36 +19,6 @@ ], "Hash": "470851b6d5d0ac559e9d01bb352b4021" }, - "RColorBrewer": { - "Package": "RColorBrewer", - "Version": "1.1-3", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" - ], - "Hash": "45f0398006e83a5b10b72a90663d8d8c" - }, - "askpass": { - "Package": "askpass", - "Version": "1.2.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "sys" - ], - "Hash": "cad6cf7f1d5f6e906700b9d3e718c796" - }, - "backports": { - "Package": "backports", - "Version": "1.4.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" - ], - "Hash": "c39fbec8a30d23e721980b8afb31984c" - }, "base64enc": { "Package": "base64enc", "Version": "0.1-3", @@ -102,63 +29,6 @@ ], "Hash": "543776ae6848fde2f48ff3816d0628bc" }, - "bit": { - "Package": "bit", - "Version": "4.0.5", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" - ], - "Hash": "d242abec29412ce988848d0294b208fd" - }, - "bit64": { - "Package": "bit64", - "Version": "4.0.5", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "bit", - "methods", - "stats", - "utils" - ], - "Hash": "9fe98599ca456d6552421db0d6772d8f" - }, - "blob": { - "Package": "blob", - "Version": "1.2.4", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "methods", - "rlang", - "vctrs" - ], - "Hash": "40415719b5a479b87949f3aa0aee737c" - }, - "broom": { - "Package": "broom", - "Version": "1.0.5", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "backports", - "dplyr", - "ellipsis", - "generics", - "glue", - "lifecycle", - "purrr", - "rlang", - "stringr", - "tibble", - "tidyr" - ], - "Hash": "fd25391c3c4f6ecf0fa95f1e6d15378c" - }, "bslib": { "Package": "bslib", "Version": "0.6.1", @@ -191,31 +61,6 @@ ], "Hash": "c35768291560ce302c0a6589f92e837d" }, - "callr": { - "Package": "callr", - "Version": "3.7.5", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "R6", - "processx", - "utils" - ], - "Hash": "9f0e4fae4963ba775a5e5c520838c87b" - }, - "cellranger": { - "Package": "cellranger", - "Version": "1.1.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "rematch", - "tibble" - ], - "Hash": "f61dbaec772ccd2e17705c1e872e9e7c" - }, "cli": { "Package": "cli", "Version": "3.6.2", @@ -227,127 +72,6 @@ ], "Hash": "1216ac65ac55ec0058a6f75d7ca0fd52" }, - "clipr": { - "Package": "clipr", - "Version": "0.8.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "utils" - ], - "Hash": "3f038e5ac7f41d4ac41ce658c85e3042" - }, - "colorspace": { - "Package": "colorspace", - "Version": "2.1-0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "grDevices", - "graphics", - "methods", - "stats" - ], - "Hash": "f20c47fd52fae58b4e377c37bb8c335b" - }, - "conflicted": { - "Package": "conflicted", - "Version": "1.2.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cli", - "memoise", - "rlang" - ], - "Hash": "bb097fccb22d156624fd07cd2894ddb6" - }, - "countdown": { - "Package": "countdown", - "Version": "0.4.0", - "Source": "Repository", - "Repository": "RSPM", - "Requirements": [ - "htmltools", - "prismatic", - "utils", - "whisker" - ], - "Hash": "b44ad5a5e287637c3b8ca0e9bb64bb18" - }, - "cpp11": { - "Package": "cpp11", - "Version": "0.4.7", - "Source": "Repository", - "Repository": "RSPM", - "Requirements": [ - "R" - ], - "Hash": "5a295d7d963cc5035284dcdbaf334f4e" - }, - "crayon": { - "Package": "crayon", - "Version": "1.5.2", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "grDevices", - "methods", - "utils" - ], - "Hash": "e8a1e41acf02548751f45c718d55aa6a" - }, - "curl": { - "Package": "curl", - "Version": "5.2.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" - ], - "Hash": "411ca2c03b1ce5f548345d2fc2685f7a" - }, - "data.table": { - "Package": "data.table", - "Version": "1.15.2", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "methods" - ], - "Hash": "536dfe4ac4093b5d115caed7a1a7223b" - }, - "dbplyr": { - "Package": "dbplyr", - "Version": "2.5.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "DBI", - "R", - "R6", - "blob", - "cli", - "dplyr", - "glue", - "lifecycle", - "magrittr", - "methods", - "pillar", - "purrr", - "rlang", - "tibble", - "tidyr", - "tidyselect", - "utils", - "vctrs", - "withr" - ], - "Hash": "39b2e002522bfd258039ee4e889e0fd1" - }, "digest": { "Package": "digest", "Version": "0.6.35", @@ -359,48 +83,6 @@ ], "Hash": "698ece7ba5a4fa4559e3d537e7ec3d31" }, - "dplyr": { - "Package": "dplyr", - "Version": "1.1.4", - "Source": "Repository", - "Repository": "RSPM", - "Requirements": [ - "R", - "R6", - "cli", - "generics", - "glue", - "lifecycle", - "magrittr", - "methods", - "pillar", - "rlang", - "tibble", - "tidyselect", - "utils", - "vctrs" - ], - "Hash": "fedd9d00c2944ff00a0e2696ccf048ec" - }, - "dtplyr": { - "Package": "dtplyr", - "Version": "1.3.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cli", - "data.table", - "dplyr", - "glue", - "lifecycle", - "rlang", - "tibble", - "tidyselect", - "vctrs" - ], - "Hash": "54ed3ea01b11e81a86544faaecfef8e2" - }, "ellipsis": { "Package": "ellipsis", "Version": "0.3.2", @@ -423,25 +105,6 @@ ], "Hash": "daf4a1246be12c1fa8c7705a0935c1a0" }, - "fansi": { - "Package": "fansi", - "Version": "1.0.6", - "Source": "Repository", - "Repository": "RSPM", - "Requirements": [ - "R", - "grDevices", - "utils" - ], - "Hash": "962174cf2aeb5b9eea581522286a911f" - }, - "farver": { - "Package": "farver", - "Version": "2.1.1", - "Source": "Repository", - "Repository": "CRAN", - "Hash": "8106d78941f34855c440ddb946b8f7a5" - }, "fastmap": { "Package": "fastmap", "Version": "1.1.1", @@ -461,22 +124,6 @@ ], "Hash": "c2efdd5f0bcd1ea861c2d4e2a883a67d" }, - "forcats": { - "Package": "forcats", - "Version": "1.0.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cli", - "glue", - "lifecycle", - "magrittr", - "rlang", - "tibble" - ], - "Hash": "1a0a9a3d5083d0d573c4214576f1e690" - }, "fs": { "Package": "fs", "Version": "1.6.3", @@ -488,64 +135,6 @@ ], "Hash": "47b5f30c720c23999b913a1a635cf0bb" }, - "gargle": { - "Package": "gargle", - "Version": "1.5.2", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cli", - "fs", - "glue", - "httr", - "jsonlite", - "lifecycle", - "openssl", - "rappdirs", - "rlang", - "stats", - "utils", - "withr" - ], - "Hash": "fc0b272e5847c58cd5da9b20eedbd026" - }, - "generics": { - "Package": "generics", - "Version": "0.1.3", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "methods" - ], - "Hash": "15e9634c0fcd294799e9b2e929ed1b86" - }, - "ggplot2": { - "Package": "ggplot2", - "Version": "3.5.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "MASS", - "R", - "cli", - "glue", - "grDevices", - "grid", - "gtable", - "isoband", - "lifecycle", - "mgcv", - "rlang", - "scales", - "stats", - "tibble", - "vctrs", - "withr" - ], - "Hash": "52ef83f93f74833007f193b2d4c159a2" - }, "glue": { "Package": "glue", "Version": "1.7.0", @@ -557,95 +146,6 @@ ], "Hash": "e0b3a53876554bd45879e596cdb10a52" }, - "googledrive": { - "Package": "googledrive", - "Version": "2.1.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cli", - "gargle", - "glue", - "httr", - "jsonlite", - "lifecycle", - "magrittr", - "pillar", - "purrr", - "rlang", - "tibble", - "utils", - "uuid", - "vctrs", - "withr" - ], - "Hash": "e99641edef03e2a5e87f0a0b1fcc97f4" - }, - "googlesheets4": { - "Package": "googlesheets4", - "Version": "1.1.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cellranger", - "cli", - "curl", - "gargle", - "glue", - "googledrive", - "httr", - "ids", - "lifecycle", - "magrittr", - "methods", - "purrr", - "rematch2", - "rlang", - "tibble", - "utils", - "vctrs", - "withr" - ], - "Hash": "d6db1667059d027da730decdc214b959" - }, - "gtable": { - "Package": "gtable", - "Version": "0.3.4", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cli", - "glue", - "grid", - "lifecycle", - "rlang" - ], - "Hash": "b29cf3031f49b04ab9c852c912547eef" - }, - "haven": { - "Package": "haven", - "Version": "2.5.4", - "Source": "Repository", - "Repository": "RSPM", - "Requirements": [ - "R", - "cli", - "cpp11", - "forcats", - "hms", - "lifecycle", - "methods", - "readr", - "rlang", - "tibble", - "tidyselect", - "vctrs" - ], - "Hash": "9171f898db9d9c4c1b2c745adc2c1ef1" - }, "highr": { "Package": "highr", "Version": "0.10", @@ -657,20 +157,6 @@ ], "Hash": "06230136b2d2b9ba5805e1963fa6e890" }, - "hms": { - "Package": "hms", - "Version": "1.1.3", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "lifecycle", - "methods", - "pkgconfig", - "rlang", - "vctrs" - ], - "Hash": "b59377caa7ed00fa41808342002138f9" - }, "htmltools": { "Package": "htmltools", "Version": "0.5.7", @@ -688,43 +174,6 @@ ], "Hash": "2d7b3857980e0e0d0a1fd6f11928ab0f" }, - "httr": { - "Package": "httr", - "Version": "1.4.7", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "R6", - "curl", - "jsonlite", - "mime", - "openssl" - ], - "Hash": "ac107251d9d9fd72f0ca8049988f1d7f" - }, - "ids": { - "Package": "ids", - "Version": "1.0.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "openssl", - "uuid" - ], - "Hash": "99df65cfef20e525ed38c3d2577f7190" - }, - "isoband": { - "Package": "isoband", - "Version": "0.2.7", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "grid", - "utils" - ], - "Hash": "0080607b4a1a7b28979aecef976d8bc2" - }, "jquerylib": { "Package": "jquerylib", "Version": "0.1.4", @@ -761,32 +210,6 @@ ], "Hash": "1ec462871063897135c1bcbe0fc8f07d" }, - "labeling": { - "Package": "labeling", - "Version": "0.4.3", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "graphics", - "stats" - ], - "Hash": "b64ec208ac5bc1852b285f665d6368b3" - }, - "lattice": { - "Package": "lattice", - "Version": "0.22-6", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "grDevices", - "graphics", - "grid", - "stats", - "utils" - ], - "Hash": "cc5ac1ba4c238c7ca9fa6a87ca11a7e2" - }, "lifecycle": { "Package": "lifecycle", "Version": "1.0.4", @@ -800,29 +223,6 @@ ], "Hash": "b8552d117e1b808b09a832f589b79035" }, - "lubridate": { - "Package": "lubridate", - "Version": "1.9.3", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "generics", - "methods", - "timechange" - ], - "Hash": "680ad542fbcf801442c83a6ac5a2126c" - }, - "magrittr": { - "Package": "magrittr", - "Version": "2.0.3", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" - ], - "Hash": "7ce2733a9826b3aeb1775d56fd305472" - }, "memoise": { "Package": "memoise", "Version": "2.0.1", @@ -834,23 +234,6 @@ ], "Hash": "e2817ccf4a065c5d9d7f2cfbe7c1d78c" }, - "mgcv": { - "Package": "mgcv", - "Version": "1.9-1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "Matrix", - "R", - "graphics", - "methods", - "nlme", - "splines", - "stats", - "utils" - ], - "Hash": "110ee9d83b496279960e162ac97764ce" - }, "mime": { "Package": "mime", "Version": "0.12", @@ -861,173 +244,6 @@ ], "Hash": "18e9c28c1d3ca1560ce30658b22ce104" }, - "modelr": { - "Package": "modelr", - "Version": "0.1.11", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "broom", - "magrittr", - "purrr", - "rlang", - "tibble", - "tidyr", - "tidyselect", - "vctrs" - ], - "Hash": "4f50122dc256b1b6996a4703fecea821" - }, - "munsell": { - "Package": "munsell", - "Version": "0.5.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "colorspace", - "methods" - ], - "Hash": "6dfe8bf774944bd5595785e3229d8771" - }, - "nlme": { - "Package": "nlme", - "Version": "3.1-164", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "graphics", - "lattice", - "stats", - "utils" - ], - "Hash": "a623a2239e642806158bc4dc3f51565d" - }, - "openssl": { - "Package": "openssl", - "Version": "2.1.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "askpass" - ], - "Hash": "2a0dc8c6adfb6f032e4d4af82d258ab5" - }, - "pillar": { - "Package": "pillar", - "Version": "1.9.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "cli", - "fansi", - "glue", - "lifecycle", - "rlang", - "utf8", - "utils", - "vctrs" - ], - "Hash": "15da5a8412f317beeee6175fbc76f4bb" - }, - "pkgconfig": { - "Package": "pkgconfig", - "Version": "2.0.3", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "utils" - ], - "Hash": "01f28d4278f15c76cddbea05899c5d6f" - }, - "prettyunits": { - "Package": "prettyunits", - "Version": "1.2.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" - ], - "Hash": "6b01fc98b1e86c4f705ce9dcfd2f57c7" - }, - "prismatic": { - "Package": "prismatic", - "Version": "1.1.1", - "Source": "Repository", - "Repository": "RSPM", - "Requirements": [ - "R", - "farver", - "grDevices", - "graphics" - ], - "Hash": "faa2193fdec94a45b4390aefc1280a62" - }, - "processx": { - "Package": "processx", - "Version": "3.8.4", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "R6", - "ps", - "utils" - ], - "Hash": "0c90a7d71988856bad2a2a45dd871bb9" - }, - "progress": { - "Package": "progress", - "Version": "1.2.3", - "Source": "Repository", - "Repository": "RSPM", - "Requirements": [ - "R", - "R6", - "crayon", - "hms", - "prettyunits" - ], - "Hash": "f4625e061cb2865f111b47ff163a5ca6" - }, - "ps": { - "Package": "ps", - "Version": "1.7.6", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "utils" - ], - "Hash": "dd2b9319ee0656c8acf45c7f40c59de7" - }, - "purrr": { - "Package": "purrr", - "Version": "1.0.2", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cli", - "lifecycle", - "magrittr", - "rlang", - "vctrs" - ], - "Hash": "1cba04a4e9414bdefc9dcaa99649a8dc" - }, - "ragg": { - "Package": "ragg", - "Version": "1.3.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "systemfonts", - "textshaping" - ], - "Hash": "082e1a198e3329d571f4448ef0ede4bc" - }, "rappdirs": { "Package": "rappdirs", "Version": "0.3.3", @@ -1038,61 +254,6 @@ ], "Hash": "5e3c5dc0b071b21fa128676560dbe94d" }, - "readr": { - "Package": "readr", - "Version": "2.1.5", - "Source": "Repository", - "Repository": "RSPM", - "Requirements": [ - "R", - "R6", - "cli", - "clipr", - "cpp11", - "crayon", - "hms", - "lifecycle", - "methods", - "rlang", - "tibble", - "tzdb", - "utils", - "vroom" - ], - "Hash": "9de96463d2117f6ac49980577939dfb3" - }, - "readxl": { - "Package": "readxl", - "Version": "1.4.3", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cellranger", - "cpp11", - "progress", - "tibble", - "utils" - ], - "Hash": "8cf9c239b96df1bbb133b74aef77ad0a" - }, - "rematch": { - "Package": "rematch", - "Version": "2.0.0", - "Source": "Repository", - "Repository": "CRAN", - "Hash": "cbff1b666c6fa6d21202f07e2318d4f1" - }, - "rematch2": { - "Package": "rematch2", - "Version": "2.1.2", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "tibble" - ], - "Hash": "76c9e04c712a05848ae7a23d2f170a40" - }, "renv": { "Package": "renv", "Version": "1.0.5", @@ -1103,38 +264,21 @@ ], "Hash": "32c3f93e8360f667ca5863272ec8ba6a" }, - "reprex": { - "Package": "reprex", - "Version": "2.1.0", - "Source": "Repository", - "Repository": "RSPM", - "Requirements": [ - "R", - "callr", - "cli", - "clipr", - "fs", - "glue", - "knitr", - "lifecycle", - "rlang", - "rmarkdown", - "rstudioapi", - "utils", - "withr" - ], - "Hash": "1425f91b4d5d9a8f25352c44a3d914ed" - }, "revealjs": { "Package": "revealjs", - "Version": "0.9", - "Source": "Repository", - "Repository": "CRAN", + "Version": "0.9.1.9007", + "Source": "GitHub", + "RemoteType": "github", + "RemoteHost": "api.github.com", + "RemoteUsername": "rstudio", + "RemoteRepo": "revealjs", + "RemoteRef": "main", + "RemoteSha": "37782091f88635b00341d708b6311465efe1a444", "Requirements": [ "R", "rmarkdown" ], - "Hash": "08e30caa337e6d335d83df1a05d5b9f3" + "Hash": "8471ccabb784457b5b0c84db051bc83a" }, "rlang": { "Package": "rlang", @@ -1170,32 +314,6 @@ ], "Hash": "9b148e7f95d33aac01f31282d49e4f44" }, - "rstudioapi": { - "Package": "rstudioapi", - "Version": "0.15.0", - "Source": "Repository", - "Repository": "CRAN", - "Hash": "5564500e25cffad9e22244ced1379887" - }, - "rvest": { - "Package": "rvest", - "Version": "1.0.4", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cli", - "glue", - "httr", - "lifecycle", - "magrittr", - "rlang", - "selectr", - "tibble", - "xml2" - ], - "Hash": "0bcf0c6f274e90ea314b812a6d19a519" - }, "sass": { "Package": "sass", "Version": "0.4.9", @@ -1210,208 +328,6 @@ ], "Hash": "d53dbfddf695303ea4ad66f86e99b95d" }, - "scales": { - "Package": "scales", - "Version": "1.3.0", - "Source": "Repository", - "Repository": "RSPM", - "Requirements": [ - "R", - "R6", - "RColorBrewer", - "cli", - "farver", - "glue", - "labeling", - "lifecycle", - "munsell", - "rlang", - "viridisLite" - ], - "Hash": "c19df082ba346b0ffa6f833e92de34d1" - }, - "selectr": { - "Package": "selectr", - "Version": "0.4-2", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "R6", - "methods", - "stringr" - ], - "Hash": "3838071b66e0c566d55cc26bd6e27bf4" - }, - "stringi": { - "Package": "stringi", - "Version": "1.8.3", - "Source": "Repository", - "Repository": "RSPM", - "Requirements": [ - "R", - "stats", - "tools", - "utils" - ], - "Hash": "058aebddea264f4c99401515182e656a" - }, - "stringr": { - "Package": "stringr", - "Version": "1.5.1", - "Source": "Repository", - "Repository": "RSPM", - "Requirements": [ - "R", - "cli", - "glue", - "lifecycle", - "magrittr", - "rlang", - "stringi", - "vctrs" - ], - "Hash": "960e2ae9e09656611e0b8214ad543207" - }, - "sys": { - "Package": "sys", - "Version": "3.4.2", - "Source": "Repository", - "Repository": "CRAN", - "Hash": "3a1be13d68d47a8cd0bfd74739ca1555" - }, - "systemfonts": { - "Package": "systemfonts", - "Version": "1.0.6", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cpp11" - ], - "Hash": "6d538cff441f0f1f36db2209ac7495ac" - }, - "textshaping": { - "Package": "textshaping", - "Version": "0.3.7", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cpp11", - "systemfonts" - ], - "Hash": "997aac9ad649e0ef3b97f96cddd5622b" - }, - "tibble": { - "Package": "tibble", - "Version": "3.2.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "fansi", - "lifecycle", - "magrittr", - "methods", - "pillar", - "pkgconfig", - "rlang", - "utils", - "vctrs" - ], - "Hash": "a84e2cc86d07289b3b6f5069df7a004c" - }, - "tidyr": { - "Package": "tidyr", - "Version": "1.3.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cli", - "cpp11", - "dplyr", - "glue", - "lifecycle", - "magrittr", - "purrr", - "rlang", - "stringr", - "tibble", - "tidyselect", - "utils", - "vctrs" - ], - "Hash": "915fb7ce036c22a6a33b5a8adb712eb1" - }, - "tidyselect": { - "Package": "tidyselect", - "Version": "1.2.1", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cli", - "glue", - "lifecycle", - "rlang", - "vctrs", - "withr" - ], - "Hash": "829f27b9c4919c16b593794a6344d6c0" - }, - "tidyverse": { - "Package": "tidyverse", - "Version": "2.0.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "broom", - "cli", - "conflicted", - "dbplyr", - "dplyr", - "dtplyr", - "forcats", - "ggplot2", - "googledrive", - "googlesheets4", - "haven", - "hms", - "httr", - "jsonlite", - "lubridate", - "magrittr", - "modelr", - "pillar", - "purrr", - "ragg", - "readr", - "readxl", - "reprex", - "rlang", - "rstudioapi", - "rvest", - "stringr", - "tibble", - "tidyr", - "xml2" - ], - "Hash": "c328568cd14ea89a83bd4ca7f54ae07e" - }, - "timechange": { - "Package": "timechange", - "Version": "0.3.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cpp11" - ], - "Hash": "c5f3c201b931cd6474d17d8700ccb1c8" - }, "tinytex": { "Package": "tinytex", "Version": "0.50", @@ -1422,99 +338,6 @@ ], "Hash": "be7a76845222ad20adb761f462eed3ea" }, - "tzdb": { - "Package": "tzdb", - "Version": "0.4.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "cpp11" - ], - "Hash": "f561504ec2897f4d46f0c7657e488ae1" - }, - "utf8": { - "Package": "utf8", - "Version": "1.2.4", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" - ], - "Hash": "62b65c52671e6665f803ff02954446e9" - }, - "uuid": { - "Package": "uuid", - "Version": "1.2-0", - "Source": "Repository", - "Repository": "RSPM", - "Requirements": [ - "R" - ], - "Hash": "303c19bfd970bece872f93a824e323d9" - }, - "vctrs": { - "Package": "vctrs", - "Version": "0.6.5", - "Source": "Repository", - "Repository": "RSPM", - "Requirements": [ - "R", - "cli", - "glue", - "lifecycle", - "rlang" - ], - "Hash": "c03fa420630029418f7e6da3667aac4a" - }, - "viridisLite": { - "Package": "viridisLite", - "Version": "0.4.2", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R" - ], - "Hash": "c826c7c4241b6fc89ff55aaea3fa7491" - }, - "vroom": { - "Package": "vroom", - "Version": "1.6.5", - "Source": "Repository", - "Repository": "RSPM", - "Requirements": [ - "R", - "bit64", - "cli", - "cpp11", - "crayon", - "glue", - "hms", - "lifecycle", - "methods", - "progress", - "rlang", - "stats", - "tibble", - "tidyselect", - "tzdb", - "vctrs", - "withr" - ], - "Hash": "390f9315bc0025be03012054103d227c" - }, - "withr": { - "Package": "withr", - "Version": "3.0.0", - "Source": "Repository", - "Repository": "CRAN", - "Requirements": [ - "R", - "grDevices", - "graphics" - ], - "Hash": "d31b6c62c10dcf11ec530ca6b0dd5d35" - }, "xfun": { "Package": "xfun", "Version": "0.42", @@ -1527,19 +350,6 @@ ], "Hash": "fd1349170df31f7a10bd98b0189e85af" }, - "xml2": { - "Package": "xml2", - "Version": "1.3.6", - "Source": "Repository", - "Repository": "RSPM", - "Requirements": [ - "R", - "cli", - "methods", - "rlang" - ], - "Hash": "1d0336142f4cd25d8d23cd3ba7a8fb61" - }, "yaml": { "Package": "yaml", "Version": "2.3.8", diff --git a/working-on-wynton-hpc/slide_materials/compute_job_workflow.png b/working-on-wynton-hpc/slide_materials/compute_job_workflow.png new file mode 100644 index 0000000..b899a84 Binary files /dev/null and b/working-on-wynton-hpc/slide_materials/compute_job_workflow.png differ diff --git a/working-on-wynton-hpc/slide_materials/compute_job_workflow.svg b/working-on-wynton-hpc/slide_materials/compute_job_workflow.svg deleted file mode 100644 index 27614ec..0000000 --- a/working-on-wynton-hpc/slide_materials/compute_job_workflow.svg +++ /dev/null @@ -1,3 +0,0 @@ - - -
    User
    Compute
    Node
    Submit
    Job
    Query
    Job Status
    User
    Job Script
    Container
    \ No newline at end of file diff --git a/working-on-wynton-hpc/style.css b/working-on-wynton-hpc/style.css index 3963e02..149ff79 100644 --- a/working-on-wynton-hpc/style.css +++ b/working-on-wynton-hpc/style.css @@ -131,7 +131,7 @@ pre, code, kbd, samp { /* Decrease size of image, remove border, shadow and center align*/ .reveal img { - max-width: 60%; + max-width: 70%; border: none !important; box-shadow: none !important; display: block !important; @@ -164,6 +164,15 @@ small { } +.small-picture img{ + max-width: 65%; + +} +.smaller-picture img{ + max-width: 60%; + +} + /* Chage link color to sky blue */ .reveal a { color: #0c74dc;