アメリエフのブログ

バイオインフォマティクスの紹介と社員の日々
IGVから配列を取得する
IGVのちょっと便利な機能に気づいたのでご紹介します。
ゲノム上の目的の領域の配列を、IGVだけを使って取得してみましょう。
IGVのバージョンは2.3.3で確認しました。

1. BEDで指定したfeatureの配列を取得する

ChIP-seq解析で出力したピーク(BED形式)上の配列を取得したいときの方法です。下図のように、feature上を右クリックし、表示されたメニューから「Copy Sequence」を選択します。

クリップボードに配列情報が保存されますので、使っているワープロソフトやテキストエディタ等にペーストして使用できます。
こちらはわかりやすいので、ご存じの方も多いのではないでしょうか。

2. 任意の領域の配列を取得する

IGVで変異やピークなどのfeatureを眺めながら、「ここからここまでの配列が欲しい!」と思った時。
IGVのツール一覧にあるこちらのアイコンをクリックします。

カーソルが十字になりますので、配列を取り出したい範囲の開始ポジションと終了ポジションをクリックします。これで目的の領域が赤く表示され、選択できたことになります。

複数個所の配列情報を取り出したい場合は、続けて別の場所を選択できます。
(誤った箇所を選択した場合、赤い部分を右クリックし、メニューから「Delete」を選択することで領域の選択を解除できます)
取り出したい場所を選択し終わったら、ツールバーから「Regions」 > 「Export Regions ...」を選択し、選択した領域を保存します。保存したファイルを、Peakと同じようにIGVで開くことができますので、以降は上記の(1)と同じ方法で配列情報を取り出します。
参考

この2番目の方法、最近まで方法を知りませんでした。目視した領域の情報が取得できるので便利です。
(もし、もっと簡単に配列取れる方法あるじゃない! と思った方はぜひ教えてください。情報お待ちしています)
| kubo | ゲノムブラウザ | 16:58 | comments(0) | - |
TopHat-Fusionの結果の見方
TopHat-Fusionは、マッピングソフトのTopHatから派生した機能で、融合遺伝子を検出するのに広く使われています。
TopHat-Fusionを実行すると、fusions.outという候補となるポジションやリード数などの情報が出力されます。fusion.outの説明は、NGS Surfer's Wikiに書かれていますので、詳しくはこちらをご覧ください。
出力されたファイルに対してtophat-fusion-postというコマンドを実行すると、フィルタリングされた結果(result.txt)が作られます。

このresult.txtの見方を、BCAS4-BCAS3の検出を例に説明したいと思います。

MCF7 | BCAS4 | chr20 | 49411707 | BCAS3 | chr17 | 59445685 | 106 | 116 | 167

(1) MCF7 : 融合遺伝子が検出されたサンプル名
(2) BCAS4 : 融合遺伝子の左側の遺伝子名
(3) chr20 : 左側の遺伝子がある染色体番号
(4) 49411707 : 左側の遺伝子のポジション
(5) BCAS3 : 融合遺伝子の右側の遺伝子名
(6) chr17 : 右側の遺伝子がある染色体番号
(7) 59445685 : 右側の遺伝子のポジション
(8) 106 : breakpoint上のリード数
(9) 116 : breakpointを挟むペアエンドのリード数
(10) 167 : 片側のリードがbreakpoint上にあるペアエンドのリード数

以上が、フィルタリング後のresult.txtの列の説明でした。
参考:http://ccb.jhu.edu/software/tophat/data/result.html

Tophat-fusion-postによるフィルタリングは便利ですが、Linuxコマンドのawkを使ってfusions.outをフィルタリングする方法もあります。
| onouek | バイオインフォマティクス | 14:20 | comments(0) | - |
cpコマンドの進捗状況をチェックする
コピー中にあとどれくらいか知りたい時があるんです、
特に`cp -v`を忘れた時に有用

Xfennec/progress
調べたら、こちらのprogressを使うと簡単にできます

ダウンロード

$ git clone https://github.com/Xfennec/progress.git
Initialized empty Git repository in /home/kubor/src/progress/.git/
remote: Counting objects: 279, done.
remote: Total 279 (delta 0), reused 0 (delta 0), pack-reused 279
Receiving objects: 100% (279/279), 206.50 KiB | 111 KiB/s, done.
Resolving deltas: 100% (142/142), done.

