転写物のエントリを持つファイルがあり、次の行が関連するエキソンです。時には、これは時々「n」のエクソンがあり、1つのエクソンので、一つの後続線であってもよいので、「n」はそうのような行目以降:印刷行+次の2行が一致する場合はawkを使って次の行
1 Cufflinks transcript 63846957 63847511
1 Cufflinks exon 63846957 63847511
1 Cufflinks transcript 63851691 63852040
1 Cufflinks exon 63851691 63852040
2 Cufflinks transcript 8442356 8443964
2 Cufflinks exon 8442356 8442368
2 Cufflinks exon 8443768 8443964
2 Cufflinks exon 8444000 8444578
2 Cufflinks transcript 8258988 8259803
2 Cufflinks exon 8258988 8259271
2 Cufflinks exon 8259370 8259803
Iは、転写物のみ関連するエクソンラインをプリントアウトしたいと思います転写物の後に2つのエキソンがある場合。この例では、抽出された最後の3本の線のみが存在する(転写産物1本とエキソン2本)。
これはどのようにawkで行うことができますか?
感謝。コードを少し説明してもらえますか?私はまだ自分自身にbash/awkを教えようとしています。 – zoe
私は可能な限りコードを読みやすく自明に保つようにしましたが、あなたの経験レベルによって異なります。あなたが持っている具体的な質問はありますか? –
print_if_two_exons()が2回呼び出されると私は混乱していると思いますか? ENDの後に1回、$ 3 ==転写物の場合は1回ですか?私はnumber_of_exonsのデータがどのように埋め込まれるのかもよく分かりません。申し訳ありません、私はかなり初心者です。 – zoe