Communitygithub.com

pkpd-modellierung

Pharmakokinetische und pharmakodynamische Modellierung und Simulation – für nicht-kompartimentelle Analyse, Kompartiment- und Populations-PK, PK/PD und Expositions-Wirkungs-Beziehungen, TMDD, PBPK-Orientierung, Bioäquivalenz, allometrische Skalierung und Erstdosis am Menschen, Wirkstoffinteraktionsvorhersage und Bayesianisches Therapeutisches Drug Monitoring.

Was ist pkpd-modellierung?

Dieses Skill ermöglicht die umfassende Analyse von Konzentrations-Zeit-Daten in der Pharmakokinetik (PK) und Pharmakodynamik (PD). Es bietet eine Reihe spezialisierter Skripte für Aufgaben wie nicht-kompartimentelle Analyse (NCA), kompartimentelles Fitten, Populations-PK-Datenprüfung, Bioäquivalenzbewertung, allometrische Skalierung für pädiatrische Dosen und Erstdosis am Menschen, statische Wirkstoffinteraktionsvorhersage (DDI) sowie Bayesianisches Therapeutisches Drug Monitoring (TDM). Es ist plattformunabhängig und wird über die Kommandozeile gesteuert. Die Werkzeuge sind so konzipiert, dass sie die zugrunde liegenden Annahmen und Einschränkungen explizit machen, um Fehlinterpretationen zu vermeiden. Der Fokus liegt auf Diagnose und Strukturierung der Analyse, nicht auf endgültigen regulatorischen oder klinischen Entscheidungen. Das Skill beinhaltet zudem zwei private Module mit geteilter Funktionalität für analytische Lösungen und I/O.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/K-Dense-AI/scientific-agent-skills/tree/main/skills/pkpd-modeling

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Pharmakokinetische und Pharmakodynamische Modellierung

Wann anwenden

Jede Frage dazu, was der Körper mit einem Wirkstoff macht oder was der Wirkstoff mit dem Körper macht: Ableitung von Expositionsmetriken aus Konzentrations-Zeit-Daten, Anpassen eines Strukturmodells, Aufbauen oder Überprüfen einer Populationsanalyse, Auswahl einer Dosis oder eines Dosierungsschemas, Verknüpfung von Exposition und Wirkung, Vergleich von Formulierungen oder Skalierung auf eine neue Population.

Die drei Regeln

1. Lege die Expositionsmetrik und die Analysepopulation fest, bevor irgendetwas berechnet wird. AUC(0-t), AUC(0-inf), AUC(0-tau) im Steady State und Cavg sind unterschiedliche Größen und beantworten unterschiedliche Fragen. Das gilt auch für AUCinf basierend auf beobachtetem versus vorhergesagtem Clast. Die Wahl erst nach dem Betrachten der Zahlen zu treffen, ist der Grund, warum aus einer negativen Studie eine positive wird.

2. Strukturmodell, Variabilitätsmodell und Kovariatenmodell sind drei getrennte Entscheidungen. Sie werden ständig vermischt – ein zusätzliches Kompartiment, das hinzugefügt wird, um eigentlich unmodellierte Variabilität zwischen Gelegenheiten aufzunehmen, eine Kovariate, die hinzugefügt wird, um eine eigentlich falsch spezifizierte Absorption zu korrigieren. Diagnostiziere, welches falsch ist, bevor du eines von ihnen änderst.

3. Konvergenz ist nicht gleich Identifizierbarkeit. Ein Fit, der mit einem relativen Standardfehler von 200% für einen Parameter oder einer Korrelation von 0,99 zwischen zweien konvergiert, zeigt an, dass die Daten sie nicht trennen können. Jedes Fitting-Skript hier meldet beide und markiert sie, denn die Parameter-Tabelle allein sieht in genau dieser Situation gut aus.

Anwendungsbereich

Dieses Skill berechnet, diagnostiziert und strukturiert. Es entscheidet nicht darüber, ob eine Formulierung bioäquivalent ist, wählt keine Dosis für eine Studie aus, empfiehlt keine Dosis für einen Patienten, zieht nicht den Schluss, dass ein Wirkstoff keine QT-Verlängerung verursacht, und ersetzt keinen qualifizierten Pharmakometriker, klinischen Pharmakologen oder die regulatorische Prüfung. Die Skripte berichten; keines von ihnen schlussfolgert. tdm_bayes.py ist insbesondere eine Modellierungshilfe – jede Änderung des Therapieschemas eines Patienten liegt in der Verantwortung des behandelnden Arztes.

