Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
WACODE
忙しいバイオインフォマティシャ
ンのための時短ワンライナー
@waco RIKEN
github.com/carushi
1
2
でかくて困っているデータ解析
3
O(NW^2) → O(NW^2/K+KW^2)
github.com/carushi/ParasoR
4
でかくて困っているデータ解析
開発に参加させていただいたソフトです、!
よろしくお願いします!!
• 今日はソフトで出したデータの処理の部分の話
• 特にシェルでのコマンドラインによる処理の高速化
• 要するにワンライナーをやります
• ふだんmac + zsh + coreutils/binutils
でかくて困っているデータ解析(再)
今回の流れ
Coding RNAを抽出
ファイルを1000個に分割
並列で実行
出力を確認
解析用のCSV, TXT作成
Rとかに投げる…
For busy people!!!
先輩に巨大ファイルの解析を頼まれた
1. やる
2. 帰ってやる
3. 帰ってカレー食べて
からやる
4. 明日やる
5. 明後日やる
6. …
どんなファイル?
>cat ookiifile.fa	
>NM_000001	
ACACACACACACAC…	
>NR_000001	
CACACACACACACA…	
>NM_000002	
AAAAAAAAAAAAAA…	
…	
二行ずつ...
• bashから使うコマンド
• 組み込みのコマンド群 export, set, if, while(man builtin)
• /bin/, /usr/binなんかに入っているコマンド群(ふっとばすと使えないやつ)
• ワイルドカードやpi...
まずNon-codingを抜きます
!
>grep -A 1 NM ookiifile.fa (後1行)	
!
>grep -B 1 NM ookiifile.fa (前1行) 	
!
>grep -A 1 NM ookiifile.fa | ...
1000ファイルに分割(実例)
>wc (行数ゲット)	
!
split.sh	
!
for i in {1..1000}	
do	
	 START=`(echo "($i - 1 ) * 行数/1000 + 1" | bc)`	
	 tail...
