見出し画像

biomaRtで遺伝子IDと遺伝子名の対応情報を取得する

biomaRtでENSEMBLデータベースから遺伝子IDと遺伝子名の対応情報を取得します。

Rを起動して、データベースから条件に合わせてデータを取得します。
今回は、ENSEMBLデータベースのhsapiens_gene_ensemblデータセットから
ensembl_transcript_id, ensembl_gene_id, ensembl_gene_nameを取得します。

まず、getBM()関数でデータを取得するためにuseMart()関数を使用して、利用するBioMart Webサービスを指定とデータセットをmartのクラスのオブジェクトに設定します。

コマンド  mart <- biomaRt::useMart(biomart = "ENSEMBL_MART_ENSEMBL", dataset = "hsapiens_gene_ensembl", host = 'ensembl.org')

画像2

useMart()関数で利用するBioMart Webサービスを指定
biomaRt::useMart(biomart = "ENSEMBL_MART_ENSEMBL"
データセットを指定
dataset = "hsapiens_gene_ensembl
ホストを指定
host = 'ensembl.org'

getBM()関数でデータベースに処理を要求するためは、下記4つの引数を指定します。

attributes:取得したい属性を指定
filters: 検索時に制限をかけたい場合に属性を指定
values:filtersで指定された属性の値
mart:は関数useMartによって作成されたmartのクラスのオブジェクト

コマンド t2g <- biomaRt::getBM(attributes = c("ensembl_transcript_id", "ensembl_gene_id", "ensembl_gene_name"), mart = mart)

画像3

今回は、filtersで条件を指定する必要がないのでfilters,valuesは不要。
(入力ミスをしたら、Ctrlキー+d)

biomaRtのユーザーガイドは、The biomaRt users guide

dplyr パッケージでrename()new_name = old_name構文を使用して各変数名を変更します。

コマンド t2g <- dplyr::rename(t2g, target_id = ensembl_transcript_id, ens_gene = ensembl_gene_id, ext_gene = external_gene_name)

取得したデータを表示すると…

画像4

この取得したデータをファイルに出力する。

画像4

コマンド write.table(t2g,"target2gene.txt", sep="\t",quote=F,row.names=F)

t2g をtarget2gene.txtという名前でテキストファイルに書き出し
sep … 区切り文字の指定。"\t"は「タブ区切りテキスト」
row.names … 行番号を加えるかどうか(TRUE or FALSE)
col.names … 列名を加えるかどうか(TRUE or FALSE ただし、csvファイルはNA)
quote … ""で囲むかかきまないか(TRUE or FALSE)

これで遺伝子IDと遺伝子名の対応情報の取得完了!


いいなと思ったら応援しよう!