Closed athos closed 3 years ago
最新のPython3およびそれと互換性のあるバージョンのpysamを使ってこのプルリクエストの変更を含んだfusionfusionを実行した場合、pysamの最近の更新でエラーハンドリングが強化されたことにより、リファレンス配列取得時にエラーが発生することがありました。
追加しました b38d88b のコミットでこれに対応し、最新のpysamでもエラーなく実行できるよう修正致しました。
ご確認とマージのご対応ありがとうございました。
このプルリクエストは、 #12 の近距離の融合遺伝子を検出するフィルタの修正版を実装しています。
12 からの主な変更点は以下の2つです:
—star_sj_tab
および—star_aligned_bam
という2つのコマンドラインオプションを新たに追加し、それぞれSTARの解析結果に含まれるSJ.out.tab
およびAligned.sortedByCoord.out.bam
のパスを指定するようにしましたfusion_fusion.result.traced.txt
というファイルを追加し、fusionfusionがレポートする各変異について、Chimeric.out.sam
とSJ.out.tab
のどちらに由来するものかを示す情報を付加した出力をするようにしましたそれ以外の点について以前(#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.sam
とSJ.out.tab
のどちらに由来するものかを示す値(これを各変異の「ソース(source)」と呼んでいます)が追加されています。ソースとしてありうる値とその意味は以下のとおりです:
Chimeric
Chimeric.out.sam
に由来する変異SJ
SJ.out.tab
に由来する変異SJ,Chimeric
SJ.out.tab
およびChimeric.out.sam
のどちらにも由来する変異---
この変更では、
fusion_fusion.result.traced.txt
を生成するために必要な中間ファイルとしてstar.chimeric.trace.txt
というもう1つのファイルを新たに追加しています。star.chimeric.trace.txt
の形式は以下のようになっています:1〜7カラム目(
<chr1>
〜<inserted seq>
)まではfusion_fusion.result.txt
等の1〜7カラム目までと同じもので、fusion_fusion.result.txt
の各行の変異を一意に特定するための情報です。<source>
カラムは各行の変異のソース値が出力されます。このstar.chimeric.trace.txt
とfusion_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に対する変更は後段の処理に影響を与えることはありません。