GRanges 컬렉션 다루기

R로 시작하는 Bioconductor

Paula Andrea Martinez, PhD.

Data Scientist

GRangesList

  • GRangesList-classGRanges 컬렉션을 저장하는 컨테이너입니다.
    • 대량의 요소를 효율적으로 저장할 수 있습니다.
  • GRangesList 생성 방법
    • as(mylist, "GRangesList")
    • GRangesList(myGranges1, myGRanges2, ...)
  • GRanges로 변환
    • unlist(myGRangesList)
  • 접근자: methods(class = "GRangesList")
R로 시작하는 Bioconductor

리스트는 언제 사용하나요?

  • 여러 GRanges 객체를 GRangesList로 결합할 수 있습니다.
    • 목록의 GRanges는 더 큰 객체의 복합 특성으로 처리됩니다.
  • GRangesList의 예시
    • 유전자별 전사체
    • 전사체별 엑손
    • 리드 정렬
    • 슬라이딩 윈도우
R로 시작하는 Bioconductor
# GRanges object with 983 genes 
hg_chrX

slidingWindows(hg_chrX, width = 20000, step = 10000)
# showing only two elements of the list
GRangesList object of length 983:
[[1]] 
GRanges object with 2 ranges and 0 metadata columns:
       seqnames           ranges strand 
         <Rle>        <IRanges>  <Rle>  
  [1]     chrX [276322, 296321]      +      
  [2]     chrX [286322, 303356]      +      
[[2]] 
GRanges object with 3 ranges and 0 metadata columns:
       seqnames           ranges strand 
  [1]     chrX [624344, 644343]      +      
  [2]     chrX [634344, 654343]      +      
  [3]     chrX [644344, 659411]      + 
...
R로 시작하는 Bioconductor

GenomicFeatures는 전사체 데이터베이스(TxDb) 객체를 사용하여 메타데이터를 저장하고 게놈 위치 및 특성과 식별자 간의 관계를 관리합니다.

library(TxDb.Hsapiens.UCSC.hg38.knownGene)
(hg <- TxDb.Hsapiens.UCSC.hg38.knownGene)
Db type: TxDb
Supporting package: GenomicFeatures
Data source: UCSC
Genome: hg38
Organism: Homo sapiens
Taxonomy ID: 9606
Resource URL: http://genome.ucsc.edu/
Type of Gene ID: Entrez Gene ID
transcript_nrow: 197782 
exon_nrow: 581036 
cds_nrow: 293052 
Db created by: GenomicFeatures package from Bioconductor
Creation time: 2016-09-29 13:02:09 +0000 (Thu, 29 Sep 2016)
R로 시작하는 Bioconductor

유전자, 전사체, 엑손

library(TxDb.Hsapiens.UCSC.hg38.knownGene)
hg <- TxDb.Hsapiens.UCSC.hg38.knownGene  #  hg is a A TxDb object

seqlevels(hg) <- c("chrX") # prefilter results to chrX
# transcripts transcripts(hg, columns = c("tx_id", "tx_name"), filter = NULL) # exons exons(hg, columns = c("tx_id", "exon_id"), filter = list(tx_id = "179161"))

columnsfilter는 NULL이거나 다음 값 중 하나일 수 있습니다:

"gene_id", "tx_id", "tx_name", "tx_chrom", "tx_strand", 
"exon_id", "exon_name", "exon_chrom", "exon_strand", 
"cds_id", "cds_name", "cds_chrom", "cds_strand" and "exon_rank"
R로 시작하는 Bioconductor

전사체별 엑손

ABCD1 엑손

hg <- TxDb.Hsapiens.UCSC.hg38.knownGene
seqlevels(hg) <- c("chrX")  #  prefilter chromosome X
exonsBytx <- exonsBy(hg, by = "tx")  #  exons by transcript

abcd1_179161 <- exonsBytx[["179161"]] # transcript id
width(abcd1_179161) # width of each exon, the purple regions of the figure
1299  181  143  169   95  146  146   85  126 1274
R로 시작하는 Bioconductor

겹침(Overlaps)

# countOverlaps results in an integer vector of counts
countOverlaps(query, subject) 

# findOverlaps results in a Hits object
findOverlaps(query, subject) 

# subsetByOverlaps returns a GRangesList object
subsetByOverlaps(query, subject) 
  • query와 subject는 GRanges 또는 GRangesList 객체입니다.
  • 겹침은 완전하거나 부분적일 수 있습니다.
R로 시작하는 Bioconductor

이제 직접 실습해 보세요!

R로 시작하는 Bioconductor

Preparing Video For Download...