Skripte

cd skills/pkpd-modellierung/scripts
SkriptBeantwortete Frage
nca.pyWas sind die Expositionsmetriken, und ist die terminale Phase gut genug, um sie zu berichten?
fit_compartmental.pyWelches Strukturmodell wird von diesen Daten gestützt, und sind seine Parameter identifizierbar?
simulate_regimen.pyWas bewirkt dieses Schema im Steady State und bei welchem Anteil der Population?
check_popk_dataset.pyWird NONMEM diesen Datensatz so lesen, wie ich es denke?
exposure_response.pyGibt es eine Expositions-Wirkungs-Beziehung, und liegt das Plateau in den Daten?
bioequivalence.pyErfüllt das 90%-KI das Kriterium, und welches Kriterium kommt zur Anwendung?
allometry_and_fih.pyWas ist die Anfangsdosis oder die Dosis in einer kleineren/jüngeren Population?
ddi_static.pyLösen die In-vitro-Daten eine klinische DDI-Studie gemäß ICH M12 aus?
tdm_bayes.pyWas sind die individuellen Parameter dieses Patienten aus seinen gemessenen Spiegeln?

Alle akzeptieren --format table|tsv|json. Daten gehen nach stdout, Provenienz und Befunde nach stderr, sodass sie mit > out.tsv getrennt bleiben. Der Exit-Code ist 0 für keine Befunde, 1 wenn Befunde gemeldet wurden, 2 für fehlerhafte Eingabe, sodass jedes von ihnen einen Workflow steuern kann.

Zwei private Module enthalten die gemeinsame Funktionalität: _models.py (analytische Lösungen für lineare mammilläre Modelle, plus integrierte Michaelis-Menten-, TMDD- und indirekte Antwortstrukturen) und _common.py (E/A und Berichterstattung). Importiere sie, anstatt eine Bateman-Funktion neu herzuleiten.

Workflow

1. Nicht-kompartimentelle Analyse

python3 nca.py -i profil.csv --dosis 100 --applikation extravaskulär --partial-auc 0-24

Vier Entscheidungen bestimmen das Ergebnis und werden normalerweise implizit gelassen. Dieses Skript macht alle vier explizit: --auc-methode (Standard linup-logdown), --blq-regel, --lambda-z-punkte oder ein explizites --lambda-z-fenster, und ob Sie auc_inf_obs oder auc_inf_pred berichten.

Die Lambda_z-Auswahl verwendet die Standardregel: Beginne mit den letzten drei quantifizierbaren Punkten, erweitere rückwärts, behalte das längere Fenster nur, wenn sich das korrigierte R² um mehr als 0,0001 verbessert. Das einfache R² kann nur steigen, wenn Punkte hinzugefügt werden, daher würde es immer das längste Fenster wählen. Punkte bei oder vor Tmax sind nie zulässig – die Einbeziehung von Tmax passt den Absorptionsschwanz an und verzerrt Halbwertszeit, Vz und AUCinf nach unten.

Auf einem rauschfreien simulierten Ein-Kompartiment-oralen Profil mit CL/F = 5, V/F = 20, ka = 1,2:

id  cmax     tmax  auc_last  lambda_z  t_half   r2_adj  auc_inf_obs  pct_auc_extrap  cl_f     vz_f
1   3.29678  1.5   19.8737   0.25      2.77259  1       19.8739      0.000781037     5.03173  20.1269

Die 0,6% Überschätzung der CL/F ist die Trapezregel bei einer dünn besetzten Absorptionsphase, kein Fehler – es ist die unvermeidbare Verzerrung der NCA bei diesem Abtastplan, und es ist der Grund, warum NCA- und Kompartiment-Schätzungen der Clearance nie genau übereinstimmen.

Die Befunde sind der Punkt. Ein Steady-State-Profil, das bei tau abgeschnitten ist, erzeugt:

befund: Subjekt A: 25,2% der AUCinf werden extrapoliert (über 20%); die AUCinf wird durch den
         Lambda_z-Fit bestimmt, nicht durch Daten
befund: Subjekt A: Das Lambda_z-Fenster umfasst 0,58 Halbwertszeiten (unter 2,0); die terminale
         Phase wurde möglicherweise nicht erreicht

Beide sind korrekt und beide werden routinemäßig ignoriert. Im Steady State ist die berichtbare Expositionsmetrik AUC(0-tau), nicht AUCinf; das Skript berechnet AUCinf trotzdem und teilt mit, dass man ihr nicht vertrauen soll.

