アメリエフのブログ

バイオインフォマティクスの紹介と社員の日々
VCFtools
tokunagaです。

今日はVCFtoolsについてご紹介したいと思います。
URL:http://vcftools.sourceforge.net/
VCFToolsは、NGSのデータ解析で出力されたVCFファイルを加工するのに役に立つツールです。

VCFtoolsを使用する際にはbgzip、tabixの使用が必要となります。

例えばマージする場合
まずbgzipで固めます。
bgzip $FILE1.vcf
bgzip $FILE2.vcf


次にtabixでインデックスを付けます。
tabix $FILE1.vcf.gz
tabix $FILE2.vcf.gz


これでVCFToolsを実行することが出来ます。
vcf-merge $FILE1.hetero.gz $FILE2.hetero.gz|bgzip -c > $OUT.vcf.gz


前処理はちょっと手間はかかりますが、複数のVCFファイルのマージや比較、共通部分の抜き出しなど様々なコマンドがあります。

また機会がありましたら便利なコマンドをご紹介したいと思います。
| tokunaga | バイオインフォマティクス | 18:42 | comments(0) | trackbacks(0) |
Python を使ってみよう
皆様、こんにちは。
前回に引き続きPythonについて記事を書かせていただきます。

実は、日本ではPythonの知名度はあまり高くありません。
我々の業界でもPerlやRubyの方がよく使われているように感じます。
実際に、前の記事で紹介したPyConでもwebサービス系の講演がほとんどでした。
しかし、Pythonについて少し調べた限りでは(まだ本当に少ししか調べられてないのですが)理数計算、統計に関するライブラリが非常に充実しています。例えば、少し命令を書くだけでヒストグラムが作れたりするなど、サイエンスの人間が使うのにも非常に適した言語であると感じます。

そこで、今回は Python の文法について、特に他の言語との違いという観点から、ごく一部ですがご紹介したいと思います。

Perlでif-else文を書くと、以下のようになります。

my $cnt = 0;
if ($cnt == 0){
  $cnt++;
}
else{
  print $cnt;
}


これをPythonで書いてみましょう。

cnt = 0
if cnt == 0:
   cnt += 1
else:
   print cnt


どうでしょうか?初めてPythonのソースを見た方は驚かれるかもしれません。私の予想する驚きポイントを以下に記します。

1.{}はないの?ブロック構造はどうやって表現するの?
2.命令の後ろには;とかいらないの?
3.インクリメント演算子はないの?


ブロック構造については、なんとインデントで表現します。インデントの深さでブロックを表現するため、インデントの深さを間違えるとすぐエラーになります。慣れると案外コードを組みやすい記法です。また、誰が書いても同じコードになりやすいため、可読性、保守性が上がります。

また、命令の後ろには;とか要りません。;を毎回打たなくていいのでプログラミング速度は上がります。ただし、ifやelse、for、whileの後ろには:が必要です。たまにPerlとかに戻ると、すぐ;をつけるのを忘れてしまいますのでお気を付け下さい。

あと、細かいことですが、++ や -- 等のインクリメント、デクリメント演算子はありません。+=で対応してください。

Pythonについては、サイエンスの立場から今後もいろいろとご紹介したいと思っています。
今日はこのくらいで。detでした。
| deda | システム | 18:21 | comments(0) | trackbacks(0) |
PyCon JP 2012 に行ってきました
Pythonというプログラミング言語があります。
海外では人気がある言語でして、読みやすさとモジュールの豊富さで日本でもじわじわと人気が出てきている言語です。

つい先日、Pythonのコンファレンス PyConJP 2012 が東京で開催されました。日本中のPython使い達が集まってくる一大イベントです。

今回、私も参加することになりまして、先週土曜日はドキドキしながら会場に向かいました。実際に会場に着きますと、学会等とは異なり、比較的自由な雰囲気が流れていました。いい意味でゆるい感じの会議でした。プログラマ、ハッカー文化の一端に触れた気がしました。

発表内容自体はWebサービス系が多く、私が期待したサイエンス・技術系関連の発表はほとんどありませんでした。しかし、懇親会などで有益な情報を入手することが出来たり、昔の知り合いの方とお会いして今後も情報交換をすることになるなど、非常に有意義な会議でした。

PythonにはNumPyやSciPy等の数値計算系のモジュールが充実しているらしく、今後色々試していきたいと思っています。

ぜひ来年も参加したいですね。

それではdetでした。
| deda | システム | 10:57 | comments(0) | trackbacks(0) |
心を整える
心を整える。 勝利をたぐり寄せるための56の習慣
心を整える。 勝利をたぐり寄せるための56の習慣
長谷部誠

「私は本番に弱いんです」こういう方、多いと思います。学会発表、スポーツの大会、結婚式のスピーチ、試験、就職活動…色々な本番がありますが、苦手な人は少なくないと思います。私もはっきり言って、苦手です。

