seurat_반복 구문 코드 만들기

 

#내가 input하고 싶은 데이터의 폴더 한꺼번에 로딩
#이미 경로 설정 완료한 이후(setwd) 폴더 이름만을 변경

data_dirs <- list("HT01/", "HT02/", "HT03/", "HT04/","HT05/", "HT06/", "HT07/", "HT08/")

#불러오는 파일들 순으로 데이터 설정 - 추후 그림화 하면, 지금 설정해준 이름으로 보임

projects <- c("1", "2", "3", "4","5", "6", "7", "8")


#코드 설명
#Iapply는 뒤에 지정할 함수를 적용하는 역할
#1:length(data_dirs)는 1부터 data_dirs에 해당하는 데이터의 개수만큼 숫자 벡터 생성
#funtion(i) 1,2,3 순서대로 i에 대입
#{} 중괄호 안에 있는 함수 시행
#return() funtion(i)에 끝까지 수행하기 전까지 이 코드 반환 (반복)

seurat_list <- lapply(1:length(data_dirs), function(i) {

  data <- Read10X(data.dir = data_dirs[[i]])

  seurat_obj <- CreateSeuratObject(counts = data$`Gene Expression`, project = project[i], 

                                   min.cells = 3, min.features = 200)

  seurat_obj <- NormalizeData(seurat_obj)

  return(seurat_obj)

})


#merge는 병합하는 함수
#seruat_list[[1]]는 첫 번째 vector(객체)를 기준으로 병합함을 의미
y=seurat_list[-1] 는 첫 번째를 제외한 나머지 모두를 의미

A <- merge(seurat_list[[1]], y = seurat_list[-1], + add.cell.ids = c("A", "B", "C", "D","E", "F", "G", "H"))


댓글

이 블로그의 인기 게시물

#single cell sequencing 기초 분석 - #1 R 설치 및 package 설치

리눅스 기초 #10 GATK calling을 사용하기 위하여, reference file indexing하는 방법

Single cell 분석을 위한 package 소개