More than 5 years have passed since last update.
Galaxyなどを使っても良いのですが、Bioconductorのパッケージを使ってやってみます。
準備
モデル生物の中には、遺伝子を含む転写領域の情報がパッケージとして用意されているものがあります。
ここでは出芽酵母(Saccharomyces cerevisiae)の遺伝子領域リストを取得するために、BioconductorからTxDb.Scerevisiae.UCSC.sacCer3.sgdGeneパッケージをインストールします。
パッケージのインストール
source("http://bioconductor.org/biocLite.R")biocLite("TxDb.Scerevisiae.UCSC.sacCer3.sgdGene")遺伝子領域のリストを得る
# パッケージの読み込みlibrary(TxDb.Scerevisiae.UCSC.sacCer3.sgdGene)# 遺伝子名とその開始位置・終了位置などのリストをGRangeList形式で読み込むsacCer3.gene.GRangesList<-transcriptsBy(TxDb.Scerevisiae.UCSC.sacCer3.sgdGene,by="gene")# データフレーム形式への変換sacCer3.gene<-as.data.frame(sacCer3.gene.GRangesList)今回使うパッケージでは、遺伝子領域のリストが表形式ではないGRangesList形式で提供されていますが、
表形式であるデータフレームに変換したほうが解析の見通しがつきやすいでしょう。
head()関数を使ってデータフレームの一部を確認できます。
result
>head(sacCer3.gene)elementseqnamesstartendwidthstrandtx_idtx_name1Q0010chrM39524338387+6665Q00102Q0010chrM42544415162+6666Q00173Q0032chrM1166711957291+6667Q00324Q0055chrM13818163222505+6668Q00505Q0055chrM13818188305013+6669Q00556Q0055chrM13818199966179+6670Q0060一番長い遺伝子を探す
データフレーム内の目的行を抽出
# 遺伝子の長さが最大の行番号を取得sacCer3.gene.maxRow<-which.max(sacCer3.gene$end-sacCer3.gene$start)# 上で取得した行番号をつかってデータフレームの一部にアクセスsacCer3.gene[sacCer3.gene.maxRow,]上のコードを実行すると、
result
>sacCer3.gene[sacCer3.gene.maxRow,]elementseqnamesstartendwidthstrandtx_idtx_name4209YLR106CchrXII34900636373814733-4390YLR106Cこんな結果が出てきます。YLR106CというのはMDN1の別名です。
いやぁ、Rって本当にいいもんですね
「勝つか負けるかはもう問題ではない。日本の国民を生かすか殺すかなのです」
そもそもなんで酵母の最長遺伝子長なんてものが知りたくなったのかはこちらに書きました。
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
