Más contenido relacionado
はじめてのLinux
- 2. L i n u x と は
UNIX互換のサーバー向けOS(オペレーティングシステム)である
つまり、多人数で同時に利用し、
常時稼働していることを想定したコンピューター
基本的には、70~80年代のコンピューターはUNIXしか存在せず、
個人でも利用できるようにビルゲイツがUNIXを参考にしてMS-DOSを開発
PCが誕生
UNIXは権利問題などで、一般人の手の届かない存在となったため、
LinusがUNIXを参考にして、PCで動く独自OSを開発
Copyright © Amelieff Co. Ltd. All Rights Reserved.
2
- 3. な ぜ L i n u x を 使 う 必 要 が あ る の か
その1:解析ツールの問題
バイオインフォマティクスで使用する解析ツールの多くは、Linux用に作成されている
大多数の解析ツールを使用することができる
新しいツールが出た時、すぐに自分で試す事ができる
その2:大量データの扱い
次世代シーケンシンスデータの様に、大きなデータは、Excel等で見る事が難しい
自分の思い通りにデータの可視化や加工ができる
その3:繰り返し操作の簡易化
「Primerを数百個作りたい」「数万個の配列がどの遺伝子に当たるのか確認したい」
という時、同じ作業を何度も繰り返す事は、難しい
繰り返し作業を自動化する事ができる
Copyright © Amelieff Co. Ltd. All Rights Reserved.
3
- 4. コ マ ン ド と は
特定の文字列を入力してコンピュータに与える命令のこと
Linuxでの作業は基本的にコマンドを用いて行われる
ここにコマンドを入力します
「$」、「#」は実際には入力しません
ユーザー名 ホスト名 現在いる場所
Copyright © Amelieff Co. Ltd. All Rights Reserved.
4
- 5. コ マ ン ド 操 作 1
現在の作業場所を確認するときは、pwdを使います
$ pwd Enter ※実際に入力するコマンドを黄色い四角で示します
実行結果を灰色の四角で示します
/home/demo/デスクトップ
Copyright © Amelieff Co. Ltd. All Rights Reserved.
5
- 6. コ マ ン ド 操 作 1
現在いる場所にあるモノを確認するときは、ls -lを使います
$ ls -l Enter ※ :スペースを入れます
デスクトップ上にテキストファイルを確認することができます
Copyright © Amelieff Co. Ltd. All Rights Reserved.
6
- 7. コ マ ン ド 操 作 1
ファイルを開くときは、lessを使います
$ less ファイル名
このようにテキストが開きます
(例) fruit.txtを開きます
テキストを閉じるときは、
q を入力します
ファイルの行数を数えるときは、wc -lを使います
$ wc -l ファイル名
行数が表示されます
Copyright © Amelieff Co. Ltd. All Rights Reserved.
7
- 8. コ マ ン ド 操 作 1
ファイルの行を並び換えるときは、sortを使います
$ sort ファイル名
$ sort fruit.txt
I like banana.
I like apple.
I like banana. fruit.txtに対して I like banana.
I like apple. sortを実行します I like banana.
I like cherry.
I like cherry.
fruit.txt
Copyright © Amelieff Co. Ltd. All Rights Reserved.
8
- 9. コ マ ン ド 操 作 1
重複する行をユニークにするときは、uniqを使います
$ uniq ファイル名
I like banana. $ uniq fruit.txt
I like banana. I like banana.
fruit.txtに対して
I like apple. I like apple.
uniqを実行します I like cherry.
I like cherry.
fruit.txt
行の出現回数を数えるときは、-cを使います
$ uniq –c fruit.txt
$ uniq –c ファイル名 2 I like banana.
1 I like apple
1 I like cherry
Copyright © Amelieff Co. Ltd. All Rights Reserved.
9
- 10. コ マ ン ド 操 作 1
コマンドの出力を別のコマンドに振り分けるときは、 | (パイプ)を使います
コマンドとコマンドの間に入力します
左側のコマンドの出力結果を、右のコマンドに入力することができます
(例)fruit.txtに対してuniqを実行して、得られた行数を数えます
I like banana. $ uniq fruit.txt | wc -l
I like banana. 3
I like apple.
I like cherry.
fruit.txt
Copyright © Amelieff Co. Ltd. All Rights Reserved.
10
- 11. コ マ ン ド 操 作 1
コマンドの出力をファイルに振り分けるときは、>(リダイレクト)を使います
左側のコマンドの処理結果を、右のファイルに書き出すことができます
(例)fruit.txtに対してuniqを実行して、得られた行数をuniq_fruit.txtへ書き出します
I like banana. $ uniq fruit.txt > uniq_fruit.txt
I like banana.
I like apple.
I like cherry.
fruit.txt
Copyright © Amelieff Co. Ltd. All Rights Reserved.
11
- 12. 問 題 次 の 実 行 結 果 を 得 る に は ど う し た ら 良 い で し ょ う
apple $ ???
apple
banana apple
banana
cherry
cherry
banana
Question.txt
【選択肢】
(1) $ uniq sort Question.txt (2) $ sort Question.txt | uniq
(3) $ uniq Question.txt | sort (4) $ sort uniq Question.txt
Copyright © Amelieff Co. Ltd. All Rights Reserved. 12
- 13. コ ン パ ウ ン ド ヘ テ ロ と は
同一遺伝子上の2つの異なる場所でヘテロ接合体の変異を有する場合を指します
(例) ① 遺伝子A ②
父
父 母
母
子
子
①父と子の共通変異
②母と子の共通変異
Copyright © Amelieff Co. Ltd. All Rights Reserved.
13
- 14. コ ン パ ウ ン ド ヘ テ ロ を 探 す
ファイルを確認します
$ less benkyoukai.txt
#から始まるヘッダー行が確認できます
カラム名 説明
1 Func ゲノム領域の機能
2 Gene 遺伝子
3 dbSNP135 既知の変異リスト
4 Chr 染色体番号
5 Pos 位置情報
6 REF リファレンスゲノムの塩基
7 ALT 全サンプルのALTの塩基
8 PAT_geno 父サンプルの遺伝子型(homo/hetero/.)
9 MAT_geno 母サンプルの遺伝子型(homo/hetero/.)
10 CHI_geno 子サンプルの遺伝子型(homo/hetero/.)
wc -lコマンドで行数を確認します
$ wc –l benkyokai.txt
942 benkyokai.txt
Copyright © Amelieff Co. Ltd. All Rights Reserved.
14
- 15. コ ン パ ウ ン ド ヘ テ ロ を 探 す
ファイルの行頭を確認するときは、headコマンドを使います
$ head ファイル名
$ head benkyokai.txt
ファイルの末尾を確認するときは、tailコマンドを使います
$ tail ファイル名
$ tail benkyokai.txt
Copyright © Amelieff Co. Ltd. All Rights Reserved.
15
- 16. コ ン パ ウ ン ド ヘ テ ロ を 探 す
次の条件で絞り込みを行います
① 遺伝子A ②
1 exonicのみに絞り込む
父と子はhetero、母は変異なし
2
母と子はhetero、父は変異なし 父
1 2
母
子
①
②
Copyright © Amelieff Co. Ltd. All Rights Reserved.
16
- 17. コ マ ン ド 操 作 2
行単位でデータを加工するときは、 awkを使います
データを1行ずつ読み込み、各列に対して様々な処理を行うことができるコマンドです
$ awk ’条件文{実行文} ’ ファイル名
(例) 全ての行の2列目を出力する
$ awk ’{print $2} ’ ファイル名
【awkの変数】
$数字: 0の場合は、処理を行っている行全体を指す。
1以上の場合、指定したファイルの列番号を指す
例 $0 → 処理を行っている行全体 $0 $1 $2 ・・
$1 → 1列目、$2→2列目、$3→・・・ 行数:NR :
NR → 現在読み込んでいる行数
NF → 現在読み込んでいる行の列数
列数:NF
Copyright © Amelieff Co. Ltd. All Rights Reserved.
17
- 18. コ マ ン ド 操 作 2
Funcに含まれる要素の確認を行います
$ awk ’!/^#/ {print $1}’ benkyokai.txt |sort|uniq -c
40 UTR3
16 UTR5
2 downstream
530 exonic
1 exonic;splicing
27 intergenic
277 intronic
36 ncRNA_exonic
8 ncRNA_intronic
2 splicing
2 upstream
【コマンドの説明】
! : 直後の条件文を否定する
^ : 行頭を表す
Copyright © Amelieff Co. Ltd. All Rights Reserved.
18
- 19. コ ン パ ウ ン ド ヘ テ ロ を 探 す
genoカラムに含まれる要素の確認を行います
$ awk ’!/^#/ {print $8}’ benkyokai.txt |sort|uniq -c
301 .
356 hetero
284 homo
exonicに絞りこみます
$ awk ’/^#/ || $1==“exonic”{print $0}’ benkyokai.txt > exonic.txt
【コマンドの説明】
|| : 条件文を「or」で結合する
$1==”パターン” : 一列目が””内のパターンにマッチする場合
Copyright © Amelieff Co. Ltd. All Rights Reserved.
19
- 20. コ ン パ ウ ン ド ヘ テ ロ を 探 す
父と子がheteroで、母に変異がない行を絞りこみます
$ awk ’/^#/ || $8==“hetero” && $9==“.” && $10==“hetero” {print $0}’ exonic.txt > pat_chi.txt
【コマンドの説明】
&& : 条件文を「and」で結合する
母と子がheteroで、父に変異がない行を絞りこみます
$ awk ’!/^#/ && $8==“.” && $9==“hetero” && $10==“hetero” {print $0}’ exonic.txt > mat_chi.txt
2つのファイルを結合します。ファイルの結合にはcatコマンドを使います。
$ cat pat_chi.txt mat_chi.txt > combind.txt
Copyright © Amelieff Co. Ltd. All Rights Reserved.
20
- 21. コ ン パ ウ ン ド ヘ テ ロ を 探 す
結合したファイルの2列目(遺伝子)をユニークにして、登場回数を数えます
2回以上登場した(2つ以上の変異を持つ)遺伝子をファイルに出力します
$ awk ’!/^#/ {print $2}’ combind.txt |sort|uniq –c |awk ‘$1>=2 {print}’ > gene.txt
3 CEP104
2 CHD5
6 EPHA8
2 GPR153
5 LUZP1
3 MEGF6
4 MYOM3
2 NADK
3 NPHP4
3 PIK3CD
2 PTCHD2
3 SYTL1
Copyright © Amelieff Co. Ltd. All Rights Reserved.
21
- 22. コ ン パ ウ ン ド ヘ テ ロ を 探 す
リストアップした遺伝子上の変異を出力します
パターンにマッチする行を抜き出すために、grepを使います
$ grep ’パターン ’ ファイル名
$ grep ’NADK’ combind.txt
exonic NADK rs7407 chr1 Copyright © Amelieff Co. Ltd. AllC
1684472 Rights Reserved. T hetero . hetero
exonic NADK rs4751 chr1 1686040 G T . hetero hetero
下記の条件を満たしていることを確認します
コンパウンドヘテロを見つけることが出来ました
Copyright © Amelieff Co. Ltd. All Rights Reserved.
22
- 23. ま と め
Linuxを使う利点
• エクセルで開けないデータサイズの大きなファイルも扱うことができる
• 繰り返し操作が簡単に行える
• 汎用性の高いファイル操作が行える
• 最先端のツールを扱った研究が行える
ファイルの加工に用いたLinuxコマンド
less : ファイルの中身を確認します
head : ファイルの行頭を出力します
tail : ファイルの末尾を出力します
wc –l : 行数を数えます
grep : 指定した検索パターンにマッチする行を出力します
sort : 行を並べ替えます
uniq : 重複行を確認します
awk : 行単位でデータを加工します
| : 左のコマンドの出力を右のコマンドに振り分けます
> : 左のコマンドの出力を右のファイルへ書き出します
Copyright © Amelieff Co. Ltd. All Rights Reserved.
23