行数一定で分割(実例)
> split -a 5 -d -l 50 temp.fa tmp	
!
!
> ls tmp* | sed 'p; s/tmp0*(.*)(.)/tmp12/g' 	
| xargs -n 2 mv	
!
!
> ls...
スパコンあるある
なぜか数ジョブ落ちてる
計算結果
!
>ls	
!
out_1.txt out_2.txt out_4.txt … out_998.txt out_1000.tx
抜けがある
こういう確認もシェル芸で!
!
>find . -name out_*.txt | cut ...
出力を整形
>cat out_0.txt	
>NM_000001	
1 0.5 0.3	
2 0.4 0.1	
1 0.3 0.3	
# owattayo!	
>NM_000002	
0 0.8 0.4	
0 0.1 0.2	
3 0.5 0....
!
> cat log.csv | grep -v "@" | cut -d"," -f3,3 | tr
-d """ | mecab | sort | uniq -c | sort -r -n -k1
> all.txt	
おまけ
ワンライナ...
個人的オススメコマンド
time
script
tee
cowsay
awk
• シェルプログラミング実用テクニック
• どこまでいってもman
参考
20
Thank you for your listening!
Upcoming SlideShare
Loading in …5
×

Wacode 忙しいバイオインフォマティシャンのための時短ワンライナー

1,797 views

Published on

Wacode#1 で発表したスライドの改変バージョンです。
時短ということでRefSeqのfastaファイルを処理して計算、出力を解析用に整形するという流れを簡単にワンライナーでまとめてみました。

個人的に私がワンライナーを使うときは、
行間の依存性・変則性が少なく主目的がファイルをいじりたいときです。

Published in: Science
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Wacode 忙しいバイオインフォマティシャンのための時短ワンライナー

  1. 1. WACODE 忙しいバイオインフォマティシャ ンのための時短ワンライナー @waco RIKEN github.com/carushi 1
  2. 2. 2 でかくて困っているデータ解析
  3. 3. 3 O(NW^2) → O(NW^2/K+KW^2) github.com/carushi/ParasoR
  4. 4. 4 でかくて困っているデータ解析
  5. 5. 開発に参加させていただいたソフトです、! よろしくお願いします!!
  6. 6. • 今日はソフトで出したデータの処理の部分の話 • 特にシェルでのコマンドラインによる処理の高速化 • 要するにワンライナーをやります • ふだんmac + zsh + coreutils/binutils でかくて困っているデータ解析(再)
  7. 7. 今回の流れ Coding RNAを抽出 ファイルを1000個に分割 並列で実行 出力を確認 解析用のCSV, TXT作成 Rとかに投げる… For busy people!!!
  8. 8. 先輩に巨大ファイルの解析を頼まれた 1. やる 2. 帰ってやる 3. 帰ってカレー食べて からやる 4. 明日やる 5. 明後日やる 6. …
  9. 9. どんなファイル? >cat ookiifile.fa >NM_000001 ACACACACACACAC… >NR_000001 CACACACACACACA… >NM_000002 AAAAAAAAAAAAAA… … 二行ずつRefSeqのCoding とNon-coding RNAの配列 が含まれている この配列のうちcoding RNA だけをfastaを受け付けるソ フトに投げて計算させたい 計算資源がたくさんあるの で1000並列で走らせるこ とにしました
  10. 10. • bashから使うコマンド • 組み込みのコマンド群 export, set, if, while(man builtin) • /bin/, /usr/binなんかに入っているコマンド群(ふっとばすと使えないやつ) • ワイルドカードやpipe (|)などはコマンドではない(man bash参照) bashを動かす
  11. 11. まずNon-codingを抜きます ! >grep -A 1 NM ookiifile.fa (後1行) ! >grep -B 1 NM ookiifile.fa (前1行) ! >grep -A 1 NM ookiifile.fa | grep -v “--“ > temp.fa codingはNM, Non-codingはNRなので、NMを含む行とその次の行を出力します 複数行に分割されている場合は例えばawkで >NM のある行だけ改行を入れれば形式ok cat ookiifile.fa ¦ awk '{if (substr($0,1,3) == ">NM") {print "n"$0 }else{printf $0}}'
  12. 12. 1000ファイルに分割(実例) >wc (行数ゲット) ! split.sh ! for i in {1..1000} do START=`(echo "($i - 1 ) * 行数/1000 + 1" | bc)` tail -n +$START temp.fa | head -n 行数 > split_$i.fa --なんか計算-- done
  13. 13. 行数一定で分割(実例) > split -a 5 -d -l 50 temp.fa tmp ! ! > ls tmp* | sed 'p; s/tmp0*(.*)(.)/tmp12/g' | xargs -n 2 mv ! ! > ls tmp* | sed 'p; s/tmp0*(.*)(.)/tmp12/g' | xargs -n 2 mv; osascript -e 'say "end" using “Cellos"' ↑ジョブが終わったらendって喋らせる(オススメ)
  14. 14. スパコンあるある なぜか数ジョブ落ちてる
  15. 15. 計算結果 ! >ls ! out_1.txt out_2.txt out_4.txt … out_998.txt out_1000.tx 抜けがある こういう確認もシェル芸で! ! >find . -name out_*.txt | cut -d”_” -f2 | sed ’s/.txt//‘ | sort -n | diff <(cat -) <(seq 1 1000)
  16. 16. 出力を整形 >cat out_0.txt >NM_000001 1 0.5 0.3 2 0.4 0.1 1 0.3 0.3 # owattayo! >NM_000002 0 0.8 0.4 0 0.1 0.2 3 0.5 0.5 … ! > seq 0 10 | xargs -I{} echo “grep -h “^{} “ out_*.txt > result_{}.txt” | bash コメントを入れてい るとあとで後悔する ことも。。
  17. 17. ! > cat log.csv | grep -v "@" | cut -d"," -f3,3 | tr -d """ | mecab | sort | uniq -c | sort -r -n -k1 > all.txt おまけ ワンライナーには空白区切り・csvファイル! mecabを使って自分のTwitterログを解析してみる
  18. 18. 個人的オススメコマンド time script tee cowsay awk
  19. 19. • シェルプログラミング実用テクニック • どこまでいってもman 参考
  20. 20. 20 Thank you for your listening!

×