Genomon-Project / fusionfusion

script for detecting fusion genes from several transcript alignment tools
GNU General Public License v3.0
9 stars 8 forks source link

近距離の融合遺伝子を検出するためのフィルタの実装(修正版) #14

Closed athos closed 3 years ago

athos commented 3 years ago

このプルリクエストは、 #12 の近距離の融合遺伝子を検出するフィルタの修正版を実装しています。

12 からの主な変更点は以下の2つです:

それ以外の点について以前(#12)の実装から変更はありません。特に、ShortRangeChimeraFilterのコードは以前のものとまったく同一です。

上記変更の1点目については、既存の—starオプションとは別に新たなオプションを追加することで、—star_sj_tabおよび—star_aligned_bamの両オプションを指定しない限り従来同様Chimeric.out.samのみで解析できるようにするための変更です。

2点目について、仕様と具体的な処理の詳細を以下で説明します。

以下の図は今回の変更を含めたfusionfusionで使われるファイル形式の処理フローを示しています。図中の矢印(たとえば、A → B)はファイルBがファイルAから生成されることを表わしています。赤線で囲まれた四角が今回追加したファイルを表わしています。

今回追加したfusion_fusion.result.traced.txtは、既存の結果ファイルであるfusion_fusion.result.txtとほぼ同じ形式で、一番右のカラムとして各行の変異がChimeric.out.samSJ.out.tabのどちらに由来するものかを示す値(これを各変異の「ソース(source)」と呼んでいます)が追加されています。

ソースとしてありうる値とその意味は以下のとおりです:

ソース値 意味
Chimeric Chimeric.out.samに由来する変異
SJ SJ.out.tabに由来する変異
SJ,Chimeric SJ.out.tabおよびChimeric.out.samのどちらにも由来する変異
--- 不明(STAR以外のアライナーと組み合わせて使った場合にそのアライナーに由来して報告された変異)

この変更では、fusion_fusion.result.traced.txtを生成するために必要な中間ファイルとしてstar.chimeric.trace.txtというもう1つのファイルを新たに追加しています。star.chimeric.trace.txtの形式は以下のようになっています:

<chr1> <pos1> <strand1> <chr2> <pos2> <strand2> <inserted seq> <source>

1〜7カラム目(<chr1><inserted seq>)まではfusion_fusion.result.txt等の1〜7カラム目までと同じもので、fusion_fusion.result.txtの各行の変異を一意に特定するための情報です。<source>カラムは各行の変異のソース値が出力されます。このstar.chimeric.trace.txtfusion_fusion.result.txtの内容を組み合わせることにより、fusion_fusion.result.traced.txtを生成します。

なお、各変異のソース情報を追跡するために、star.chimeric.tmp[12].txtからstar.chimeric.clustered.filt2.txtまでのリードIDを変更しています。star.chimeric.tmp1.txtに含まれる各行のリードIDには@Chimericというサフィックスが付与されstar.chimeric.tmp2.txtに含まれる各行のリードIDには@SJというサフィックスが付与されます。これらのリードIDに対する変更は後段の処理に影響を与えることはありません。

athos commented 3 years ago

最新のPython3およびそれと互換性のあるバージョンのpysamを使ってこのプルリクエストの変更を含んだfusionfusionを実行した場合、pysamの最近の更新でエラーハンドリングが強化されたことにより、リファレンス配列取得時にエラーが発生することがありました。

追加しました b38d88b のコミットでこれに対応し、最新のpysamでもエラーなく実行できるよう修正致しました。

athos commented 3 years ago

ご確認とマージのご対応ありがとうございました。