コンパイル

$ cd progress; make
cc -g -Wall -D_FILE_OFFSET_BITS=64 -c progress.c
cc -g -Wall -D_FILE_OFFSET_BITS=64 -c sizes.c
cc -g -Wall -D_FILE_OFFSET_BITS=64 -c hlist.c
cc -Wall progress.o sizes.o hlist.o -o progress -lncurses -lm

usage

$ ./progress -h
progress - Coreutils Viewer
---------------------
Shows running coreutils basic commands and displays stats.

Commands monitored by default:
cp mv dd tar gzip gunzip cat grep fgrep egrep cut sort xz md5sum sha1sum sha224sum sha256sum sha384sum sha512sum adb

Usage: ./progress [-qdwmM] [-W secs] [-c command] [-p pid]
-q --quiet hides all messages
-d --debug shows all warning/error messages
-w --wait estimate I/O throughput and ETA (slower display)
-W --wait-delay secs wait 'secs' seconds for I/O estimation (implies -w, default=1.0)
-m --monitor loop while monitored processes are still running
-M --monitor-continous like monitor but never stop (similar to watch ./progress)
-c --command cmd monitor only this command name (ex: firefox)
-p --pid id monitor only this process ID (ex: `pidof firefox`)
-v --version show program version and exit
-h --help display this help and exit
監視対象は結構いろいろあるみたいですね
cp mv dd tar gzip gunzip cat grep fgrep egrep cut sort xz md5sum sha1sum sha224sum sha256sum sha384sum sha512sum adb
シンボリックリンクは、cvコマンドとしてリンクしておきます
coreutils viewerとのことですし
$ ln -s ~/src/progress/progress ~/bin/cv

cpで大きなファイルをコピー中に実行してみる

せっかくなので別セッションで実行してみます
$ cp huge_genome_R1.fastq /mnt/usb/
cpが別セッションで実行中に、新しく接続したセッションで監視してみます
$ cv
[32720] cp /home/oryza/exome/fastq/huge_genome_R1.fastq /mnt/usb/ 44.4% (698.5 MiB / 1.5 GiB) 50.9 MiB/s eta 0:00:17
ファイルはフルパスで展開されるのですね
ちなみに`-m`オプションをつけるとリアルタイム監視できます
`watch cv`してるのと同じでしょうか

READMEを読むと`/proc`を読んでいるらしいです

この記事はQiitaでも読むことができます
| kubor | システム | 13:51 | comments(0) | - |
ヘビーな夏
弊社が一部講義を担当した平成27年度NGSハンズオン講習会のアンケート結果を、事務局のかたから送っていただきました。

私が担当したSh、Perl、Pythonに関しては、「易しいと思っていたらいきなり最終課題が難しくなった」というご意見が多かったです。
実は去年もこのようなご意見が多かったため、去年よりは気を付けたつもりなのですが、まだ不十分だったようです。
来年以降(もアメリエフにお声がかかるのであれば)の課題ですね!

アンケートには役に立ちそう・今後使ってみたいというコメントもたくさんいただきました。
本業が忙しい中泣きながら資料を作ったり、群馬のスネークセンターに行ってみたり、講義中はネタが滑りまくったりと大変でしたが、少しでもお役にたてたのであれば良かったなあと思います。

ご参加いただいた皆様、TA・講師各位、門田先生、お疲れ様でした。

最後に、Python編のまとめです。

  • 値の整形はformat

  • リストは編集可能、タプルは編集不可能

  • 学習にお奨め→https://www.codecademy.com/

  • 飛ばしたいならcontinue

  • うるさい分コードがきれい(Perlと比べて)

  • 互換性に注意(Python2→3)

  • 座学よりも実習が大事

  • インデントは半角4文字で

  • 「丸いが頑固なタプルちゃん、角(かく)も柔軟リストくん」

  • シバンは「#! /usr/bin/env python」や「#! /usr/bin/python」

  • タプルは辞書のキーに使える


| hat | システム | 14:51 | comments(0) | - |
    123
45678910
11121314151617
18192021222324
25262728293031
<< October 2015 >>

このページの先頭へ