2013年 12月 20日
手元にあるマルチファスタファイルをシングルファスタのたくさんのファイルにします。 今回使うマルチファスタファイルは multi.fasta という名前のファイルです。 それをバラバラにして、遺伝子名.fasta という名前のファイルにします。 #使うものつくる $ more multi.fasta | grep ">" | tr -d ">" | awk '{print "more multi.fasta | sed -e %/>/s/$/@/g% | tr -d \"\\n\" | tr \"\>\" \"\\n\" | grep "$1" | awk -F \"@\" %{print \"\>\"$1\"\\n\"$2}% > "$1".fasta"}' | tr "%" "'" > m2s.sh #動くようにする $ chmod 777 m2s.sh #動かす $ sh m2s.sh 使ったもの:more, grep, tr, awk, sed, chmod, sh ##################################################### #multi.fasta の中を見てみる $ more multi.fasta >gene_a CTAGCTAGTCTAGCTATCTATCGTATCGTAGCTGATGCTAGTCGTAGCTGATCGTAGCTGATGCTGTAGCGATGCTGATCGTAGCTGATCGTAGCTGATCGTAGCTGATCGTAGCTGATCGTAGCTGATCGTAGCTAGTCGATGTGTGTGTGGGGGCGCGCCGGCGCGGCGC >gene_b TGACTGATGCTATACGACGATGCTAGCTACGTAGCTAGCTAGCTAGCTGATGAATATATTTATTTCTGCTAGCTATAGCTGATGCTAGTCGTAGTGGGGGCTAGCTAGTCGTAGCTAGTCGTAGTCGTAGCTGATGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA >gene_c CGATGCTATTTTTTTTTTTTTTTTTTTCCCCCCCCCCCCCAAAAAAAAGCTGTAGCTAGCATCTATCTACTATCGTATCACTGACGGCGGCGCGGCGCGCGGGCCGGAGAGCGGACGTCATACGTCAGTACTGTCAGTCAGTACTGCAGTACGTCGTGTCGTAGTCATGACTGTACGTGTAGCACGTCGTACGTACGTCGAGCGAGCTGATTCGATCTGATCTGATTCGTAGCGGCGTGCGCGATCGTAGCTATCGATGCTGATCGAGCTGAACTGGTACTCTGGTAGCTAGCTAGCTTGACGTCATGTACGTCATGTCAGTCAGTACTGTCAGTACGTACTGACTGACGGTCAGTACG #gene_a のみを切り出してシングルファスタファイルにしたかったらこう $ more multi.fasta | sed -e '/>/s/$/@/g' | tr -d "\n" | tr ">" "\n" | grep gene_a | awk -F "@" '{print ">"$1"\n"$2}' > gene_a.fasta #gene_a.fasta をみてみる $ more gene_a.fasta >gene_a CTAGCTAGTCTAGCTATCTATCGTATCGTAGCTGATGCTAGTCGTAGCTGATCGTAGCTGATGCTGTAGCGATGCTGATCGTAGCTGATCGTAGCTGATCGTAGCTGATCGTAGCTGATCGTAGCTGATCGTAGCTAGTCGATGTGTGTGTGGGGGCGCGCCGGCGCGGCGC #これを全部の遺伝子について書こうとするとこう $ more multi.fasta | grep ">" | tr -d ">" | awk '{print "more multi.fasta | sed -e %/>/s/$/@/g% | tr -d \"\\n\" | tr \"\>\" \"\\n\" | grep "$1" | awk -F \"@\" %{print \"\>\"$1\"\\n\"$2}% > "$1".fasta"}' | tr "%" "'" | more more multi.fasta | sed -e '/>/s/$/@/g' | tr -d "\n" | tr ">" "\n" | grep gene_a | awk -F "@" '{print ">"$1"\n"$2}' > gene_a.fasta more multi.fasta | sed -e '/>/s/$/@/g' | tr -d "\n" | tr ">" "\n" | grep gene_b | awk -F "@" '{print ">"$1"\n"$2}' > gene_b.fasta more multi.fasta | sed -e '/>/s/$/@/g' | tr -d "\n" | tr ">" "\n" | grep gene_c | awk -F "@" '{print ">"$1"\n"$2}' > gene_c.fasta #それをm2s.sh という名前で保存します $ more multi.fasta | grep ">" | tr -d ">" | awk '{print "more multi.fasta | sed -e %/>/s/$/@/g% | tr -d \"\\n\" | tr \"\>\" \"\\n\" | grep "$1" | awk -F \"@\" %{print \"\>\"$1\"\\n\"$2}% > "$1".fasta"}' | tr "%" "'" > m2s.sh #m2s.sh を実行可能ファイルにします $ chmod 777 m2s.sh #ファイルが揃いました $ ls gene_a.fastam2s.shmulti.fasta #さっきつくったgene_a.fasta いらない $ rm gene_a.fasta #すっきり $ ls m2s.shmulti.fasta #m2s.sh の実行 $ sh m2s.sh #実行結果。遺伝子毎にバラバラになってる $ ls gene_a.fastagene_b.fastagene_c.fastam2s.shmulti.fasta #中身を確認 $ head gene_* ==> gene_a.fasta <== >gene_a CTAGCTAGTCTAGCTATCTATCGTATCGTAGCTGATGCTAGTCGTAGCTGATCGTAGCTGATGCTGTAGCGATGCTGATCGTAGCTGATCGTAGCTGATCGTAGCTGATCGTAGCTGATCGTAGCTGATCGTAGCTAGTCGATGTGTGTGTGGGGGCGCGCCGGCGCGGCGC ==> gene_b.fasta <== >gene_b TGACTGATGCTATACGACGATGCTAGCTACGTAGCTAGCTAGCTAGCTGATGAATATATTTATTTCTGCTAGCTATAGCTGATGCTAGTCGTAGTGGGGGCTAGCTAGTCGTAGCTAGTCGTAGTCGTAGCTGATGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA ==> gene_c.fasta <== >gene_c CGATGCTATTTTTTTTTTTTTTTTTTTCCCCCCCCCCCCCAAAAAAAAGCTGTAGCTAGCATCTATCTACTATCGTATCACTGACGGCGGCGCGGCGCGCGGGCCGGAGAGCGGACGTCATACGTCAGTACTGTCAGTCAGTACTGCAGTACGTCGTGTCGTAGTCATGACTGTACGTGTAGCACGTCGTACGTACGTCGAGCGAGCTGATTCGATCTGATCTGATTCGTAGCGGCGTGCGCGATCGTAGCTATCGATGCTGATCGAGCTGAACTGGTACTCTGGTAGCTAGCTAGCTTGACGTCATGTACGTCATGTCAGTCAGTACTGTCAGTACGTACTGACTGACGGTCAGTACG 実際のファスタファイルにはスペースが入っていたりすることが多いので、事前に殺すか-F "\t" で回避。 元のマルチファスタと同じところにシングルファスタがもりもり入るとうざいから事前に mkdir single として箱つくって > "$1".fasta" のところを > single/"$1".fasta" にするとすっきり 人気ブログランキングに参加しています。 応援よろしくお願いします。
by koretoki
| 2013-12-20 14:24
|
アバウト
以前の記事
2021年 02月 2018年 02月 2017年 12月 2016年 12月 2016年 06月 2014年 09月 2014年 05月 2014年 01月 2013年 12月 2013年 06月 2013年 02月 2012年 11月 2011年 07月 2011年 05月 2010年 11月 2010年 05月 2010年 04月 2009年 12月 2009年 09月 2009年 08月 2009年 07月 2009年 06月 2009年 04月 2009年 03月 2009年 02月 2009年 01月 2008年 12月 2008年 11月 カテゴリ
最新のトラックバック
タグ
その他のジャンル
ブログパーツ
ファン
記事ランキング
ブログジャンル
画像一覧
|
ファン申請 |
||