様々なoligonucleotideが縦に並んだファイルに対して、各々をblast形式にする。

題名がうまくつけられませんね(^^;)

awkの使い道を書いてみたかっただけ。

とにかくコードをみてください笑

$ vim test.txt

aaaaaaaaaaaaaaaaaaaaaaaaaa
ccccccccccccccccccccccccccccccccccc
gggggggggggggggggg
ttttttttttttttttttttttttt

#awkによる処理を行う。

$ awk '{print ">query" ++count; print$0;}' test.txt

>query1
aaaaaaaaaaaaaaaaaaaaaaaaaa
>query2
ccccccccccccccccccccccccccccccccccc
>query3
gggggggggggggggggg
>query4
ttttttttttttttttttttttttt

これはすこぶる便利だな。

ncbiのftpサーバーから種ごとのrefseqのmRNAを取ってくる、からのlocal blastのためのデータベース構築(not human)

#ncbiのftpサーバーにアクセスする
$ ftp ftp.ncbi.nlm.nih.gov

> cd ./refseq

> ls

dr-xr-xr-x   3 ftp      anonymous     4096 Mar 10  2008 B_taurus
dr-xr-xr-x   3 ftp      anonymous     4096 Feb 19  2004 D_rerio
-r--r--r--   1 ftp      anonymous    10585 Feb 28  2005 FTP_CHANGE_NOTICE
dr-xr-xr-x   5 ftp      anonymous     4096 Mar 13  2008 H_sapiens
dr-xr-xr-x   3 ftp      anonymous     4096 Apr 27  2007 LocusLink
dr-xr-xr-x   3 ftp      anonymous     4096 Dec 20  2001 M_musculus
-r--r--r--   1 ftp      anonymous     9692 Jun 11  2010 README
dr-xr-xr-x   3 ftp      anonymous     4096 Jun 23  2000 R_norvegicus
dr-xr-xr-x   3 ftp      anonymous     4096 Mar 10  2008 X_tropicalis
dr-xr-xr-x   3 ftp      anonymous    28672 Jul 29 06:19 daily
dr-xr-xr-x  17 ftp      anonymous     4096 Jul  8 13:18 release
dr-xr-xr-x   3 ftp      anonymous    86016 Jul 29 07:00 removed
dr-xr-xr-x   5 ftp      anonymous     8192 Jul 27 03:06 special_requests
dr-xr-xr-x   2 ftp      anonymous     4096 Oct  2  2007 uniprotkb
dr-xr-xr-x   3 ftp      anonymous    98304 Jul 28 05:58 wgs

> cd D_rerio

> ls

-r--r--r--   1 ftp      anonymous     2762 Mar 10  2008 README
dr-xr-xr-x   3 ftp      anonymous     4096 Jul 25 15:29 mRNA_Prot

> cd mRNA_Prot

dr-xr-xr-x   2 ftp      anonymous     4096 Jul 12  2007 tmpold            
-r--r--r--   1 ftp      anonymous  8947160 Jul 25 15:26 zebrafish.protein.faa.gz
-r--r--r--   1 ftp      anonymous 22553087 Jul 25 15:26 zebrafish.protein.gpff.gz
-r--r--r--   1 ftp      anonymous 18512295 Jul 25 15:26 zebrafish.rna.fna.gz
-r--r--r--   1 ftp      anonymous 53048114 Jul 25 15:26 zebrafish.rna.gbff.gz

> get zebrafish.rna.fna.gz

#ftpサーバーから抜ける
> exit

# .gzを解凍
$ gunzip zebrafish.rna.fna.gz

#解答したファイルの中身の確認

$ less zebrafish.rna.fna


