Skip to content

Commit

Permalink
Merge branch 'master' into gcb_hub-updates_2024
Browse files Browse the repository at this point in the history
  • Loading branch information
nomadscientist authored Dec 2, 2024
2 parents 67b4740 + 433dd85 commit b83f15b
Show file tree
Hide file tree
Showing 271 changed files with 7,415 additions and 1,110 deletions.
55 changes: 37 additions & 18 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,52 +2,71 @@ name: PR Tests
on:
pull_request:
workflow_dispatch:

concurrency:
group: primary-tests-${{ github.head_ref }}
cancel-in-progress: true

env:
NODE_OPTIONS: --max-old-space-size=4096

jobs:
build-and-test:
runs-on: ubuntu-latest
steps:
- name: Checkout
- name: Checkout Repository
uses: actions/checkout@v3
- name: Setup node
uses: actions/setup-node@v2

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '16'
- name: Get yarn cache directory path
node-version: '18'

- name: Get Yarn Cache Directory Path
id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn cache dir)"
- uses: actions/cache@v1
run: echo "dir=$(yarn cache dir)" >> $GITHUB_OUTPUT

- name: Cache Yarn Dependencies
uses: actions/cache@v3
id: yarn-cache
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- name: Install project dependencies
run: yarn --prefer-offline
- name: Jest Tests
- name: Install Project Dependencies
run: yarn install --prefer-offline

- name: Run Jest Tests
run: yarn jest
- name: Build static site

- name: Build Static Site
run: yarn build

- name: Serve and Check Links
# Looks weird, but this works significantly better than running it
# through a single node process
run: yarn run serve & (sleep 5 && yarn run links:internal)
- name: Cypress run
uses: cypress-io/github-action@v2
run: |
yarn serve &
sleep 5
yarn links:internal
- name: Run Cypress Tests
uses: cypress-io/github-action@v4
with:
start: yarn serve
wait-on: "http://localhost:8080"
- uses: actions/upload-artifact@v2

- name: Upload Cypress Screenshots
if: always()
uses: actions/upload-artifact@v4
with:
name: cypress-screenshots
path: cypress/screenshots
if-no-files-found: ignore
- uses: actions/upload-artifact@v2

- name: Upload Cypress Videos
if: always()
uses: actions/upload-artifact@v4
with:
name: cypress-videos
path: cypress/videos
Expand Down
7 changes: 5 additions & 2 deletions .github/workflows/optimize-images.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,14 +26,17 @@ jobs:
build:
name: calibreapp/image-actions
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
# Only run on main repo on and PRs that match the main repo.
if: |
github.repository == 'galaxyproject/galaxy-hub' &&
(github.event_name != 'pull_request' ||
github.event.pull_request.head.repo.full_name == github.repository)
steps:
- name: Checkout Branch
uses: actions/checkout@v2
uses: actions/checkout@v4
- name: Compress Images
id: calibre
uses: calibreapp/image-actions@main
Expand All @@ -48,7 +51,7 @@ jobs:
if: |
github.event_name != 'pull_request' &&
steps.calibre.outputs.markdown != ''
uses: peter-evans/create-pull-request@v3
uses: peter-evans/create-pull-request@v7
with:
title: Auto Compress Images
branch-suffix: timestamp
Expand Down
15 changes: 3 additions & 12 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,21 +15,12 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Setup node
uses: actions/setup-node@v2
uses: actions/setup-node@v4
with:
node-version: '16'
- name: Get yarn cache directory path
id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn cache dir)"
- uses: actions/cache@v1
id: yarn-cache
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
cache: 'yarn'
- name: Install project dependencies
run: yarn --prefer-offline
- name: Build static site
Expand Down
46 changes: 23 additions & 23 deletions content/0examples/navbar.yml
Original file line number Diff line number Diff line change
@@ -1,25 +1,25 @@
left:
- label: News
relativeTo: subsite
target: news/
- label: Tools
target: https://usegalaxy-eu.github.io/tools
- label: Example Dropdown
contents:
- label: Local link
target: /faq/
- label: External link
target: https://usegalaxy.org
- label: News
relativeTo: subsite
target: news/
- label: Tools
target: https://usegalaxy-eu.github.io/tools
- label: Example Dropdown
contents:
- label: Local link
target: /faq/
- label: External link
target: https://usegalaxy.org
right:
- label: FAQ
target: /support/
- label: People
target: https://usegalaxy-eu.github.io/people
- label: Help
contents:
- label: Get started
target: /get-started/
- label: Training
target: /learn/
- label: Galaxy Help Forum
target: https://help.galaxyproject.org
- label: FAQ
target: /support/
- label: People
target: https://usegalaxy-eu.github.io/people
- label: Help
contents:
- label: Get started
target: /get-started/
- label: Training
target: /learn/
- label: Galaxy Help Forum
target: https://help.galaxyproject.org
2 changes: 1 addition & 1 deletion content/admin/python/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: Supported Python versions
---

