Skip to content

Instantly share code, notes, and snippets.

@mvdbeek
mvdbeek / optimized_input_subquery.sql
Created May 23, 2025 10:11
optimized input subquery
EXPLAIN (ANALYZE, COSTS, VERBOSE, BUFFERS, FORMAT JSON) SELECT
filtered_jobs_subquery.job_id,
filtered_jobs_subquery."reference_genome|history_item_152775960",
filtered_jobs_subquery."library|input_1_152726579"
FROM
(
SELECT
job_ids_subquery.job_id AS job_id,
job_ids_subquery."reference_genome|history_item_152775960" AS "reference_genome|history_item_152775960",
job_ids_subquery."library|input_1_152726579" AS "library|input_1_152726579"
@mvdbeek
mvdbeek / migrations.diff
Created May 19, 2025 14:43
25.0 migrations
diff --git a/lib/galaxy/model/migrations/alembic/versions_gxy/0c681a59dce1_add_on_delete_to_fkey_on_event_session_.py b/lib/galaxy/model/migrations/alembic/versions_gxy/0c681a59dce1_add_on_delete_to_fkey_on_event_session_.py
new file mode 100644
index 00000000000..a449de1b6d7
--- /dev/null
+++ b/lib/galaxy/model/migrations/alembic/versions_gxy/0c681a59dce1_add_on_delete_to_fkey_on_event_session_.py
@@ -0,0 +1,40 @@
+"""Add on-delete to fkey on event.session_id
+
+Revision ID: 0c681a59dce1
+Revises: 24feca8a6a5a
@mvdbeek
mvdbeek / DataOrCollectionRequest.json
Created April 13, 2025 20:34
JSON schema collection or data parameters
{
"$defs": {
"CollectionElementCollectionRequestUri": {
"additionalProperties": false,
"properties": {
"class": {
"const": "Collection",
"title": "Class",
"type": "string"
},
@mvdbeek
mvdbeek / workflows.yaml
Created February 13, 2025 16:28
workflows.yaml file for brc
workflows:
- trs_id: '#workflow/github.com/iwc-workflows/assembly-with-flye/main/versions/v0.2'
workflow_categories:
- ASSEMBLY
workflow_name: Genome assembly with Flye
workflow_description: Assemble long reads with Flye, then view assembly statistics
and assembly graph
ploidy: any
parameters:
Input sequence reads:
@mvdbeek
mvdbeek / workflow_manifest_v1.json
Created February 13, 2025 08:24
workflow_manifest_v1.json
This file has been truncated, but you can view the full file.
[
{
"version": 1.2,
"workflows": [
{
"name": "main",
"subclass": "Galaxy",
"publish": true,
"primaryDescriptorPath": "/Mass_spectrometry__LC-MS_preprocessing_with_XCMS.ga",
{"$defs": {"CollectionAttributes": {"additionalProperties": false, "properties": {"collection_type": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Collection Type"}}, "title": "CollectionAttributes", "type": "object"}, "OutputCompareType": {"enum": ["diff", "re_match", "sim_size", "re_match_multiline", "contains", "image_diff"], "title": "OutputCompareType", "type": "string"}, "RootModel_List_Union_Annotated_Union_has_line_model__has_line_matching_model__has_n_lines_model__has_text_model__has_text_matching_model__not_has_text_model__has_n_columns_model__attribute_is_model__attribute_matches_model__element_text_model__element_text_is_model__element_text_matches_model__has_element_with_path_model__has_n_elements_with_path_model__is_valid_xml_model__xml_element_model__has_json_property_with_text_model__has_json_property_with_value_model__has_h5_attribute_model__has_h5_keys_model__has_archive_member_model__has_size_model__has_image_center_of_mass_model__has_image_channels_model__has
changed: [cvmfs0-psu1.galaxyproject.org] => (item=client)
failed: [cvmfs0-psu1.galaxyproject.org] (item=plugins) => {"ansible_loop_var": "item", "changed": true, "cmd": ["yarn", "run", "gulp", "plugins"], "delta": "0:09:31.824149", "end": "2024-06-21 15:56:11.744263", "item": "plugins", "msg": "non-zero return code", "rc": 1, "start": "2024-06-21 15:46:39.920114", "stderr": "warning \" > [email protected]\" has incorrect peer dependency \"webpack@^3.1.0\".\nwarning \"@h5web/app > @h5web/lib > [email protected]\" has incorrect peer dependency \"react@^16.3.0 || ^17.0.0\".\nwarning \"@h5web/app > @react-three/fiber > [email protected]\" has incorrect peer dependency \"react@^17.0.2\".\nBrowserslist: caniuse-lite is outdated. Please run:\n npx update-browserslist-db@latest\n Why you should do it regularly: https://github.com/browserslist/update-db#readme\nBrowserslist: caniuse-lite is outdated. Please run:\n npx update-browserslist-db@latest\n Why you should do it regularly: h
@mvdbeek
mvdbeek / get_unsupported.py
Last active June 19, 2024 07:59
docker manifest inspect
import json
import subprocess
import time
from requests import Session
from galaxy.tool_util.deps.mulled.util import quay_versions
from galaxy.tool_util.deps.mulled.util import _get_namespace
@mvdbeek
mvdbeek / example.py
Created June 14, 2024 13:49
create api key example
# Run from galaxy root with PYTHONPATH=lib GALAXY_CONFIG_FILE=config/galaxy.yml python example.py
import os
from scripts.db_shell import config
from galaxy.celery import get_galaxy_app
from galaxy.managers.api_keys import ApiKeyManager
EMAIL = "[email protected]"
os.environ["GALAXY_CONFIG_FILE"] = os.environ.get("GALAXY_CONFIG_FILE", config["config_file"])
@mvdbeek
mvdbeek / delete_histories_without_user_and_history_items.sql
Created March 13, 2024 11:50
delete first 100 user and history-item-less histories
BEGIN;
-- Clean up pgcleanup table
DELETE FROM cleanup_event_history_association WHERE cleanup_event_history_association.history_id IN (SELECT id FROM history WHERE history.user_id is null AND history.hid_counter = 1 ORDER BY history.update_time LIMIT 100);
-- Clean up audit table
DELETE FROM history_audit WHERE history_audit.history_id IN (select id from history where history.user_id is null and history.hid_counter = 1 ORDER BY history.update_time LIMIT 100);
-- Cleanup galaxy_session_to_history
DELETE FROM galaxy_session_to_history WHERE galaxy_session_to_history.session_id IN (SELECT galaxy_session.id FROM galaxy_session WHERE galaxy_session.current_history_id IN (SELECT history.id FROM history WHERE history.user_id is null AND history.hid_counter = 1 ORDER BY history.update_time LIMIT 100));
-- Clean up galaxy_session
DELETE FROM galaxy_session WHERE galaxy_session.current_history_id IN (select id from history where history.user_id is null AND history.hid_counter = 1 ORDER BY history.update_time LIMIT 10