$ pwd #先日CELファイルをダウンロードしたディレクトリに移動
/home/kappa/2011/1101/110128_GEO/GSE13869
$ ls
GSM349023.CEL.gz GSM349025.CEL.gz GSM349027.CEL.gz GSM349029.CEL.gz
GSM349024.CEL.gz GSM349026.CEL.gz GSM349028.CEL.gz GSM349030.CEL.gz
$ R
library(affy)
GSE13869 <- ReadAffy() #カレントディレクトリにあるすべてのセルファイルを読み込んでAffyBatchオブジェクトを生成する
class(GSE13869)
[1] "AffyBatch"
attr(,"package")
[1] "affy"
GSE13869.bg <- bg.correct(GSE13869, method = "mas") #Affymetrix社の公式のバックグラウンド補正法のMAS5をmethodとして採用する。この場合、Affybatchオブジェクトが生成する。
GSE13869.bg.norm <- normalize(GSE13869.bg, method = "quantiles") #quantileで正規化を行う。この場合AffyBatchオブジェクトが生成する。
png("110130_hist.png")
par(mfrow=c(1,2))
hist(GSE13869, main = " GSE13869") #AffyBatchオブジェクトに対してはhist関数で実に美しい図が描写できる
hist(GSE13869.bg.norm, main = "GSE13869.bg.norm") #引数にmain = ""を追加することで、表のタイトルをつけられる。
dev.off()
医療系の仕事をしています。生命の尊さ、美しさがどのようなメカニズムで生じるのかに興味があります。科学の方法論を用いて、このような問いに応えたい、私はこう思って医学生物学の基礎研究のトレーニングを受けてきました。生命を科学的手法を用いて理解を試みる上で、genomeを始めとした種々の大量データの処理が必要不可欠であることを痛感しました。また、生命科学が物理学、数学、統計学、有機化学などの種々の学問と深い関わりを持つことを実感しました。そのため、このブログは広範囲の学問領域に関しての記事を載せています。日々の学習内容を文書に書き残し、それを読み返すことによって、体系化された知識を身に付けることを目標としています。どうぞよろしくお願いします。
gene expression omnibus(GEO)からデータを取得(^^)
$ mkdir 110128_GEO #GSEデータセットファイルを入れるためのディレクトリを作成
$ cd 110128_GEO #作ったディレクトリに移動
$ lftp ftp.ncbi.nlm.nih.gov:/pub/geo/DATA/supplementary/series/GSE13869
cd 成功、cwd=/pub/geo/DATA/supplementary/series/GSE13869
lftp ftp.ncbi.nlm.nih.gov:/pub/geo/DATA/supplementary/series/GSE13869> ls
-r--r--r-- 1 ftp anonymous 50933760 Jan 24 2010 GSE13869_RAW.tar
-r--r--r-- 1 ftp anonymous 524 Jan 24 2010 filelist.txt
lftp ftp.ncbi.nlm.nih.gov:/pub/geo/DATA/supplementary/series/GSE13869> get GSE13869_RAW.tar
50933760 バイト転送済、170 秒経過 (292.6KB/s)
lftp ftp.ncbi.nlm.nih.gov:/pub/geo/DATA/supplementary/series/GSE13869> quit
$ ls
GSE13869_RAW.tar
$ mkdir GSE13869
$ cd GSE13869
$ tar xf ../GSE13869_RAW.tar
$ ls
GSM349023.CEL.gz GSM349024.CEL.gz GSM349025.CEL.gz GSM349026.CEL.gz GSM349027.CEL.gz GSM349028.CEL.gz GSM349029.CEL.gz GSM349030.CEL.gz
ちなみに下はGUIからデータをとりとりいった画像
$ cd 110128_GEO #作ったディレクトリに移動
$ lftp ftp.ncbi.nlm.nih.gov:/pub/geo/DATA/supplementary/series/GSE13869
cd 成功、cwd=/pub/geo/DATA/supplementary/series/GSE13869
lftp ftp.ncbi.nlm.nih.gov:/pub/geo/DATA/supplementary/series/GSE13869> ls
-r--r--r-- 1 ftp anonymous 50933760 Jan 24 2010 GSE13869_RAW.tar
-r--r--r-- 1 ftp anonymous 524 Jan 24 2010 filelist.txt
lftp ftp.ncbi.nlm.nih.gov:/pub/geo/DATA/supplementary/series/GSE13869> get GSE13869_RAW.tar
50933760 バイト転送済、170 秒経過 (292.6KB/s)
lftp ftp.ncbi.nlm.nih.gov:/pub/geo/DATA/supplementary/series/GSE13869> quit
$ ls
GSE13869_RAW.tar
$ mkdir GSE13869
$ cd GSE13869
$ tar xf ../GSE13869_RAW.tar
$ ls
GSM349023.CEL.gz GSM349024.CEL.gz GSM349025.CEL.gz GSM349026.CEL.gz GSM349027.CEL.gz GSM349028.CEL.gz GSM349029.CEL.gz GSM349030.CEL.gz
ちなみに下はGUIからデータをとりとりいった画像
EMBOSSを使って配列の読み込み、clustalwを使ったマルティプルアライメント
$ vi prion_names.txt
a
--ここから---
swissprot:PRIO_HUMAN
swissprot:PRIO_RAT
swissprot:PRIO_MOUSE
swissprot:PRIO_CALJA
swissprot:PRIO_CANFA
swissprot:PRIO_BOVIN
swissprot:PRIO_AILME
swissprot:PRIO_CAPHI
swissprot:PRIO_SHEEP
swissprot:PRIO_CHICK
--ここまで--
Esc
:wq
$seqret @prion_names.txt -outseq=prion.fasta
$ grep ">" prion.fasta | cut -f1,2 -d" "
>PRIO_HUMAN P04156
>PRIO_RAT P13852
>PRIO_MOUSE P04925
>PRIO_CALJA P40247
>PRIO_CANFA O46501
>PRIO_BOVIN P10279
>PRIO_AILME Q6EH52
>PRIO_CAPHI P52113
>PRIO_SHEEP P23907
>PRIO_CHICK P27177
$sudo apt-get install clustalw
$clustalw prion.fasta
kappa@kappa-desktop:~/2011$ more prion.aln
CLUSTAL 2.0.10 multiple sequence alignment
PRIO_HUMAN --MANLGCWMLVLFVATWSDLGLCKK-RPKP-GG-WNTGGSR---YPGQ-GSPGGNRYPP
PRIO_CALJA --MANLGCWMLFLFVATWSDLGLCKK-RPKP-GG-WNTGGSR---YPGQ-GSPGGNRYPP
PRIO_RAT --MANLGYWLLALFVTTCTDVGLCKK-RPKP-GG-WNTGGSR---YPGQ-GSPGGNRYPP
PRIO_MOUSE --MANLGYWLLALFVTMWTDVGLCKK-RPKP-GG-WNTGGSR---YPGQ-GSPGGNRYPP
PRIO_BOVIN MVKSHIGSWILVLFVAMWSDVGLCKK-RPKP-GGGWNTGGSR---YPGQ-GSPGGNRYPP
PRIO_AILME MVKSHIGSWILVLFVAMWSDVGLCKK-RPKP-GGGWNTGGSR---YPGP-GSPGGNRYPP
PRIO_CAPHI MVKSHIGSWILVLFVAMWSDVGLCKK-RPKP-GGGWNTGGSR---YPGQ-GSPGGNRYPP
PRIO_SHEEP MVKSHIGSWILVLFVAMWSDVGLCKK-RPKP-GGGWNTGGSR---YPGQ-GSPGGNRYPP
PRIO_CANFA MVKSHIGSWILVLFVAMWSDVGLCKK-RPKP-GGGWNTGGSR---YPGQ-GSPGGNRYPP
PRIO_CHICK MARLLTTCCLLALLLAACTDVALSKKGKGKPSGGGWGAGSHRQPSYPRQPGYPHNPGYPH
:* *::: :*:.*.** : ** ** *.:*. * ** * * . **
PRIO_HUMAN QGGGGWGQPHGGGWGQPHGGGWGQ----PHGG--------GWGQPHGGG-WGQGGGTHSQ
PRIO_CALJA QGGG-WGQPHGGGWGQPHGGGWGQ----PHGG--------GWGQPHGGG-WGQGGGTHSQ
PRIO_RAT QSGGTWGQPHGGGWGQPHGGGWGQ----PHGG--------GWGQPHGGG-WSQGGGTHNQ
PRIO_MOUSE Q-GGTWGQPHGGGWGQPHGGSWGQ----PHGG--------SWGQPHGGG-WGQGGGTHNQ
PRIO_BOVIN QGGGGWGQPHGGGWGQPHGGGWGQ----PHGGGWGQPHGGGWGQPHGGGGWGQGG-THGQ
PRIO_AILME QGGGGWGQPHGGGWGQPHGGGWGQ----PHGGGWGQPHGGGWGQPHGGGGWGQGG-THGQ
PRIO_CAPHI QGGGGWGQPHGGGWGQPHGGGWGQ----PHGG--------GWGQPHGGGGWGQGG-SHSQ
PRIO_SHEEP QGGGGWGQPHGGGWGQPHGGGWGQ----PHGG--------GWGQPHGGGGWGQGG-SHSQ
PRIO_CANFA QGGGGWGQPHGGGWGQPHGGGWGQ----PHGG--------GWGQPHGGGGWGQGG-THSQ
PRIO_CHICK NPGYPHNPGYPHNPGYPHNPGYPQNPGYPHNPG-----YPGWGQGYNPS---SGGSYHNQ
: * . : . * **. .: * **. .*** :. . .** *.*
PRIO_HUMAN WNKPSKP-KTNMKHMAGAAAAGAVVGGLGGYMLGSAMSRPIIHFGSDYEDRYYRENMHRY
PRIO_CALJA WNKPSKP-KTNMKHVAGAAAAGAVVGGLGGYMLGSAMSRPLIHFGNDYEDRYYRENMYRY
PRIO_RAT WNKPSKP-KTNLKHVAGAAAAGAVVGGLGGYMLGSAMSRPMLHFGNDWEDRYYRENMYRY
PRIO_MOUSE WNKPSKP-KTNLKHVAGAAAAGAVVGGLGGYMLGSAMSRPMIHFGNDWEDRYYRENMYRY
PRIO_BOVIN WNKPSKP-KTNMKHVAGAAAAGAVVGGLGGYMLGSAMSRPLIHFGSDYEDRYYRENMHRY
PRIO_AILME WNKPSKP-KTNMKHVAGAAAAGAVVGGLGGYMLGSAMSRPLIHFGSDYEDRYYRENMHRY
PRIO_CAPHI WNKPSKP-KTNMKHVAGAAAAGAVVGGLGGYMLGSAMSRPLIHFGNDYEDRYYRENMYRY
PRIO_SHEEP WNKPSKP-KTNMKHVAGAAAAGAVVGGLGGYMLGSAMSRPLIHFGNDYEDRYYRENMYRY
PRIO_CANFA WNKPSKP-KTNMKHVAGAAAAGAVVGGLGGYLLGSAMSRPLIHFGNDCEDRYYRENMYRY
PRIO_CHICK --KPWKPPKTNFKHVAGAAAAGAVVGGLGGYAMGRVMSGMNYHFDSPDEYRWWSENSARY
** ** ***:**:**************** :* .** **.. * *:: ** **
PRIO_HUMAN PNQVYYRPMDEYSNQNNFVHDCVNITIKQHTV-TTTTKGENFTETDVKMMERVVEQMCIT
PRIO_CALJA PNQVYYRPVDQYNNQNNFVHDCVNITIKQHTV-TTTTKGENFTETDVKMMERVVEQMCIT
PRIO_RAT PNQVYYRPVDQYSNQNNFVHDCVNITIKQHTV-TTTTKGENFTETDVKMMERVVEQMCVT
PRIO_MOUSE PNQVYYRPVDQYSNQNNFVHDCVNITIKQHTV-TTTTKGENFTETDVKMMERVVEQMCVT
PRIO_BOVIN PNQVYYRPVDQYSNQNNFVHDCVNITVKEHTV-TTTTKGENFTETDIKMMERVVEQMCIT
PRIO_AILME PNQVYYRPVDQYSNQNNFVHDCVNITVKEHTV-TTTTKGENFTETDIKMMERVVEQMCIT
PRIO_CAPHI PNQVYYRPVDQYSNQNNFVHDCVNITVKQHTV-TTTTKGENFTETDIKIMERVVEQMCIT
PRIO_SHEEP PNQVYYRPVDRYSNQNNFVHDCVNITVKQHTV-TTTTKGENFTETDIKIMERVVEQMCIT
PRIO_CANFA PNQVYYRSVDQYNNQSTFVHDCVNITVKQHTV-TTT-KGENFTETDIKMMERVVEQMCIT
PRIO_CHICK PNRVYYRDYSSPVPQDVFVADCFNITVTEYSIGPAAKKNTSEAVAAANQTEVEMENKVVT
**:**** . *. ** **.***:.:::: .:: *. . : : : * :*: :*
PRIO_HUMAN QYERES--QAYYQ--RGSSMVLFSSP---PVILLISFLIFLIVG
PRIO_CALJA QYEKES--QAYYQ--RGSSMVLFSSP---PVILLISFLIFLIVG
PRIO_RAT QYQKES--QAYYDGRRSS-AVLFSSP---PVILLISFLIFLIVG
PRIO_MOUSE QYQKES--QAYYDGRRSSSTVLFSSP---PVILLISFLIFLIVG
PRIO_BOVIN QYQRES--QAYYQ--RGASVILFSSP---PVILLISFLIFLIVG
PRIO_AILME QYQRES--QAYYQ--RGASVILFSSP---PVILLISFLIFLIVG
PRIO_CAPHI QYQRES--QAYYQ--RGASVILFSPP---PVILLISFLIFLIVG
PRIO_SHEEP QYQRES--QAYYQ--RGASVILFSSP---PVILLISFLIFLIVG
PRIO_CANFA QYQRES--EAYYQ--RGASVILFSSP---PVILLVSFLIFLIVG
PRIO_CHICK KVIREMCVQQYREYRLASGIQLHPADTWLAVLLLLLTTLFAMH-
: :* : * : .: *... .*:**: :* :
#これは、美しい!!!!!今までGUIでclustalwをせっせとやっていたから驚きはでかい。
#Rの中で系統樹作成用のパッケージを読み込んで、系統樹を書かせてみる。
$sudo R
> install.packages("seqinr")
> install.packages("ape", dep=T)
> library(ape)
> library(seqinr)
> prion_align <- read.alignment(file="prion.aln",format="clustal")
> plot(nj(dist.alignment(prion_align)))
> plot(nj(dist.alignment(prion_align)), type = "unrooted")
#驚くほど綺麗な絵になったので保存しとく。
> png("110128_phyl.png")
> par(mfrow=c(1,2))
> plot(nj(dist.alignment(prion_align)))
> plot(nj(dist.alignment(prion_align)), type = "unrooted")
> dev.off()
今日はバイオインフォマティクスって感じのプログラムの勉強ができた☆
a
--ここから---
swissprot:PRIO_HUMAN
swissprot:PRIO_RAT
swissprot:PRIO_MOUSE
swissprot:PRIO_CALJA
swissprot:PRIO_CANFA
swissprot:PRIO_BOVIN
swissprot:PRIO_AILME
swissprot:PRIO_CAPHI
swissprot:PRIO_SHEEP
swissprot:PRIO_CHICK
--ここまで--
Esc
:wq
$seqret @prion_names.txt -outseq=prion.fasta
$ grep ">" prion.fasta | cut -f1,2 -d" "
>PRIO_HUMAN P04156
>PRIO_RAT P13852
>PRIO_MOUSE P04925
>PRIO_CALJA P40247
>PRIO_CANFA O46501
>PRIO_BOVIN P10279
>PRIO_AILME Q6EH52
>PRIO_CAPHI P52113
>PRIO_SHEEP P23907
>PRIO_CHICK P27177
$sudo apt-get install clustalw
$clustalw prion.fasta
kappa@kappa-desktop:~/2011$ more prion.aln
CLUSTAL 2.0.10 multiple sequence alignment
PRIO_HUMAN --MANLGCWMLVLFVATWSDLGLCKK-RPKP-GG-WNTGGSR---YPGQ-GSPGGNRYPP
PRIO_CALJA --MANLGCWMLFLFVATWSDLGLCKK-RPKP-GG-WNTGGSR---YPGQ-GSPGGNRYPP
PRIO_RAT --MANLGYWLLALFVTTCTDVGLCKK-RPKP-GG-WNTGGSR---YPGQ-GSPGGNRYPP
PRIO_MOUSE --MANLGYWLLALFVTMWTDVGLCKK-RPKP-GG-WNTGGSR---YPGQ-GSPGGNRYPP
PRIO_BOVIN MVKSHIGSWILVLFVAMWSDVGLCKK-RPKP-GGGWNTGGSR---YPGQ-GSPGGNRYPP
PRIO_AILME MVKSHIGSWILVLFVAMWSDVGLCKK-RPKP-GGGWNTGGSR---YPGP-GSPGGNRYPP
PRIO_CAPHI MVKSHIGSWILVLFVAMWSDVGLCKK-RPKP-GGGWNTGGSR---YPGQ-GSPGGNRYPP
PRIO_SHEEP MVKSHIGSWILVLFVAMWSDVGLCKK-RPKP-GGGWNTGGSR---YPGQ-GSPGGNRYPP
PRIO_CANFA MVKSHIGSWILVLFVAMWSDVGLCKK-RPKP-GGGWNTGGSR---YPGQ-GSPGGNRYPP
PRIO_CHICK MARLLTTCCLLALLLAACTDVALSKKGKGKPSGGGWGAGSHRQPSYPRQPGYPHNPGYPH
:* *::: :*:.*.** : ** ** *.:*. * ** * * . **
PRIO_HUMAN QGGGGWGQPHGGGWGQPHGGGWGQ----PHGG--------GWGQPHGGG-WGQGGGTHSQ
PRIO_CALJA QGGG-WGQPHGGGWGQPHGGGWGQ----PHGG--------GWGQPHGGG-WGQGGGTHSQ
PRIO_RAT QSGGTWGQPHGGGWGQPHGGGWGQ----PHGG--------GWGQPHGGG-WSQGGGTHNQ
PRIO_MOUSE Q-GGTWGQPHGGGWGQPHGGSWGQ----PHGG--------SWGQPHGGG-WGQGGGTHNQ
PRIO_BOVIN QGGGGWGQPHGGGWGQPHGGGWGQ----PHGGGWGQPHGGGWGQPHGGGGWGQGG-THGQ
PRIO_AILME QGGGGWGQPHGGGWGQPHGGGWGQ----PHGGGWGQPHGGGWGQPHGGGGWGQGG-THGQ
PRIO_CAPHI QGGGGWGQPHGGGWGQPHGGGWGQ----PHGG--------GWGQPHGGGGWGQGG-SHSQ
PRIO_SHEEP QGGGGWGQPHGGGWGQPHGGGWGQ----PHGG--------GWGQPHGGGGWGQGG-SHSQ
PRIO_CANFA QGGGGWGQPHGGGWGQPHGGGWGQ----PHGG--------GWGQPHGGGGWGQGG-THSQ
PRIO_CHICK NPGYPHNPGYPHNPGYPHNPGYPQNPGYPHNPG-----YPGWGQGYNPS---SGGSYHNQ
: * . : . * **. .: * **. .*** :. . .** *.*
PRIO_HUMAN WNKPSKP-KTNMKHMAGAAAAGAVVGGLGGYMLGSAMSRPIIHFGSDYEDRYYRENMHRY
PRIO_CALJA WNKPSKP-KTNMKHVAGAAAAGAVVGGLGGYMLGSAMSRPLIHFGNDYEDRYYRENMYRY
PRIO_RAT WNKPSKP-KTNLKHVAGAAAAGAVVGGLGGYMLGSAMSRPMLHFGNDWEDRYYRENMYRY
PRIO_MOUSE WNKPSKP-KTNLKHVAGAAAAGAVVGGLGGYMLGSAMSRPMIHFGNDWEDRYYRENMYRY
PRIO_BOVIN WNKPSKP-KTNMKHVAGAAAAGAVVGGLGGYMLGSAMSRPLIHFGSDYEDRYYRENMHRY
PRIO_AILME WNKPSKP-KTNMKHVAGAAAAGAVVGGLGGYMLGSAMSRPLIHFGSDYEDRYYRENMHRY
PRIO_CAPHI WNKPSKP-KTNMKHVAGAAAAGAVVGGLGGYMLGSAMSRPLIHFGNDYEDRYYRENMYRY
PRIO_SHEEP WNKPSKP-KTNMKHVAGAAAAGAVVGGLGGYMLGSAMSRPLIHFGNDYEDRYYRENMYRY
PRIO_CANFA WNKPSKP-KTNMKHVAGAAAAGAVVGGLGGYLLGSAMSRPLIHFGNDCEDRYYRENMYRY
PRIO_CHICK --KPWKPPKTNFKHVAGAAAAGAVVGGLGGYAMGRVMSGMNYHFDSPDEYRWWSENSARY
** ** ***:**:**************** :* .** **.. * *:: ** **
PRIO_HUMAN PNQVYYRPMDEYSNQNNFVHDCVNITIKQHTV-TTTTKGENFTETDVKMMERVVEQMCIT
PRIO_CALJA PNQVYYRPVDQYNNQNNFVHDCVNITIKQHTV-TTTTKGENFTETDVKMMERVVEQMCIT
PRIO_RAT PNQVYYRPVDQYSNQNNFVHDCVNITIKQHTV-TTTTKGENFTETDVKMMERVVEQMCVT
PRIO_MOUSE PNQVYYRPVDQYSNQNNFVHDCVNITIKQHTV-TTTTKGENFTETDVKMMERVVEQMCVT
PRIO_BOVIN PNQVYYRPVDQYSNQNNFVHDCVNITVKEHTV-TTTTKGENFTETDIKMMERVVEQMCIT
PRIO_AILME PNQVYYRPVDQYSNQNNFVHDCVNITVKEHTV-TTTTKGENFTETDIKMMERVVEQMCIT
PRIO_CAPHI PNQVYYRPVDQYSNQNNFVHDCVNITVKQHTV-TTTTKGENFTETDIKIMERVVEQMCIT
PRIO_SHEEP PNQVYYRPVDRYSNQNNFVHDCVNITVKQHTV-TTTTKGENFTETDIKIMERVVEQMCIT
PRIO_CANFA PNQVYYRSVDQYNNQSTFVHDCVNITVKQHTV-TTT-KGENFTETDIKMMERVVEQMCIT
PRIO_CHICK PNRVYYRDYSSPVPQDVFVADCFNITVTEYSIGPAAKKNTSEAVAAANQTEVEMENKVVT
**:**** . *. ** **.***:.:::: .:: *. . : : : * :*: :*
PRIO_HUMAN QYERES--QAYYQ--RGSSMVLFSSP---PVILLISFLIFLIVG
PRIO_CALJA QYEKES--QAYYQ--RGSSMVLFSSP---PVILLISFLIFLIVG
PRIO_RAT QYQKES--QAYYDGRRSS-AVLFSSP---PVILLISFLIFLIVG
PRIO_MOUSE QYQKES--QAYYDGRRSSSTVLFSSP---PVILLISFLIFLIVG
PRIO_BOVIN QYQRES--QAYYQ--RGASVILFSSP---PVILLISFLIFLIVG
PRIO_AILME QYQRES--QAYYQ--RGASVILFSSP---PVILLISFLIFLIVG
PRIO_CAPHI QYQRES--QAYYQ--RGASVILFSPP---PVILLISFLIFLIVG
PRIO_SHEEP QYQRES--QAYYQ--RGASVILFSSP---PVILLISFLIFLIVG
PRIO_CANFA QYQRES--EAYYQ--RGASVILFSSP---PVILLVSFLIFLIVG
PRIO_CHICK KVIREMCVQQYREYRLASGIQLHPADTWLAVLLLLLTTLFAMH-
: :* : * : .: *... .*:**: :* :
#これは、美しい!!!!!今までGUIでclustalwをせっせとやっていたから驚きはでかい。
#Rの中で系統樹作成用のパッケージを読み込んで、系統樹を書かせてみる。
$sudo R
> install.packages("seqinr")
> install.packages("ape", dep=T)
> library(ape)
> library(seqinr)
> prion_align <- read.alignment(file="prion.aln",format="clustal")
> plot(nj(dist.alignment(prion_align)))
> plot(nj(dist.alignment(prion_align)), type = "unrooted")
#驚くほど綺麗な絵になったので保存しとく。
> png("110128_phyl.png")
> par(mfrow=c(1,2))
> plot(nj(dist.alignment(prion_align)))
> plot(nj(dist.alignment(prion_align)), type = "unrooted")
> dev.off()
今日はバイオインフォマティクスって感じのプログラムの勉強ができた☆
Perlの事始め
Ubuntuでperl言語を練習してみた♪
Bio-perlが医学・生物学では頻繁に使われており、自分もそれを視野にいれた学習をしようと思う。
$ sudo apt-get install perl
#Ubuntuは最初からperlが入っているから上のコマンドは必要なかった。
$ which perl
/usr/bin/perl
#perlインストールパスを調べるコマンド。
$vi hello.pl
aキーで入力モードへ
-----ここから
#! /usr/bin/perl
#ハローを出力してみる。この行は無視される。
print "Hello world\n";
----ここまで
Escでコマンドモード戻る
:wqで上書き保存して終了
#hello.plというスクリプトを作ったら、実行する前に文法チェックを行う。以下のコマンドを用いる。
$ perl -cw hello.pl
hello.pl syntax OK
#syntax OKと表示されたので、上のhello.plスクリプトの文法は問題がないことがわかる。
実行するには、
$perl hello.pl
Hello world
でけた。
ちなみに、シェルの中で引数としてPerlスクリプトを与えて実行するには、[-e]のオプションつければよい。
$ perl -e 'print("Hello!\n");'
Hello!
.plのファイルを作らんでも簡単なプログラムならこれで十分だ。しかし、込み入った処理をすることを目的としてる分けで、これに頼ってはいかんな。。
Bio-perlが医学・生物学では頻繁に使われており、自分もそれを視野にいれた学習をしようと思う。
$ sudo apt-get install perl
#Ubuntuは最初からperlが入っているから上のコマンドは必要なかった。
$ which perl
/usr/bin/perl
#perlインストールパスを調べるコマンド。
$vi hello.pl
aキーで入力モードへ
-----ここから
#! /usr/bin/perl
#ハローを出力してみる。この行は無視される。
print "Hello world\n";
----ここまで
Escでコマンドモード戻る
:wqで上書き保存して終了
#hello.plというスクリプトを作ったら、実行する前に文法チェックを行う。以下のコマンドを用いる。
$ perl -cw hello.pl
hello.pl syntax OK
#syntax OKと表示されたので、上のhello.plスクリプトの文法は問題がないことがわかる。
実行するには、
$perl hello.pl
Hello world
でけた。
ちなみに、シェルの中で引数としてPerlスクリプトを与えて実行するには、[-e]のオプションつければよい。
$ perl -e 'print("Hello!\n");'
Hello!
.plのファイルを作らんでも簡単なプログラムならこれで十分だ。しかし、込み入った処理をすることを目的としてる分けで、これに頼ってはいかんな。。
Rのバッチ処理
Rのバッチ処理(一括処理)の二つの利点
1 計算が数日あるいは数週間に及ぶようなシミュレーションのときに、ユーザーがログアウトしても処理が続いてくれる
2 定期的に実行しなければならない処理をRを起動せずにOSのバックグラウンドで自動的に開始できる
とはいうものの、マイクロアレイの解析をちょこちょこやる程度の現段階でそれほど必要性は感じない。しかし、次世代シークエンサーは一つのファイルがテラのオーダのデータ量であり、したがって処理時間も相当かかってくることが予想される。このようなときにバッチ処理が有効になってくるのではにあかと予想される。
とりあえず、今回はさわりだけ勉強してみた。
$vi 110127_expression.R #test.RというRのスクリプトファイルを作成
aかiで入力モードへ
---ここから---
png("110127_expression.png")
exprsgene1 <- 1:20 #1から20までの数値が格納されたxというベクトルオブジェクトを生成
exprsgene2 <- 51:70 #51から70までの数値が格納されたxというベクトルオブジェクトを生成
plot(exprsgene1,exprsgene2) #プロットさせる
dev.off()
---ここまで---
Escキーでコマンドモードに戻る
:wq で上書き保存してviエディタを終了
$ more 110127_expression.R #スクリプトファイルの中身をのぞいてみる
png("110127_expression.png")
exprsgene1 <- 1:20 #1から20までの数値が格納されたxというベクトルオブジェクトを生成
exprsgene2 <- 51:70 #51から70までの数値が格納されたxというベクトルオブジェクトを生成
plot(exprsgene1,exprsgene2) #プロットさせる
dev.off()
#いい感じ
$ R CMD BATCH 110127_expression.R 110127_expression.txt #上で書いたRのスクリプトファイルを読み込み計算をさせ、結果をテキストファイルとして出力させる。
$ ls -n
合計 52
-rw-r--r-- 1 1000 1000 395 2011-01-26 12:04 110126_EMBOSSのインストール.txt
-rw-r--r-- 1 1000 1000 3596 2011-01-26 12:46 110126_Rのすぐれたヘルプ機能.txt
-rw-r--r-- 1 1000 1000 65 2011-01-27 21:14 110127_Hello.c
-rw-r--r-- 1 1000 1000 1260 2011-01-27 23:32 110127_Rでバッチ処理
-rw-r--r-- 1 1000 1000 351 2011-01-27 23:29 110127_expression.R #もとのスクリプトファイル
-rw-r--r-- 1 1000 1000 5484 2011-01-27 23:32 110127_expression.png #Rのプログラムの中にあった散布図をpngファイルで出力できている♪
-rw-r--r-- 1 1000 1000 1378 2011-01-27 23:32 110127_expression.txt #処理結果がちゃんと指定したファイル名で保存されている
-rw-r--r-- 1 1000 1000 3111 2011-01-27 12:30 110127_viエディタ
-rw-r--r-- 1 1000 1000 1530 2011-01-27 19:40 110127_ディレクトリの変更.txt
-rwxr-xr-x 1 1000 1000 7146 2011-01-27 21:14 Hello
-rw-r--r-- 1 1000 1000 3161 2011-01-27 20:58 11017_C言語の入門.txt
$more 110127_expression.txt #計算結果を見てみる
R version 2.10.1 (2009-12-14)
Copyright (C) 2009 The R Foundation for Statistical Computing
ISBN 3-900051-07-0
Rは、自由なソフトウェアであり、「完全に無保証」です。
一定の条件に従えば、自由にこれを再配布することができます。
配布条件の詳細に関しては、'license()'あるいは'licence()'と入力してください。
Rは多くの貢献者による共同プロジェクトです。
詳しくは'contributors()'と入力してください。
また、RやRのパッケージを出版物で引用する際の形式については
'citation()'と入力してください。
'demo()'と入力すればデモをみることができます。
'help()'とすればオンラインヘルプが出ます。
'help.start()'でHTMLブラウザによるヘルプがみられます。
'q()'と入力すればRを終了します。
> png("110127_expression.png")
> exprsgene1 <- 1:20 #1から20までの数値が格納されたxというベクトルオブジェクトを生成
> exprsgene2 <- 51:70 #51から70までの数値が格納されたxというベクトルオブジェクトを生成
> plot(exprsgene1,exprsgene2) #プロットさせる
> dev.off()
null device
1
>
> proc.time()
ユーザ システム 経過
0.504 0.068 0.863
1 計算が数日あるいは数週間に及ぶようなシミュレーションのときに、ユーザーがログアウトしても処理が続いてくれる
2 定期的に実行しなければならない処理をRを起動せずにOSのバックグラウンドで自動的に開始できる
とはいうものの、マイクロアレイの解析をちょこちょこやる程度の現段階でそれほど必要性は感じない。しかし、次世代シークエンサーは一つのファイルがテラのオーダのデータ量であり、したがって処理時間も相当かかってくることが予想される。このようなときにバッチ処理が有効になってくるのではにあかと予想される。
とりあえず、今回はさわりだけ勉強してみた。
$vi 110127_expression.R #test.RというRのスクリプトファイルを作成
aかiで入力モードへ
---ここから---
png("110127_expression.png")
exprsgene1 <- 1:20 #1から20までの数値が格納されたxというベクトルオブジェクトを生成
exprsgene2 <- 51:70 #51から70までの数値が格納されたxというベクトルオブジェクトを生成
plot(exprsgene1,exprsgene2) #プロットさせる
dev.off()
---ここまで---
Escキーでコマンドモードに戻る
:wq で上書き保存してviエディタを終了
$ more 110127_expression.R #スクリプトファイルの中身をのぞいてみる
png("110127_expression.png")
exprsgene1 <- 1:20 #1から20までの数値が格納されたxというベクトルオブジェクトを生成
exprsgene2 <- 51:70 #51から70までの数値が格納されたxというベクトルオブジェクトを生成
plot(exprsgene1,exprsgene2) #プロットさせる
dev.off()
#いい感じ
$ R CMD BATCH 110127_expression.R 110127_expression.txt #上で書いたRのスクリプトファイルを読み込み計算をさせ、結果をテキストファイルとして出力させる。
$ ls -n
合計 52
-rw-r--r-- 1 1000 1000 395 2011-01-26 12:04 110126_EMBOSSのインストール.txt
-rw-r--r-- 1 1000 1000 3596 2011-01-26 12:46 110126_Rのすぐれたヘルプ機能.txt
-rw-r--r-- 1 1000 1000 65 2011-01-27 21:14 110127_Hello.c
-rw-r--r-- 1 1000 1000 1260 2011-01-27 23:32 110127_Rでバッチ処理
-rw-r--r-- 1 1000 1000 351 2011-01-27 23:29 110127_expression.R #もとのスクリプトファイル
-rw-r--r-- 1 1000 1000 5484 2011-01-27 23:32 110127_expression.png #Rのプログラムの中にあった散布図をpngファイルで出力できている♪
-rw-r--r-- 1 1000 1000 1378 2011-01-27 23:32 110127_expression.txt #処理結果がちゃんと指定したファイル名で保存されている
-rw-r--r-- 1 1000 1000 3111 2011-01-27 12:30 110127_viエディタ
-rw-r--r-- 1 1000 1000 1530 2011-01-27 19:40 110127_ディレクトリの変更.txt
-rwxr-xr-x 1 1000 1000 7146 2011-01-27 21:14 Hello
-rw-r--r-- 1 1000 1000 3161 2011-01-27 20:58 11017_C言語の入門.txt
$more 110127_expression.txt #計算結果を見てみる
R version 2.10.1 (2009-12-14)
Copyright (C) 2009 The R Foundation for Statistical Computing
ISBN 3-900051-07-0
Rは、自由なソフトウェアであり、「完全に無保証」です。
一定の条件に従えば、自由にこれを再配布することができます。
配布条件の詳細に関しては、'license()'あるいは'licence()'と入力してください。
Rは多くの貢献者による共同プロジェクトです。
詳しくは'contributors()'と入力してください。
また、RやRのパッケージを出版物で引用する際の形式については
'citation()'と入力してください。
'demo()'と入力すればデモをみることができます。
'help()'とすればオンラインヘルプが出ます。
'help.start()'でHTMLブラウザによるヘルプがみられます。
'q()'と入力すればRを終了します。
> png("110127_expression.png")
> exprsgene1 <- 1:20 #1から20までの数値が格納されたxというベクトルオブジェクトを生成
> exprsgene2 <- 51:70 #51から70までの数値が格納されたxというベクトルオブジェクトを生成
> plot(exprsgene1,exprsgene2) #プロットさせる
> dev.off()
null device
1
>
> proc.time()
ユーザ システム 経過
0.504 0.068 0.863
viエディタを使って、キーボードだけでHello♪(^^)
#include<stdio.h>
int main()
{
printf("Hello");
return 0;
}
----ここまで--------
入力が終了したら、Escキーでコマンドモード戻る。「:wq」コマンドを入力し、内容を上書き保存し、viを終了する。
ここまでが、ソースコードの作成段階。
次に、コンパオイルを行う。
まずは、ソースファイルがきちんとできるてるか確認。
$ls
110126_EMBOSSのインストール.txt 110127_viエディタ
110126_Rのすぐれたヘルプ機能.txt 110127_ディレクトリの変更.txt
110127_Hello.c 11017_C言語の入門.txt
大丈夫みたい。
そしたら、110127_Hello.cというソースファイルをgccによりコンパイルしてリンクして実行ファイルを作ってみる(とはいっても、次のコマンドで一気にやってくれるけど)。
$ gcc -o Hello 110127_Hello.c
これで実行ファイルができた。
$ ls
110126_EMBOSSのインストール.txt 110127_ディレクトリの変更.txt
110126_Rのすぐれたヘルプ機能.txt Hello
110127_Hello.c 11017_C言語の入門.txt
110127_viエディタ
たしかにできてる。実行ファイルHelloを実行するには、
$ ./Hello
すると
Hellokappa@kappa-desktop:~/2011/1101$
となる。
ソースコードを変更して
printf("Hello"); から printf("Hello\n");
のようにHelloの後に改行文字\nをいれる。
そしてこれまでの手順を再度繰り替えして実行ファイルを作って実行すれば、
Hello
kappa@kappa-desktop:~/2011/1101$
となる。
ソースコードのincludeについて、
http://utsukemononi.gozaru.jp/gc/page01.htmlにすばらしい説明があったんで、引用させてもらいますm(_ _)m
include ・・・はC言語の拡張機能を使うために使用する、と考えてください。このプログラムでは、printfが拡張機能になります。printfという拡張機能が定義されているのがstdio.hになります(/usr/include/stdio.hにあります)。だから、拡張機能が定義されている stdio.hを取り込む(includeする)ので、#include <stdio.h>となります。stdio.hにはprintf以外にも画面出力・入力、ファイル出力・入力の機能定義があるため、大抵のプログラムはこれをincludeすることになります。
int main()
{
printf("Hello");
return 0;
}
----ここまで--------
入力が終了したら、Escキーでコマンドモード戻る。「:wq」コマンドを入力し、内容を上書き保存し、viを終了する。
ここまでが、ソースコードの作成段階。
次に、コンパオイルを行う。
まずは、ソースファイルがきちんとできるてるか確認。
$ls
110126_EMBOSSのインストール.txt 110127_viエディタ
110126_Rのすぐれたヘルプ機能.txt 110127_ディレクトリの変更.txt
110127_Hello.c 11017_C言語の入門.txt
大丈夫みたい。
そしたら、110127_Hello.cというソースファイルをgccによりコンパイルしてリンクして実行ファイルを作ってみる(とはいっても、次のコマンドで一気にやってくれるけど)。
$ gcc -o Hello 110127_Hello.c
これで実行ファイルができた。
$ ls
110126_EMBOSSのインストール.txt 110127_ディレクトリの変更.txt
110126_Rのすぐれたヘルプ機能.txt Hello
110127_Hello.c 11017_C言語の入門.txt
110127_viエディタ
たしかにできてる。実行ファイルHelloを実行するには、
$ ./Hello
すると
Hellokappa@kappa-desktop:~/2011/1101$
となる。
ソースコードを変更して
printf("Hello"); から printf("Hello\n");
のようにHelloの後に改行文字\nをいれる。
そしてこれまでの手順を再度繰り替えして実行ファイルを作って実行すれば、
Hello
kappa@kappa-desktop:~/2011/1101$
となる。
ソースコードのincludeについて、
http://utsukemononi.gozaru.jp/gc/page01.htmlにすばらしい説明があったんで、引用させてもらいますm(_ _)m
include ・・・はC言語の拡張機能を使うために使用する、と考えてください。このプログラムでは、printfが拡張機能になります。printfという拡張機能が定義されているのがstdio.hになります(/usr/include/stdio.hにあります)。だから、拡張機能が定義されている stdio.hを取り込む(includeする)ので、#include <stdio.h>となります。stdio.hにはprintf以外にも画面出力・入力、ファイル出力・入力の機能定義があるため、大抵のプログラムはこれをincludeすることになります。
ルートディレクトリに行ってきた♪
$ cd / # ルートディレクトリ("/")に移動
$ pwd # カレントディレクトリを表示
/
$ ls #カレントディレクトリ内のディレクトリやファイルを表示
bin dev initrd.img lost+found opt sbin sys var
boot etc initrd.img.old media proc selinux tmp vmlinuz
cdrom home lib mnt root srv usr vmlinuz.old
$ cd home #homeディレクトリに移動
$ ls
kappa #kappaディレクトリがあった!!
$ cd kappa
$ pwd #もとにもどってきる♪
/home/kappa
$ pwd # カレントディレクトリを表示
/
$ ls #カレントディレクトリ内のディレクトリやファイルを表示
bin dev initrd.img lost+found opt sbin sys var
boot etc initrd.img.old media proc selinux tmp vmlinuz
cdrom home lib mnt root srv usr vmlinuz.old
$ cd home #homeディレクトリに移動
$ ls
kappa #kappaディレクトリがあった!!
$ cd kappa
$ pwd #もとにもどってきる♪
/home/kappa
ディレクトリを移動しまくる♪
$ pwd #カレントディレクトリを表示
/home/kappa
$ ls #カレントディレクトリ内のディレクトリやファイルを表示
2011 examples.desktop テンプレート ドキュメント ピクチャ 公開
R ダウンロード デスクトップ ビデオ ミュージック
$ cd 2011 #2011のディレクトリに移動
$ pwd #カレントディレクトリが移動したことを確認
/home/kappa/2011
$ ls
1101
$ cd ../ #一つ上位ディレクトリに移動
$ pwd #移動できていることを確認
/home/kappa
$ cd 2011 #2011ディレクトリに移動
$ cd ../R #一つ上位ディレクトリに移動した後、続けてその中に含まれるRというディレクトリに移動
$ pwd
/home/kappa/R
$ cd # ユーザー(kappa)のホームディレクトリにもどる
$ pwd
/home/kappa
/home/kappa
$ ls #カレントディレクトリ内のディレクトリやファイルを表示
2011 examples.desktop テンプレート ドキュメント ピクチャ 公開
R ダウンロード デスクトップ ビデオ ミュージック
$ cd 2011 #2011のディレクトリに移動
$ pwd #カレントディレクトリが移動したことを確認
/home/kappa/2011
$ ls
1101
$ cd ../ #一つ上位ディレクトリに移動
$ pwd #移動できていることを確認
/home/kappa
$ cd 2011 #2011ディレクトリに移動
$ cd ../R #一つ上位ディレクトリに移動した後、続けてその中に含まれるRというディレクトリに移動
$ pwd
/home/kappa/R
$ cd # ユーザー(kappa)のホームディレクトリにもどる
$ pwd
/home/kappa
シェルの中でviエディタを起動させてみた☆
シェルの中で、viエディタを用いてファイルの作成をする練習をしました♪♪
$ sudo apt-get install vim #UbuntuにLinuxで一般的なエディタであるviエディタ(拡張版であるvim)を入れる。
$ sudo update-alternatives --config editor
There are 4 choices for the alternative editor (providing /usr/bin/editor).
Selection Path 優 Status
------------------------------------------------------------
* 0 /bin/nano 40 auto mode
1 /bin/ed -100 manual mode
2 /bin/nano 40 manual mode
3 /usr/bin/vim.basic 30 manual mode
4 /usr/bin/vim.tiny 10 manual mode
Press enter to keep the current choice[*], or type selection number: 3 #ここで3を入力した!!!!
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/editor (editor) in manual mode.
$ sudo update-alternatives --config editor
There are 4 choices for the alternative editor (providing /usr/bin/editor).
Selection Path 優 Status
------------------------------------------------------------
0 /bin/nano 40 auto mode
1 /bin/ed -100 manual mode
2 /bin/nano 40 manual mode
* 3 /usr/bin/vim.basic 30 manual mode #vim.basicに変更できてる☆
4 /usr/bin/vim.tiny 10 manual mode
Press enter to keep the current choice[*], or type selection number: #Enterを押す
/usr/bin/vim.basicが通常版で/usr/bin/vim.tinyがもとから入っている簡易版なので、前者を設定した。。。
このコマンドを実行することでviエディタが開かれる。
$ vi test1
#viエディタがシェルの内に表示される
#最初はコマンドモードになっているので、ファイルの内容の閲覧のみである。「a」か「i」を入力すると、入力モードに変更できる.
#何か文字を入力する
#「Escキー」で入力モードから離脱し、コマンドモードに戻る。
#「:q」を入力するとviを終了しようとするが、ファイル内容が変更されている場合は、警告を表示される。まだファイルが保存されていないので、警告が出る。
#「:w」を入力することで、ファイルを上書き保存する。
#「:wq」では、上書き保存し、viを終了する。
#「q!」では、viを強制終了する。
便利コマンドとしては、
「Escキー」を押して、コマンドモードの状態で、
--コピーと貼り付け--
yy カーソルのある行のコピー
p カーソル一の下の行に貼り付け
P カーソル位置の行に貼り付け
--削除--
x カーソルの位置の文字を削除する
X カーソル位置の手前の文字を削除する
dd カーソル位置の行を削除する。
今日の勉強成果は以上です♪
$ sudo apt-get install vim #UbuntuにLinuxで一般的なエディタであるviエディタ(拡張版であるvim)を入れる。
$ sudo update-alternatives --config editor
There are 4 choices for the alternative editor (providing /usr/bin/editor).
Selection Path 優 Status
------------------------------------------------------------
* 0 /bin/nano 40 auto mode
1 /bin/ed -100 manual mode
2 /bin/nano 40 manual mode
3 /usr/bin/vim.basic 30 manual mode
4 /usr/bin/vim.tiny 10 manual mode
Press enter to keep the current choice[*], or type selection number: 3 #ここで3を入力した!!!!
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/editor (editor) in manual mode.
$ sudo update-alternatives --config editor
There are 4 choices for the alternative editor (providing /usr/bin/editor).
Selection Path 優 Status
------------------------------------------------------------
0 /bin/nano 40 auto mode
1 /bin/ed -100 manual mode
2 /bin/nano 40 manual mode
* 3 /usr/bin/vim.basic 30 manual mode #vim.basicに変更できてる☆
4 /usr/bin/vim.tiny 10 manual mode
Press enter to keep the current choice[*], or type selection number: #Enterを押す
/usr/bin/vim.basicが通常版で/usr/bin/vim.tinyがもとから入っている簡易版なので、前者を設定した。。。
このコマンドを実行することでviエディタが開かれる。
$ vi test1
#viエディタがシェルの内に表示される
#最初はコマンドモードになっているので、ファイルの内容の閲覧のみである。「a」か「i」を入力すると、入力モードに変更できる.
#何か文字を入力する
#「Escキー」で入力モードから離脱し、コマンドモードに戻る。
#「:q」を入力するとviを終了しようとするが、ファイル内容が変更されている場合は、警告を表示される。まだファイルが保存されていないので、警告が出る。
#「:w」を入力することで、ファイルを上書き保存する。
#「:wq」では、上書き保存し、viを終了する。
#「q!」では、viを強制終了する。
便利コマンドとしては、
「Escキー」を押して、コマンドモードの状態で、
--コピーと貼り付け--
yy カーソルのある行のコピー
p カーソル一の下の行に貼り付け
P カーソル位置の行に貼り付け
--削除--
x カーソルの位置の文字を削除する
X カーソル位置の手前の文字を削除する
dd カーソル位置の行を削除する。
今日の勉強成果は以上です♪
Rのヘルプ機能
"made4"というパッケージをインストールするとします。
source("http://www.bioconductor.org/biocLite.R")
biocLite("made4")
"made4"とういうパッケージについて知りたいときは次のコマンドを入力します。
help(package = "made4")
すると・・・、
------------------------------------------------
html3D Produce web page with a 3D graph that can be
viewed using Chime web browser plug-in, and/or
a pdb file that can be viewed using Rasmol
khan Microarray gene expression dataset from Khan et
al., 2001. Subset of 306 genes.
ord Ordination
overview Draw boxplot, histogram and hierarchical tree
of gene expression data
plotarrays Graph xy plot of variable (array) projections
from ordination, between group analysis or
coinertia analysis.
plotgenes Graph xy plot of variable (gene) projections
from PCA or COA. Only label variables at ends
of axes
pretty.dend Draw hierarchical tree of gene expression data
with a colorbar for numerous class vectors
randomiser Randomly reassign training and test samples
sumstats Summary statistics on xy co-ordinates, returns
the slopes and distance from origin of each
co-ordinate.
suppl Projection of supplementary data onto axes from
a between group analysis
topgenes Topgenes, returns a list of variables at the
ends (positive, negative or both) of an axis
これ以上の情報はディレクトリ
'/home/kappa/R/i486-pc-linux-gnu-library/2.10/made4/doc'
にある以下のビニエット中にあります:
introduction: Made4 An Introduction (HowTo) (source, pdf)
(END)
----------------------------------------
のようにヘルプが表示されます。この中にあるtopgenesという関数の使用方法を知りたいとします。すると
まず、"q"で現在の表示を閉じてコマンド入力モードにしたあと
help(topgenes)
で下が表示されます
----------------------------------------
topgenes package:made4 R Documentation
Topgenes, returns a list of variables at the ends (positive, negative
or both) of an axis
Description:
‘topgenes’ will return a list of the top N variables from the
positive, negative or both ends of an axis. That is, it returns a
list of variables that have the maximum and/or minimum values in a
vector.
Usage:
topgenes(x, n = 10, axis = 1, labels = row.names(x), ends = "both", ...)
Arguments:
x: A ‘vector’, ‘matrix’ or ‘data.frame’. Typically a data
frame \$co or \$li from ‘dudi’ or \$ls, \$li, \$co from
‘bga’.
n: An integer indicating the number of variables to be returned.
Default is 5.
axis: An integer indicating the column of x. Default is 1 (first
axis, of \$co or \$li file)
labels: A vector of row names, for x[,axis]. Default values is
row.names(x)
:
--------------------------------
さらには、サンプルプログラムを実行したいときは
example(topgenes)
とすれば、topgenes関数を用いた解析コマンドが表示されます。
source("http://www.bioconductor.org/biocLite.R")
biocLite("made4")
"made4"とういうパッケージについて知りたいときは次のコマンドを入力します。
help(package = "made4")
すると・・・、
------------------------------------------------
html3D Produce web page with a 3D graph that can be
viewed using Chime web browser plug-in, and/or
a pdb file that can be viewed using Rasmol
khan Microarray gene expression dataset from Khan et
al., 2001. Subset of 306 genes.
ord Ordination
overview Draw boxplot, histogram and hierarchical tree
of gene expression data
plotarrays Graph xy plot of variable (array) projections
from ordination, between group analysis or
coinertia analysis.
plotgenes Graph xy plot of variable (gene) projections
from PCA or COA. Only label variables at ends
of axes
pretty.dend Draw hierarchical tree of gene expression data
with a colorbar for numerous class vectors
randomiser Randomly reassign training and test samples
sumstats Summary statistics on xy co-ordinates, returns
the slopes and distance from origin of each
co-ordinate.
suppl Projection of supplementary data onto axes from
a between group analysis
topgenes Topgenes, returns a list of variables at the
ends (positive, negative or both) of an axis
これ以上の情報はディレクトリ
'/home/kappa/R/i486-pc-linux-gnu-library/2.10/made4/doc'
にある以下のビニエット中にあります:
introduction: Made4 An Introduction (HowTo) (source, pdf)
(END)
----------------------------------------
のようにヘルプが表示されます。この中にあるtopgenesという関数の使用方法を知りたいとします。すると
まず、"q"で現在の表示を閉じてコマンド入力モードにしたあと
help(topgenes)
で下が表示されます
----------------------------------------
topgenes package:made4 R Documentation
Topgenes, returns a list of variables at the ends (positive, negative
or both) of an axis
Description:
‘topgenes’ will return a list of the top N variables from the
positive, negative or both ends of an axis. That is, it returns a
list of variables that have the maximum and/or minimum values in a
vector.
Usage:
topgenes(x, n = 10, axis = 1, labels = row.names(x), ends = "both", ...)
Arguments:
x: A ‘vector’, ‘matrix’ or ‘data.frame’. Typically a data
frame \$co or \$li from ‘dudi’ or \$ls, \$li, \$co from
‘bga’.
n: An integer indicating the number of variables to be returned.
Default is 5.
axis: An integer indicating the column of x. Default is 1 (first
axis, of \$co or \$li file)
labels: A vector of row names, for x[,axis]. Default values is
row.names(x)
:
--------------------------------
さらには、サンプルプログラムを実行したいときは
example(topgenes)
とすれば、topgenes関数を用いた解析コマンドが表示されます。
APTシステムでembossをインストール
この前のembossのインストールの簡単バージョン!!!!ただし、Ubuntuを入れ直した後に、すぐやったらうまくいきました。
$sudo apt-get update
$sudo apt-get install emboss
$cd /usr/share/EMBOSS
$sudo cp emboss.default.template emboss.default
$sudo nautilus
#cd /usr/share/EMBOSS emboss.defaultにデータベースを追加しておく。
$sudo apt-get update
$sudo apt-get install emboss
$cd /usr/share/EMBOSS
$sudo cp emboss.default.template emboss.default
$sudo nautilus
#cd /usr/share/EMBOSS emboss.defaultにデータベースを追加しておく。
UbuntuのAPT(Advanced Packageing Tool)システム
UbuntuのLinuxディステュリビューションでは、apt-get install 関数を用いれば、簡単に目的のアプリケーションをインストリールすることができます。
$ sudo apt-get update
$ sudo apt-get install "パッケージ名"
簡単にインストールできるのは、ソフトウェアの実行ファイル、ライブラリ、設定ファイル、インストールに必要な定義ファイルなどを「パッケージ」というひとつのファイルないに収められていて、正しく動作するように適切に配置されているためです。
APTシステムでは、目的のパッケージと依存関係にあるパッケージも自動的にインストールしてくれるので、すごく助かります。
Ubuntu恐ろしや。
$ sudo apt-get update
$ sudo apt-get install "パッケージ名"
簡単にインストールできるのは、ソフトウェアの実行ファイル、ライブラリ、設定ファイル、インストールに必要な定義ファイルなどを「パッケージ」というひとつのファイルないに収められていて、正しく動作するように適切に配置されているためです。
APTシステムでは、目的のパッケージと依存関係にあるパッケージも自動的にインストールしてくれるので、すごく助かります。
Ubuntu恐ろしや。
EMBOSSで遊んでみた☆
$export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH #今の私の設定環境だと、結局これをシェルを開いたら最初にいれないといけないみたい。。。
$wossname #EMBOSSは多数の解析のためのコマンド群からなっている。これを調べるにはwossnameコマンドを使う。
Finds programs by keywords in their short description #ここで何も入れないと、全部のコマンドが表示されていくる。
Text to search for, or blank to list all programs:
ACD
acdc Test an application ACD file
acdpretty Correctly reformat an application ACD file
acdtable Generate an HTML table of parameters from an application ACD file
acdtrace Trace processing of an application ACD file (for testing)
acdvalid Validate an application ACD file
$infoseq refseq:NM_138712 #infoseqコマンドを実行することでNM_138712に関するざっくりとした説明文が見れる。
Display basic information about sequences
USA Database Name Accession Type Length %GC Organism Description
refseq-id:NM_138712 refseq NM_138712 NM_138712 N 1892 48.10 Homo sapiens (human) Homo sapiens peroxisome proliferator-activated receptor gamma (PPARG), transcript variant 1, mRNA.
#インターネット経由で配列を読み込んでみる。
$seqret refseq:NM_138712 -outseq hsa_pparg.nt
Reads and writes (returns) sequences
$less hsa_pparg.nt
>NM_138712 NM_138712.3 Homo sapiens peroxisome proliferator-activated receptor gamma (PPARG), transcript variant 1, mRNA.
ggcgcccgcgcccgcccccgcgccgggcccggctcggcccgacccggctccgccgcgggc
aggcggggcccagcgcactcggagcccgagcccgagccgcagccgccgcctggggcgctt
gggtcggcctcgaggacaccggagaggggcgccacgccgccgtggccgcagatttgaaag
aagccaacactaaaccacaaatatacaacaaggccattttctcaaacgagagtcagcctt
taacgaaatgaccatggttgacacagagatgccattctggcccaccaactttgggatcag
ctccgtggatctctccgtaatggaagaccactcccactcctttgatatcaagcccttcac
tactgttgacttctccagcatttctactccacattacgaagacattccattcacaagaac
agatccagtggttgcagattacaagtatgacctgaaacttcaagagtaccaaagtgcaat
caaagtggagcctgcatctccaccttattattctgagaagactcagctctacaataagcc
tcatgaagagccttccaactccctcatggcaattgaatgtcgtgtctgtggagataaagc
ttctggatttcactatggagttcatgcttgtgaaggatgcaagggtttcttccggagaac
aatcagattgaagcttatctatgacagatgtgatcttaactgtcggatccacaaaaaaag
tagaaataaatgtcagtactgtcggtttcagaaatgccttgcagtggggatgtctcataa
tgccatcaggtttgggcggatgccacaggccgagaaggagaagctgttggcggagatctc
cagtgatatcgaccagctgaatccagagtccgctgacctccgggccctggcaaaacattt
gtatgactcatacataaagtccttcccgctgaccaaagcaaaggcgagggcgatcttgac
aggaaagacaacagacaaatcaccattcgttatctatgacatgaattccttaatgatggg
agaagataaaatcaagttcaaacacatcacccccctgcaggagcagagcaaagaggtggc
catccgcatctttcagggctgccagtttcgctccgtggaggctgtgcaggagatcacaga
gtatgccaaaagcattcctggttttgtaaatcttgacttgaacgaccaagtaactctcct
caaatatggagtccacgagatcatttacacaatgctggcctccttgatgaataaagatgg
ggttctcatatccgagggccaaggcttcatgacaagggagtttctaaagagcctgcgaaa
gccttttggtgactttatggagcccaagtttgagtttgctgtgaagttcaatgcactgga
attagatgacagcgacttggcaatatttattgctgtcattattctcagtggagaccgccc
aggtttgctgaatgtgaagcccattgaagacattcaagacaacctgctacaagccctgga
gctccagctgaagctgaaccaccctgagtcctcacagctgtttgccaagctgctccagaa
aatgacagacctcagacagattgtcacggaacacgtgcagctactgcaggtgatcaagaa
gacggagacagacatgagtcttcacccgctcctgcaggagatctacaaggacttgtacta
gcagagagtcctgagccactgccaacatttcccttcttccagttgcactattctgaggga
aaatctgacacctaagaaatttactgtgaaaaagcattttaaaaagaaaaggttttagaa
tatgatctattttatgcatattgtttataaagacacatttacaatttacttttaatatta
aaaattaccatattatgaaattgctgatagta
hsa_pparg.nt (END)
#"q"を一発入力してやれば、$の画面に戻ります♪
#こんなことともできるようです。
$ seqret swissprot:BACE*HUMAN -out=BACE_HUMAN.dat
Reads and writes (returns) sequences
@tetsuo-desktop:~$ more BACE_HUMAN.dat
>BACE1_HUMAN P56817 Beta-secretase 1 (3.4.23.46) (Aspartyl protease 2) (ASP2) (A
sp 2) (Beta-site amyloid precursor protein cleaving enzyme 1) (Beta-site APP cle
aving enzyme 1) (Memapsin-2) (Membrane-associated aspartic protease 2) (Precurso
r)
MAQALPWLLLWMGAGVLPAHGTQHGIRLPLRSGLGGAPLGLRLPRETDEEPEEPGRRGSF
VEMVDNLRGKSGQGYYVEMTVGSPPQTLNILVDTGSSNFAVGAAPHPFLHRYYQRQLSST
YRDLRKGVYVPYTQGKWEGELGTDLVSIPHGPNVTVRANIAAITESDKFFINGSNWEGIL
GLAYAEIARPDDSLEPFFDSLVKQTHVPNLFSLQLCGAGFPLNQSEVLASVGGSMIIGGI
DHSLYTGSLWYTPIRREWYYEVIIVRVEINGQDLKMDCKEYNYDKSIVDSGTTNLRLPKK
VFEAAVKSIKAASSTEKFPDGFWLGEQLVCWQAGTTPWNIFPVISLYLMGEVTNQSFRIT
ILPQQYLRPVEDVATSQDDCYKFAISQSSTGTVMGAVIMEGFYVVFDRARKRIGFAVSAC
HVHDEFRTAAVEGPFVTLDMEDCGYNIPQTDESTLMTIAYVMAAICALFMLPLCLMVCQW
CCLRCLRQQHDDFADDISLLK
>BACE2_HUMAN Q9Y5Z0 Beta-secretase 2 (3.4.23.45) (Aspartic-like protease 56 kDa)
(Aspartyl protease 1) (ASP1) (Asp 1) (Beta-site amyloid precursor protein cleav
ing enzyme 2) (Beta-site APP cleaving enzyme 2) (Down region aspartic protease)
(DRAP) (Memapsin-1) (Membrane-associated aspartic protease 1) (Theta-secretase)
(Precursor)
MGALARALLLPLLAQWLLRAAPELAPAPFTLPLRVAAATNRVVAPTPGPGTPAERHADGL
ALALEPALASPAGAANFLAMVDNLQGDSGRGYYLEMLIGTPPQKLQILVDTGSSNFAVAG
TPHSYIDTYFDTERSSTYRSKGFDVTVKYTQGSWTGFVGEDLVTIPKGFNTSFLVNIATI
FESENFFLPGIKWNGILGLAYATLAKPSSSLETFFDSLVTQANIPNVFSMQMCGAGLPVA
GSGTNGGSLVLGGIEPSLYKGDIWYTPIKEEWYYQIEILKLEIGGQSLNLDCREYNADKA
IVDSGTTLLRLPQKVFDAVVEAVARASLIPEFSDGFWTGSQLACWTNSETPWSYFPKISI
YLRDENSSRSFRITILPQLYIQPMMGAGLNYECYRFGISPSTNALVIGATVMEGFYVIFD
RAQKRVGFAASPCAEIAGAAVSEISGPFSTEDVASNCVPAQSLSEPILWIVSYALMSVCG
AILLVLIVLLLLPFRCQRRPRDPEVVNDESSLVRHRWK
EMBOSS恐ろしや。GUIでこの作業をするとちょっと面倒くさいなあと思います。
$wossname #EMBOSSは多数の解析のためのコマンド群からなっている。これを調べるにはwossnameコマンドを使う。
Finds programs by keywords in their short description #ここで何も入れないと、全部のコマンドが表示されていくる。
Text to search for, or blank to list all programs:
ACD
acdc Test an application ACD file
acdpretty Correctly reformat an application ACD file
acdtable Generate an HTML table of parameters from an application ACD file
acdtrace Trace processing of an application ACD file (for testing)
acdvalid Validate an application ACD file
$infoseq refseq:NM_138712 #infoseqコマンドを実行することでNM_138712に関するざっくりとした説明文が見れる。
Display basic information about sequences
USA Database Name Accession Type Length %GC Organism Description
refseq-id:NM_138712 refseq NM_138712 NM_138712 N 1892 48.10 Homo sapiens (human) Homo sapiens peroxisome proliferator-activated receptor gamma (PPARG), transcript variant 1, mRNA.
#インターネット経由で配列を読み込んでみる。
$seqret refseq:NM_138712 -outseq hsa_pparg.nt
Reads and writes (returns) sequences
$less hsa_pparg.nt
>NM_138712 NM_138712.3 Homo sapiens peroxisome proliferator-activated receptor gamma (PPARG), transcript variant 1, mRNA.
ggcgcccgcgcccgcccccgcgccgggcccggctcggcccgacccggctccgccgcgggc
aggcggggcccagcgcactcggagcccgagcccgagccgcagccgccgcctggggcgctt
gggtcggcctcgaggacaccggagaggggcgccacgccgccgtggccgcagatttgaaag
aagccaacactaaaccacaaatatacaacaaggccattttctcaaacgagagtcagcctt
taacgaaatgaccatggttgacacagagatgccattctggcccaccaactttgggatcag
ctccgtggatctctccgtaatggaagaccactcccactcctttgatatcaagcccttcac
tactgttgacttctccagcatttctactccacattacgaagacattccattcacaagaac
agatccagtggttgcagattacaagtatgacctgaaacttcaagagtaccaaagtgcaat
caaagtggagcctgcatctccaccttattattctgagaagactcagctctacaataagcc
tcatgaagagccttccaactccctcatggcaattgaatgtcgtgtctgtggagataaagc
ttctggatttcactatggagttcatgcttgtgaaggatgcaagggtttcttccggagaac
aatcagattgaagcttatctatgacagatgtgatcttaactgtcggatccacaaaaaaag
tagaaataaatgtcagtactgtcggtttcagaaatgccttgcagtggggatgtctcataa
tgccatcaggtttgggcggatgccacaggccgagaaggagaagctgttggcggagatctc
cagtgatatcgaccagctgaatccagagtccgctgacctccgggccctggcaaaacattt
gtatgactcatacataaagtccttcccgctgaccaaagcaaaggcgagggcgatcttgac
aggaaagacaacagacaaatcaccattcgttatctatgacatgaattccttaatgatggg
agaagataaaatcaagttcaaacacatcacccccctgcaggagcagagcaaagaggtggc
catccgcatctttcagggctgccagtttcgctccgtggaggctgtgcaggagatcacaga
gtatgccaaaagcattcctggttttgtaaatcttgacttgaacgaccaagtaactctcct
caaatatggagtccacgagatcatttacacaatgctggcctccttgatgaataaagatgg
ggttctcatatccgagggccaaggcttcatgacaagggagtttctaaagagcctgcgaaa
gccttttggtgactttatggagcccaagtttgagtttgctgtgaagttcaatgcactgga
attagatgacagcgacttggcaatatttattgctgtcattattctcagtggagaccgccc
aggtttgctgaatgtgaagcccattgaagacattcaagacaacctgctacaagccctgga
gctccagctgaagctgaaccaccctgagtcctcacagctgtttgccaagctgctccagaa
aatgacagacctcagacagattgtcacggaacacgtgcagctactgcaggtgatcaagaa
gacggagacagacatgagtcttcacccgctcctgcaggagatctacaaggacttgtacta
gcagagagtcctgagccactgccaacatttcccttcttccagttgcactattctgaggga
aaatctgacacctaagaaatttactgtgaaaaagcattttaaaaagaaaaggttttagaa
tatgatctattttatgcatattgtttataaagacacatttacaatttacttttaatatta
aaaattaccatattatgaaattgctgatagta
hsa_pparg.nt (END)
#"q"を一発入力してやれば、$の画面に戻ります♪
#こんなことともできるようです。
$ seqret swissprot:BACE*HUMAN -out=BACE_HUMAN.dat
Reads and writes (returns) sequences
@tetsuo-desktop:~$ more BACE_HUMAN.dat
>BACE1_HUMAN P56817 Beta-secretase 1 (3.4.23.46) (Aspartyl protease 2) (ASP2) (A
sp 2) (Beta-site amyloid precursor protein cleaving enzyme 1) (Beta-site APP cle
aving enzyme 1) (Memapsin-2) (Membrane-associated aspartic protease 2) (Precurso
r)
MAQALPWLLLWMGAGVLPAHGTQHGIRLPLRSGLGGAPLGLRLPRETDEEPEEPGRRGSF
VEMVDNLRGKSGQGYYVEMTVGSPPQTLNILVDTGSSNFAVGAAPHPFLHRYYQRQLSST
YRDLRKGVYVPYTQGKWEGELGTDLVSIPHGPNVTVRANIAAITESDKFFINGSNWEGIL
GLAYAEIARPDDSLEPFFDSLVKQTHVPNLFSLQLCGAGFPLNQSEVLASVGGSMIIGGI
DHSLYTGSLWYTPIRREWYYEVIIVRVEINGQDLKMDCKEYNYDKSIVDSGTTNLRLPKK
VFEAAVKSIKAASSTEKFPDGFWLGEQLVCWQAGTTPWNIFPVISLYLMGEVTNQSFRIT
ILPQQYLRPVEDVATSQDDCYKFAISQSSTGTVMGAVIMEGFYVVFDRARKRIGFAVSAC
HVHDEFRTAAVEGPFVTLDMEDCGYNIPQTDESTLMTIAYVMAAICALFMLPLCLMVCQW
CCLRCLRQQHDDFADDISLLK
>BACE2_HUMAN Q9Y5Z0 Beta-secretase 2 (3.4.23.45) (Aspartic-like protease 56 kDa)
(Aspartyl protease 1) (ASP1) (Asp 1) (Beta-site amyloid precursor protein cleav
ing enzyme 2) (Beta-site APP cleaving enzyme 2) (Down region aspartic protease)
(DRAP) (Memapsin-1) (Membrane-associated aspartic protease 1) (Theta-secretase)
(Precursor)
MGALARALLLPLLAQWLLRAAPELAPAPFTLPLRVAAATNRVVAPTPGPGTPAERHADGL
ALALEPALASPAGAANFLAMVDNLQGDSGRGYYLEMLIGTPPQKLQILVDTGSSNFAVAG
TPHSYIDTYFDTERSSTYRSKGFDVTVKYTQGSWTGFVGEDLVTIPKGFNTSFLVNIATI
FESENFFLPGIKWNGILGLAYATLAKPSSSLETFFDSLVTQANIPNVFSMQMCGAGLPVA
GSGTNGGSLVLGGIEPSLYKGDIWYTPIKEEWYYQIEILKLEIGGQSLNLDCREYNADKA
IVDSGTTLLRLPQKVFDAVVEAVARASLIPEFSDGFWTGSQLACWTNSETPWSYFPKISI
YLRDENSSRSFRITILPQLYIQPMMGAGLNYECYRFGISPSTNALVIGATVMEGFYVIFD
RAQKRVGFAASPCAEIAGAAVSEISGPFSTEDVASNCVPAQSLSEPILWIVSYALMSVCG
AILLVLIVLLLLPFRCQRRPRDPEVVNDESSLVRHRWK
EMBOSS恐ろしや。GUIでこの作業をするとちょっと面倒くさいなあと思います。
ubuntuの環境でEMBOSSを使えるようにする!!!(しんどかった。。。)
#まずはコンパイルできる環境を整えるために必要なソフトをインストールします。
$sudo apt-get install build-essential
EMBOSSのホームページ http://emboss.sourceforge.net/
ここのEMBOSSのソースファイルがおいてある ftp://emboss.open-bio.org/pub/EMBOSS/
$ls
2011 R ダウンロード デスクトップ ビデオ ミュージック
examples.desktop テンプレート ドキュメント ピクチャ 公開
$wget ftp://emboss.open-bio.org/pub/EMBOSS/EMBOSS-6.3.1.tar.gz
$ls
2011 R ダウンロード デスクトップ ビデオ ミュージック
EMBOSS-6.3.1.tar.gz examples.desktop テンプレート ドキュメント ピクチャ 公開
$tar xfz EMBOSS-6.3.1.tar.gz #圧縮形式のEMBOSS-6.3.1.tar.gzをカレントディレクトリに展開する
$ls
2011 EMBOSS-6.3.1.tar.gz examples.desktop テンプレート ドキュメント ピクチャ 公開
EMBOSS-6.3.1 R ダウンロード デスクトップ ビデオ ミュージック
$cd EMBOSS-6.3.1 #展開により生成したディレクトリに移動
$pwd
/home/tetsuo/EMBOSS-6.3.1
$./configure --without-x
#configureコマンドは、インストールするPC環境(コンパイラの種類など)をチェックして、その環境にあったビルド方法を定義した「Makefile」というファイルに作成する。 "--without-x"というオプションをつけないとubuntu10.04の環境ではエラーが出てしまう!!!!!!!!!!!!!!!!!!
#X11 graphics have been selected but no X11 header files have been found.らしいんで
$make #makeコマンドはMakefileに記述された方法でソースファイルをコンパイル、実行ファイルを作る。
$sudo make install #インストールを実行
#EMBOSSを使うには、"emboss.default"を作成する必要がある。以下のディレクトリにテンプレートがおいてあるのでそれをコピーして使う。
$cd /usr/local/share/EMBOSS
$sudo cp emboss.default.template emboss.default
$wossname #wossnameでコマンド一覧を表示しようと思って入れてもエラーメッセージが出て本当に困った。
$export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
#これを入力する必要があることがいつまでもたっても調べきれず、途方に暮れた・・・・。外国のユーザーの方はとっくの昔に掲示板に質問してて、ビックリした。。
$wossname
Finds programs by keywords in their short description
Text to search for, or blank to list all programs: add
SEARCH FOR 'ACD'
acdc Test an application ACD file
acdpretty Correctly reformat an application ACD file
acdtable Generate an HTML table of parameters from an application ACD file
acdtrace Trace processing of an application ACD file (for testing)
acdvalid Validate an application ACD file
$showdb #データベースを表示。
Displays information on configured databases
# Name Type ID Qry All Comment
# ============ ========== == === === =======
tpir Protein OK OK OK PIR using NBRF access for 4 files
tsw Protein OK OK OK Swissprot native format with EMBL CD-ROM index
tswnew Protein OK OK OK Swissnew as 3 files in native format with EMBL CD-ROM index
twp Protein OK OK OK EMBL new in native format with EMBL CD-ROM index
tembl Nucleotide OK OK OK EMBL in native format with EMBL CD-ROM index
tgb Nucleotide OK OK OK Genbank IDs
tgenbank Nucleotide OK OK OK GenBank in native format with EMBL CD-ROM index
#このままでは(初期状態ではネットワーク越しの遺伝子配列の取得が指定されていないので、一例として、先ほど作成したemboss.defaultの内容に対して以下の記述を追加する)
# ただし、emboss.defaultも読み取り専用の設定となっておいる。これを変更するため、root権限で読み取り専用を解除する$sudo nautilusでパスワードを入力し、ファイルマネージャーを起動する。
# /usr/local/share/EMBOSSのフォルダを開き、「emboss.default」を右クリックして、「プロパティ」→「アクセス権」のタブを開き、「読み込み専用」のところを「読み書き」に変更。そしてやっと開いたファイルに対して、本文の末尾に続けて、ネット上で公開されているKNOBのソースコード(http://itoshi.tv/emboss.default)をぶち込む。これでかの有名なKNOB(Knoppix for Bio)と同じ環境でEMBOSSを楽しむことができる(ハズ)♪♪♪
--------------ここから-------------------------------
#
# emboss.default for Knoppix for bio (KNOB)
#
# written by Itoshi NIKAIDO <dritoshi at gmail dot com>
#
SET emboss_data /usr/share/EMBOSS/data
########################
### access method SRSWWW
########################
DB embl [
type: N
format: embl
method: srswww
dbalias: embl
fields: "sv des org key"
url: http://srs.ebi.ac.uk/cgi-bin/wgetz
comment: "The EMBL nucleotide sequence database constitutes Europes primary nucleotide sequence resource. The database is produced in an international collaboration with GenBank (USA) and the DNA Database of Japan (DDBJ)."
]
DB refseq [
type: N
format: genbank
method: srswww
dbalias: REFSEQ
fields: "sv des org key"
url: http://srs.ebi.ac.uk/cgi-bin/wgetz
comment: "Database providing non-redundant curated data representing knowledge of known genes"
]
DB swall [
type: P
format: swiss
method: srswww
dbalias: SWALL
fields: "sv des org key"
url: http://srs.ebi.ac.uk/cgi-bin/wgetz
comment: "A combined database of Swiss-Prot, SPTREMBL and TREMBLNEW. Does not contain REMTREMBL. "
]
DB swissprot [
type: P
format: swiss
method: srswww
dbalias: SWISSPROT
fields: "sv des org key"
url: http://srs.ebi.ac.uk/cgi-bin/wgetz
comment: "Database of protein sequences produced collaboratively by the Swiss Institute for Bioinformatics (SIB) and the European Bioinformatics Institute (EBI). "
]
DB SpTrEMBL [
type: P
format: embl
method: srswww
dbalias: SPTREMBL
fields: "sv des org key"
url: http://srs.ebi.ac.uk/cgi-bin/wgetz
comment: "Contains the translations of all coding sequences present in the EMBL sequence database not yet integrated in SWISS-PROT "
]
DB pir [
type: P
format: pir
method: srswww
dbalias: PIR
fields: "sv des org key"
url: http://srs.ebi.ac.uk/cgi-bin/wgetz
comment: "Protein Identification Resource. "
]
DB refseqp [
type: P
format: genbank
method: srswww
dbalias: REFSEQP
fields: "sv des org key"
url: http://srs.ebi.ac.uk/cgi-bin/wgetz
comment: "Database of protein information from REFSEQ "
]
DB DDBJRELEASE [
type: N
format: genbank
method: srswww
url: http://srs.ddbj.nig.ac.jp/cgi-bin/wgetz
dbalias: DDBJRELEASE
fields: "sv des org key"
comment: "DDBJRELEASE IDs"
]
DB DDBJNEW [
type: N
format: genbank
method: srswww
url: http://srs.ddbj.nig.ac.jp/cgi-bin/wgetz
dbalias: DDBJNEW
fields: "sv des org key"
comment: "DDBJNEW IDs"
]
DB GENBANK [
type: N
format: genbank
method: url
url: "http://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=nucleotide&rettype=gb&retmode=text&id=%s"
dbalias: GENBANKN
comment: "NCBI IDs"
]
# SET emboss_proxy "10.3.1.1:8080"
--------------ここまで-----------------------------------------
あと、これも入れときました。
DB swissprot [
type: P
format: swiss
method: srswww
dbalias: SWISSPROT
fields: "sv des org key"
url: http://srs.ebi.ac.uk/cgi-bin/wgetz
comment: "Database of protein sequences by SIB and EBI. "
]
これで完成です!!
これで私のPCでもEMBOSSが楽しみたい放題になるといいなあと思います。
ubuntuでC言語
#まずはじめにgeditテキストエディタで以下のプログラムを作成し、"Hello_world.c"という拡張子cのファイルを作成した。
/* Hello_world.c */
#include <stdio.h>
int main()
{
printf("はろーわぁるど\n");
return 0;
}
$sudo apt-get install build-essential #C/C++ ヘッダ及びライブラリのインストール
$cd /home/tetsuo/2011/1101
$ls
110120_ネットワーク練習_2.txt 110124_Screenshot_2.png
110121_Linux_R 110124_randomGraph.png
110121_gplot.png 110124_randomGraphのコマンド.txt
110121_グラフ3 110124_randomGraphのコマンド_2.txt
110122_gene1-gene2_relation.png 110124_ubuntuでC.txt
110122_シェルの練習 110124_グラフ_1.png
110122_散布図 110124_グラフ_2.png
110123_シェルの練習 110124_グラフ_3
110124_EMBOSSのインストール.txt 110124_グラフ_3.png
110124_Screenshot_1.png Hello_world.c
$cat Hello_world.c #catコマンドでカレントディレクトリのソースファイルを読み込む
/* Hello_world.c */
#include <stdio.h>
int main()
{
printf("はろーわぁるど\n");
return 0;
}
$gcc -o Hello_world.c #このコマンドでgccを用いてコンパイルできる!!!!!!!!!!
$ls
110120_ネットワーク練習_2.txt 110124_randomGraph.png
110121_Linux_R 110124_randomGraphのコマンド.txt
110121_gplot.png 110124_randomGraphのコマンド_2.txt
110121_グラフ3 110124_ubuntuでC.txt
110122_gene1-gene2_relation.png 110124_グラフ_1.png
110122_シェルの練習 110124_グラフ_2.png
110122_散布図 110124_グラフ_3
110123_シェルの練習 110124_グラフ_3.png
110124_EMBOSSのインストール.txt Hello_world.c
110124_Screenshot_1.png a.out #a.outという謎のファイルができてる!!!
110124_Screenshot_2.png
$./a.out
はろーわぁるど #この一文を出力するためにどれだけ時間がかかったことか(涙)
/* Hello_world.c */
#include <stdio.h>
int main()
{
printf("はろーわぁるど\n");
return 0;
}
$sudo apt-get install build-essential #C/C++ ヘッダ及びライブラリのインストール
$cd /home/tetsuo/2011/1101
$ls
110120_ネットワーク練習_2.txt 110124_Screenshot_2.png
110121_Linux_R 110124_randomGraph.png
110121_gplot.png 110124_randomGraphのコマンド.txt
110121_グラフ3 110124_randomGraphのコマンド_2.txt
110122_gene1-gene2_relation.png 110124_ubuntuでC.txt
110122_シェルの練習 110124_グラフ_1.png
110122_散布図 110124_グラフ_2.png
110123_シェルの練習 110124_グラフ_3
110124_EMBOSSのインストール.txt 110124_グラフ_3.png
110124_Screenshot_1.png Hello_world.c
$cat Hello_world.c #catコマンドでカレントディレクトリのソースファイルを読み込む
/* Hello_world.c */
#include <stdio.h>
int main()
{
printf("はろーわぁるど\n");
return 0;
}
$gcc -o Hello_world.c #このコマンドでgccを用いてコンパイルできる!!!!!!!!!!
$ls
110120_ネットワーク練習_2.txt 110124_randomGraph.png
110121_Linux_R 110124_randomGraphのコマンド.txt
110121_gplot.png 110124_randomGraphのコマンド_2.txt
110121_グラフ3 110124_ubuntuでC.txt
110122_gene1-gene2_relation.png 110124_グラフ_1.png
110122_シェルの練習 110124_グラフ_2.png
110122_散布図 110124_グラフ_3
110123_シェルの練習 110124_グラフ_3.png
110124_EMBOSSのインストール.txt Hello_world.c
110124_Screenshot_1.png a.out #a.outという謎のファイルができてる!!!
110124_Screenshot_2.png
$./a.out
はろーわぁるど #この一文を出力するためにどれだけ時間がかかったことか(涙)
二つのノードからなるグラフをいじりたおす!!!
$R
library(graph)
library(Rgraphviz)
g1 <- new("graphNEL", nodes=c("GENE1", "GENE2"), edgemode="directed")
g2 <- addEdge("GENE1", "GENE2", g1, 1)
g3 <- addEdge("GENE2", "GENE1", g1, 1)
g4 <- addEdge("GENE2", "GENE1", g2, 1)
par(mfrow=c(2,2))
plot(g1)
plot(g2)
plot(g3)
plot(g4)
node1 <- list(fillcolor = "green")
edge1 <- list(color = "red")
attrs1 <- getDefaultAttrs(list(node = node1, edge = edge1))
plot(g4, attrs = attrs1)
par(mfrow=c(2,2))
plot(g1, attrs = attrs1)
plot(g2, attrs = attrs1)
plot(g3, attrs = attrs1)
plot(g4, attrs = attrs1)
setwd("/home/tetsuo/2011/1101")
png("110124_グラフ_3")
par(mfrow=c(2,4))
plot(g1)
plot(g2)
plot(g3)
plot(g4)
plot(g1, attrs = attrs1)
plot(g2, attrs = attrs1)
plot(g3, attrs = attrs1)
plot(g4, attrs = attrs1)
dev.off()
q()
$exit
library(graph)
library(Rgraphviz)
g1 <- new("graphNEL", nodes=c("GENE1", "GENE2"), edgemode="directed")
g2 <- addEdge("GENE1", "GENE2", g1, 1)
g3 <- addEdge("GENE2", "GENE1", g1, 1)
g4 <- addEdge("GENE2", "GENE1", g2, 1)
par(mfrow=c(2,2))
plot(g1)
plot(g2)
plot(g3)
plot(g4)
node1 <- list(fillcolor = "green")
edge1 <- list(color = "red")
attrs1 <- getDefaultAttrs(list(node = node1, edge = edge1))
plot(g4, attrs = attrs1)
par(mfrow=c(2,2))
plot(g1, attrs = attrs1)
plot(g2, attrs = attrs1)
plot(g3, attrs = attrs1)
plot(g4, attrs = attrs1)
setwd("/home/tetsuo/2011/1101")
png("110124_グラフ_3")
par(mfrow=c(2,4))
plot(g1)
plot(g2)
plot(g3)
plot(g4)
plot(g1, attrs = attrs1)
plot(g2, attrs = attrs1)
plot(g3, attrs = attrs1)
plot(g4, attrs = attrs1)
dev.off()
q()
$exit
グラフをいじり倒す!!!!!
$R
library(graph)
library(Rgraphviz)
set.seed(123)
V <- c("GENE1", "GENE2", "GENE3", "GENE4", "GENE5", "GENE6", "GENE7", "GENE8")
M <- 1:10
p <- 0.5
#V: The nodes of the graph.
#M: A set of values used to generate the graph.
#p: A value between 0 and 1 that indicates the probability of selecting an element of ‘M’
g1 <- randomGraph(V,M,p)
plot(g1)
setwd("/home/tetsuo/2011/1101") #ディレクトリの変更
png("110124_グラフ_1.png")
plot(g1)
dev.off()
class(g1) #g1オブジェクトのクラスを表示
nodes(g1) #g1のすべてのノードの名称を表示
edgeNames(g1) #g1のエッジ(辺)の名称を表示
numEdges(g1) #g1のエッジの数を表示
degree(g1) #それぞれのノードでのエッジ数を表示
adj(g1, "GENE2") #引数で与えられるノードに隣接するノードを表示させる
acc(g1, "GENE1") #引数のノードに到達するための距離を返す
par(mfrow=c(2,2)) #以下に表示される図を一つのウィンドウに割り付けて表示させる(2*2)
plot(g1, "fdp", main="fdp")
plot(g1, "circo", main="circo")
plot(g1, "twopi", main="twopi")
plot(g1, "neato", main="neato")
png("110124_グラフ_2.png") #pngファイルで割り付けた図を保存
par(mfrow=c(2,2))
plot(g1, "fdp", main="fdp")
plot(g1, "circo", main="circo")
plot(g1, "twopi", main="twopi")
plot(g1, "neato", main="neato")
dev.off()
library(graph)
library(Rgraphviz)
set.seed(123)
V <- c("GENE1", "GENE2", "GENE3", "GENE4", "GENE5", "GENE6", "GENE7", "GENE8")
M <- 1:10
p <- 0.5
#V: The nodes of the graph.
#M: A set of values used to generate the graph.
#p: A value between 0 and 1 that indicates the probability of selecting an element of ‘M’
g1 <- randomGraph(V,M,p)
plot(g1)
setwd("/home/tetsuo/2011/1101") #ディレクトリの変更
png("110124_グラフ_1.png")
plot(g1)
dev.off()
class(g1) #g1オブジェクトのクラスを表示
nodes(g1) #g1のすべてのノードの名称を表示
edgeNames(g1) #g1のエッジ(辺)の名称を表示
numEdges(g1) #g1のエッジの数を表示
degree(g1) #それぞれのノードでのエッジ数を表示
adj(g1, "GENE2") #引数で与えられるノードに隣接するノードを表示させる
acc(g1, "GENE1") #引数のノードに到達するための距離を返す
par(mfrow=c(2,2)) #以下に表示される図を一つのウィンドウに割り付けて表示させる(2*2)
plot(g1, "fdp", main="fdp")
plot(g1, "circo", main="circo")
plot(g1, "twopi", main="twopi")
plot(g1, "neato", main="neato")
png("110124_グラフ_2.png") #pngファイルで割り付けた図を保存
par(mfrow=c(2,2))
plot(g1, "fdp", main="fdp")
plot(g1, "circo", main="circo")
plot(g1, "twopi", main="twopi")
plot(g1, "neato", main="neato")
dev.off()
グラフの作成
$R
> set.seed(123) #生成される構造を固定するためにawr.seed関数を123で初期化する
> V <- letters[1:10]
> M <- 1:4
> library(graph)
> ls("package:graph") #パッケージに含まれる関数を見る
[1] "DFS" "Dist" "MultiGraph"
[4] "aM2bpG" "acc" "addEdge"
[7] "addNode" "adj" "attrDataItem"
[10] "attrDataItem<-" "attrDefaults" "attrDefaults<-"
[13] "aveNumEdges" "boundary" "buildRepDepGraph"
[16] "calcProb" "calcSumProb" "clearNode"
[19] "clusteringCoefficient" "combineNodes" "complement"
[22] "connComp" "degree" "dumpGXL"
[25] "duplicatedEdges" "eWV" "edgeData"
[28] "edgeData<-" "edgeDataDefaults" "edgeDataDefaults<-"
[31] "edgeL" "edgeMatrix" "edgeNames"
[34] "edgeRenderInfo" "edgeRenderInfo<-" "edgeSetIntersect0"
[37] "edgeSetUnion0" "edgeWeights" "edgemode"
[40] "edgemode<-" "edges" "eweights"
[43] "extractFromTo" "extractGraphAM" "extractGraphBAM"
[46] "fromGXL" "ftM2adjM" "ftM2graphNEL"
[49] "ftM2int" "graph.par" "graph.par.get"
[52] "graph2SparseM" "graphBAM" "graphIntersect"
[55] "graphRenderInfo" "graphRenderInfo<-" "graphUnion"
[58] "gxlTreeNEL" "inEdges" "int2ftM"
[61] "intersection" "intersection2" "isAdjacent"
[64] "isConnected" "isDirected" "join"
[67] "leaves" "listEdges" "mgEdgeData"
[70] "mgEdgeData<-" "mostEdges" "nodeData"
[73] "nodeData<-" "nodeDataDefaults" "nodeDataDefaults<-"
[76] "nodeRenderInfo" "nodeRenderInfo<-" "nodes"
[79] "nodes<-" "numEdges" "numNoEdges"
[82] "numNodes" "parRenderInfo" "parRenderInfo<-"
[85] "pathWeights" "randomEGraph" "randomGraph"
[88] "randomNodeGraph" "removeAttrDataItem<-" "removeEdge"
[91] "removeEdgesByWeight" "removeNode" "reverseEdgeDirections"
[94] "sparseM2Graph" "subGraph" "subsetEdgeSets"
[97] "threshold" "toDotR" "toGXL"
[100] "ugraph" "ugraphOld" "union"
[103] "updateGraph" "validGraph" "validateGXL"
> g1 <- randomGraph(V,M,0.2)
> g1
A graphNEL graph with undirected edges
Number of Nodes = 10
Number of Edges = 16
> class(g1)
[1] "graphNEL"
attr(,"package")
[1] "graph"
> slotNames(g1)
[1] "nodes" "edgeL" "edgeData" "nodeData" "renderInfo"
[6] "graphData"
> library(Rgraphviz)
要求されたパッケージ grid をロード中です
> plot(g1)
> setwd("/home/tetsuo/2011/1101")
> getwd()
[1] "/home/tetsuo/2011/1101"
> png("110124_randomGraph.png")
> plot(g1)
> dev.off()
null device
1
> q()
$exit
> set.seed(123) #生成される構造を固定するためにawr.seed関数を123で初期化する
> V <- letters[1:10]
> M <- 1:4
> library(graph)
> ls("package:graph") #パッケージに含まれる関数を見る
[1] "DFS" "Dist" "MultiGraph"
[4] "aM2bpG" "acc" "addEdge"
[7] "addNode" "adj" "attrDataItem"
[10] "attrDataItem<-" "attrDefaults" "attrDefaults<-"
[13] "aveNumEdges" "boundary" "buildRepDepGraph"
[16] "calcProb" "calcSumProb" "clearNode"
[19] "clusteringCoefficient" "combineNodes" "complement"
[22] "connComp" "degree" "dumpGXL"
[25] "duplicatedEdges" "eWV" "edgeData"
[28] "edgeData<-" "edgeDataDefaults" "edgeDataDefaults<-"
[31] "edgeL" "edgeMatrix" "edgeNames"
[34] "edgeRenderInfo" "edgeRenderInfo<-" "edgeSetIntersect0"
[37] "edgeSetUnion0" "edgeWeights" "edgemode"
[40] "edgemode<-" "edges" "eweights"
[43] "extractFromTo" "extractGraphAM" "extractGraphBAM"
[46] "fromGXL" "ftM2adjM" "ftM2graphNEL"
[49] "ftM2int" "graph.par" "graph.par.get"
[52] "graph2SparseM" "graphBAM" "graphIntersect"
[55] "graphRenderInfo" "graphRenderInfo<-" "graphUnion"
[58] "gxlTreeNEL" "inEdges" "int2ftM"
[61] "intersection" "intersection2" "isAdjacent"
[64] "isConnected" "isDirected" "join"
[67] "leaves" "listEdges" "mgEdgeData"
[70] "mgEdgeData<-" "mostEdges" "nodeData"
[73] "nodeData<-" "nodeDataDefaults" "nodeDataDefaults<-"
[76] "nodeRenderInfo" "nodeRenderInfo<-" "nodes"
[79] "nodes<-" "numEdges" "numNoEdges"
[82] "numNodes" "parRenderInfo" "parRenderInfo<-"
[85] "pathWeights" "randomEGraph" "randomGraph"
[88] "randomNodeGraph" "removeAttrDataItem<-" "removeEdge"
[91] "removeEdgesByWeight" "removeNode" "reverseEdgeDirections"
[94] "sparseM2Graph" "subGraph" "subsetEdgeSets"
[97] "threshold" "toDotR" "toGXL"
[100] "ugraph" "ugraphOld" "union"
[103] "updateGraph" "validGraph" "validateGXL"
> g1 <- randomGraph(V,M,0.2)
> g1
A graphNEL graph with undirected edges
Number of Nodes = 10
Number of Edges = 16
> class(g1)
[1] "graphNEL"
attr(,"package")
[1] "graph"
> slotNames(g1)
[1] "nodes" "edgeL" "edgeData" "nodeData" "renderInfo"
[6] "graphData"
> library(Rgraphviz)
要求されたパッケージ grid をロード中です
> plot(g1)
> setwd("/home/tetsuo/2011/1101")
> getwd()
[1] "/home/tetsuo/2011/1101"
> png("110124_randomGraph.png")
> plot(g1)
> dev.off()
null device
1
> q()
$exit
Linuxのhistoryコマンド!
tetsuo@tetsuo-desktop:~$ history
1 perl
2 $ cat hogehoge
3 cat: hogehoge: そのようなファイルやディレクトリはありません
4 apt-get install R
5 R
6 sudo apt-get install r-base-core
7 sudo apt-get install graphviz graphziz-dev
8 sudo apt-get install graphviz graphviz-dev
9 source("http://www.bioconductor.org/biocLite.R")
10 R
11 sudo apt-get install r-base-core
12 apt-get update
13 sudo apt-get update
14 sudo apt-get install r-base-core
15 R
16 sudo apt-get update
17 R
18 y
19 R
20 T
21 R
22 /home/tetsuo/2011/1101
23 NULL
24 R
25 pwd
26 ls
27 #kooaf
28 exit
29 mv 2011
30 echo
31 shell
32 SHELL
33 echo $ SHELL
34 ls /home/tetsuo/2011
35 ls 2011
36 cd /2011
37 cd /home/tetsuo/2011
38 lis
39 ls
40 pwd
41 R
42 exit
43 man
44 cd ダウンロード
45 exit
46 pwd
47 ls
48 echo $SHELL
49 histry
50 1
51 history
52 sudo apt-get install graphviz graphziz-dev
53 ls
54 cd 2011
55 ls
56 cd 1101
57 ls
58 pwd
59 cd
60 pwd
61 cd /home/tetsuo/2011/1101
62 pwd
63 mkdir /home/tetsuo/2011/1101/test
64 test
65 cd test
66 mkdir -p test2/test3
67 ls
68 cd test2
69 ls
70 cd ..
71 cd ../..
72 cd ..
73 cd..
74 pwd
75 exit
76 history
77 pwd
78 history
tetsuo@tetsuo-desktop:~$ !77
pwd
/home/tetsuo
tetsuo@tetsuo-desktop:~$ exit
1 perl
2 $ cat hogehoge
3 cat: hogehoge: そのようなファイルやディレクトリはありません
4 apt-get install R
5 R
6 sudo apt-get install r-base-core
7 sudo apt-get install graphviz graphziz-dev
8 sudo apt-get install graphviz graphviz-dev
9 source("http://www.bioconductor.org/biocLite.R")
10 R
11 sudo apt-get install r-base-core
12 apt-get update
13 sudo apt-get update
14 sudo apt-get install r-base-core
15 R
16 sudo apt-get update
17 R
18 y
19 R
20 T
21 R
22 /home/tetsuo/2011/1101
23 NULL
24 R
25 pwd
26 ls
27 #kooaf
28 exit
29 mv 2011
30 echo
31 shell
32 SHELL
33 echo $ SHELL
34 ls /home/tetsuo/2011
35 ls 2011
36 cd /2011
37 cd /home/tetsuo/2011
38 lis
39 ls
40 pwd
41 R
42 exit
43 man
44 cd ダウンロード
45 exit
46 pwd
47 ls
48 echo $SHELL
49 histry
50 1
51 history
52 sudo apt-get install graphviz graphziz-dev
53 ls
54 cd 2011
55 ls
56 cd 1101
57 ls
58 pwd
59 cd
60 pwd
61 cd /home/tetsuo/2011/1101
62 pwd
63 mkdir /home/tetsuo/2011/1101/test
64 test
65 cd test
66 mkdir -p test2/test3
67 ls
68 cd test2
69 ls
70 cd ..
71 cd ../..
72 cd ..
73 cd..
74 pwd
75 exit
76 history
77 pwd
78 history
tetsuo@tetsuo-desktop:~$ !77
pwd
/home/tetsuo
tetsuo@tetsuo-desktop:~$ exit
Linuxのディレクトリ操作
Linuxのごく簡単なディレクトリ操作に挑戦しました!!
tetsuo@tetsuo-desktop:~$ ls #カレントディレクトリのディレクトリとファイルを表示
2011 examples.desktop テンプレート ドキュメント ピクチャ 公開
R ダウンロード デスクトップ ビデオ ミュージック
tetsuo@tetsuo-desktop:~$ cd 2011 #カレントディレクトリに含まれる2011ディレクトリに移動
tetsuo@tetsuo-desktop:~/2011$ ls
1101
tetsuo@tetsuo-desktop:~/2011$ cd 1101
tetsuo@tetsuo-desktop:~/2011/1101$ ls
110120_ネットワーク練習_2.txt 110122_gene1-gene2_relation.png
110121_Linux_R 110122_シェルの練習
110121_gplot.png 110122_散布図
tetsuo@tetsuo-desktop:~/2011/1101$ pwd #カレントディレクトリを表示
/home/tetsuo/2011/1101
tetsuo@tetsuo-desktop:~/2011/1101$ cd #ホームディレクトリに移動
tetsuo@tetsuo-desktop:~$ pwd
/home/tetsuo
tetsuo@tetsuo-desktop:~$ cd /home/tetsuo/2011/1101
tetsuo@tetsuo-desktop:~/2011/1101$ pwd
/home/tetsuo/2011/1101
tetsuo@tetsuo-desktop:~/2011/1101$ mkdir /home/tetsuo/2011/1101/test # /home/tetsuo/2011/1101/testというディレクトリを作成
tetsuo@tetsuo-desktop:~/2011/1101$ test
tetsuo@tetsuo-desktop:~/2011/1101$ cd test
tetsuo@tetsuo-desktop:~/2011/1101/test$ mkdir -p test2/test3 #カレントディレクトリの下にtest2ディレクトリを作って、その下にtest3ディレクトリを作成する
tetsuo@tetsuo-desktop:~/2011/1101/test$ ls
test2
tetsuo@tetsuo-desktop:~/2011/1101/test$ cd test2
tetsuo@tetsuo-desktop:~/2011/1101/test/test2$ ls
test3
tetsuo@tetsuo-desktop:~/2011/1101/test/test2$ cd .. #一つ上のディレクトリに移動
tetsuo@tetsuo-desktop:~/2011/1101/test$ cd ../.. #2つ上のディレクトリに移動
tetsuo@tetsuo-desktop:~/2011$ cd .. #一つ上のディレクトリに移動
tetsuo@tetsuo-desktop:~$ pwd #カレントディレクトリを表示
/home/tetsuo
tetsuo@tetsuo-desktop:~$ exit #シェルを終了
tetsuo@tetsuo-desktop:~$ ls #カレントディレクトリのディレクトリとファイルを表示
2011 examples.desktop テンプレート ドキュメント ピクチャ 公開
R ダウンロード デスクトップ ビデオ ミュージック
tetsuo@tetsuo-desktop:~$ cd 2011 #カレントディレクトリに含まれる2011ディレクトリに移動
tetsuo@tetsuo-desktop:~/2011$ ls
1101
tetsuo@tetsuo-desktop:~/2011$ cd 1101
tetsuo@tetsuo-desktop:~/2011/1101$ ls
110120_ネットワーク練習_2.txt 110122_gene1-gene2_relation.png
110121_Linux_R 110122_シェルの練習
110121_gplot.png 110122_散布図
tetsuo@tetsuo-desktop:~/2011/1101$ pwd #カレントディレクトリを表示
/home/tetsuo/2011/1101
tetsuo@tetsuo-desktop:~/2011/1101$ cd #ホームディレクトリに移動
tetsuo@tetsuo-desktop:~$ pwd
/home/tetsuo
tetsuo@tetsuo-desktop:~$ cd /home/tetsuo/2011/1101
tetsuo@tetsuo-desktop:~/2011/1101$ pwd
/home/tetsuo/2011/1101
tetsuo@tetsuo-desktop:~/2011/1101$ mkdir /home/tetsuo/2011/1101/test # /home/tetsuo/2011/1101/testというディレクトリを作成
tetsuo@tetsuo-desktop:~/2011/1101$ test
tetsuo@tetsuo-desktop:~/2011/1101$ cd test
tetsuo@tetsuo-desktop:~/2011/1101/test$ mkdir -p test2/test3 #カレントディレクトリの下にtest2ディレクトリを作って、その下にtest3ディレクトリを作成する
tetsuo@tetsuo-desktop:~/2011/1101/test$ ls
test2
tetsuo@tetsuo-desktop:~/2011/1101/test$ cd test2
tetsuo@tetsuo-desktop:~/2011/1101/test/test2$ ls
test3
tetsuo@tetsuo-desktop:~/2011/1101/test/test2$ cd .. #一つ上のディレクトリに移動
tetsuo@tetsuo-desktop:~/2011/1101/test$ cd ../.. #2つ上のディレクトリに移動
tetsuo@tetsuo-desktop:~/2011$ cd .. #一つ上のディレクトリに移動
tetsuo@tetsuo-desktop:~$ pwd #カレントディレクトリを表示
/home/tetsuo
tetsuo@tetsuo-desktop:~$ exit #シェルを終了
続:Rによる基本的な計算
> 4 == 5 #
[1] FALSE
> 0 == 0
[1] TRUE
> 8 > 9
[1] FALSE
> 90 < 100
[1] TRUE
> x <- c(1,2,3,4)
> x < 3
[1] TRUE TRUE FALSE FALSE
> x >= c(1,0,2,4)
[1] TRUE TRUE TRUE TRUE
> y <- c("gene1", "gene2", 1:5)
> y
[1] "gene1" "gene2" "1" "2" "3" "4" "5"
> y[2]
[1] "gene2"
> y > 2
[1] TRUE TRUE FALSE FALSE TRUE TRUE TRUE
> y[2] <- 3
> y
[1] "gene1" "3" "1" "2" "3" "4" "5"
> y[2] <- "protein2"
> y
[1] "gene1" "protein2" "1" "2" "3" "4" "5"
> y[2:4] <- c(1,3,2,6)
警告メッセージ:
In y[2:4] <- c(1, 3, 2, 6) :
置き換えるべき項目数が,置き換える数の倍数ではありませんでした
> y[2:5] <- c(1,3,5,6)
> y
[1] "gene1" "1" "3" "5" "6" "4" "5"
[1] FALSE
> 0 == 0
[1] TRUE
> 8 > 9
[1] FALSE
> 90 < 100
[1] TRUE
> x <- c(1,2,3,4)
> x < 3
[1] TRUE TRUE FALSE FALSE
> x >= c(1,0,2,4)
[1] TRUE TRUE TRUE TRUE
> y <- c("gene1", "gene2", 1:5)
> y
[1] "gene1" "gene2" "1" "2" "3" "4" "5"
> y[2]
[1] "gene2"
> y > 2
[1] TRUE TRUE FALSE FALSE TRUE TRUE TRUE
> y[2] <- 3
> y
[1] "gene1" "3" "1" "2" "3" "4" "5"
> y[2] <- "protein2"
> y
[1] "gene1" "protein2" "1" "2" "3" "4" "5"
> y[2:4] <- c(1,3,2,6)
警告メッセージ:
In y[2:4] <- c(1, 3, 2, 6) :
置き換えるべき項目数が,置き換える数の倍数ではありませんでした
> y[2:5] <- c(1,3,5,6)
> y
[1] "gene1" "1" "3" "5" "6" "4" "5"
Rによる基本的な計算
> 1+1
[1] 2
> 1-1
[1] 0
> 1*1
[1] 1
> 1/2
[1] 0.5
> 1 %/%2 #1/2の整数部は?
[1] 0
> 1 %% 2 #1/2のあまり余りは?
[1] 1
> log2(2) #ログ2底の2の値は?
[1] 1
> log10(100)
[1] 2
> a <- 3
> b <- 6
> a*b #aやらbやらのオブジェクトを生成してもできよるぞい!
[1] 18
> a/b
[1] 0.5
でけた!!
[1] 2
> 1-1
[1] 0
> 1*1
[1] 1
> 1/2
[1] 0.5
> 1 %/%2 #1/2の整数部は?
[1] 0
> 1 %% 2 #1/2のあまり余りは?
[1] 1
> log2(2) #ログ2底の2の値は?
[1] 1
> log10(100)
[1] 2
> a <- 3
> b <- 6
> a*b #aやらbやらのオブジェクトを生成してもできよるぞい!
[1] 18
> a/b
[1] 0.5
でけた!!
シェルのコマンドのお勉強
#今現在のディレクトリを表示
$ pwd
/home/tetsuo
#カレントディレクトリ内のディレクトリやファイルを表示
$ ls
2011 examples.desktop テンプレート ドキュメント ピクチャ 公開
R ダウンロード デスクトップ ビデオ ミュージック
#2011ディレクトリ内のディレクトリやファイルを表示
$ ls /home/tetsuo/2011
1011
#同上
$ ls 2011
1101
#ディレクトリの変更
$ cd /home/tetsuo/2011
$ pwd
/home/tetsuo/2011
#シェルの終了
$ exit
でけた!!
$ pwd
/home/tetsuo
#カレントディレクトリ内のディレクトリやファイルを表示
$ ls
2011 examples.desktop テンプレート ドキュメント ピクチャ 公開
R ダウンロード デスクトップ ビデオ ミュージック
#2011ディレクトリ内のディレクトリやファイルを表示
$ ls /home/tetsuo/2011
1011
#同上
$ ls 2011
1101
#ディレクトリの変更
$ cd /home/tetsuo/2011
$ pwd
/home/tetsuo/2011
#シェルの終了
$ exit
でけた!!
Rを用いて簡単な散布図を描いてみる
Rを用いて簡単な散布図を描いてみます。
生物ネタとして、縦軸横軸を各々仮想の遺伝子gene1, gene2の発現値としています。
R
setwd("/home/tetsuo/2011/1101")
getwd()
gene1 <- c(1,5,8,9,16,25)
gene2 <- c(6,8,5,10,60,87)
plot(gene1,gene2)
png("110122_gene1-gene2_relation.png")
plot(gene1,gene2)
dev.off()
q()
でけた!
生物ネタとして、縦軸横軸を各々仮想の遺伝子gene1, gene2の発現値としています。
R
setwd("/home/tetsuo/2011/1101")
getwd()
gene1 <- c(1,5,8,9,16,25)
gene2 <- c(6,8,5,10,60,87)
plot(gene1,gene2)
png("110122_gene1-gene2_relation.png")
plot(gene1,gene2)
dev.off()
q()
でけた!
Rで簡単なネットワークを描かせたい
sudo apt-get install graphviz graphviz-dev
R
source("http://bioconductor.org/biocLite.R")
biocLite(c("graph", "RBGL", "Rgraphviz"))
library(graph)
library(Rgraphviz)
myNodes <- c("s", "p", "q", "r")
s = list(edges = c("p", "q"))
p = list(edges = c("p", "r"))
q = list(edges = c("p", "r"))
r = list(edges = ("s"))
myEdges <- list(s = s, p = p, q = q, r = r)
myEdges
#myEdges <- list(s = list(edges = c("p", "q")), p = list(edges = c("p", "r")), q = list(edges = c("p", "r")), r = list(edges = c("s")))
g <- new("graphNEL", nodes = myNodes, edgeL = myEdges, edgemode = "directed")
g
plot(g)
よし! うまくいった!
昔、windowsの環境で、R上でGraphvizが動かず四苦八苦したが、今回はubuntuがよく裏で動いてくれてるみたい笑
R
source("http://bioconductor.org/biocLite.R")
biocLite(c("graph", "RBGL", "Rgraphviz"))
library(graph)
library(Rgraphviz)
myNodes <- c("s", "p", "q", "r")
s = list(edges = c("p", "q"))
p = list(edges = c("p", "r"))
q = list(edges = c("p", "r"))
r = list(edges = ("s"))
myEdges <- list(s = s, p = p, q = q, r = r)
myEdges
#myEdges <- list(s = list(edges = c("p", "q")), p = list(edges = c("p", "r")), q = list(edges = c("p", "r")), r = list(edges = c("s")))
g <- new("graphNEL", nodes = myNodes, edgeL = myEdges, edgemode = "directed")
g
plot(g)
よし! うまくいった!
昔、windowsの環境で、R上でGraphvizが動かず四苦八苦したが、今回はubuntuがよく裏で動いてくれてるみたい笑