bulk-rna-seq-batch-correction-with-combat
Use omicverse's pyComBat wrapper to remove batch effects from merged bulk RNA-seq or microarray cohorts, export corrected matrices, and benchmark pre/post correction visualisations.
Installation
Pick a client and clone the repository into its skills directory.
Installation
About this skill
Use omicverse's pyComBat wrapper to remove batch effects from merged bulk RNA-seq or microarray cohorts, export corrected matrices, and benchmark pre/post correction visualisations.
How to use
Zainstaluj omicverse i wymagane biblioteki (anndata, pandas, matplotlib). Skill wymaga dostępu do funkcji
ov.bulk.batch_correction()z pakietu omicverse.Przygotuj swoje dane: wczytaj każdą macierz ekspresji osobno za pomocą
pd.read_pickle()lubpd.read_csv(). Upewnij się, że wiersze to geny, a kolumny to próbki. Każdą macierz opakuj w obiektanndata.AnnDatai przypisz kolumnębatchwadata.obsz etykietą batch'u (np. '1', '2', '3' lub opisowe nazwy jak 'lab_A', 'lab_B').Połącz macierze na wspólnych genach: użyj
anndata.concat([adata1, adata2, adata3], merge='same'), aby zachować tylko geny obecne we wszystkich batch'ach. Zweryfikuj, że liczba próbek na batch jest zbilansowana.Uruchom korekcję ComBat: wykonaj
ov.bulk.batch_correction(adata, batch_key='batch'). Wartości skorygowane będą przechowywane wadata.layers['batch_correction'], podczas gdy oryginalne dane pozostaną wadata.X.Eksportuj wyniki: wyodrębnij macierz surowych danych za pomocą
adata.to_df().Ti macierz skorygowaną za pomocąadata.to_df(layer='batch_correction').T. Zapisz obie macierze jako pliki CSV lub pickle do dalszej analizy.Porównaj efekt korekcji: wygeneruj wizualizacje przed i po korekcji (np. PCA, heatmapy), aby potwierdzić, że efekty batch'u zostały usunięte bez utraty biologicznego sygnału.