티스토리 뷰
재현 예제 논문:
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)
'데이터 분석 > 확률 통계' 카테고리의 다른 글
실험 통계 기초 (1) | 2023.05.15 |
---|---|
생존 분석 4 (Cox proportional hazards model) (1) | 2023.01.05 |
생존 분석 3 (생존 함수 비교 - 로그 순위 검정) (0) | 2023.01.05 |
생존 분석 2 (Kaplan-Meier estimation) (0) | 2023.01.05 |
생존 분석 1 (생존 함수 추정) (0) | 2023.01.04 |
- Total
- Today
- Yesterday
- 생존분석
- pre-train
- r
- HRV
- Bioinfo
- PTB
- featuremap
- SNP
- NGS
- sequenced data
- fasta
- 인공지능
- 평균분석
- ECG
- 그룹비교
- GPU설치
- missing_value
- 실험통계
- gray2rgb
- 생존함수
- cnn
- 생존곡선
- sounddevice
- vcf
- GradCam
- 딥러닝
- pmm
- rgb2gray
- plink
- psychopy
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |