Programing/R- programming

Biomart R로 variant, gene 정보 가져오기

sosal 2015. 1. 29. 11:49
반응형


/*

 http://sosal.kr/
 * made by so_Sal
 */


# install

source("http://bioconductor.org/biocLite.R")

biocLite("biomaRt")


#document

#browseVignettes("biomaRt")


#load & attach package

library(biomaRt)



#Mart list. 

listMarts()

SNP <- useMart("snp", "hsapiens_snp")
ensembl = useMart("ensembl",dataset="hsapiens_gene_ensembl")


# 아직 아는것은 ensembl과 snp밖에 없지만..


ensembl과 snp 2가지 Mart를 이용하여 이번 Rarepedia에서 필요했던 variant, gene, transcript 정보들을 쉽게 가져올 수 있다.


1. rsid를 이용하여 snp 데이터베이스에서 정보 가져오기


attributes.snp <- c("refsnp_id","chr_name","allele", "chrom_start", "chrom_end", "chrom_strand","sift_score","polyphen_score",

"minor_allele","minor_allele_freq","ensembl_gene_stable_id","ensembl_transcript_stable_id",

"consequence_allele_string","consequence_type_tv","ensembl_type")


rs = "rs115940994";

List <- getBM(attributes = attributes.snp, filters="snp_filter", values = rs, mart = SNP)

List


snp MArt에서 rsID를 이용하여 Chr, position, allele, SIFT, Polyphen, MAF와

해당 variant가 속한 ENSG, 그리고 ENST 목록도 뽑아주며 AA change도 알 수 있고, variant type(consequence type)도 알 수 있다.


ex)


주요 feature라고 생각되는 것들은 attributes.snp 변수에 넣었지만, 다른 attributes는

SNP <- useMart("snp", "hsapiens_snp")

#listAttributes(SNP)  로 확인할 수 있다.



2. ENSG를 이용하여 ensembl 데이터베이스에서 정보 가져오기



ensembl_gene <- c("ENSG00000204406")

mart<- useDataset("hsapiens_gene_ensembl", ensembl)


attributes= c("ensembl_gene_id","hgnc_symbol","ensembl_transcript_id","ensembl_peptide_id"

,"refseq_mrna","refseq_peptide","phenotype_description")

List = getBM(filters= "ensembl_gene_id", attributes, values=ensembl_gene, mart= mart)

List




중요한 feature들은

"ensembl_gene_id" "hgnc_symbol" "ensembl_transcript_id" "ensembl_peptide_id" "refseq_peptide" "uniprot_swissprot"

"description" "go_id" "phenotype_description"

정도라고 생각하는데 역시 listAttributes 함수를 이용하여 ensembl의 전체 attributes의 목록을 볼 수 있다.


# ensembl = useMart("ensembl",dataset="hsapiens_gene_ensembl")

#listAttributes(ensembl)