2. Kompartimentelles Fitten und Modellauswahl

python3 fit_compartmental.py -i profil.csv --dosis 500 --applikation iv-bolus --vergleiche 1cmt,2cmt,3cmt

Parameter werden auf der logarithmischen Skala geschätzt, sodass sie nicht negativ werden können und ihre Konfidenzintervalle asymmetrisch ausfallen. Die Gewichtung ist standardmäßig 1/y2 (konstanter CV), was die richtige Voreinstellung für PK und die falsche für einen homoskedastischen PD-Endpunkt ist.

Fitten von simulierten Zwei-Kompartiment-Daten (CL 4, V1 12, Q 6, V2 40, 8% proportionaler Fehler):

modell  parameter  wssr       aic       bic       f_vs_einfacher  f_p_wert    verglichen_mit
1cmt    2          3.13201    -19.4956  -18.0795  n/a             n/a         n/a
2cmt    4          0.0309579  -84.7477  -81.9155  550.936         9.38016e-12 1cmt
3cmt    6          0.0232859  -85.0193  -80.771   1.4826          0.27762     2cmt

AIC wählt das Drei-Kompartiment-Modell. BIC und der F-Test lehnen es beide ab. AICs feste Strafe von 2 pro Parameter ist bei dieser Stichprobengröße schwach, und es wählt das überparametrisierte Modell häufiger, als Praktiker erwarten. Die Parametertabelle klärt es:

befund: fit: Q3 hat 98% RSE – aus diesen Daten bei dieser Modellgröße nicht schätzbar
befund: fit: V3 hat 71% RSE – aus diesen Daten bei dieser Modellgröße nicht schätzbar

Der Ein-Kompartiment-Fit erhält derweil:

befund: fit: Residuenvorzeichen sind nicht zufällig (Runs-Test p = 0,0036) – eine strukturelle
         Fehlspezifikation, die keine Neugewichtung beheben wird

Diese Unterscheidung – strukturelle Fehlspezifikation versus falsches Fehlermodell – ist diejenige, die man richtig treffen muss. Ein Residuen-über-Zeit-Diagramm mit Läufen desselben Vorzeichens bedeutet, dass die Modellform falsch ist. Heteroskedastische Residuen mit zufälligen Vorzeichen bedeuten, dass die Gewichtung falsch ist. Die Neugewichtung des ersten Falls verbirgt es, ohne es zu beheben.

3. Populations-PK

Überprüfe den Datensatz, bevor du etwas ausführst. Hier geht die Zeit tatsächlich hin.

python3 check_popk_dataset.py -i nmdaten.csv --kovariaten WT,CRCL --zeitvariierend WT

Die Mängel, die zählen, sind die stillen. NM-TRAN lehnt eine nicht-numerische DV nicht ab – es liest BLQ als Null und passt es als echte Nullkonzentration an. Eine leere Kovariate wird zu 0, also wird ein fehlendes Körpergewicht zu einem 0 kg Patienten. ADDL ohne II platziert keine zusätzlichen Dosen. Datensätze, die denselben Zeitstempel teilen, werden in der Dateireihenfolge angewendet, sodass es davon abhängt, welche Zeile zuerst kam, ob ein Spiegel vor oder nach der Dosis liegt. Keines davon stoppt einen Lauf.

schweregrad  prüfung                            detail
fehler       nicht-numerische DV                DV enthält Text... NM-TRAN liest sie als 0
fehler       Subjekt ohne Dosis                 1 Subjekt(e) haben Beobachtungen, aber keine Dosis: 2
fehler       TIME nicht sortiert                1 Subjekt(e) haben nicht geordnete TIME: 1
fehler       Kovariate WT fehlt                 1 Datensatz/Datensätze haben keinen Wert...
warnung      doppelte TIME innerhalb eines Subjekts  NONMEM wendet sie in Dateireihenfolge an...

Für die eigentliche Schätzung implementiert dieses Skill NLME nicht neu – siehe references/populations-pk.md für Schätzmethoden, die BLQ-M1-M7-Methoden, den Kovariatenmodellaufbau und die Diagnostiken, die entscheiden, ob ein Modell akzeptabel ist, und references/software-oekosystem.md für das richtige Werkzeug.

4. Simulation und Schemaauswahl