>gi|68369925|ref|XM_696518.1| PREDICTED: Danio rerio si:rp71-1g13.2 (si:rp71-1g13.2), mRNA
ATGGACTCTTTTCAGAAAGAAATAGAGAAGTATGAAGTAGTGATAAGGTTTAAAGAAACAAACCAAGAAATTATAAAGAA
AGCAAACCCATTTGGGTTAACAACTAGCCTGGCAAATAAAATAGGACAGATAGAGTACGCAAAGATCCTTAATGATGGTA
ACCTACTAATAAGATGTGCTGACGCTGGGCAAATGGAAAAAGCCCTAAAAATTAAGGATGTGGTCAAATGTAAGGTGGAG
AATACAGCTAGGGTGGGAATGGGAAGGAAATGTGTAGCTAAAGGGGTGATCACAGGAGTATCATTAAGTATAACAGAAGA
AGAAATGAAAAAGAATATAAAAGGAGCAAAAGTAGTGAATGTTACAAGAATGAAAACAACTAGAGATGGAGAAGCTAAAG
ACAGTAAAACCGTGCTATTAGAATTCGATGAAGTGGTAGTGCCAAAGAAAGTATTTCTTGAATTTGTAAATTATCCAGTG
AGATTGTATGTACCAAAACCATTGAGGTGCTATAACTGCCAAAGATTTGACCACACAGCAAAAATCTGTAATAGGCAAAG
AAGGTGTGCAAGGTGTGGAGGGGATCATGATTACGAAAACTGTGGAGCAGGCGTTCAACCAAAATGTTGCAATTGCGGAG
GTGCTCACAATGTGGCATTCAGTGGATGTGAAGTCATGCAGAGGGAGACAAATATACAAAAGATAAGAGTGGAGAAAAAA
ATCACATACGCTGAAGCGGTTAAAGTGTCAAGAGAAAAGAAAACCAAAGAAAATGAAGTGGTTATGGATTCTCAACAGCA
AGACAATTCAGAGAAAATCTACGTCAAAAATAAAAGAACTAGTAACGTTTATAGCAGGTGTGATAAATAG
>gi|18859030|ref|NM_131477.1| Danio rerio major histocompatibility complex class II DEB gene (mhc2deb), mRNA
ATGTCTTTGCAAAACCTTTTTATTTTTCATCTCCTGTTGTTTCTATTTCCTGACGGGTATTATCACAGTAGGCTTACAAA
ATGCATCTTCCAGCTCCAGGATCTCAGTGACATAGGTGTTCATGATAATTATATCTTCAATAAAGATGTGTACATACGAT
TCAACAGCACTTTGGGGTACTTTGTTGGGTACACTGAACATGGAGTATATAATGCACAATTATGGAAGCAACGATACCAG
CTTCTCGAGCAAGAGAGAGCTCACGAGGATCGATTCTGCAAATACAATGCTGAGATTGACTACAACAACATTCTAGGAAA
AACAGTAAAACCACAGGTTAAGCTTAATTCAGTGAAGCAGGCTGGTGGCAGACAGCCAGCTGTGTTGGTGTGCAGTGCAT
ATGACTTCTATCCCAAAAGAATCAAAGTCACCTGGTTAAGAAATGGTAAACCAGTGACCACTGATGTAACCTCCACTGAG
GAGCTGGCTGATGGGGACTGGTACTACCAAATTCATTCCCACCTGGAATACACCCCCAAATCTGGAGAAAAGATTTCCTG
TATGGTGGATCATGCCAGCTCAACTGAACCCATCATCATAGCCTGGGATTCATCTCTCTCTGAGCCTGAGAGGAATAAAA
TTGCTATTGGAGCATCTGGTTTGGTGCTGGGAATCATCATTGCCACTGCTGGACTCATTTATTACAAGAAGAAATCATCA
GGTCAGTTTAAATAA
>gi|18859028|ref|NM_131706.1| Danio rerio major histocompatibility complex class II DCB gene (mhc2dcb), mRNA
ATGATTTTGTCTGCTTTATTGGAAAAAGTATGTGGAAATTACGGCTATCTTCAAAGTCAATGTCGAGTACTGAGCTCTAC
AAAGAAAGTTGAGCTCATCTTCTCATTCATCTTCAACAAGATTGAATACATTAGATACAACAGTACTGATCAGAAAATTG
TTGGCTACACTGAATTTGGAGAGAAATTTGTTGAAAACTATAAAAATAACACATTTGTGCTAGTCCTGGCTGAGTTTGGG
ATTTACAACTGCAAAAAAATTGCAAAGGCACTAATCTCTGATGGAATGCTGAATCATGTGACAGTGAAACCAGAAGTCAT
TATTCGGTCAGTTACTGAAGCTAAAGGCAATCAGAAAGCTGTCCTGGTGTGCAGTGAATATGACTTTTACCCCAAAGCCA
TTAAACTGACGTGGATGAGGAATGATAAAAGGGTTACAGCTGATGTGACGTCCATTGAGGAGATGGCTGATGGAGACTGG
TATTATCAGATTCACTCCCACCTGGAATATTTTCCTCAACCTGGAGAGAAGATCTCCTGTGTGGTGGATCATGCCAGCTT
CCATAAACCCATGATCTATTACTGGGATCCCTCTCTCCCCGAGACTGAAAGATCTAAGATCATTCTTGGGGCTGTGGGGC
TGCTGATGGGGATCTTTACAGCAGCTGCAGGAGTGATCTATTATAAAAGAAATCAAACAGGTTAG
>gi|18858320|ref|NM_131670.1| Danio rerio ATPase, Na+/K+ transporting, beta 3b polypeptide (atp1b3b), mRNA
TGGCAAGCCCGAGCCGACGCTTTCTTTGATTTGTCCTCATCCATCGCTCTCAAACTGGTTTATCTATCCTCTCCACACTA
TGGCCAACAAAGAGGAGAAAGCTGACGAGAAGCAGTCGAGTTGGAAAGATTTTATCTACAACCCGCGGACAGGGGAATTC
ATCGGGCGCACGGCGAGCAGTTGGGCTCTTATATTCCTCTTTTATTTGGTCTTCTATGGCTTTCTGGCGGGAATGTTCAC
GCTTACCATGTGGGTGATGCTACAGACACTGGATGACCATACTCCCAAATACAGGGACCGAGTGGCCAATCCAGGGCTGA
TGATCAGACCAAGGTCCTTGGATATTGCATTTAACCGGTCTATTCCTCAGCAATACAGCAAGTATGTGCAGCATCTGGAG