Galaxy's core functionality is currently supported on Python **3.7** or newer.
Galaxy's core functionality is currently supported on Python **3.8** or newer.

If Galaxy complains about the version of Python you are using:

Expand Down
3 changes: 1 addition & 2 deletions content/bare/eu/usegalaxy/main/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,8 @@ title: Galaxy Europe

<slot name="/bare/eu/usegalaxy/notices" />

<Carousel />
<!--Carousel /-->

<br/>
<br/>

"Anyone, anywhere in the world should have free, unhindered access to not just my research, but to the research of every great and enquiring mind across the spectrum of human understanding." – Prof. Stephen Hawking
Expand Down
106 changes: 54 additions & 52 deletions content/belgium/navbar.yml
Original file line number Diff line number Diff line change
@@ -1,55 +1,57 @@
left:

right:
- label: Help
contents:
- label: Get started
target: "/get-started/"
- label: Training
target: "/learn/"
- label: FAQ
target: "/support/"
- label: Galaxy Help Forum
target: https://help.galaxyproject.org/
- label: Community
contents:
- label: The Galaxy Community
target: "/community/"
- label: Blog
target: "/blog/"
- label: Working Groups
target: "/community/wg/"
- label: Governance
target: "/community/governance/"
- label: How to contribute
target: "/community/contributing/"
- label: Galaxy Mentor Network
target: https://galaxy-mentor-network.netlify.app/
- label: Code of Conduct
target: "/community/coc/"
- label: About
contents:
- label: Platforms
target: "/use/"
- label: Careers
target: "/careers/"
- label: Stats
target: "/galaxy-project/statistics/"
- label: Mailing lists
target: "/mailing-lists"
- label: Galaxy publications
target: "/publication-library/"
- label: Citing Galaxy
target: "/citing-galaxy/"
- label: Branding
target: "/images/galaxy-logos/"
- label: Projects
contents:
- label: COVID-19
target: "/projects/covid19/"
- label: Monkeypox
target: "/projects/mpxv/"
- label: VGP
target: "/projects/vgp/"
- label: "@jxtx"
target: https://jxtxfoundation.org/
- label: Help
contents:
- label: Get started
target: "/get-started/"
- label: Training
target: "/learn/"
- label: FAQ
target: "/support/"
- label: Galaxy Help Forum
target: https://help.galaxyproject.org/
- label: Community
contents:
- label: The Galaxy Community
target: "/community/"
- label: Blog
target: "/blog/"
- label: Working Groups
target: "/community/wg/"
- label: Governance
target: "/community/governance/"
- label: How to contribute
target: "/community/contributing/"
- label: Galaxy Mentor Network
target: https://galaxy-mentor-network.netlify.app/
- label: Code of Conduct
target: "/community/coc/"
- label: About
contents:
- label: Platforms
target: "/use/"
- label: Careers
target: "/careers/"
- label: Stats
target: "/galaxy-project/statistics/"
- label: Mailing lists
target: "/mailing-lists"
- label: Galaxy publications
target: "/publication-library/"
- label: Citing Galaxy
target: "/citing-galaxy/"
- label: Branding
target: "/images/galaxy-logos/"
- label: Projects
contents:
- label: COVID-19
target: "/projects/covid19/"
- label: Monkeypox
target: "/projects/mpxv/"
- label: VGP
target: "/projects/vgp/"
- label: BRC Analytics
target: "https://brc-analytics.org/"
- label: "@jxtx"
target: https://jxtxfoundation.org/
11 changes: 11 additions & 0 deletions content/blog/2024-07-29-galaxy-aquainfra/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
date: '2024-07-29'
title: "The AquaINFRA Virtual Research Environment "
tease: "Design rationale for using the Galaxy platform"
authors: "Markus Konkol"
external_url: "https://blog.52north.org/2024/07/25/the-aquainfra-virtual-research-environment-design-rationale-for-using-the-galaxy-platform/"
source_blog_url: "https://blog.52north.org/"
source_blog: "52°North Blog"
tags: [esg-wp5, esg, aquainfra, eosc]
subsites: [all-eu, global]
---
1 change: 1 addition & 0 deletions content/blog/2024-09-17-Reflections on GCC2024
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@

