查看原文
其他

使用STAR-fusion来对转录组数据找融合基因

2018-01-04 jimmy 生信技能树

看了这么多找融合基因的工具,目前只有这个最方便及靠谱,不仅仅是因为它发表于2017年,更重要的是他可以直接基于STAR比对好的bam文件来做分析,而大多数其它软件,需要从fastq文件开始,都不方便。发表该工具的文章是:STAR-Fusion: Fast and Accurate Fusion Transcript Detection from RNA-Seq

STAR-Fusion详细说明:https://github.com/STAR-Fusion/STAR-Fusion/wiki 是这样介绍它自己的:

TAR-Fusion uses the STAR aligner to identify candidate fusion transcripts supported by Illumina reads. STAR-Fusion further processes the output generated by the STAR aligner to map junction reads and spanning reads to a reference annotation set.

生物信息学鉴定融合转录本的方法一般有两种:

  • ①将RNA-seq数据与Reference genome做alignment,鉴别可能发生重排的基因;

  • ②先直接将reads装配成更长的转录本序列,再鉴别与重排序列一致的融合转录本。

而我们选择的Broad Institute的 Brian J. Haas 和冷泉港实验室(CSHL)的 Alex Dobin 等人开发的工具STAR-Fusion,其工作原理分为三步:

  • ①先将reads通过STAR比对到参考基因组,筛选出split和discordant reads作为候选的融合基因序列;

  • ②将候选融合基因序列与参考基因序列进行比对,根据overlaps预测出融合基因;

  • ③对预测结果做过滤,去除假阳性结果。

安装还是选择conda,一步法安装:

  1. conda install -c bioconda star-fusion

因为需要使用star这个比对工具对fastq比对成bam,所以那部分请自行学习,这里我们已经得到了bam文件啦。

数据库文件的下载

可以先去 https://data.broadinstitute.org/Trinity/CTATRESOURCELIB/ 查看对应的参考基因组版本:

  1. mkdir -p ~/biosoft/starFusion/db

  2. cd  ~/biosoft/starFusion/db

  3. ## 下面的物种,自己选择咯

  4. ## 反正我一个都不想下载。

  5. nohup wget https://data.broadinstitute.org/Trinity/CTAT_RESOURCE_LIB/GRCh37_gencode_v19_CTAT_lib_July192017.source_data.tar.gz &

  6. nohup wget https://data.broadinstitute.org/Trinity/CTAT_RESOURCE_LIB/GRCh38_gencode_v26_CTAT_lib_July192017.source_data.tar.gz &

  7. nohup wget https://data.broadinstitute.org/Trinity/CTAT_RESOURCE_LIB/Mouse_M15_CTAT_lib_Oct252017.source_data.tar.gz &

  8. cd ~/biosoft/starFusion/

  9. git clone  https://github.com/FusionFilter/FusionFilter.git

  10. git clone https://github.com/FusionAnnotator/FusionAnnotator.git

考虑到下载速度,大家可以选择 small (~2G) unprocessed resource lib ,如下:

  1. 1.2G Jul 20 21:59 GRCh37_gencode_v19_CTAT_lib_July192017.source_data.tar.gz

  2. 1.3G Jul 20 22:04 GRCh38_gencode_v26_CTAT_lib_July192017.source_data.tar.gz

  3. 898M Oct 26 06:37 Mouse_M15_CTAT_lib_Oct252017.source_data.tar.gz

  4. ## 这里我解压开了 GRCh37_gencode_v19 这个压缩包如下:

  5. 245M Jul 20 01:16 blast_pairs.gene_syms.outfmt6.gz

  6. 33M Jul 20 01:23 fusion_lib.dat.gz

  7. 29M Jul 20 01:16 PFAM.domtblout.dat.gz

  8. 288M Jul 20 01:17 ref_annot.cdna.fa.masked

  9. 1.1G Jul 20 01:16 ref_annot.gtf

  10. 3.0G Jul 20 01:21 ref_genome.fa