#################以下、永遠と続く######################


#blastのインストール
$ sudo apt-get install blast

#blast用データベースの構築
$ formatdb -p F -i zebrafish.rna.fna  -n zebrafish

$ ls
formatdb.log  zebrafish.nhr  zebrafish.nin  zebrafish.nsq  zebrafish.rna.fna


それでは,current directoryにpositive control としてtp53のfasta形式のmRNA配列情報をtp53.fastaと名前をつけて置きます。ファイルの中身の一行目の遺伝子情報は、何か適当な文に書き換えて置きます。

いよいよblastの実行です。

$ blastall -p blastn -i tp53.fasta  -d zebrafish -e 1e-90  | less

最後に結果の一部を掲載しておきます。


###############ここから###########################
BLASTN 2.2.21 [Jun-14-2009]


Reference: Altschul, Stephen F., Thomas L. Madden, Alejandro A. Schaffer,
Jinghui Zhang, Zheng Zhang, Webb Miller, and David J. Lipman (1997),
"Gapped BLAST and PSI-BLAST: a new generation of protein database search
programs",  Nucleic Acids Res. 25:3389-3402.

Query= test
         (2105 letters)

Database: zebrafish
           28,321 sequences; 57,848,304 total letters

Searching..................................................done



                                                                 Score    E
Sequences producing significant alignments:                      (bits) Value

