본문 바로가기

Contact English

【생물정보학】 Seurat와 scanpy의 비교

 

Seurat와 scanpy의 비교

 

추천글 : 【생물정보학】 생물정보학 분석 목차 


1. 일반적인 Seurat 데이터 입력 [본문]

2. 일반적인 scanpy 데이터 입력 [본문]


 

1. 일반적인 Seurat의 데이터 입력 [목차]

경우 1. .h5 파일이 있는 경우

 

library(dplyr)
library(Seurat)
pbmc.data <- Read10X(data.dir = "filtered_gene_bc_matrices/hg19/")

 

경우 2. barcodes.tsv, genes.tsv, matrix.mtx이 있는 경우

 

library(dplyr)
library(Seurat)
pbmc.data <- Read10X(data.dir = "filtered_gene_bc_matrices/hg19/")

 

① genes.tsv 대신 features.tsv가 있어서 문제가 생기는 경우 해당 파일의 이름을 genes.tsv로 바꿈

경우 3. 입력 파일이 .mtx 파일이 아니라 .rds 파일인 경우 

 

library(dplyr)
library(Seurat)
data <- readRDS("C:/Users/sun/Desktop/GSM4557327_555_1_cell.counts.matrices.rds", refhook = NULL)

 

 

2. 일반적인 scanpy 데이터 입력 [목차]

⑴ 주요 함수 

scanpy.read 

scanpy.read_10x_h5 

scanpy.read_10x_mtx 

scanpy.read_visium 

scanpy.read_h5ad 

scanpy.read_csv 

scanpy.read_excel 

scanpy.read_hdf 

scanpy.read_loom 

scanpy.read_mtx 

scanpy.read_text 

scanpy.read_umi_tools 

⑵ scRNA-seq 오픈 데이터셋 입력

 

import scanpy as sc
import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt 
import da_cellfraction
from utils import random_mix
from sklearn.manifold import TSNE

adata_cortex = sc.read_csv('GSE115746_cells_exon_counts.csv').T
adata_cortex_meta = pd.read_csv('GSE115746_complete_metadata_28706-cells.csv', index_col=0)

adata_cortex_meta_ = adata_cortex_meta.loc[adata_cortex.obs.index,]

adata_cortex.obs = adata_cortex_meta_
adata_cortex.var_names_make_unique()

#Preprocessing
adata_cortex.var['mt'] = adata_cortex.var_names.str.startswith('Mt-')  # annotate the group of mitochondrial genes as 'mt'
sc.pp.calculate_qc_metrics(adata_cortex, qc_vars=['mt'], percent_top=None, log1p=False, inplace=True)

sc.pp.normalize_total(adata_cortex)

#PCA and clustering : Known markers with 'cell_subclass'
sc.tl.pca(adata_cortex, svd_solver='arpack')
sc.pp.neighbors(adata_cortex, n_neighbors=10, n_pcs=40)
sc.tl.umap(adata_cortex)
sc.tl.leiden(adata_cortex, resolution = 0.5)
sc.pl.umap(adata_cortex, color=['leiden','cell_subclass'])

 

⑶ ST 오픈 데이터셋 입력

 

import scanpy as sc
import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt 
import da_cellfraction
from utils import random_mix
from sklearn.manifold import TSNE

sc.logging.print_versions()
sc.set_figure_params(facecolor="white", figsize=(8, 8))
sc.settings.verbosity = 3

adata_spatial_anterior = sc.datasets.visium_sge(
    sample_id="V1_Mouse_Brain_Sagittal_Anterior"
)
adata_spatial_posterior = sc.datasets.visium_sge(
    sample_id="V1_Mouse_Brain_Sagittal_Posterior"
)

#Normalize
for adata in [
    adata_spatial_anterior,
    adata_spatial_posterior,
]:
    sc.pp.normalize_total(adata, inplace=True)

 

입력: 2023.11.10 17:23