[R] GEO 분석하기 (작성중, 2020.02.15)

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'
  • 개별 환자마다 항목이 있은 것도 있고 없는 것도 있다는 가정하에, 다음과 같은 단계를 따라 갑니다.
    1. 전체 환자 리스트에서 항목 목록만 추출
    2. 그 목록을 갖는 data.frame을 생성
    3. 이후에 다시한번 루프를 돌면서 값을 넣음
    4. 아래와 같은 값을 모을 수 있다.
    5. 추후에 코드를 올릴 계획

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/

 

0 Shares:
Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.