π¦ ClawHub
In Silico Perturbation Oracle
by @aipoch-ai
Virtual gene knockout simulation using foundation models to predict transcriptional changes
π‘ Examples
Quick Start
# Single gene knockout prediction
python scripts/main.py \
--model geneformer \
--genes TP53,BRCA1,EGFR \
--cell-type "lung_adenocarcinoma" \
--output ./results/Batch target screening
python scripts/main.py \
--model scgpt \
--genes-file ./target_genes.txt \
--cell-type "hepatocyte" \
--top-k 20 \
--pathways KEGG,GO_BP \
--output ./results/
Python API
from in_silico_perturbation_oracle import PerturbationOracleInitialize Oracle
oracle = PerturbationOracle(
model_name="geneformer",
cell_type="cardiomyocyte"
)Execute virtual knockout
results = oracle.predict_knockout(
genes=["MYC", "KRAS", "BCL2"],
perturbation_type="complete_ko", # Complete knockout
n_permutations=100
)Get differentially expressed genes
degs = results.get_differential_expression(
pval_threshold=0.05,
logfc_threshold=1.0
)Pathway enrichment analysis
pathways = results.enrich_pathways(
database=["KEGG", "GO_BP"],
top_n=10
)Target scoring
target_scores = results.score_targets()
print(target_scores.head(10))
βοΈ Configuration
# Python dependencies
pip install -r requirements.txt
π Tips & Best Practices
1. Experimental Design Recommendations
# Recommended: Combinatorial knockout screening
results = oracle.predict_combinatorial_ko(
gene_pairs=[
("BCL2", "MCL1"),
("PIK3CA", "PTEN")
],
synergy_threshold=0.3
)Recommended: Dose-response simulation
results = oracle.predict_dose_response(
gene="MTOR",
doses=[0.25, 0.5, 0.75, 0.9], # Partial knockout ratios
)
2. Wet Lab Integration
# Export wet lab validation recommendations
oracle.export_validation_guide(
top_targets=10,
include_controls=True,
format="lab_protocol"
)
3. Quality Control
TERMINAL
clawhub install in-silico-perturbation-oracle-1