Sign in

Malte Kuehl

@maltekuehl.com
296 followers 733 following 79 posts

Computational medicine @ AU Medical education @ KH Biotechnology Creator of spatiomic, pytximport and BioContextAI Interested in spatial omics, cancer & ageing Science: github.com/complextissue Personal: maltekuehl.com Opinions my own.

PostsRepliesMedia
Malte Kuehl @maltekuehl.com · 29/07/2025
You can also easily add it to existing chatbots like Claude Desktop, VS Code and others. Find out how in our README: github.com/biocontext-a...
Example Claude Desktop conversation, asking for summarized information from InterPro for human CREB1 with the chatbot using BioContextAI Knowledgebase MCP tools to answer the query.
100
Malte Kuehl @maltekuehl.com · 29/07/2025
If you would like to explore how MCP servers might be helpful for your work, we provide a reference server called "Knowledgebase MCP" that integrates UniProt, STRING, PRIDE, InterPro, ClinicalTrials, EuropePMC and many more sources. You can start chatting at: biocontext.ai/chat
Example chat interaction, asking the chatbot for PRIDE studies looking into AIFM1, with a list provided after calling a tool from the MCP server.
100
Malte Kuehl @maltekuehl.com · 29/07/2025
Preprint alert 🚨 Do you use chatbots in your work or even build MCP servers and agentic systems yourself? Or would you like to find a way to use biomedical tools using natural language? Then check out biocontext.ai, now out on bioRxiv: www.biorxiv.org/content/10.1...
Diagram showing MCP-enabled research architecture. Part A illustrates the flow between MCP servers (including BioContextAI Knowledgebase MCP and Community-developed MCP servers), Agentic systems connected via Model Context Protocol, and researchers asking research questions. MCP servers connect to knowledgebases and specialized software. Part B details the BioContextAI project components, divided into Registry (Schema.org ontology, Web interface, Open source licensing, MCP-enabled chatbot, Continuous integration) and Community (Documentation, Community forums, MCP server reviews, Shareable collections, Interoperability with tools like BioChatter).
11410
Malte Kuehl @maltekuehl.com · 18/07/2025
And even before histologically or clinically detectable disease, PathoPlex was able to detect several changes at the molecular level in young adults with early-onset type 2 diabetes and profile the effect of SGLT2i administration on renal metabolism and signalling.
Pixel-clustered glomerular images from patients with and without diabetes, and with and without SGLT2i treatment
100
Malte Kuehl @maltekuehl.com · 18/07/2025
In a cohort of patients with advanced diabetic kidney disease, our antibody panel of 61 markers led to the identification of tubular calcium signalling as a potential target for pharmacological intervention 💊
Upregulation of a calcium-signalling associated cluster in advanced diabetic kidney disease
100
Malte Kuehl @maltekuehl.com · 18/07/2025
In a multimodal cross species validation experiment guided by PathoPlex, we were able to characterize pJUN mediated signalling in PECs as a key feature of disease.
Upregulation of pJUN in cGN, shown as a volcano plot
100
Malte Kuehl @maltekuehl.com · 18/07/2025
A key use case unlocked by spatiomic is pixel-level clustering of protein co-expression patterns. This not only looks beautiful, but combined with confocal microscopy also enables truly subcellular image analysis 🖥️
Pixel-based clusters for an image of a mouse glomerulus
100
Malte Kuehl @maltekuehl.com · 18/07/2025
On the image analysis side, we developed a new GPU-accelerated Python package termed "spatiomic". It is available through PyPi with documentation and a full example notebook available at: spatiomic.org Code is available at: github.com/complextissu...
spatiomic logo, showing colored pixels and the name
100
Malte Kuehl @maltekuehl.com · 18/07/2025
Our imaging protocol builds on 4i (Gut et al., 2018) but scales it to > 100 proteins in pathology specimens. We optimise tissue stability through the use of APTES as a coating agent and achieve high throughput through 3D-printed tissue chambers that can fit 40+ samples and prevent pipetting errors.
Schematic overview of an iterative elution-based multiplexed immunofluorescence protocol
110
Malte Kuehl @maltekuehl.com · 18/07/2025
PathoPlex represents a flexible framework that leverages off-the-shelf antibodies and covers both multiplex imaging as well as image analysis at a subcellular resolution. Let's go through the parts 🚀
PathoPlex logo (showing the letters of its name with pixel-level clusters)
100
Malte Kuehl @maltekuehl.com · 29/11/2024
Of course, you can also use pytximport from within Python with an easy-to-learn API. (8/12)
Python code to use pytximport:
from pytximport import tximport
from pytximport.utils import create_transcript_to_gene_map

