History
- 2020.02.15 일단 두서없는 정리를 해봅니다…한글로 된 튜토리얼이 별로 없는 듯 하여..
- 2020.05.18 Update1
0. Library 설치 (Windows)
install.packages("BiocManager", repos='http://cran.us.r-project.org') BiocManager::install("Biobase") BiocManager::install("GEOquery")
1. GEO 파일 로딩
- GSE39366 을 예로 들면,
- GEOquery 라이브러리가 인터넷에서 다운로드 받는 것을 지원해주나, 오프라인 분석이 용이하게 미리 다운로드 받아 폴더에 위치시킵니다.
- SOFT 파일을 로딩합니다.
gds <- getGEO(filename="./39366/GSE39366_family.soft.gz") # Reading file.... # Parsing.... # Found 139 entities... # GPL9053 (1 of 140 entities) # GSM966717 (2 of 140 entities) # GSM966718 (3 of 140 entities) # GSM966719 (4 of 140 entities) # ...
2. GEO 파일의 플랫폼 확인
Meta(GSMList(my_data)[[1]])$platform_id #'GPL9053'
3. 플랫폼의 annotation 정보를 확인
- NCBI에서 해당 플랫폼을 조회해볼 수 있습니다.
- https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GPL9053
- 해당 페이지의 data_table을 보면 ID_REF에 해당하는 ORF 이름이 적혀있어 이걸 긁어다가 csv파일화 시킵니다. (이것도 파일로 제공할것 같으나 굳이 찾지는 않았습니다)
4. Clinical information을 추출
- 39366 코호트의 경우, 필요한 임상 정보는 메타데이터의 characteristics_ch1에 있습니다.
- 모든 GEO에 공통인 형식인지는 확실하지 않습니다. (다른 코호트도 분석하게 되면 수정예정)
- 예를 들면, 아래와 같습니다.
$characteristics_ch1 # 'tissue: Tumor' # 'age: 61' # 'race: Caucasian' # 'gender: Male' # 'smoking packyears: 40' # 'alcohol use: Heavy' # 'differentiation: Well' # 'tumor site: Oropharynx' # 'Stage: III' # 'tumor status: NA' # 'node status: NA' # 'treatment: Surgery and Radiation' # 'hpv status: NA'
- 개별 환자마다 항목이 있은 것도 있고 없는 것도 있다는 가정하에, 다음과 같은 단계를 따라 갑니다.
- 전체 환자 리스트에서 항목 목록만 추출
- 그 목록을 갖는 data.frame을 생성
- 이후에 다시한번 루프를 돌면서 값을 넣음
- 아래와 같은 값을 모을 수 있다.
- 추후에 코드를 올릴 계획
5. mRNA expression data 추출
data.frame(matrix(unlist(Table(GSMList(my_data)[[i]])), nrow=33421, byrow=F), stringsAsFactors=FALSE)
- 위 함수를 써서 expression 테이블을 만든 뒤, 이를 전체 환자 숫자대로 우측으로 쭉 붙여나가면 TCGA와 같은 모양을 만듭니다.
- 그 뒤 3번에서 얻어낸 annotation 파일을 이용해 ID_REF와 ORF를 연결하면 아래와 같이 됩니다.
추후 공부할 내용
https://www.r-bloggers.com/tutorial-rna-seq-differential-expression-pathway-analysis-with-sailfish-deseq2-gage-and-pathview/