この本では、有名なプロサッカー選手である、長谷部氏のメンタルコントロール術が56個の項目別に実例を挙げて紹介されています。
海外で活躍するレベルのプロサッカー選手は、受けるプレッシャーも尋常ではないでしょう。その中で生き残っている人はどのようなメンタル術を身に着けているのでしょうか。
私がこの本を読んで感じたのは本人の人柄の良さと、清々しさでした。自分を客観的に見つめ、すぐに揺らぎがちなメンタルをストイックにコントロールし、明日の勝利を導いていくその姿勢にも心を打たれました。
これはそのままビジネスにも通じるものがあると思います。四章の「信頼を得る」や六章の「時間を支配する」は、一読の価値があると思います。
本番に弱い私は、この本に書いてあることを一つずつ実践してみたいと思っています。皆様も良かったら是非、本書を手に取ってみてください。きっと何か得るものがあると思います。
| deda | 書籍の紹介 | 15:46 | comments(0) | trackbacks(0) |
スクール「Linux基礎」2012年10月期の募集を開始しました
バイオインフォマティクス・スクール「Linux基礎」2012年10月期の募集を開始しました。
「Linuxやプログラミングを始めたいけど、最初の一歩がなかなか踏み出せない」という方にお勧めプログラムです。

第1回 10月06日(土)13:30〜15:30
  Linuxとは

第2回 10月13日(土)13:30〜15:30
  Linux のコマンドを用いたファイルの加工方法

第3回 11月17日(土)13:30〜15:30
  ソフトウェアのダウンロード方法と使用方法

第4回 12月01日(土)13:30〜15:30
  次世代シーケンスの公開データおよび解析ツールの活用

第5回 12月08日(土)13:30〜15:30
  次世代シーケンスのデータ解析

第6回 12月22日(土)13:30〜15:30
  自作のプログラムによるファイルの加工方法

詳細はこちらの資料をご覧ください。
| きむ | スクール | 14:34 | comments(0) | trackbacks(0) |
Linuxでソフトのバージョンを簡単に切り替える方法
Linux上で、いろんなソフトやアプリケーションの複数のバージョンを使い分けたい時ってありますよね。
そんな時に、重宝するのが、[alternatives] というコマンドです。
このコマンドを使うと、簡単にソフトのバージョンを切り替えて使用することができます。

今回は、CentOSを例にalternativesの基本的な使い方をご説明いたします。最近のCentOSでは、デフォルトでOpenJDKが入っています。そこに、SunのJavaを入れて、両方を使い分けてみましょう。
まず、今入っているJavaのバージョン確認をします。

$ java -version
java version "1.6.0_17"
OpenJDK Runtime Environment (IcedTea6 1.7.4) (rhel-1.21.b17.el6-x86_64)
OpenJDK 64-Bit Server VM (build 14.0-b16, mixed mode)


こんな感じでOpenJDKが入っていることが分かります。
では、次にalternatives コマンドでインストールされているjavaを確認してみましょう。

$ alternatives --config java
1 プログラムがあり 'java' を提供します。
選択 コマンド
-----------------------------------------------
*+ 1 /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java
Enter を押して現在の選択 [+] を保持するか、選択番号を入力します:


このように表示されると思います。いま、alternativesにはOpenJDKだけが登録されています。つぎに、SunのJavaをインストールしましょう。SunのJavaはこのページからダウンロードします。

# rpm -ivh jdk-7u7-linux-x64.rpm
準備中... ################################## [100%]
1:jdk ##################################[100%]
Unpacking JAR files...


インストールできたら、alternatives にSunのJavaを登録します。

# alternatives --install /usr/bin/java java /usr/java/default/bin/java 10

最初の引数はリンク、2つ目の引数はalternativesへの登録名、3つ目の引数はプログラムへの実際のパスを書きます。4つ目の10という数字は登録時の優先度を表します。では、alternatives コマンドで登録状況を確認しましょう。

# alternatives --config java
2 プログラムがあり 'java' を提供します。
選択 コマンド
-----------------------------------------------
*+ 1 /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java
2 /usr/java/default/bin/java
Enter を押して現在の選択 [+] を保持するか、選択番号を入力します:


インストールしたSunのJavaが登録されます。ここで2を入力してEnterを押すと、SunのJavaに切り替わります。

$ java -version
java version "1.7.0_07"
Java(TM) SE Runtime Environment (build 1.7.0_07-b10)
Java HotSpot(TM) 64-Bit Server VM (build 23.3-b01, mixed mode)


このように、alternativesコマンドを使うと、簡単にバージョンを切り替えて、ソフトを利用できます。
alternatives の詳しい使い方などは、ネットで検索すれば沢山出てきますので、ご興味がある方はぜひ調べてみてください。
| deda | システム | 14:26 | comments(0) | trackbacks(0) |
Linux基礎・第五回
akbです。

明日はバイオインフォマティクス・スクール「Linux基礎」の第五回です。

