티스토리 뷰

728x90

재현 예제 논문:

1.    Association of BRCA1 and BRCA2 mutations with survival, chemotherapy sensitivity, and gene

       mutator phenotype in patients with ovarian cancer (JAMA, 2012  doi: 10.1001/jama.2011.1456)

2.    Integrated Genomic Analyses of Ovarian Carcinoma (Nature, 2011 doi: 10.1038/nature10166)

 

예제 데이터: CGDS-R package in cBioPortal, R

 

 

1. CGDS-R을 설치하고 CGDS 오브젝트 만들기

install.packages('cgdsr')
library(cgdsr)

mycgds <- CGDS("http://www.cbioportal.org/")
test(mycgds)

2. cBioPortal에 있는 cancer study 리스트 불러오고 ovarian cancer 확인

cancerstd <- getCancerStudies(mycgds)
head(cancerstd)

cancerstd$name
mycancerstd <- cancerstd[210,1]  # 목록에서 ovarian cancer 확인하여 입력

3. 원하는 데이터를 가지고 있는 환자 리스트 불러오기

getCaseLists(mycgds, mycancerstd)[,1]
mycaselist <- getCaseLists(mycgds, mycancerstd)[1,1]  # "ov_tcga_pub_all"

# mutation, expression, methylation 불러와서 입력
mymutation <- getGeneticProfiles(mycgds, mycancerstd)[6,1]
mymethylation <- getGeneticProfiles(mycgds, mycancerstd)[5,1]

- 목표: ovarian cancer 예후에 BRCA1, BRCA2 유전자의 muation과 methylation 여부가 영향을 미치는지 확인

- 방법: overall survial과 비교

- 그룹: BRCA1 mutation, BRCA2 mutation, BRCA1 methylation, BRCA2 methylation (4개)

 

4. BRCA1, 2에서 mutation이 있는 환자 추출

brca_mutation <- getMutationData(mycgds, mycaselist, mymutation, c('BRCA1', 'BRCA2'))

BRCA1, BRCA2 mutation이 있는 환자 추출

table(brca_mutation$gene_symbol)  # BRCA1,2 mutation을 가진 환자 수 확인

# mutation 여부에 따라 환자군 구별
brca1_mutated_cases <- brca_mutation[which(brca_mutation$gene_symbol=='BRCA1'),3]
brca2_mutated_cases <- brca_mutation[which(brca_mutation$gene_symbol=='BRCA2'),3]

 

5. BRCA1, 2에서 Methylation 환자 추출

BRCA1, 2에 methylation이 있는 환자도 해당 유전자의 gene expression이 낮아지고, 이것이 생존율에 영향을 줄 수 있으므로, mutation 그룹과 마찬가지로 추출하여 그룹화 함

hm27은 Methylation(HM27) beta-value는 multiple methylation probe 중에서 expression 및 가장 높은 anti-correlation을 가진 값을 나타냄 

brca_methylation <- getProfileData(mycgds, c('BRCA1', 'BRCA2'), mymethylation, mycaselist)

# 0.8 이상이 hyper-methylated 라고 알려짐 
brca1_methylation_case <- rownames(brca_methylation[which(brca_methylation$BRCA1>0.8),])
brca2_methylation_case <- rownames(brca_methylation[which(brca_methylation$BRCA2>0.8),])

6. 임상 자료 통합

생존 분석을 위해 임상 변수 중 생존 기간 변수를 추출함

myclinicaldata <- getClinicalData(mycgds, mycaselist)
myclinicaldata$OS_STATUS[myclinicaldata$OS_STATUS == ""] <- NA
myclinicaldata$OS_MONTHS

BRCA 유전자에 mutation이나 mythylation이 있는 환자와 그렇지 않은 환자 구분

total_sample <- rownames(myclinicaldata)  # 모든 환자
type <- rep('Wild', length(total_sample))  # 모든 환자를 wild type으로 간주, base type table 생성
names(type) <- total_sample

# 환자 이름 일치: mutation profile의 환자명과 clinical, methylatioin profile의 환자명 일치시킴
brca1_mutated_cases <- gsub("-", ".", brca1_mutated_cases)
brca2_mutated_cases <- gsub("-", ".", brca2_mutated_cases)

# 각 mutation profile에 따른 환자 분류
type[brca1_methylation_case] <- "BRCA1_methylation"
type[brca2_methylation_case] <- "BRCA2_methylation"
type[brca1_mutated_cases] <- "BRCA1_mutation"
type[brca2_mutated_cases] <- "BRCA2_mutation"

type <- type[names(type) %in% rownames(myclinicaldata)]
type <- factor(type, levels = c("Wild", "BRCA1_mutation", "BRCA2_mutation", "BRCA2_methylation"))

7. 생존 분석 비교

BRCA mutation과 methylation에 따라 분류된 4군에 대한 생존 분석 수행

library(survival)

out <- survfit(Surv(OS_MONTHS, OS_STATUS=="1:DECEASED") ~ type, data=myclinicaldata)

# Log rank Test
survdiff(Surv(OS_MONTHS, OS_STATUS=="1:DECEASED") ~ type, data=myclinicaldata)  

# Cox Proportional hazards model 
coxph(Surv(OS_MONTHS, OS_STATUS=="1:DECEASED") ~ type, data=myclinicaldata)


# Survival Plot
color = c('black', 'green', 'orange', 'blue')
plot(out, col=color, main="Association of BRCA1, 2 Mutations with Survival", 
	xlab="Time, days", ylab = "Proportion", lty = 1:4, lwd=2)
legend("topright", levels(type), col=color, lty=1:4, lwd=3)

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함