terminalMac users who never use windows environment do not have to see the following instructions for Cygwin. Jump to the "3. Basics of Unix commands" and study various unix commands by yourself. If you still have enough time, you can visit "http://www.ee.surrey.ac.uk/Teaching/Unix/index.html" and study more about unix operation. (See, http://korflab.ucdavis.edu/Unix_and_Perl/unix_and_perl_v3.1.1.html : This is one of the best site to study basic unix operation, and will will study the basic using this site in section #3.)
Choose following packages under Devel when you see the list of packages ( make gcc #C compiler 一つクリックすると、関連するものがすべて選択される。 gcc-g77 Choose sqlite3 under Database packages sqlite3
echo test > test.txt This command will make a file "test.txt" in which a letter "test" is stored.
$という文字が表示され、その右側でカーソルがチカチカしているはずです。ここに
pwdと入力してみましょう。そうすると、
/home/user_nameと表示されたはずです(user_nameの部分は、それぞれWindows設定時に自分が決めたユーザー名.コマンドラインの操作を行う人は、この名前を短くしておく方が、後々の操作が楽になる。名前の変更は、コントロールパネルのユーザーアカウントから行える)。
・文字で命令を入力 ・その命令をコンピュータが実行 ・結果を出力: 画面に表示したり、ファイルに書き込んだりという流れで行われます。今の pwd というコマンドでは、
・pwd という命令を入力 ・現在のディレクトリをコンピュータが取得 ・結果を画面に表示という流れで進みました。では、ここで、結果の出力先をファイルに変更してみましょう。次のコマンドを入力してみてください。
pwd > current_d.txt> という記号は、出力先をファイルにするということを意味しています。
lsと入力します。これは、ディレクトリの中のファイルやディレクトリを一覧するコマンドです。そうすると、
current_d.txtという文字が表示されました。つまり、このディレクトリの中に、current_d.txt というファイルが存在していることを表しています。では、このファイルの中には何が入っているのでしょうか?ここで、lessというコマンドを使います。
less current_d.txtそうすると、
/home/tkajiという文字が表示されましたね。lessはファイルの中身を表示させる命令です。q を押すと、終了できます。
/home/tkajiと表示されていますが、これは、コンピュータのハードディスク上のどの位置にあるのでしょうか?スタートメニューから、マイコンピュータを開いてエクスプローラ(知らない人もいると思いますが、Windowsでファイルの一覧を表示させるソフトの名前です)の、ツールバーの「フォルダ」をクリックして、フォルダーをツリー表示させてみましょう。フォルダが次のような階層構造になっているのがわかります。
cygwin | / | ルート |
home | /home | ホーム |
tkaji | /home/tkaji/ | ユーザーホーム |
sample1 | /home/tkaji/sample1/ | (解析用サンプルファイルの置き場所) |
/home/tkaji(ユーザーごとに違う名前/ /home/tkaji/sample1(解析ごとに違う名前)/ /usr/local/bin/ (実行形式ファイルの置き場所)の3つです。では、試しに、sample1というフォルダをエクスプローラーを使って作成してみましょう。フォルダツリーでtkaji(ユーザーごとに違う名前)をクリックし、ファイルメニューから「新規作成/フォルダ」を選択して作った新しいフォルダに sample1 という名前をつけてください。
ls /home/tkaji(ユーザーごとに違う名前)と入力すると、
sample1 current_d.txtという名前が表示されるのがわかります。でも、これでは、sample1がファイルなのかディレクトリなのかはわかりません。そこで、
ls -l /home/tkaji(ユーザーごとに違う名前)と入力してみましょう。-l はオプションで、表示の形式を変えるものです。ファイルやディレクトリの名前が縦に表示されており、一番左の文字が d になっているものがディレクトリ、それ以外はファイルを表しています。
-rw-r--r-- 1 tkaji なし 12 Jan 20 04:42 current_d.txt drwxrwxrwx+ 2 tkaji なし 0 Jan 20 05:21 sample1今行った操作で大事なことは、
Cygwinの操作で解析等に使うファイルはWindowsからマウスのクリック操作で作れる 作ったファイルは、 /home/の下の、自分のディレクトリに入れておくということです。後でもう一度説明しますが、Windowsのソフトウェアと、Cygwinを行き来するときに、ディレクトリの場所を意識することがとても大切なので、覚えておいてください。
sample1 current_d.txtの2つが表示されるはずです。
cd sample1と入力します。もし、どこか別のディレクトリにいて、すぐに /home/tkaji/sample1に移動したいのなら、
cd /home/tkaji(ユーザーごとに違う名前)/sample1と入力します。この
/home/tkaji/sample1という表し方をフルパスと言います。左から順に、
/ ルートディレクトリ home ルートディレクトリの中のhomeというディレクトリ tkaji ルートディレクトリの中のhomeというディレクトリの中のtkajiというディレクトリ sample1 ルートディレクトリの中のhomeというディレクトリの中のtkajiというディレクトリの中の sample1というディレクトリというように、ディレクトリの階層構造を、最上位のルートディレクトリから、1行の文字列で表したものです。入力は面倒ですが、フルパスを入力すれば、ディレクトリからディレクトリへ一気に移動することができます。
cd ..というものがあります。これは、カレントディレクトリから1つ上の階層のディレクトリに移動するものです。実際に入力して試してみましょう。これらはカレントディレクトリとの相対関係を記号で表すものです。
./ カレントディレクトリ自身 .. カレントディレクトリから1つ上の階層のディレクトリ
sample1 current_d.txtというように、sample1 というディレクトリと、 current_d.txt というファイルが入っているはずです。ここで、current_d.txt をsample1 ディレクトリに移動してみます。
mv current_d.txt sample1 同じことをフルパスで表記すると mv /home/tkaji/current_d.txt /home/tkaji/sample1/sample1フォルダに移動したcurrent_d.txtをもとのフォルダに別名でコピーしたいのなら、
cp /home/tkaji/sample1/current_d.txt /home/tkaji/sample2.txt (フルパスで書きましたが、カレントディレクトリにまでは省略可能です)今コピーした sample2.txtというファイルを削除したい場合、
rm /sample2.txtと入力します。 また、新しいディレクトリを作成したい場合、
mkdir sample2です。
/usr/local/bin/ 等のパスの通ったディレクトリに移動しておく
Windows、Mac, Linuxでは、使っているソフトウェアのバージョンや環境設定により、日本語文字コードが異なる。最近は多くの環境でUTF-8が使われているが、SJISやEUCが使われていることもあり、異なる文字コードの環境でそれらのファイルを開くと文字化けをする。そんなときには、nkfというソフトウェアを使うと、簡単に文字コード変換ができる。
nkfは実行形式ファイルも配布されているが、ちょうどよい材料なので、cygwinにインストールしてみよう。
gcc -mno-cygwin test01.c
Mac: CR Windows: CR+LF Unix: LF
Windows CR+LF Unix LF Macintosh CRこの違いが、Windows, Unix, Mac間でデータをやりとりする場合、いつも、問題になります。また、コンピュータ間でのデータのやりとりだけでなく、今回のように、WindowsのテキストエディタとUnixライク環境であるCygwinの間のやりとりや、Mac OSとMacのターミナル(Darwin)の間のやりとりでも、注意していなくてはなりません。
ATGCGGTT ATGGCGTT ATGGAGTTをコピーして、ペーストし、Cygwinの自分のデータフォルダに保存してください(私の場合、/home/tkaji/)。K2Editorで保存するときにファイルが表示されたら、ハードディスク c:の下のCygwinフォルダの中の、homeフォルダの中の自分のフォルダに、
test1.txtという名前で保存します。
現在の文字コードと改行コードと保存とかかれていますので、右側の▼をクリックして、
文字コードと改行コードを指定して保存にしてください。そうすると次の画面で、「保存時の文字コードと改行の選択」ウィンドウが開くので、
文字コード SJIS (変更する必要は無いです) 改行コード LF (Unixライク環境で使う場合は、必ず LF にする)を選んで保存します。
Unixライク環境で使う場合、改行コードは必ず LF にするを忘れないでください。
ーhttp://www.gnu.org/software/sed/manual/sed.html
$ curl -O http://ftp.jaist.ac.jp/pub/GNU/sed/sed-4.2.tar.gz $ tar xzf sed-4.2.tar.gz $ cd sed-4.2 $ ./configure --with-libiconv-prefix=/usr --with-libintl-prefix=/usr $ make $ sudo make install
#tinyxml.sed #最初の3行と空白行、削除 /<?/d /<\!DOC/d / <TSeqSet>/d /^$/d #ループ指定 :loop1 #1データの最初の2行は削除 /<TSeq>/d /<TSeq_seqtype/d #最初のフィールド読み混み空白から始まる開始タグを削除 s/ \+<[^>]\+>// #2行目を読み混み N #終止タグと改行と空白に続く次の行の開始タグを削除 s/<\/[^/]\+>\n \+<[^>]\+>/\t/ #1データの最後のタグを削除したら、パターンを吐き出し最初へ。置換がおきなければloop1へ戻る s/<\/TSeq_sequence>\n<\/TSeq>// t loop1 /<\/TSeqSet>/d P D
gi accver taxid orgname defline length sequence
Other useful softerwares under cygwin environment
今回の演習では、ダウンロードしたファイルをもとに自分でサンプルファイルを作って、-MrBayesで簡単な解析ができるところまでを解説しておきます。また、受講生から質問のあった、異なる遺伝子領域のデータを連結して、領域ごとに別のモデルを採用する方法を簡単に紹介します。
You will have a good lecture on Bayesian analysis in Dr. Miya's class in February. To get familiar with the procedure to perform Bayesian analysis, and to answer to a question from a student of the class, I am presenting an example using three genetic regions.
3つの異なる領域の配列データを用いた研究として、以下の論文で発表されたデータを使う。GenBankからデータをダウンロードして、全てをコピー・ペーストしても良いのだが、面倒と間違いを避けるために、次のような方法をとる。
For an example data, prepare nucleotide data of three different regions from GenBank. There three genetic data should be connected for each sample (species). To connect nucleotide sequences, copy-and-paste can be an option, but it will be more time consuming and invite errors. Here you have an easier way.
- 参考論文 reference:Phylogenetic Relationships of Gunnera based on Nuclear Ribosomal DNA ITS Region, rbcL and rps16 Intron Sequences
- 以下、データファイルは全て、c:¥cygwin/home/user1というディレクトリに入れてあるものとして、説明をすすめる。このディレクトリに全てのファイルを入れておくと、Cygwinの環境からMrmodeltestやMrbayesが起動して、解析を行える。
In this explanation, all the data file should be stored in your user directory of c:¥cygsin/home/. You can perform all the analysis using Mrmodeltest and MrBayes directory inputting commands under this directory.
species | ITS | rbcL | rps16 |
G.purpurea | af447748 | ay008154 | ay008165 |
G.cordifolia | af447731 | ay008146 | ay008158 |
G.dentata | af447733 | ay008147 | ay008159 |
G.hamiltonii | af447732 | ay008148 | ay008160 |
G.magellantica | af447746 | ay008152 | ay008163 |
G.herteri | af447728 | ay008149 | ay008161 |
G.chilensis | af447738 | ay008145 | ay008157 |
G.petaloidea | af447744 | ay008155 | ay008166 |
G.pilosa | af447742 | AY008156 | ay008167 |
G.macrophylla | af447730 | ay008151 | ay008162 |
for Modeltest, we will perhaps use Phylemon2 on the web.
#NEXUS begin data; dimensions ntax=10 nchar=2318; format datatype=dna; matrix gi|180246 CCCTTAGACCTTTTTGAAGA gi|180246 CCTTTAGACCTTTTTGAAGA gi|180246 CCTTTAGACCTTTTTGAAGA gi|180246 CCTTTAGACCTTTTTGAAGA gi|180246 CCTTTAGACCTTTTTGAAGA gi|180246 CCTTTAGACCTTTTTGAAGA gi|180246 CCTTTAGACCTTTTTGAAGA gi|180246 CCTTTAGACCTTTTTGAAGA gi|180246 CCTTTAGACCTTTTTGAAGA gi|180246 CCTTTAGACCTTTTTGAAGA ; end; begin mrbayes; log start filename = 3genes.log replace; charset ITS = 1-636; charset rbcL = 637-1576; charset rps16 = 1577-2318; partition favored = 3: ITS, rbcL, rps16; set partition = favored; lset applyto=(1) nst=6 rates=equal; lset applyto=(2) nst=2 rates=gamma; lset applyto=(3) nst=6 rates=equal; mcmc ngen=10000 printfreq=1000 samplefreq=100 nchains=4 savebrlens=yes filename=MyFile;
ITS Lset base=equal nst=6 rmat=(0.8028 2.3653 1.2508 0.5277 4.2929 1.0000) rates=equal pinvar=0.4520; rps16 Lset base=(0.3560 0.1434 0.1759 0.3248) nst=6 rmat=(1.0000 2.0590 1.0000 1.0000 4.6270 1.0000) rates=equal pinvar=0; rbcL Lset base=(0.2627 0.1987 0.2512 0.2874) nst=6 rmat=(1.0000 2.2323 1.0000 1.0000 5.4388 1.0000) rates=gamma shape=0.0160 ncat=4 pinvar=0;
begin mrbayes; log start filename = vigna090706.log replace; charset psbB = 1-489; charset psbD = 490-1130; charset trnT = 1131-1378; partition favored = 3: psbB, psbD, trnT; lset applyto=(1) nst=6 rates=propinv; lset applyto=(2) nst=6 rates=equal; lset applyto=(3) nst=1 rates=equal; prset applyto=(1,2,3) statefreqpr=dirichlet(1,1,1,1); unlink shape=(all) pinvar=(all) statefreq=(all) revmat=(all); mcmc ngen=10000 printfreq=1000 samplefreq=100 nchains=4 savebrlens=yes filename=MyFile;
sumt burnin=10
s/AF308711.1/Indigofera australis s/AM235008.1/Indigofera glomerata s/JF265484.1/Indigofera fulgens
s/AF308711.1/I_australis s/AM235008.1/I_glomerata s/JF265484.1/I_fulgens
<?xml version="1.0"?> <!DOCTYPE TSeqSet PUBLIC "-//NCBI//NCBI TSeq/EN" ....>
<TSeqSet> -> <document> </TSeqSet> -> </document>
/xml version/d /DOCTYPE/d s/<TSeqSet>/<document>/ s/<\/TSeqSet>/<\/document>/
>sed -f tinyxml.sed sequence.xml > sequence_out.xml
s/"//g s/^\([^,][^,]*\),/>\1\n/ s/,/-------/g
tar jxf RAxML-7.0.4.tar.bz2
make -f Makefile.gcc
392357550 JN252970.1 456367948 KC465962.1 6686794 AJ235997.1 428621499 JQ684840.1 16751687 AF402448.1 384593382 JQ592919.1 345848001 JN645200.1 428621301 JQ684744.1 428621302 JQ684745.1 428621304 JQ684747.1 406716959 JN253146.1
392357550 JN252970.1 1200274 Ardisia dasyrhizomatica 456367948 KC465962.1 1265925 Ardisia polysticta 6686794 AJ235997.1 13345 Ardisia crenata 428621499 JQ684840.1 1265925 Ardisia polysticta 16751687 AF402448.1 175112 Ardisia speciosa 384593382 JQ592919.1 671251 Ardisia revoluta 345848001 JN645200.1 693367 Ardisia elliptica 428621301 JQ684744.1 13345 Ardisia crenata 428621302 JQ684745.1 13345 Ardisia crenata 428621304 JQ684747.1 1265925 Ardisia polysticta 406716959 JN253146.1 13345 Ardisia crenata 406716953 JN253140.1 587398 Ardisia crispa 406716944 JN253131.1 1200273 Ardisia curvula 406716943 JN253130.1 693367 Ardisia elliptica 406716964 JN253151.1 276775 Ardisia japonica 406716977 JN253164.1 1082643 Ardisia lindleyana 406716961 JN253148.1 1073918 Ardisia polycephala 406716970 JN253157.1 587403 Ardisia pusilla 406716975 JN253162.1 648860 Ardisia quinquegona
s/392357550/Ardisia dasyrhizomatica// s/456367948/Ardisia polysticta/ s/6686794/Ardisia crenata/ s/428621499/Ardisia polysticta/ s/16751687/Ardisia speciosa/ s/384593382/Ardisia revoluta/ s/345848001/Ardisia elliptica/ s/428621301/Ardisia crenata/ s/428621302/Ardisia crenata/ s/428621304/Ardisia polysticta/ s/406716959/Ardisia crenata/ s/406716953/Ardisia crispa/ s/406716944/Ardisia curvula/ s/406716943/Ardisia elliptica/ s/406716964/Ardisia japonica/ s/406716977/Ardisia lindleyana/ s/406716961/Ardisia polycephala/ s/406716970/Ardisia pusilla/ s/406716975/Ardisia quinquegona/
s/392357550/Ardisia dasyrhizomatica(392357550)/ s/456367948/Ardisia polysticta(456367948)/ s/6686794/Ardisia crenata(6686794)/ s/428621499/Ardisia polysticta(428621499)/ s/16751687/Ardisia speciosa(16751687)/ s/384593382/Ardisia revoluta(384593382)/ s/345848001/Ardisia elliptica(345848001)/ s/428621301/Ardisia crenata(428621301)/ s/428621302/Ardisia crenata(428621302)/ s/428621304/Ardisia polysticta(428621304)/ s/406716959/Ardisia crenata(406716959)/ s/406716953/Ardisia crispa(406716953)/ s/406716944/Ardisia curvula(406716944)/ s/406716943/Ardisia elliptica(406716943)/ s/406716964/Ardisia japonica(406716964)/ s/406716977/Ardisia lindleyana(406716977)/ s/406716961/Ardisia polycephala(406716961)/ s/406716970/Ardisia pusilla(406716970)/ s/406716975/Ardisia quinquegona(406716975)/
-data file gi accver taxid orgname defline 392357550 JN252970.1 1200274 Ardisia dasyrhizomatica Ardisia dasyrhizomatica voucher KS0402MT02 ITS2 PsbA-trnH 456367948 KC465962.1 1265925 Ardisia polysticta Ardisia polysticta chloroplast, complete genome complete genome 6686794 AJ235997.1 13345 Ardisia crenata Ardisia crenata 18S rRNA gene ndhF gene 428621499 JQ684840.1 1265925 Ardisia polysticta Ardisia polysticta voucher Ku028 trnL-trnF complete genome 16751687 AF402448.1 175112 Ardisia speciosa Ardisia speciosa tRNA-Leu (trnL) gene, atpB-rbcL 384593382 JQ592919.1 671251 Ardisia revoluta Ardisia revoluta voucher BioBot10746 rbcL atpB-rbcL 345848001 JN645200.1 693367 Ardisia elliptica Ardisia elliptica voucher J. Wang 2007301 (Guangdong) atpB-rbcL 428621301 JQ684744.1 13345 Ardisia crenata Ardisia crenata voucher Ku025 atpB-rbcL atpB-rbcL 428621302 JQ684745.1 13345 Ardisia crenata Ardisia crenata voucher Ku031 atpB-rbcLatpB-rbcL 428621304 JQ684747.1 1265925 Ardisia polysticta Ardisia polysticta voucher Ku006 atpB-rbcL ; atpB-rbcL 406716959 JN253146.1 13345 Ardisia crenata Ardisia crenata voucher KS0409MT06 rbcL atpB-rbcL 406716953 JN253140.1 587398 Ardisia crispa Ardisia crispa voucher KS0408MT01 rbcL atpB-rbcL 406716944 JN253131.1 1200273 Ardisia curvula Ardisia curvula voucher KS0404MT01 rbcL atpB-rbcL 406716943 JN253130.1 693367 Ardisia elliptica Ardisia elliptica voucher KS0403MT04 rbcL atpB-rbcL 406716964 JN253151.1 276775 Ardisia japonica Ardisia japonica voucher KS0412MT03 rbcL atpB-rbcL 406716977 JN253164.1 1082643 Ardisia lindleyana Ardisia lindleyana voucher KS0418MT02 rbcL atpB-rbcL 406716961 JN253148.1 1073918 Ardisia polycephala Ardisia polycephala voucher KS0411MT01 rbcL atpB-rbcL 406716970 JN253157.1 587403 Ardisia pusilla Ardisia pusilla voucher KS0415MT04 rbcL atpB-rbcL
Serach string: ^[^\t]+\t([^\t]+)\t[^\t]+\t([^\t]+)\t.* Replace string: s/\1/\2(\1)/
as a sed script to do this s/^[^\t]\+\t\([^\t]\+\)\t\([^\t]\+\)\t.*/s\/\1\/\2(\1)\//