python3 simulate_regimen.py --cl 5 --v 40 --dosis 500 --intervall 12 --n-dosen 10 --steady-state
python3 simulate_regimen.py --cl 5 --v 40 --dosis 500 --intervall 12 --n-dosen 10 \
    --simuliere 2000 --omega-cl 0.35 --omega-v 0.25 --ziel-tal 4.0

Deterministische Simulation beantwortet „wie sieht der typische Patient aus“, was fast nie die Frage ist:

metrik             p5        p25      median   p75      p95      geo_mean
spitze             11.861    14.6018  16.6702  19.1476  22.9339  16.6453
tal                0.863226  2.15191  3.64412  5.49655  9.21053  3.27035

ziel       anteil_erreichend
tal >= 4   0.444

Der typische Talwert ist 3,6 und das Ziel ist 4, also erreichen 44% der Population es. Ein Schema, das auf den typischen Patienten abgestimmt ist, lässt etwa die Hälfte der Population auf der falschen Seite des Ziels. Die berichtete Zielerreichung ist hier noch optimistisch: Dies ist nur die Variabilität zwischen den Subjekten, ohne residuale oder zwischengelegene Komponente.

Lineare Modelle werden analytisch gelöst und überlagert, was exakt ist. --nichtlinear schaltet auf integrierte Michaelis-Menten-Elimination um, bei der die Superposition ungültig ist und das Verhalten bei Mehrfachdosen überhaupt nicht aus einer Einzeldosis abgeleitet werden kann.

5. Expositions-Wirkung

python3 exposure_response.py --emax -i er.csv --sigmoid
python3 exposure_response.py --cqtc -i qt.csv --cmax 250

Der Emax-Fit meldet anteil_emax_erreicht und markiert einen Fit, dessen Plateau außerhalb der Daten liegt. Wenn die höchste beobachtete Exposition nur ein Drittel des geschätzten Emax erreicht, sind Emax und EC50 Extrapolationen, die stark miteinander korreliert sind; sie als unabhängige Schätzwerte anzugeben, ist nicht haltbar, und eine „lineare“ Expositions-Wirkung ist einfach der Nieder-Konzentrations-Ast derselben Kurve.

--cqtc bewertet die Obergrenze des zweiseitigen 90%-Konfidenzintervalls der vorhergesagten Placebo-korrigierten Änderung des QTc gegenüber dem Ausgangswert im Vergleich zum 10-ms-Schwellenwert, was die Frage ist, die ICH E14 tatsächlich stellt. Eine Punktschätzung oder ein 95%-Intervall beantwortet eine andere. Das gebündelte Modell ist eine gewöhnliche lineare Regression zum Screening; eine einreichungsreife C-QTc-Analyse benötigt ein gemischtes Modell mit zufälligem Achsenabschnitt und Steigung pro Subjekt.

Jeder Modus enthält denselben Vorbehalt, weil es derjenige ist, der vergessen wird: Patienten werden randomisiert auf die Dosis, nicht auf die Exposition. Die Expositions-Wirkung über Quantile hinweg ist selbst innerhalb einer randomisierten Studie beobachtend und kann die Kovariaten widerspiegeln, die die Clearance antreiben.

6. Bioäquivalenz

python3 bioequivalence.py -i be.csv --design 2x2 --metrik AUC
python3 bioequivalence.py -i be.csv --design replicate --metrik Cmax --skalierung beide
python3 bioequivalence.py --power --cv 0.30 --gmr 0.95 --ziel-power 0.80

Drei Kriterien teilen das Wort „Bioäquivalenz“ und sind nicht austauschbar: durchschnittliche BE (90%-KI innerhalb von 80,00-125,00%), EMAs ABEL (Grenzen erweitert als Funktion des CVwR, gedeckelt bei 69,84-143,19%, Punktschätzung immer noch innerhalb von 80-125%) und FDAs RSABE (eine skalierte linearisierte Grenze mittels Hyslops Methode, überhaupt kein Intervall). --skalierung weigert sich, bei einem 2x2-Design zu laufen:

fehler: Referenzskalierung erfordert --design replicate. Hohe beobachtete Variabilität in einer
2x2-Studie berechtigt nicht zur Erweiterung: Ohne wiederholte Referenzapplikationen gibt es
keine Schätzung der Innersubjekt-Referenzvariabilität, auf die skaliert werden könnte.