tx2gene = create_transcript_to_gene_map(
    species="human".
    target_field="external_gene_name",
)

txi = tximport(
    [" ./quant.sf"],
    data_type="salmon",
    transcript_gene_map=tx2gene,
    counts_from_abundance="length_scaled_tpm",
)
100
Malte Kuehl @maltekuehl.com · 29/11/2024
With pytximport and tools like fastp by Shifu Chen, kallisto by the @lpachter.bsky.social lab and gget by @lauraluebbert.com et al, running a bulk RNA-sequencing analysis is now a 10 line bash script. (7/12)
Code for RNAseq analysis:
# get example data from the European Nucleotide Archive
wget -nc ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR105/088/SRR10574388/SRR10574388_1.fastq.gz
wget -nc ftp://ftp.sra.ebi.ac.uk/vol1/fastq/SRR105/088/SRR10574388/SRR10574388_2.fastq.gz

# get the human genome reference files from Ensembl with gget
gget ref -d -w cdna,gtf homo_sapiens

# create a transcript-to-gene mapping with pytximport
pytximport create-map -i ./Homo_sapiens.GRCh38.113.gtf.gz -o tx2gene.csv --target-field gene_name

# preprocess your FASTQ files with fastp
fastp -i SRR10574388_1.fastq.gz -I SRR10574388_2.fastq.gz -o SRR10574388_1.fastq.gz -O SRR10574388_1.fastq.gz

# quantify the reads with kallisto
kallisto index -i index.idx Homo_sapiens.GRCh38.cdna.all.fa.gz
kallisto quant -i index.idx -o ./SRR10574388 --paired-end SRR10574388_1.fastq.gz SRR10574388_1.fastq.gz

# correct for isoform-usage bias, summarize at the gene-level and save as AnnData (or .csv)
pytximport -i ./SRR10574388/ -t kallisto -m tx2gene.csv -o ./counts.h5ad

# run your downstream analysis
python differential_gene_expression.py
122
Malte Kuehl @maltekuehl.com · 29/11/2024
Coding in Python and looking to perform bulk RNA sequencing analysis? With pytximport recently published in Bioinformatics and version 0.11.0 out today with many improvements, it’s time for my first Bluetorial! A thread 🧵 (1/12)
Figure 1 from the pytximport manuscript. Overview of the pytximport package and its associated RNA sequencingworkflow. a) pytximport package. pytximport is available for use as a Python library orfrom the command line. It can be configured to either output AnnData objects forintegration with other scverse ecosystem software or xarray datasets. Common applicationsfor pytximport include gene count estimation from transcript quantification files, isoform-usage bias correction, filtering of transcript-level data and creation of transcript-to-genemappings. b) Pythonic RNA sequencing analysis workflow. We propose a reproducibleRNA-seq analysis workflow based on command-line software available through Bioconda(yellow line: Snakemake, fastp, Salmon) and scverse ecosystem Python packages (greenline: pytximport, PyDESeq2, decoupleR). c) Comparison with tximport. Counts frompytximport match counts from tximport exactly across different quantification modes andinput files from different transcript quantification tools. RSEM-g: RSEM gene-level input.RSEM-t: RSEM transcript-level input.
23313