gi|18859502|ref|NM_131327.1| Danio rerio tumor protein p53 (tp53...  2218   0.0 

>gi|18859502|ref|NM_131327.1| Danio rerio tumor protein p53 (tp53),
            mRNA
          Length = 2105

 Score = 2218 bits (1119), Expect = 0.0
 Identities = 1173/1200 (97%)
 Strand = Plus / Plus

                                                                       
Query: 1    gtttagtggagaggaggtcggcaaaatcaattcttgcaaagcaatggcgcaaaacgacag 60
            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Sbjct: 1    gtttagtggagaggaggtcggcaaaatcaattcttgcaaagcaatggcgcaaaacgacag 60

                                                                       
Query: 61   ccaagagttcgcggagctctgggagaagaatttgattattcagcccccaggtggtggctc 120
            ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Sbjct: 61   ccaagagttcgcggagctctgggagaagaatttgattattcagcccccaggtggtggctc 120

                                                                       
Query: 121  ttgctgggacatcattaatgatgaggagtacttgccgggatcgtttgaccccaannnnnn 180


##################以下続く##########################

sanger instituteからgenome assemblyをとってくる

zebrafishのgenome assembly(zv9)を取ってこようと思う。

ftpサーバーにログインするにはlftpにftpサーバーのアドレスを与えれればよい。

$ lftp ftp.ensembl.org

#ftpサーバーのdirectoryの変更

> cd /pub/assembly/zebrafish/Zv9release

#ftpサーバー上のファイルの確認


> ls


-rw-r--r--   1 ftpuser  ftpusers       1014 Jul 22  2010 README
-rw-r--r--   1 ftpuser  ftpusers     788610 Jul 22  2010 Zv9_chr.agp.gz
-rw-r--r--   1 ftpuser  ftpusers  451494537 Jul 22  2010 Zv9_contigs.fa.gz
-rw-r--r--   1 ftpuser  ftpusers     843475 Jul 22  2010 Zv9_scaffold.agp.gz
-rw-r--r--   1 ftpuser  ftpusers  421808174 Jul 22  2010 Zv9_scaffolds.fa.gz
-rw-r--r--   1 ftpuser  ftpusers  421723082 Jul 22  2010 Zv9_toplevel.fa.gz
-rw-r--r--   1 ftpuser  ftpusers        262 Jul 22  2010 md5sum.dat


ftpサーバーからファイルのダウンロードを実行

> get Zv9_scaffolds.fa.gz

gnuplotを用いてグラフを綺麗に描写する♪♪

$ sudo apt-get install gnuplot

$ gnuplot

gnuplot> set terminal png
gnuplot> set output 'test.png'
gnuplot> plot sin(x)
gnuplot> quit





メモリの使用状況をプロセスごとに表示する。

$ ps alx

F   UID   PID  PPID PRI  NI    VSZ   RSS WCHAN  STAT TTY        TIME COMMAND
4     0     1     0  20   0   2884  1676 poll_s Ss   ?          0:00 /sbin/init
1     0     2     0  20   0      0     0 kthrea S    ?          0:00 [kthreadd]
1     0     3     2  20   0      0     0 run_ks S    ?          0:00 [ksoftirqd]


RSSの項目が実際にしようしているメモリの容量だそうです。単位はkiB。

ubuntuのunityデスクトップで仮想デスクトップの数を増やす。

ubuntu11.04から導入されたunityデスクトップ。

見栄えがよく、ハイスペックのパソコンで動かすのならば、使い勝手がいいです♪

今回は、unityデスクトップ環境における仮想デスクトップの個数を増やす方法を書いてみます。


基本的な設定は、デスクトップ画面右上のスタートボタンにあるシステム設定に統一されています。

この点は、ubuntu10.10からの大きな変更点となります。

そして、「CompizConfig設定マネージャー」を開いて、「一般オプション」をクリックします。

そして「デスクトップサイズ」のタブに移動して、

「水平仮想サイズ」と「垂直仮想サイズ」

の二つを任意の値に変更してあげればよいです。


ちなみに、デフォルトでは4×4になっています。

sun-java6-jdkのインストール

$ sudo add-apt-repository 'deb http://archive.canonical.com/ lucid partner'
$ sudo apt-get update 
$ sudo aptitude install sun-java6-jdk  

lftpを用いたサーバーへのhtml等のアップロード

lftpとはUNIX系で使われるCUIベースのファイル転送システムのことである。

使ってみたところ結構簡単だったし、ホームページの運用で使用させていただいているFC2のサーバーのディレクトリ構造を、手元のディレクトリ構造に反映させたり、その逆も簡単にできることに気がついた。

#lftmインストール
$ sudo apt-get install lftp

#lftpを起動
$ lftp

#ftpサーバーにログイン
> open -u   username    ftpservername
password

#サーバー側のディレクトリをルートに変更(デフォルトでルートになっているが)
> cd /
> pwd

#クライアント側(ローカル、すなわち自分のPC環境)のディレクトリをアップロードしたいディレクトリに変更。(今回はホームディレクトリのHPディレクトリ)
> lcd ~/HP
> lpwd

#クライアント側のカレントディレクトリの内容をサーバー側に反映させる。このとき、絶対に-Rを忘れないこと。忘れた場合は、ローカル側のディレクトリの内容が書き換えられてしまう。

> mirror -R -e



これでミラーリングは完成です♪

HP作りました。

以前に公開したホームページは一切更新せずにほったらかしでしたので、この際にリニューアルしました。

遊びにきてくださいね!

(^^)

http://kappabucha.web.fc2.com/

lightbox plusを用いて、画像の拡大機能をつける。 at html

いろんな人のホームページ見ていますと、画像拡大機能がうらやましくなってくるものです。

そこで、私も自分のホームページに導入することにしました。

まず、以下のサイトからlightbox plusのパッケージを取ってきます。

http://serennz.sakura.ne.jp/toybox/lightbox/?ja#download


次にダウンロードしたディレクトリの下で

#zip形式のファイルを解凍
$ unzip lightbox_sample.zip

#解凍後に新たに生成したディレクトリに移動。
$ cd samlpe

#ディレクトリのツリーを見る


|-- file
|   |-- cat_in_hole.jpg
|   |-- cat_on_mac.jpg
|   |-- cat_on_printer.jpg
|   |-- evening.jpg
|   |-- grass.jpg
|   |-- road.jpg
|   |-- sky.jpg
|   `-- sleeping_cat.jpg
|-- index.html
|-- resource
|   |-- blank.gif
|   |-- close.gif
|   |-- expand.gif
|   |-- jojo.css
|   |-- lightbox.css
|   |-- lightbox_plus.js
|   |-- lightbox_plus_min.js
|   |-- loading.gif
|   |-- next.gif
|   |-- prev.gif
|   |-- sample.css
|   |-- shrink.gif
|   `-- zzoop.gif
`-- tiny
    |-- cat_in_hole_thumb.jpg
    |-- cat_on_mac_thumb.jpg
    |-- cat_on_printer_thumb.jpg
    |-- evening_thumb.jpg
    |-- grass_thumb.jpg
    |-- road_thumb.jpg
    |-- sky_thumb.jpg
    `-- sleeping_cat_thumb.jpg

ここで、サーバー側のルートディレクトリにsourceディレクトリ以下のファイルをすべてアップロードします。

つぎに、htmlファイルのヘッダーに以下の三行をまるごとコピー&ペーストします。


<link rel="stylesheet" type="text/css" href="./resource/lightbox.css" media="screen,tv">
<script type="text/javascript" charset="UTF-8" src="./resource/spica.js"></script>
<script type="text/javascript" charset="UTF-8" src="./resource/lightbox_plus.js"></script>

次に、ボディの中で実際に拡大表示したい画像

<a href="./images/me_2.jpg" rel="lightbox"> <img src="./images/me_2.jpg" alt="研究室のlinuxパソコンと私" style="height:240px;width:320px;" align="right"></a>


 のように、

<a href="./images/me_2.jpg" rel="lightbox">と</a>で、張り付けてあった画像の記述を挟み込みます。

たったこれだけでOKです(^^)

htmlファイルでソースコードをカラフルに記述する!!!!!!!!!

javascriptってまじですごいな。

なんちゃってで、かなりきれいなHPが作れる。

htmlを書いてて、ソースコードを紹介したいと思うことは多々あると思います。そこでSyntaxHighlighterというものを使うとその要望に答えてくれるます。



SyntaxHighlighterのHP

http://alexgorbatchev.com/SyntaxHighlighter/download/

っていうのを使うといいね。


使用方法は、

zipファイルを適当なディレクトリに解凍して「scripts」と「styles」のディレクトリをindex.htmlの階層にアップロードします。

こんな感じ。.
├── css
│   └── mystyle.css
├── images
│   ├── doctor-tux.png
│   ├── follow-me.jpg
│   ├── me.jpg
│   ├── me_2.jpg
│   ├── tux.ico
│   ├── tux.jpg
│   └── twitter.jpg
├── index.html
├── perl
├── scripts
│   ├── shAutoloader.js
│   ├── shBrushAS3.js
│   ├── shBrushAppleScript.js
│   ├── shBrushBash.js
│   ├── shBrushCSharp.js
│   ├── shBrushColdFusion.js
│   ├── shBrushCpp.js
│   ├── shBrushCss.js
│   ├── shBrushDelphi.js
│   ├── shBrushDiff.js
│   ├── shBrushErlang.js
│   ├── shBrushGroovy.js
│   ├── shBrushJScript.js
│   ├── shBrushJava.js
│   ├── shBrushJavaFX.js
│   ├── shBrushPerl.js
│   ├── shBrushPhp.js
│   ├── shBrushPlain.js
│   ├── shBrushPowerShell.js
│   ├── shBrushPython.js
│   ├── shBrushRuby.js
│   ├── shBrushSass.js
│   ├── shBrushScala.js
│   ├── shBrushSql.js
│   ├── shBrushVb.js
│   ├── shBrushXml.js
│   ├── shCore.js
│   └── shLegacy.js
├── shell
│   └── index.html
├── styles
│   ├── shCore.css
│   ├── shCoreDefault.css
│   ├── shCoreDjango.css
│   ├── shCoreEclipse.css
│   ├── shCoreEmacs.css
│   ├── shCoreFadeToGrey.css
│   ├── shCoreMDUltra.css
│   ├── shCoreMidnight.css
│   ├── shCoreRDark.css
│   ├── shThemeDefault.css
│   ├── shThemeDjango.css
│   ├── shThemeEclipse.css
│   ├── shThemeEmacs.css
│   ├── shThemeFadeToGrey.css
│   ├── shThemeMDUltra.css
│   ├── shThemeMidnight.css
│   └── shThemeRDark.css
└── template
    ├── index.html
    └── mystyle.css


つぎに、index.htmlのヘッダーの中に、「styles」のディレクトリにあるスタイルシートと、「scripts」のディウレクトリにあるjavascriptを組み込む。


以下のように<body>   </body>の間に記述すればよい。


<body>

<script type="text/javascript" src="./scripts/shCore.js"></script>
<script type="text/javascript" src="./scripts/shBrushPerl.js "></script>
<link type="text/css" rel="stylesheet" href="./styles/shCore.css"/>
<link type="text/css" rel="stylesheet" href="./styles/shThemeDefault.css"/>
<script type="text/javascript">
SyntaxHighlighter.config.clipboardSwf = './scripts/clipboard.swf';
SyntaxHighlighter.all();
</script>


</body>



ちなみに今回は、perlのスクリプトをハイライトするためのコードを書いた。

あとは、以下のように<pre class="brush:言語名"> </pre>の間に挟み込むようにしてソースコードを記述すればよい(^^)

<pre class="brush: perl">
 #!/usr/bin/perl
 print "Hello, world!!\n";
 exit;
 </pre>

htmlファイルで文字化けを起こさないようにするために

ubuntuでvimを使ってhtmlファイルを作って公開したところ、知り合いの先生から文字化けの報告を頂きました。

調べたところ、文字コード宣言というものをおこなわなくてはいけなかったようです。

それについて書きます。

#nkfのインストール
$ sudo apt-get install nkf


#作成したファイル(index.html)の文字コードを調べる。
$ nkf --guess index.html
UTF-8

UTF-8でファイルを作っていることがわかったので以下のフレーズをhtmlファイルの中に追加します。


<head>

<meta charset="utf-8">


</head>





htmlでタブにアイコンを表示

<head>

<link rel="shortcut icon" href="./images/filename.ico">

</head>


のようにすればいけます。 拡張子は.icoにしておきます。

htmlファイルで、ソースコードを記述する。

bodyの中に

preタグを使って記述してやれば、ソースコードをそのまま記述することができます。



<pre>

int main(void)
{
printf("Hello, world!\n");
return 0;
}
</pre>