Der Stichprobenumfang reproduziert die veröffentlichten Tabellen exakt (CV 30%, GMR 0,95, 80% Power → N = 40 für eine 2x2). Die Power wird durch Integration über die Stichprobenverteilung der geschätzten Standardabweichung berechnet, anstatt den Standardfehler als bekannt zu behandeln – die Normalapproximation überschätzt die Power bei realistischen Stichprobengrößen. Beachte, dass N weitaus mehr vom angenommenen GMR als vom CV getrieben wird; die Annahme von 1,00 anstelle von 0,95 halbiert das berechnete N grob und ist der übliche Grund, warum eine BE-Studie zu wenig Power hat.

7. Skalierung, Pädiatrie und Erstdosis am Menschen

python3 allometry_and_fih.py --skaliere --cl 5 --gewicht-von 70 --gewicht-nach 6 --pma-wochen 44
python3 allometry_and_fih.py --fih --noael ratte=50,hund=10 --sicherheitsfaktor 10

Die Skalierung allein nach Größe unterhalb von etwa 2 Jahren überschätzt die Clearance, bei einem Neugeborenen um ein Mehrfaches, weil die Clearance durch die Enzym- und Nierenreifung und nicht durch die Größe begrenzt wird. Die Angabe von --pma-wochen fügt den sigmoidalen Reifungsterm nach Anderson-Holford hinzu; das Weglassen unter 20 kg führt zu einem Befund.

parameter  referenz  exponent  groessenskaliert  reifungsfaktor  end
CL         5         0.75      0.792063          0.30634         0.242641
V          40        1         3.42857           1               3.42857

Allein nach Größe würde 0,79 l/h vorhergesagt; mit Reifung bei 44 Wochen postmenstruellem Alter sind es 0,24 l/h, ein 3,3-facher Unterschied. Das Volumen ist nicht gereift – die Reifung beschreibt die Eliminationskapazität, nicht den Verteilungsraum.

--fih verwendet die Körperoberflächenumrechnung aus der FDA-Leitlinie von 2005 zur maximal sicheren Anfangsdosis und gibt immer einen Befund aus, dass eine MRSD basierend auf NOAEL allein für agonistische Immunmodulatoren nicht ausreicht: Berechne MABEL mit --mabel und nimm den niedrigeren Wert.

8. Wirkstoffinteraktionen

python3 ddi_static.py --basic --ki 0.5 --imax 2.0 --fu 0.05 --dosis 0.4
python3 ddi_static.py --msm --ki 0.5 --imax 2.0 --fu 0.05 --dosis 0.4 --fm 0.9 --fg 0.7

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

adaptyv

How to use the Adaptyv Bio Foundry API and Python SDK for protein experiment design, submission, and results retrieval. Use this skill whenever the user mentions Adaptyv, Foundry API, protein binding assays, protein screening experiments, BLI/SPR assays, thermostability assays, or wants to submit protein sequences for experimental characterization. Also trigger when code imports `adaptyv`, `adaptyv_sdk`, or `FoundryClient`, or references `foundry-api-public.adaptyvbio.com`.

aeon

This skill should be used for time series machine learning tasks including classification, regression, clustering, forecasting, anomaly detection, segmentation, and similarity search. Use when working with temporal data, sequential patterns, or time-indexed observations requiring specialized algorithms beyond standard ML approaches. Particularly suited for univariate and multivariate time series analysis with scikit-learn compatible APIs.

alphagenome

Look up precomputed AlphaGenome Atlas effects for any GRCh38 single-nucleotide variant (AVI score with Phred and 18 SHAP feature attributions, plus raw and quantile scores for RNA-seq, DNase, ATAC, ChIP-TF, ChIP-histone, CAGE, PRO-cap, splicing, polyadenylation and contact-map tracks), score variants or scan windows on demand with the AlphaGenome model for human and mouse (variant scoring, in silico mutagenesis, REF-versus-ALT track prediction), and build Atlas website deep links. Use when the user mentions AlphaGenome, AlphaGenome Atlas, AVI or AlphaGenome Variant Impact, DeepMind variant effect prediction, or wants to prioritise or mechanistically interpret non-coding, regulatory, splicing, enhancer, promoter, or chromatin-accessibility effects of SNVs from a VCF, credible set, or region. Research use only; not a clinical tool.

analytical-method-validation

Plan, execute, and document validation, verification, and transfer of analytical procedures under the governing framework - ICH Q2(R2) and Q14, USP <1220>/<1225>/<1226>, ICH M10 bioanalytical, CLSI EP, or ISO/IEC 17025. Use for HPLC, LC-MS/MS, GC, CE, ICP-MS, dissolution, qNMR, qPCR, NIR, and ligand binding or cell-based assays whenever the question is whether a procedure is fit for its intended purpose. Triggers include

