使用 STAR-fusion 分析 Fusion-Gene

软件文档:https://github.com/STAR-Fusion/STAR-Fusion/wiki

##软件安装

  1. STAR,https://github.com/alexdobin/STAR
  2. 运行依赖 perl 模块
    1. DB_File
    2. URI::Escape
    3. Set::IntervalTree
    4. Carp::Assert
    5. JSON::XS
    6. PerlIO::gzip
    7. common::sense
    8. Types::Serialiser
    9. Canary::Stability

##数据库准备

下载一个较小的未处理的参考文件,自己运行 index 命令。要是网速够快也可以直接在 index 好的数据库文件,~27G

1
2
3
4
5
6
7
wget -c https://data.broadinstitute.org/Trinity/CTAT_RESOURCE_LIB/GRCh37_v19_CTAT_lib_Feb092018.source_data.tar.gz
$STAR_FUSION_HOME/FusionFilter/prep_genome_lib.pl \
--genome_fa ref_genome.fa \
--gtf ref_annot.gtf \
--fusion_annot_lib CTAT_HumanFusionLib.v0.1.0.dat.gz \
--annot_filter_rule AnnotFilterRule.pm \
--pfam_db PFAM.domtblout.dat.gz

##运行STAR-Fusion

STAR-Fusion 对 STAR 输出的嵌合比对分析发现可能存在的基因融合事件

从 fastq 文件开始

1
2
3
4
5
6
$STAR_FUSION_HOME/STAR-Fusion \
--genome_lib_dir /path/to/your/CTAT_resource_lib \
--left_fq reads_1.fq \
--right_fq reads_2.fq \
--output_dir star_fusion_outdir \
--no_remove_dups

从 STAR 产生 Bam 文件开始

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
STAR --genomeDir ${star_index_dir} \
--readFilesIn ${left_fq_filename} ${right_fq_filename} \
--twopassMode Basic \
--outReadsUnmapped None \
--chimSegmentMin 12 \
--chimJunctionOverhangMin 12 \
--alignSJDBoverhangMin 10 \
--alignMatesGapMax 100000 \
--alignIntronMax 100000 \
--chimSegmentReadGapMax 3 \
--alignSJstitchMismatchNmax 5 -1 5 5 \
--runThreadN ${THREAD_COUNT} \
--outSAMstrandField intronMotif

STAR-Fusion --genome_lib_dir /path/to/your/CTAT_resource_lib \
-J Chimeric.out.junction \
--output_dir star_fusion_outdir

输出文件

STAR 速度还是那么让人惊喜,6m reads不到半小时。 融合结果star-fusion.fusion_predictions.abridged.tsv

FusionName,
JunctionReadCount, split align到融合点的序列片段数
SpanningFragCount, 双端reads跨越融合点的序列片段数
SpliceType, 断点是否在注释文件存在
LeftGene,
LeftBreakpoint,
RightGene,
RightBreakpoint,
LargeAnchorSupport,
FFPM, fusion fragments per million total reads
LeftBreakDinuc,
LeftBreakEntropy,
RightBreakDinuc,
RightBreakEntropy,
annots,

结果比较

真是一个悲伤的故事,根据官网给的两种运行方式,结果差别这么大。查看 STAR-Fusion 脚本,使用的 mapping 参数差异有点大啊,哪一个比较合理呢(一个新坑)???

---------本文结束,感谢您的阅读---------