SlideShare ist ein Scribd-Unternehmen logo
1 von 33
2017.10.18
Bio Shell Trick
(研究者がみんな
「魔法」を使えるようにしたい...)
(でもその都度教える余裕はない...)
バイオインフォでありがちな処理を
あらかじめ書いておいて
困っている人にここ見てね、と言える
サイトをGithubで作成中です
https://bio-shell.github.io/dailybiocommands/
• 共同編集大歓迎です
• Qiitaで「バイオシェル芸」で記事書いてく
だされば勝手にリンクします
今日のみなさまのコマンドも掲載予定
1問あたり10~20分くらいで進めます
司会から問題発表→各自 #バイオシェル芸 #問題 でTweet
→わいわいする
GNUコマンド以外に、PerlやRuby、R等のワンライナーもOK
バイオの解析の役に立ちそうならなんでもあり
Rules
git clone https://github.com/bio-shell/study1.git
or
docker run -it --rm emihat/bioshellenv
Are you ready ?
Test data
- ゴリラをチキンにする
- コイは大変
- Homo以外は帰ってくれないか
- 拡張子ゲシュタルト崩壊
- リンダCommaっちゃう
Today’s menu
- 歩く屍
- BEDで煙草は吸わないで
- 13日の金曜日
- SAMってほんとユニーク
- 5秒後に消えます
問題の投稿ありがとうございました!
テストデータの関係で採用を見送った問題があります(ごめんなさい)
ゴリラを
チキンにする
Presented by
emi_2sheds
Gorilla gorillaという文字列をGallus gallusに変換してください
丸ごと置換する 以外で
× echo "Gorilla gorilla" | sed -e 's/Gorilla gorilla/Gallus gallus/’
達人は sedを使わない で
ゴリラをチキンにする
#バイオシェル芸
#ゴリラチキン
コイは大変
Presented by
匿名希望
鯉(Cyprinus carpio)の染色体はchr1-50, MT, Unです
koiというディレクトリを作り、その下に以下52個の
ディレクトリを作ってください
chr1, chr2, …, chr50, chrMT, chrUn
コイは大変
#バイオシェル芸
#コイ
Homo以外は
帰ってくれないか
Presented by
匿名希望
merge-test-c.vcfからジェノタイプが「ALTのHomo(1/1)」
かつInsertionの行だけ抜き出してください
https://github.com/bio-shell/study1/blob/master/data/merge-
test-c.vcf
Homo以外は帰ってくれないか
#バイオシェル芸
#Homo
次ページでもう少し説明
merge-test-c.vcf
- vcftools 0.1.13ソースコードのexamplesに入っているVCFファイル
- VCFフォーマットの説明は https://samtools.github.io/hts-specs/VCFv4.2.pdf
REF(4列目)の塩基数<ALT(5列目)塩基数
かつ
#で始まる
行は無視
最終列に1/1が含まれる行だけ
#バイオシェル芸
#Homo
拡張子
ゲシュタルト崩壊
Presented by
emi_2sheds
GTH.tar.gz を解凍し、GTHフォルダ内のファイル名を
次のルールで変更してください
- 拡張子が.fa、.mfa、.fas、fasta →拡張子.faに統一
- 拡張子が.fq、.fastq →拡張子.fqに統一
- ファイル名が重複した場合は上書き
https://github.com/bio-shell/study1/blob/master/data/GTH.tar.gz
拡張子ゲシュタルト崩壊
#バイオシェル芸
#拡張子
リンダCommaっちゃう
Presented by
emi_2sheds
linda.txtはlinda属の虫について学名や命名者名を記載した
コンマ区切りテキストです
Binomial name(9列目)だけを抜き出してください
https://github.com/bio-shell/study1/blob/master/data/linda.txt
リンダCommaっちゃう
次ページでもう少し説明
#バイオシェル芸
#Comma
linda.txt
学名などが書かれたコンマ区切りテキスト
Family(6列目)とGenus(8列目)の間に
変な列が入ってしまっています
Binomial name(後ろから2列目)
だけ抜き出す
#で始まる行は無視
#バイオシェル芸
#Comma
Presented by
匿名希望
歩
く
屍
exp_survivor.txt, exp_walker.txtは生存者とゾンビの遺伝子
発現データです(※仮想データ)
2ファイルをマージして、遺伝子名、生存者の発現量、ゾンビ
の発現量の3列を出力してください
値がないところは-で埋めてください
歩く屍
#バイオシェル芸
#歩く屍
次ページでもう少し説明
exp_survivor.txt, exp_walker.txt
遺伝子名と発現量の2列からなるタブ区切りテキスト
GeneA 1.1
GeneB
29.1
GeneC 0.3
GeneE 4.2
GeneF 3.9
exp_survivor.txt
GeneA 0.1
GeneB 0.1
GeneD
500.6
GeneE 4.2
GeneG
34.7
exp_walker.txt
GeneA 1.1 0.1
GeneB 29.1 0.1
GeneC 0.3 -
GeneD - 500.6
GeneE 4.2 4.2
GeneF 3.9 -
GeneG - 34.7
+ →
#バイオシェル芸
#歩く屍
BEDで煙草は
吸わないで
Presented by
emi_2sheds
tommo_EGFR.txtのうちAlt頻度(9列目)が0.9以上の行を
BED3フォーマットに変換してください
https://github.com/bio-
shell/study1/blob/master/data/tommo_EGFR.txt
BEDで煙草は吸わないで
次ページでもう少し説明
#バイオシェル芸
#BED
BED format
BEDフォーマットの説明は
https://genome.ucsc.edu/FAQ/FAQformat.html#format1
次の3列からなるフォーマット
(BED3の場合)
1. 染色体番号
2. スタート位置(0スタート)
3. エンド位置
#バイオシェル芸
#BED
tommo_EGFR.txt
tommo_EGFR.txt は東北メディカルメガバンクv1の頻度5%以上のSNV
(https://humandbs.biosciencedbc.jp/files/hum0015/hum0015.v1.freq.v
1.zip)からEGFR遺伝子の変異行のみを抜き出したファイルです
使用したデータの一部はバイオシェル芸勉強会主催者によって取得され、科学技術振興機構(JST)の「バイオサイエンスデータベースセンター
(NBDC)」ウェブサイト(http://biosciencedbc.jp/)を通じて提供されたものです
Chromosome(1列目)、Position(2列目)-1、Position(2列目)を出力
1行目は
無視
9列目が0.9以上の行だけ
#バイオシェル芸
#BED
13日の
金曜日
Presented by
emi_2sheds
fridayThe13th.jsonからaccession, symbol, definitionを抜き
出しタブ区切りで出力してください
https://github.com/bio-
shell/study1/blob/master/data/fridayThe13th.json
13日の金曜日
次ページでもう少し説明
#バイオシェル芸
#JSON
JSON format
JSONフォーマットの説明は http://www.json.org/
「JSONの例」by IBM
https://www.ibm.com/support/knowledg
ecenter/ja/SS9H2Y_7.1.0/com.ibm.dp.do
c/json_jsonexamples.html
#バイオシェル芸
#JSON
fridayThe13th.json
GGRNAを“thirteen” and “fri”で検索した結果をJSONで出力したファイルです
http://ggrna.dbcls.jp/hs/thirteen+fri.json
{"error":"none","results":[{"aa_position":[19],"accession":"NM_001303620","definition":"Homo sapiens deoxyribonuclease
1 like 1 (DNASE1L1), transcript variant 5,
mRNA.","division":"RefSeq","geneid":"1774","gi":"","length":"2649","nt_position":[],"snippet":"NP_001290549.1¥"
/db_xref=¥"CCDS:CCDS14747.1¥" /db_xref=¥"GeneID:1774¥" /db_xref=¥"HGNC:HGNC:2957¥" /db_xref=¥"MIM:300081¥"
/translation=¥"MHYPTALLFLILANGAQAFRICAFNAQRLTLAKVAREQVMDTLVRILARCDIMVLQEVVDSSGSAIPLLLRELNRFDGSGPYSTLSSPQLGRSTYMETYVYFYR
SHKTQVLSSYVYNDEDDVFAREPFVAQFSLPSNVLPSLVLVPLHTTPKAVEKELNALYDVFLEVSQH...R, Ciccodicola A, Chen CN, Zuo L, Heiner C,
Burough F, Repetto M, Schlessinger D and D'Urso M. TITLE Long-range sequence analysis in Xq28: thirteen known and six
candidate genes in 219.4 kb of high GC DNA between the RCP/GCP and G6PD loci JOURNAL Hum. Mol. Genet. 5 (5), 659-668
(1996) PUBMED...","source":"Homo sapiens (human)","symbol":"DNASE1L1","synonym":"DNAS1L1; DNASEX; DNL1L; G4.8;
XIB","version":"NM_001303620.1"},{"aa_position":[19],"accession":"NM_001009934","definition":"Homo sapiens
deoxyribonuclease 1 like 1 (DNASE1L1), transcript variant 4,
mRNA.","division":"RefSeq","geneid":"1774","gi":"","length":"2683","nt_position":[],"snippet":"NP_001009934.1¥"
/db_xref=¥"CCDS:CCDS14747.1¥" /db_xref=¥"GeneID:1774¥" /db_xref=¥"HGNC:HGNC:2957¥" /db_xref=¥"MIM:300081¥"
/translation=¥"MHYPTALLFLILANGAQAFRICAFNAQRLTLAKVAREQVMDTLVRILARCDIMVLQEVVDSSGSAIPLLLRELNRFDGSGPYSTLSSPQLGRSTYMETYVYFYR
SHKTQVLSSYVYNDEDDVFAREPFVAQFSLPSNVLPSLVLVPLHTTPKAVEKELNALYDVFLEVSQH...R, Ciccodicola A, Chen CN, Zuo L, Heiner C,
Burough F, Repetto M, Schlessinger D and D'Urso M. TITLE Long-range sequence analysis in Xq28: thirteen known and six
candidate genes in 219.4 kb of high GC DNA between the RCP/GCP and G6PD loci JOURNAL Hum. Mol. Genet. 5 (5), 659-668
(1996) PUBMED...","source":"Homo sapiens (human)","symbol":"DNASE1L1","synonym":"DNAS1L1; DNASEX; DNL1L; G4.8
~後略
SAMって
ほんとユニーク
Presented by
caripso
test_input_1_a.sam からunmappedとマルチヒットを取り除い
たSAMファイルを作ってください
https://github.com/bio-
shell/study1/blob/master/data/test_input_1_a.sam
Samtoolsを使ってもOK
SAMってほんとユニーク
次ページでもう少し説明
#バイオシェル芸
#SAM
test_input_1_a.sam
samtools 1.5ソースコードのtest/dat/に入っているSAMファイル
SAMフォーマットの説明は https://samtools.github.io/hts-specs/SAMv1.pdf
QNAME(1列目)の
ファイル全体での登場数が
ジャスト2回のQNAMEの行を出力
FLAG(2列目)が0の行は無視
@で始まる行は無視
簡易ルールです
やれる方は厳密にやってください
#バイオシェル芸
#SAM
5秒後に
消えます
Presented by
emi_2sheds
「This message will self-destruct in five seconds.」と
画面に出力した後、5秒後に画面からそのメッセージを
消してください
5秒後に消えます
#バイオシェル芸
#5秒後

Weitere ähnliche Inhalte

Was ist angesagt?

一人でもはじめるGitでバージョン管理
一人でもはじめるGitでバージョン管理一人でもはじめるGitでバージョン管理
一人でもはじめるGitでバージョン管理Takafumi Yoshida
 
会社に Github導入した話
会社に Github導入した話会社に Github導入した話
会社に Github導入した話Yutaka Kinjyo
 
Git運用ダメ出し会 - ネクストスケープ 2014/05/27 パワーランチ資料
Git運用ダメ出し会 - ネクストスケープ 2014/05/27 パワーランチ資料Git運用ダメ出し会 - ネクストスケープ 2014/05/27 パワーランチ資料
Git運用ダメ出し会 - ネクストスケープ 2014/05/27 パワーランチ資料mihararyosuke
 
Windows環境でのgitまとめ(2016.1)
Windows環境でのgitまとめ(2016.1)Windows環境でのgitまとめ(2016.1)
Windows環境でのgitまとめ(2016.1)Tadahiro Ishisaka
 
【社内勉強会】弊社でGit!実案件での運用
【社内勉強会】弊社でGit!実案件での運用【社内勉強会】弊社でGit!実案件での運用
【社内勉強会】弊社でGit!実案件での運用Reimi Kuramochi Chiba
 
Git for Begineers GitHub ハンズオン
Git for Begineers GitHub ハンズオンGit for Begineers GitHub ハンズオン
Git for Begineers GitHub ハンズオンEmma Haruka Iwao
 
ノンプログラマでも今日から使える「Git」でバージョン管理
ノンプログラマでも今日から使える「Git」でバージョン管理ノンプログラマでも今日から使える「Git」でバージョン管理
ノンプログラマでも今日から使える「Git」でバージョン管理H2O Space. Co., Ltd.
 
やさしいGitの内部構造 - yapcasia2013
やさしいGitの内部構造 - yapcasia2013やさしいGitの内部構造 - yapcasia2013
やさしいGitの内部構造 - yapcasia2013DQNEO
 
ライブラリを作った話
ライブラリを作った話ライブラリを作った話
ライブラリを作った話Takumi KASHIMA
 
15分でわかるGit入門
15分でわかるGit入門15分でわかるGit入門
15分でわかるGit入門to_ueda
 
今日から始めるGithub
今日から始めるGithub今日から始めるGithub
今日から始めるGithublion-man
 
社内Git勉強会向け資料
社内Git勉強会向け資料社内Git勉強会向け資料
社内Git勉強会向け資料Hiroki Saiki
 
Windows環境でのgitまとめ(2016.8)
Windows環境でのgitまとめ(2016.8)Windows環境でのgitまとめ(2016.8)
Windows環境でのgitまとめ(2016.8)Tadahiro Ishisaka
 
私が複数人開発で感じている Git・GitHubのうまみ
私が複数人開発で感じている Git・GitHubのうまみ私が複数人開発で感じている Git・GitHubのうまみ
私が複数人開発で感じている Git・GitHubのうまみShihomi Katayama
 
コミュニティのある風景
コミュニティのある風景コミュニティのある風景
コミュニティのある風景Ryunosuke SATO
 

Was ist angesagt? (20)

Git勉強会
Git勉強会Git勉強会
Git勉強会
 
Git紹介
Git紹介Git紹介
Git紹介
 
一人でもはじめるGitでバージョン管理
一人でもはじめるGitでバージョン管理一人でもはじめるGitでバージョン管理
一人でもはじめるGitでバージョン管理
 
会社に Github導入した話
会社に Github導入した話会社に Github導入した話
会社に Github導入した話
 
Git運用ダメ出し会 - ネクストスケープ 2014/05/27 パワーランチ資料
Git運用ダメ出し会 - ネクストスケープ 2014/05/27 パワーランチ資料Git運用ダメ出し会 - ネクストスケープ 2014/05/27 パワーランチ資料
Git運用ダメ出し会 - ネクストスケープ 2014/05/27 パワーランチ資料
 
Windows環境でのgitまとめ(2016.1)
Windows環境でのgitまとめ(2016.1)Windows環境でのgitまとめ(2016.1)
Windows環境でのgitまとめ(2016.1)
 
【社内勉強会】弊社でGit!実案件での運用
【社内勉強会】弊社でGit!実案件での運用【社内勉強会】弊社でGit!実案件での運用
【社内勉強会】弊社でGit!実案件での運用
 
Git for Begineers GitHub ハンズオン
Git for Begineers GitHub ハンズオンGit for Begineers GitHub ハンズオン
Git for Begineers GitHub ハンズオン
 
Etherpad-lite導入
Etherpad-lite導入Etherpad-lite導入
Etherpad-lite導入
 
ノンプログラマでも今日から使える「Git」でバージョン管理
ノンプログラマでも今日から使える「Git」でバージョン管理ノンプログラマでも今日から使える「Git」でバージョン管理
ノンプログラマでも今日から使える「Git」でバージョン管理
 
やさしいGitの内部構造 - yapcasia2013
やさしいGitの内部構造 - yapcasia2013やさしいGitの内部構造 - yapcasia2013
やさしいGitの内部構造 - yapcasia2013
 
ライブラリを作った話
ライブラリを作った話ライブラリを作った話
ライブラリを作った話
 
15分でわかるGit入門
15分でわかるGit入門15分でわかるGit入門
15分でわかるGit入門
 
今日から始めるGithub
今日から始めるGithub今日から始めるGithub
今日から始めるGithub
 
社内Git勉強会向け資料
社内Git勉強会向け資料社内Git勉強会向け資料
社内Git勉強会向け資料
 
Windows環境でのgitまとめ(2016.8)
Windows環境でのgitまとめ(2016.8)Windows環境でのgitまとめ(2016.8)
Windows環境でのgitまとめ(2016.8)
 
SnapDishの事例
SnapDishの事例SnapDishの事例
SnapDishの事例
 
私が複数人開発で感じている Git・GitHubのうまみ
私が複数人開発で感じている Git・GitHubのうまみ私が複数人開発で感じている Git・GitHubのうまみ
私が複数人開発で感じている Git・GitHubのうまみ
 
コミュニティのある風景
コミュニティのある風景コミュニティのある風景
コミュニティのある風景
 
はじめてのgithub
はじめてのgithubはじめてのgithub
はじめてのgithub
 

Ähnlich wie バイオシェル芸 問題のみ

Git pyfes201207-presen
Git pyfes201207-presenGit pyfes201207-presen
Git pyfes201207-presenKouhei Maeda
 
Git & GitHub & kintone でウルトラハッピー!
Git & GitHub & kintone でウルトラハッピー!Git & GitHub & kintone でウルトラハッピー!
Git & GitHub & kintone でウルトラハッピー!ymmt
 
ノンプログラマのGit入門
ノンプログラマのGit入門ノンプログラマのGit入門
ノンプログラマのGit入門Muyuu Fujita
 
"Continuous Publication" with Python: Another Approach
"Continuous Publication" with Python: Another Approach"Continuous Publication" with Python: Another Approach
"Continuous Publication" with Python: Another ApproachDaisuke Miyakawa
 
れれれのGitおぢさん - git rerere #w8lt
れれれのGitおぢさん - git rerere #w8ltれれれのGitおぢさん - git rerere #w8lt
れれれのGitおぢさん - git rerere #w8ltJunpei Matsuda
 
How to use SOAP interface of debbugs #tokyodebian
How to use SOAP interface of debbugs #tokyodebianHow to use SOAP interface of debbugs #tokyodebian
How to use SOAP interface of debbugs #tokyodebiankenhys
 
Python for Data Analysis第1回勉強会(+git入門)
Python for Data Analysis第1回勉強会(+git入門)Python for Data Analysis第1回勉強会(+git入門)
Python for Data Analysis第1回勉強会(+git入門)Makoto Kawano
 
Goodby Hatena, hello Sphinx
Goodby Hatena, hello SphinxGoodby Hatena, hello Sphinx
Goodby Hatena, hello SphinxKouhei Maeda
 
社内勉強会用Gitのスライド#02
社内勉強会用Gitのスライド#02社内勉強会用Gitのスライド#02
社内勉強会用Gitのスライド#02nobuyasu tomura
 
myCobotがある生活
myCobotがある生活myCobotがある生活
myCobotがある生活Ryo Kabutan
 
GitBucketで社内OSSしませんか?
GitBucketで社内OSSしませんか?GitBucketで社内OSSしませんか?
GitBucketで社内OSSしませんか?Kiyotaka Kunihira
 
git flowを使った開発フロー
git flowを使った開発フローgit flowを使った開発フロー
git flowを使った開発フローshigetoshi komatsu
 

Ähnlich wie バイオシェル芸 問題のみ (17)

Yapc2012資料
Yapc2012資料Yapc2012資料
Yapc2012資料
 
Git pyfes201207-presen
Git pyfes201207-presenGit pyfes201207-presen
Git pyfes201207-presen
 
Git & GitHub & kintone でウルトラハッピー!
Git & GitHub & kintone でウルトラハッピー!Git & GitHub & kintone でウルトラハッピー!
Git & GitHub & kintone でウルトラハッピー!
 
ノンプログラマのGit入門
ノンプログラマのGit入門ノンプログラマのGit入門
ノンプログラマのGit入門
 
"Continuous Publication" with Python: Another Approach
"Continuous Publication" with Python: Another Approach"Continuous Publication" with Python: Another Approach
"Continuous Publication" with Python: Another Approach
 
れれれのGitおぢさん - git rerere #w8lt
れれれのGitおぢさん - git rerere #w8ltれれれのGitおぢさん - git rerere #w8lt
れれれのGitおぢさん - git rerere #w8lt
 
How to use SOAP interface of debbugs #tokyodebian
How to use SOAP interface of debbugs #tokyodebianHow to use SOAP interface of debbugs #tokyodebian
How to use SOAP interface of debbugs #tokyodebian
 
Git tutorial
Git tutorialGit tutorial
Git tutorial
 
GitHub Handson
GitHub HandsonGitHub Handson
GitHub Handson
 
Python for Data Analysis第1回勉強会(+git入門)
Python for Data Analysis第1回勉強会(+git入門)Python for Data Analysis第1回勉強会(+git入門)
Python for Data Analysis第1回勉強会(+git入門)
 
ゼミGit
ゼミGitゼミGit
ゼミGit
 
Goodby Hatena, hello Sphinx
Goodby Hatena, hello SphinxGoodby Hatena, hello Sphinx
Goodby Hatena, hello Sphinx
 
"FabLife"を読む
"FabLife"を読む"FabLife"を読む
"FabLife"を読む
 
社内勉強会用Gitのスライド#02
社内勉強会用Gitのスライド#02社内勉強会用Gitのスライド#02
社内勉強会用Gitのスライド#02
 
myCobotがある生活
myCobotがある生活myCobotがある生活
myCobotがある生活
 
GitBucketで社内OSSしませんか?
GitBucketで社内OSSしませんか?GitBucketで社内OSSしませんか?
GitBucketで社内OSSしませんか?
 
git flowを使った開発フロー
git flowを使った開発フローgit flowを使った開発フロー
git flowを使った開発フロー
 

バイオシェル芸 問題のみ