More than 5 years have passed since last update.
はじめに
「これらの遺伝子の配列をマルチプルアラインメントしたい」ということが普段からあると思います.
それにはまず,遺伝子の配列をどこからから入手しないといけません.
例えば,それらの遺伝子のEnsembl Gene IDが分かっているとき,ウェブブラウザからEnsemblのサイトに行き→Gene ID を検索窓に入れて→検索結果から数クリックして配列にたどり着いて→ドラッグしてコピペ,という作業を繰り返すという方法があります.
これはとても非人間的な時間だと思います.
そこで,BioconductorのパッケージであるbiomaRtとBiostringsを利用して,そういった作業を自動化しましょう.
実際のコマンド
まず,biomaRtパッケージを使ってEnsemblデータベースにアクセスします.
library(biomaRt)ensembl<-useMart("ensembl")自分が利用したいデータセットの名前を確認します.
listDatasets(ensembl)利用するデータセットを指定します.
(ここではゼブラフィッシュ(Danio rerio)のゲノムデータベースを指定)
ensembl<-useDataset("drerio_gene_ensembl",mart=ensembl)あらかじめ用意してあるEnsembl Gene IDを文字列ベクトルにします.ここでは直接コマンドに書き込んでいますが,IDのリストのファイルを読み込むという方法もあります.
id<-c("ENSDARG00000044774","ENSDARG00000070913")Ensembl Gene IDで指定された遺伝子のcDNA配列を取得します.
seq<-getSequence(id=id,type="ensembl_gene_id",seqType="cdna",mart=ensembl)seqTypeの指定を変えることで,遺伝子のゲノム配列(エキソン+イントロン)を取得することもできます.
seq<-getSequence(id=id,type="ensembl_gene_id",seqType="gene_exon_intron",mart=ensembl)取得した塩基配列をFASTAフォーマットで書き出します.
なお,getSequenceで取得した配列は,1列目に配列,2列目にIDが格納されたデータフレームという形になっているため,seq[,1]のような書き方をしています.
library(Biostrings)dna<-DNAStringSet(seq[,1])names(dna)<-seq[,2]writeXStringSet(dna,file="hoge.fa",format="fasta")応用
今回は,データベースをEnsembl,IDをEnsembl Gene IDとしました.
この他にも,データベースを変えたり,別の種類のIDで遺伝子を指定したり,遺伝子のIDでなく,染色体上のstartとendによって指定することも可能です.
詳しくは,biomaRtのUser guideをご覧下さい.
http://www.bioconductor.org/packages/release/bioc/html/biomaRt.html
接続できるBioMartデータベースの種類
listMarts()で調べることができます.
typeの種類
listFilters()で調べることができます.
seqTypeの種類
今回は,cDNA配列とゲノム配列だけ紹介しましたが,以下のように様々なバリエーションで配列を取得することが可能です.
- ’cdna’
- ’peptide’ for protein sequences
- ’3utr’ for 3’ UTR sequences,
- ’5utr’ for 5’ UTR sequences;
- ’gene_exon’ for exon sequences only;
- ’transcript_exon’ for transcript specific exonic sequences only;
- ’transcript_exon_intron’ gives the full unspliced transcript, that is exons + introns;
- ’gene_exon_intron’ gives the exons + introns of a gene;
- ’coding’ gives the coding sequence only;
- ’coding_transcript_flank’ gives the flanking region of the transcript including the UTRs, this must be accompanied with a given value for the upstream or downstream attribute;
- ’coding_gene_flank’ gives the flanking region of the gene including the UTRs, this must be accompanied with a given value for the upstream or downstream attribute;
- ’transcript_flank’ gives the flanking region of the transcript exculding the UTRs, this must be accompanied with a given value for the upstream or downstream attribute;
- ’gene_flank’ gives the flanking region of the gene excluding the UTRs, this must be accompanied with a given value for the upstream or downstream attribute.
Register as a new user and use Qiita more conveniently
- You get articles that match your needs
- You can efficiently read back useful information
- You can use dark theme
