bulktrajblend-trajectory-interpolation
Extend scRNA-seq developmental trajectories with BulkTrajBlend by generating intermediate cells from bulk RNA-seq, training beta-VAE and GNN models, and interpolating missing states.
Install
mkdir -p .claude/skills/bulktrajblend-trajectory-interpolation && curl -L -o skill.zip "https://mcp.directory/api/skills/download/2785" && unzip -o skill.zip -d .claude/skills/bulktrajblend-trajectory-interpolation && rm skill.zipInstalls to .claude/skills/bulktrajblend-trajectory-interpolation
About this skill
BulkTrajBlend trajectory interpolation
Overview
Invoke this skill when users need to bridge gaps in single-cell developmental trajectories using matched bulk RNA-seq. It follows t_bulktrajblend.ipynb, showcasing how BulkTrajBlend deconvolves PDAC bulk samples, identifies overlapping communities with a GNN, and interpolates "interrupted" cell states.
Instructions
- Prepare libraries and inputs
- Import
omicverse as ov,scanpy as sc,scvelo as scv, and helper functions likefrom omicverse.utils import mde; runov.plot_set(). - Load the reference scRNA-seq AnnData (
scv.datasets.dentategyrus()) and raw bulk counts withov.utils.read(...)followed byov.bulk.Matrix_ID_mapping(...)for gene ID harmonisation.
- Import
- Configure BulkTrajBlend
- Instantiate
ov.bulk2single.BulkTrajBlend(bulk_seq=bulk_df, single_seq=adata, bulk_group=['dg_d_1','dg_d_2','dg_d_3'], celltype_key='clusters'). - Explain that
bulk_groupnames correspond to raw bulk columns and the method expects unscaled counts.
- Instantiate
- Set beta-VAE expectations
- Call
bulktb.vae_configure(cell_target_num=100)(or pass a dictionary) to define expected cell counts per cluster. Mention that omitting the argument triggers TAPE-based estimation.
- Call
- Train or load the beta-VAE
- Use
bulktb.vae_train(batch_size=512, learning_rate=1e-4, hidden_size=256, epoch_num=3500, vae_save_dir='...', vae_save_name='dg_btb_vae', generate_save_dir='...', generate_save_name='dg_btb'). - Highlight resuming with
bulktb.vae_load('.../dg_btb_vae.pth')and the need to regenerate cells with consistent random seeds for reproducibility.
- Use
- Generate synthetic cells
- Produce filtered AnnData via
bulktb.vae_generate(leiden_size=25)and inspect compositions withov.bulk2single.bulk2single_plot_cellprop(...). - Save outputs to disk for reuse (
adata.write_h5ad).
- Produce filtered AnnData via
- Configure and train the GNN
- Call
bulktb.gnn_configure(max_epochs=2000, use_rep='X', neighbor_rep='X_pca', gpu=0, ...)to set hyperparameters. - Train using
bulktb.gnn_train(); reload checkpoints withbulktb.gnn_load('save_model/gnn.pth'). - Generate overlapping community assignments through
bulktb.gnn_generate().
- Call
- Visualise community structure
- Create MDE embeddings:
bulktb.nocd_obj.adata.obsm['X_mde'] = mde(bulktb.nocd_obj.adata.obsm['X_pca']). - Plot clusters vs. discovered communities using
sc.pl.embedding(..., color=['clusters','nocd_n'], palette=ov.utils.pyomic_palette())and filtered subsets excluding synthetic labels with hyphens.
- Create MDE embeddings:
- Interpolate missing states
- Run
bulktb.interpolation('OPC')(replace with target lineage) to synthesise continuity, then preprocess the interpolated AnnData (HVG selection, scaling, PCA). - Compute embeddings with
mde, visualise withov.pl.embedding, and compare to the original atlas.
- Run
- Analyse trajectories
- Initialise
ov.single.pyVIAon both original and interpolated data to derive pseudotime, followed byget_pseudotime,ov.pp.neighbors,ov.utils.cal_paga, andov.utils.plot_pagafor topology validation.
- Initialise
- Defensive validation
# Before BulkTrajBlend: verify bulk_group columns exist for g in bulk_group: assert g in bulk_df.columns, f"Bulk group '{g}' not in bulk data columns" # Verify celltype_key exists in reference assert celltype_key in adata.obs.columns, f"Cell type column '{celltype_key}' not in reference AnnData" # Verify gene name overlap shared = set(bulk_df.index) & set(adata.var_names) assert len(shared) > 100, f"Only {len(shared)} shared genes — harmonize gene IDs first" - Troubleshooting tips
- If the VAE collapses (high reconstruction loss), lower
learning_rateor reducehidden_size. - Ensure the same generated dataset is used before calling
gnn_train; regenerating cells changes the graph and can break checkpoint loading. - Sparse clusters may need adjusted
cell_target_numthresholds or a smallerleiden_sizefilter to retain rare populations.
- If the VAE collapses (high reconstruction loss), lower
Examples
- "Train BulkTrajBlend on PDAC cohorts, then interpolate missing OPC states in the trajectory."
- "Load saved beta-VAE and GNN weights to regenerate overlapping communities and plot cluster vs. nocd labels."
- "Run VIA on interpolated cells and compare PAGA graphs with the original scRNA-seq trajectory."
References
- Tutorial notebook:
t_bulktrajblend.ipynb - Example datasets and checkpoints:
omicverse_guide/docs/Tutorials-bulk2single/data/ - Quick copy/paste commands:
reference.md
More by Starlitnightly
View all skills by Starlitnightly →You might also like
flutter-development
aj-geddes
Build beautiful cross-platform mobile apps with Flutter and Dart. Covers widgets, state management with Provider/BLoC, navigation, API integration, and material design.
drawio-diagrams-enhanced
jgtolentino
Create professional draw.io (diagrams.net) diagrams in XML format (.drawio files) with integrated PMP/PMBOK methodologies, extensive visual asset libraries, and industry-standard professional templates. Use this skill when users ask to create flowcharts, swimlane diagrams, cross-functional flowcharts, org charts, network diagrams, UML diagrams, BPMN, project management diagrams (WBS, Gantt, PERT, RACI), risk matrices, stakeholder maps, or any other visual diagram in draw.io format. This skill includes access to custom shape libraries for icons, clipart, and professional symbols.
ui-ux-pro-max
nextlevelbuilder
"UI/UX design intelligence. 50 styles, 21 palettes, 50 font pairings, 20 charts, 8 stacks (React, Next.js, Vue, Svelte, SwiftUI, React Native, Flutter, Tailwind). Actions: plan, build, create, design, implement, review, fix, improve, optimize, enhance, refactor, check UI/UX code. Projects: website, landing page, dashboard, admin panel, e-commerce, SaaS, portfolio, blog, mobile app, .html, .tsx, .vue, .svelte. Elements: button, modal, navbar, sidebar, card, table, form, chart. Styles: glassmorphism, claymorphism, minimalism, brutalism, neumorphism, bento grid, dark mode, responsive, skeuomorphism, flat design. Topics: color palette, accessibility, animation, layout, typography, font pairing, spacing, hover, shadow, gradient."
godot
bfollington
This skill should be used when working on Godot Engine projects. It provides specialized knowledge of Godot's file formats (.gd, .tscn, .tres), architecture patterns (component-based, signal-driven, resource-based), common pitfalls, validation tools, code templates, and CLI workflows. The `godot` command is available for running the game, validating scripts, importing resources, and exporting builds. Use this skill for tasks involving Godot game development, debugging scene/resource files, implementing game systems, or creating new Godot components.
nano-banana-pro
garg-aayush
Generate and edit images using Google's Nano Banana Pro (Gemini 3 Pro Image) API. Use when the user asks to generate, create, edit, modify, change, alter, or update images. Also use when user references an existing image file and asks to modify it in any way (e.g., "modify this image", "change the background", "replace X with Y"). Supports both text-to-image generation and image-to-image editing with configurable resolution (1K default, 2K, or 4K for high resolution). DO NOT read the image file first - use this skill directly with the --input-image parameter.
fastapi-templates
wshobson
Create production-ready FastAPI projects with async patterns, dependency injection, and comprehensive error handling. Use when building new FastAPI applications or setting up backend API projects.
Related MCP Servers
Browse all serversExtend your developer tools with GitHub MCP Server for advanced automation, supporting GitHub Student and student packag
Explore official Google BigQuery MCP servers. Find resources and examples to build context-aware apps in Google's ecosys
Find official MCP servers for Google Maps. Explore resources to build, integrate, and extend apps with Google directions
Explore MCP servers for Google Compute Engine. Integrate model context protocol solutions to streamline GCE app developm
Explore Google Kubernetes Engine (GKE) MCP servers. Access resources and examples for context-aware app development in G
Empower your Unity projects with Unity-MCP: AI-driven control, seamless integration, and advanced workflows within the U
Stay ahead of the MCP ecosystem
Get weekly updates on new skills and servers.