前回はFastQC、BWA、SAMtoolsなどのツールを用いた次世代シーケンスデータの解析を行いました。
第五回のテーマは前回に引き続き次世代シーケンスデータの解析です。
今回は、前回の解析結果を生物学的に考察しながら解析を進めていきます。
「解析結果の違い」に着目していただけると幸いです。
講義の後半では「解析の自動化」を行うためのシェルスクリプトが登場します。

内容が盛り沢山の第五回ですが、少しでも理解を深める事が出来ますよう努めてまいります。

それでは明日、浜松町でお待ちしております。
| akb | スクール | 14:42 | comments(0) | trackbacks(0) |
便利なオプション
akbです。
今日はLinuxコマンドの便利なオプションを
ご紹介したいと思います。


.侫.ぅ襪筌妊レクトリの検索
$ find [パス][オプション][ファイルまたはディレクトリ名]

【optionの説明】
-name <パターン>: ファイル名がパターンと同じファイルを検索する

【実行例:/home/以下を指定してhoge.txtを検索する】

$ find /home -name hoge.txt

▲妊レクトリの作成
$ mkdir [オプション][ディレクトリ名]

【optionの説明】
-p: ディレクトリを含むディレクトリを作成する

【実行例:Tokyoディレクトリを含むJapanディレクトリを作成する】

$ mkdir -p Japan/Tokyo

ファイルの末尾(デフォルト:10行)を表示する
$ tail [オプション][ファイル名]

【optionの説明】
-f: 更新中のファイルの末尾をリアルタイムに表示する

ぅレンダーを表示する
$ cal
【実行例】


テ時を表示する
$ date
【実行例】



恥ずかしながら最近"cal"コマンドを知りました。ついつい使いたくなるコマンドです。
是非、お試しください。
| akb | バイオインフォマティクス | 16:08 | comments(0) | trackbacks(0) |
データをDNAへ変換!?
tokunagaです。
本日は気になるニュースを財経新聞で見つけましたのでご紹介いたします。
DNAを記録メディアにする試み

そしてDNAの記録メディア化を実践したハーバード大学のGeorge Church氏らの論文も見つけました。
Next-Generation Digital Information Storage in DNA

配列情報をデジタルに変換したデータを私たちはよく扱っていますが、
これはその逆ですね。非常に面白いアイディアです!
生成される”丈夫なDNA”というのがどこまで丈夫なのか気になるところではありますが、シンプルで小さい上に莫大な情報を入れられるので優れた記録媒体になるかもしれません。そして実践した結果も上々のようなので、近い将来使われるようになるのかもしれませんね。

もしそうなれば、将来シーケンサーも大活躍しそうですね!
| tokunaga | バイオ | 21:14 | comments(0) | trackbacks(0) |
「Exome解析」にご参加ありがとうございました
9/1(土)に東北大学 長正朗教授をご招待して開催した、バイオインフォマティクス勉強会「Exome解析」が大盛況のうちに終了しました。

0901exome

長崎先生には、クオリティコントロールの注意点やマッピングソフトウェアの比較結果をはじめとした貴重なノウハウをご紹介いただき、非常に勉強になりました。

勉強会の熱気が冷めやらぬまま、懇親会も多くの方にご参加いただき、とても盛り上がりました。

お忙しい中ご参加してくださった皆さま、本当にありがとうございました。

次回の勉強会、9/22(土)【Exomeデータ解析入門】@大阪は現在お申込み受付中です。
関西で次世代シーケンシング解析をご検討中/実施されている皆さまとの情報交換の場にさせていただきたいと考えております。
たくさんのご参加をお待ちしております!
| hat | 勉強会 | 11:25 | comments(0) | trackbacks(0) |
エラー出力のありがたみ
tokunagaです。

エラーが出力されるのってありがたいですよね。
原因のヒントも出してくれますし、なにより、これでは「動かない」ということを示してくれます。

この間とあるコマンドを実行したら、回りっぱなしでうんともすんとも言わないという状態になりました。
エラーも出ないなんて一体何が原因なんだろうと思い、ツールのバージョンを疑ってみたり、PC自体を疑ったり、と様々な試行錯誤いたしましたが、最終的に判明した原因が
単なるコマンドオプションの指定忘れ

コマンドの打ち間違いは一番最初に疑うべきですよね。
判明した瞬間、あまりのケアレスミスについ脱力してしまいました。
しかし・・・せめてコマンドの間違いであれば
「ちょっと必要な情報がないんだけど」
くらいの訴え(エラー)が欲しいと心の底から思う出来事でした。

プログラムを作成するときにはちゃんと間違いを指摘できるようなエラー出力がされるよう心がけます。
| tokunaga | よもやま話 | 23:09 | comments(0) | trackbacks(0) |
      1
2345678
9101112131415
16171819202122
23242526272829
30      
<< September 2012 >>

このページの先頭へ