anndata

Data structure for annotated matrices in single-cell analysis. Use when working with .h5ad files or integrating with the scverse ecosystem. This is the data format skill—for analysis workflows use scanpy; for probabilistic models use scvi-tools; for population-scale queries use cellxgene-census.

arbor

Autonomously improve a real artifact (code, training recipe, agent harness, data pipeline, prompt) against an objective and an evaluator, using Hypothesis Tree Refinement (HTR) from the Arbor paper. Use this whenever someone wants to iteratively optimize something over many experiments without overfitting — e.g.

arboreto

Infer gene regulatory networks (GRNs) from gene expression data using scalable algorithms (GRNBoost2, GENIE3). Use when analyzing transcriptomics data (bulk RNA-seq, single-cell RNA-seq) to identify transcription factor-target gene relationships and regulatory interactions. Supports distributed computation for large-scale datasets.

astropy

Core Python library for astronomy and astrophysics workflows that need Astropy APIs, including units/quantities, coordinates, FITS I/O, tables, time systems, WCS, and cosmology. Use when implementing or debugging astronomical data analysis code with Astropy.

autoskill

Observe the user

benchling-integration

Benchling Python SDK and REST API integration for registry entities, inventory, ELN entries, workflows, Benchling Apps, and Data Warehouse queries. Use when automating lab data with benchling-sdk or the v2 API.

bgpt-paper-search

Search scientific papers and retrieve structured experimental data extracted from full-text studies via the BGPT MCP server. Returns 25+ fields per paper including methods, results, sample sizes, quality scores, and conclusions. Use for literature reviews, evidence synthesis, and finding experimental details not available in abstracts alone.

bids

>

biopython

Comprehensive molecular biology toolkit. Use for sequence manipulation, file parsing (FASTA/GenBank/PDB), phylogenetics, and programmatic NCBI/PubMed access (Bio.Entrez). Best for batch processing, custom bioinformatics pipelines, BLAST automation. For quick lookups use gget; for multi-service integration use bioservices.

bioservices

Unified Python interface to 40+ bioinformatics services. Use when querying multiple databases (UniProt, KEGG, ChEMBL, Reactome) in a single workflow with consistent API. Best for cross-database analysis, ID mapping across services. For quick single-database lookups use gget; for sequence/file manipulation use biopython.

bulk-rnaseq

End-to-end bulk RNA-seq orchestrator — takes raw FASTQ reads through QC and trimming (FastQC, fastp/Trim Galore), alignment and quantification (STAR, Salmon, featureCounts), assembles a gene-level counts matrix, then hands off to differential expression (pydeseq2), pathway/GSEA enrichment (pathway-enrichment), and publication figures (scientific-visualization). Use whenever the user has bulk RNA-seq reads or quant output and wants a complete, reproducible differential-expression workflow — e.g.

cellxgene-census

Query the CZ CELLxGENE Census programmatically for versioned public single-cell and spatial transcriptomics data. Use when you need population-scale cell metadata, gene expression slices, Census summary counts, source H5AD URIs/downloads, embeddings, spatial Census data, or reference atlas comparisons across organisms, tissues, diseases, assays, and cell types. For analyzing your own local single-cell data use scanpy, anndata, or scvi-tools.

cirq

Google quantum computing framework. Use when targeting Google Quantum AI hardware, designing noise-aware circuits, or running quantum characterization experiments. Best for Google hardware, noise modeling, and low-level circuit design. For IBM hardware use qiskit; for quantum ML with autodiff use pennylane; for physics simulations use qutip.

citation-management

Comprehensive citation management for academic research. Search OpenAlex, PubMed, and Google Scholar for papers, extract accurate metadata, validate citations, and generate properly formatted BibTeX entries. This skill should be used when you need to find papers, verify citation information, convert DOIs to BibTeX, or ensure reference accuracy in scientific writing.

clinical-decision-support

Prepare and validate research-only clinical decision-support evaluation, evidence-profile, cohort, survival, biomarker/model, privacy, and governance artifacts. Use for aggregate or synthetic research documentation and traceability—not patient care or live clinical operation.

clinical-reports

Create safety-bounded draft structures and run local deterministic checks for clinical case, diagnostic, trial, safety, and aggregate research reports. Use only with synthetic, de-identified, or aggregate inputs and verified source-fact manifests; every output requires qualified review.

Verwandte Skills