59 changes: 59 additions & 0 deletions content/blog/2024-11-elixir-exchange/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
---
title: "How I Learned to Wrap Tools from the Galaxy EU Team"
date: "2024-11-05"
authors: "Marisa Loach"
tease: "An ELIXIR Staff Exchange to expand the single cell tools on Galaxy"
---
I am currently a PhD student at The Open University in the UK, where I reanalyse public single cell RNA sequencing data using Galaxy to explore how cells change in disease. However, I recently took a break from my project to learn how to add more tools to the Galaxy platform. As [my poster at GCC2024](https://f1000research.com/posters/13-806) explained, I went from being a user who wished for more tools to being a user-developer who can wrap those tools for herself.

<p align="center">
<img src="./rocket-marisa.png" alt="A rocket with the Use Galaxy logo carries three users, one with a thought bubble reading I wish Galaxy had this tool... and the others with speech bubbles saying We need more tools for integration and annotation and Where is the latest version of Seurat. Two developers look on from behind their computer screens at a desk with the Galaxy Europe logo on it." width="400"/>
</p>

I was able to do this thanks to the **ELIXIR Staff Exchange Programme**, which enabled me to spend six months working with the Galaxy EU team in Freiburg. The project was initiated by my supervisor at The Open University, Wendi Bacon, who encouraged me to become part of the ELIXIR Single Cell Community, and Björn Grüning, who welcomed me into his team in Germany. The exchange gave me a chance to see the parts of Galaxy that users don’t usually encounter. It was amazing to see how hard the team works to keep Galaxy running and I was particularly impressed by how attentive they were to the Galaxy help forums and Matrix channels.

## Wrapping Seurat for Galaxy

During the exchange I learned how tools are incorporated into Galaxy through wrappers, which set out the tool requirements, the options that users will see on the interface, and the commands that Galaxy will perform when someone hits the Run Tool button. I used what I learned to wrap the latest version of the Seurat pipeline, which I was already familiar with thanks to my focus on single cell omics during my PhD.

I drew on my experience of using Galaxy to reorganise the Seurat tools, grouping them together by theme, so that we now have wrappers for preprocessing, dimensional reduction, data integration, and other activities. Each of these wrappers contains a selection of related functions, including some that weren’t previously available on Galaxy. Once the tools were working, I also wrote a tutorial for the Galaxy Training Network (GTN) to help people start using them for their own analyses.

### The New Seurat Toolsuite

Load transcriptomic or CITEseq data into a Seurat Object, add QC metrics, and filter the dataset with:
<div align="left">
<a href="https://usegalaxy.eu/?tool_id=seurat_create"><button type="button" class="btn btn-primary btn-lg">Seurat Create</button></a>
</div><br>
Prepare data for analysis with separate normalization, scaling, and feature selection functions or using SCTransform with:
<div align="left">
<a href="https://usegalaxy.eu/?tool_id=seurat_preprocessing"><button type="button" class="btn btn-primary btn-lg">Seurat Preprocessing</button></a>
</div><br>
Calculate PCA, tSNE, or UMAP with:
<div align="left">
<a href="https://usegalaxy.eu/?tool_id=seurat_reduce_dimension"><button type="button" class="btn btn-primary btn-lg">Seurat Run Dimensional Reduction</button></a>
</div><br>
Compute a neighborhood graph, apply clustering algorithms, and perform differential expression analysis with:
<div align="left">
<a href="https://usegalaxy.eu/?tool_id=seurat_clustering"><button type="button" class="btn btn-primary btn-lg">Seurat Find Clusters</button></a>
</div><br>
Create plots such as violin plots, heatmaps, or dimensional reduction plots with:
<div align="left">
<a href="https://usegalaxy.eu/?tool_id=seurat_plot"><button type="button" class="btn btn-primary btn-lg">Seurat Visualize</button></a>
</div><br>
Inspect or manipulate a Seurat Object (e.g. add more metadata, rename idents, subset data) with:
<div align="left">
<a href="https://usegalaxy.eu/?tool_id=seurat_data"><button type="button" class="btn btn-primary btn-lg">Seurat Data Management</button></a>
</div><br>
Split, join, or integrate layers of data with:
<div align="left">
<a href="https://usegalaxy.eu/?tool_id=seurat_integrate"><button type="button" class="btn btn-primary btn-lg">Seurat Integrate</button></a>
</div><br>

## What I Learned About Galaxy

The whole process gave me a deeper understanding of the tools as I had to decide which functions and parameters we should include and how they should be presented on the Galaxy interface. Every parameter had to be assigned the appropriate type and labelled with a helpful description. Seeing how the original tools turned into their Galaxy versions also gave me a new appreciation for how much easier my life is because I can use Galaxy for my PhD - it does a lot of the hard work for me!

I really enjoyed tool wrapping as it allowed me to spend my days solving puzzles. Although it took a lot of work to wrap the entire Seurat pipeline, it was very rewarding to see the tools I wrapped appear on Galaxy and to know that people like me would soon be using them. I would definitely recommend anyone who is curious about tool wrapping to give it a go, especially if there's a tool that you wish was available on Galaxy. The GTN has some [tutorials](https://training.galaxyproject.org/training-material/topics/dev/) that can help you to get started and I'm sure that any Galaxy community would be just as happy as the [Single cell and SPatial Omics Community (SPOC)](https://galaxyproject.org/community/sig/singlecell/) to welcome new contributors.

Thanks to the **ELIXIR Staff Exchange Programme** for funding the project, Pavan Videm for getting me started with tool wrapping, and my hosts at the University of Freiburg for helping me to make the most of my time in Germany!

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit b83f15b

Please sign in to comment.