이번 포스트에서는 data matrix 또는 data frame에서 원하는 유전자들만 정리해서 보고자 하는 경우가 있습니다. 한 개 유전자를 추출하는 방법과 여러 개 유전자를 추출하는 방법을 포스팅합니다.
원하는 유전자 추출하는 방법
1. R 프로그램 내로 데이터 로드하기 위한 디렉토리 지정하기
rm(list=ls() #새로운 분석을 시작하기 위해서 기존의 데이터들 삭제하기
cur_dir<-"분석하고자 하는 데이터가 있는 폴더 지정하기" #분석하고자 하는 디렉토리 지정하기
setwd(cur_dir)
[예시] "분석하고자 하는 데이터가 있는 폴더 지정하기" ▶ cur_dir<-"E:/Medulloblastoma_Project/Intertumoral_Heterogeneity_within_medulloblastoma_subgroups/GSE85217/"
2. 용량이 큰 텍스트 파일 로드하기
마이크로어레이나 omics를 이용해서 만들어지는 데이터들은 용량이 대부분 큰 파일입니다. 특수한 경우를 제외하고는 text (확장자: .txt)로 최종 결과물을 얻게 됩니다.
library(data.table) #용량이 큰 파일을 로드하기 위한 R 패키지
data<-fread("GSE85217_matrix.txt",sep="\t", header=TRUE, stringsAsFactors=FALSE)
fread 함수로 데이터를 로드하면 기존의 read.table( ), read.delim( ) 방법보다 빠르게 데이터를 R 프로그램 내로 로드할 수 있습니다.
3. 원하는 유전자 한 개 추출하기
library(dplyr)
data <- data %>% filter(ID_REF == 'ENSG00000184486_at')
현재 데이터는 'data'라는 변수에 로드되어져 있기 때문에 'data'에서 원하는 행의 유전자 id를 입력하면 원하는 유전자를 위와 같이 입력하면 추출할 수 있습니다.
4. 원하는 유전자 10개 이상 추출하기
data <- data %>% filter(ID_REF %in% c("ENSG00000184486_at","ENSG00000135903_at", "ENSG00000007372_at","ENSG00000188107_at","ENSG00000165588_at","ENSG00000124766_at", "ENSG00000163508_at","ENSG00000162761_at"))
'data'에서 원하는 행의 유전자들을 위의 R 스크립트에 입력하면 여러 개의 유전자들을 추출할 수 있습니다.
결론
R 프로그램에서 원하는 행을 추출할 수 있는 많은 방법들이 있습니다. 이번 포스트에서 'dplyr'라는 R 패키지를 이용해서 유전자들을 추출하였습니다. 한 개의 유전자를 추출할 때는 R 보다는 엑셀을 추천 드립니다. 10개 이상의 유전자들을 추출해서 분석을 하고자 할 때는 R 프로그램을 이용하시는 것이 좋을 거 같습니다.
'MolecularExpression_and_R_program' 카테고리의 다른 글
데이터 시각화 마법: R로 그래픽 그리기 시리즈 1 (0) | 2023.06.28 |
---|---|
How to efficiently Select Common Genes from Two Data Frames (0) | 2023.06.27 |
댓글