接下来需要自己在服务器把这些文件构建索引即可,如果服务器的网络好,其实可以直接下载~26G的完整数据库。

  1. cd  ~/biosoft/starFusion/db

  2. tar zxvf GRCh37_gencode_v19_CTAT_lib_July192017.source_data.tar.gz

  3. cd GRCh37_gencode_v19_CTAT_lib_July192017/

  4. prep_genome_lib.pl --help

  5. nohup prep_genome_lib.pl  --genome_fa ref_genome.fa  --gtf ref_annot.gtf \

  6. --blast_pairs blast_pairs.outfmt6.gz \

  7. --fusion_annot_lib fusion_lib.dat.gz &

  8. c

  9. ~/biosoft/starFusion/FusionFilter/util/index_pfam_domain_info.pl  \

  10.        --pfam_domains PFAM.domtblout.dat.gz \

  11.        --genome_lib_dir ctat_genome_lib_build_dir

  12. ## 直接下载26G数据库更方便,毕竟我们的网速快!!!

  13. nohup wget https://data.broadinstitute.org/Trinity/CTAT_RESOURCE_LIB/GRCh37_gencode_v19_CTAT_lib_Nov012017.plug-n-play.tar.gz &

直接下载的数据库,解压开如下:

  1. ├── blast_pairs.idx

  2. ├── _blast_pairs.idx.ok

  3. ├── fusion_annot_lib.idx

  4. ├── _fusion_annot_lib.idx.ok

  5. ├── pfam_domains.dbm

  6. ├── _prot_info_db.ok

  7. ├── ref_annot.cds

  8. ├── ref_annot.gtf

  9. ├── ref_annot.gtf.gene_spans

  10. ├── _ref_annot.gtf.gene_spans.ok

  11. ├── ref_annot.pep

  12. ├── ref_annot.prot_info.dbm

  13. ├── ref_genome.fa

  14. ├── _ref_genome.fa.ok

  15. └── ref_genome.fa.star.idx

  16.    ├── build.ok

  17.    ├── chrLength.txt

  18.    ├── chrNameLength.txt

  19.    ├── chrName.txt

  20.    ├── chrStart.txt

  21.    ├── exonGeTrInfo.tab

  22.    ├── exonInfo.tab

  23.    ├── geneInfo.tab

  24.    ├── Genome

  25.    ├── genomeParameters.txt

  26.    ├── SA

  27.    ├── SAindex

  28.    ├── sjdbInfo.txt

  29.    ├── sjdbList.fromGTF.out.tab

  30.    ├── sjdbList.out.tab

  31.    └── transcriptInfo.tab

  32. 1 directory, 30 files

很明显,里面居然有一个STAR比对的index文件夹,而我本来都用了好几个月的STAR了,必然有自己的index文件夹呀,何必搞重复呢。

运行软件

先运行star进行比对:

  1. ## 测序数据如下:

  2. 6.7G Dec 12 15:55 clean.1.fq.gz

  3. 6.6G Dec 12 18:03 clean.2.fq.gz

  4. ## 比对代码如下,需要自行安装好软件已经参考基因组文件及索引

  5. $star --runThreadN  5 --genomeDir $hg19_star_index --readFilesCommand zcat --outSAMtype BAM  SortedByCoordinate \

  6. --readFilesIn  $fq1 $fq2 --outFileNamePrefix  ${sample}_star ## --alignEndsType EndToEnd

比对后的结果如下:

  1. 14G Dec 30 22:38 DH01_starAligned.sortedByCoord.out.bam

  2. 1.9K Dec 30 22:38 DH01_starLog.final.out

  3. 21K Dec 30 22:38 DH01_starLog.out

  4. 4.6K Dec 30 22:38 DH01_starLog.progress.out

  5. 8.1M Dec 30 22:38 DH01_starSJ.out.tab

比对耗时如下:

  1. Dec 30 21:43:03 ..... started STAR run

  2. Dec 30 21:43:03 ..... loading genome

  3. Dec 30 21:49:28 ..... started mapping

  4. Dec 30 22:27:57 ..... started sorting BAM

  5. Dec 30 22:38:20 ..... finished successfully

实际上上面的代码不行,这样的比对结果无法给 STAR-Fusion 使用直接使用,需要修改运行star的参数:

  1. $star --runThreadN  5 --genomeDir $hg19_star_index --readFilesCommand zcat --outSAMtype BAM SortedByCoordinate  \

  2. --twopassMode Basic --outReadsUnmapped None --chimSegmentMin 12 \

  3. --chimJunctionOverhangMin 12  --alignSJDBoverhangMin 10  --alignMatesGapMax 100000 \

  4. --alignIntronMax 100000 --chimSegmentReadGapMax parameter 3  --alignSJstitchMismatchNmax 5 -1 5 5 \

  5. --readFilesIn  $fq1 $fq2 --outFileNamePrefix  ${sample}_star ## --alignEndsType EndToEnd

  6. ## 这样会比较耗费内存哦

这样才会产生 'Chimeric.out.junction' 文件 供 STAR-Fusion 使用,耗时2个小时,终于得到输出文件了,如下:

  1. 6.7G Dec 12 15:55 clean.1.fq.gz

  2. 6.6G Dec 12 18:03 clean.2.fq.gz

  3. 12G Dec 31 11:31 DH01_starAligned.sortedByCoord.out.bam

  4. 126M Dec 31 11:25 DH01_starChimeric.out.junction

  5. 874M Dec 31 11:25 DH01_starChimeric.out.sam

  6. 1.9K Dec 31 11:31 DH01_starLog.final.out

  7. 24K Dec 31 11:31 DH01_starLog.out

  8. 12K Dec 31 11:31 DH01_starLog.progress.out

  9. 8.0M Dec 31 11:31 DH01_starSJ.out.tab

有了 Chimeric相关文件,就可以进行融合基因检测啦。

运行的代码也很简单,如下:

  1. STAR-Fusion --genome_lib_dir ~/biosoft/starFusion/db/GRCh37_gencode_v19_CTAT_lib_Nov012017/ctat_genome_lib_build_dir/   -J DH01_starChimeric.out.junction  --output_dir star_fusion_outdir

也没几分钟就出结果啦,毕竟这个 Chimeric相关文件非常小,真不知道为什么要下载这个26G的数据库,感觉有点浪费。解压开来其实里面的26G本来就是star这个比对软件的索引而已。

  1. star_fusion_outdir/

  2. ├── star-fusion.filter.intermediates_dir

  3.    ├── star-fusion.pre_blast_filter

  4.    ├── star-fusion.pre_blast_filter.abridged

  5.    ├── star-fusion.pre_blast_filter.filt_info

  6.    ├── star-fusion.pre_blast_filter.filt_info.abridged

  7.    ├── star-fusion.pre_blast_filter.post_blast_n_promisc_filter

  8.    └── star-fusion.pre_blast_filter.post_blast_n_promisc_filter.abridged

  9. ├── star-fusion.fusion_candidates.final

  10. ├── star-fusion.fusion_candidates.final.abridged

  11. ├── star-fusion.fusion_candidates.preliminary

  12. ├── star-fusion.predict.intermediates_dir

  13.    ├── star-fusion.junction_breakpts_to_genes.txt

  14.    ├── star-fusion.junction_read_names

  15.    └── star-fusion.spanning_frag_names

  16. ├── star-fusion.STAR-Fusion.filter.ok

  17. └── star-fusion.STAR-Fusion.predict.ok

一般来说找到的融合基因不会太多,而且结果的解读更重要。

找到了两个基因融合的现象,得搞清楚是如何融合的,融合有什么生物学影响,后果是什么。如何可视化这个融合情况。

后面的内容更精彩,但是这个教程无关,等我把这几天的融合基因教程发完了再统一发解读。

感兴趣的可以先自行看看:https://github.com/STAR-Fusion/STAR-Fusion/wiki

另外,值得一提的是,有docker版本的STAR-fusion,虽然我并没有用起来,但还是推荐一下。

docker来啦

值得注意的是该软件有

  1. # setting some targets

  2. VERSION=1.1.0

  3. CTAT_GENOME_LIB="GRCh37_gencode_v19_CTAT_lib_July192017"

  4. CTAT_GENOME_LIB_URL="https://data.broadinstitute.org/Trinity/CTAT_RESOURCE_LIB/${CTAT_GENOME_LIB}.plug-n-play.tar.gz"

  5. # pulling down the plug-n-play version of the CTAT genome lib:

  6. wget ${CTAT_GENOME_LIB_URL} -O ../${CTAT_GENOME_LIB}.tar.gz

  7. # unpacking it

  8. tar xvf ../${CTAT_GENOME_LIB}.tar.gz -C ../.

  9. # and now running STAR-Fusion & FusionInspector 'inspect' & Trinity de-novo reconstruction via Docker:

  10. docker run -v `pwd`/../:/data --rm trinityctat/ctatfusion:${VERSION} \

  11.    /usr/local/src/STAR-Fusion_v${VERSION}/STAR-Fusion \

  12.    --left_fq /data/testing/reads_1.fq.gz \

  13.    --right_fq /data/testing/reads_2.fq.gz \

  14.    --genome_lib_dir /data/${CTAT_GENOME_LIB}/ctat_genome_lib_build_dir \

  15.    -O /data/testing/test_docker_outdir/StarFusionOut \

  16.    --FusionInspector inspect \

  17.    --annotate \

  18.    --examine_coding_effect \

  19.    --denovo_reconstruct


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存