Skip to content

script for detecting fusion genes from several transcript alignment tools

License

Notifications You must be signed in to change notification settings

chrovis-genomon/fusionfusion

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

fusionfusion

License: GPL v3 Build Status build

Introduction

[attention] fusionfusion no longer supports MapSplice2 and TopHat2.

fusionfusion is a software for detecting gene fusion using the putative chimeric transcript generated by several well-known transcriptome alignment tools (STAR only). Many of those predicted chimeric transcripts are "false positives". However, by performing effective filtering, sensitive and accurate gene fusion detection is possible. After the alignment steps, the software can generate final gene fusion candidates and integrating our software into the pipeline will come very easily to you!

Dependency

Python

Python (>= 2.7), pysam (>= 0.8.1)and annot_utils packages.

Software

blat

Install

pip install fusionfusion

Alternatively, you can install from the source code.

git clone  https://github.com/friend1ws/fusionfusion.git
cd fusionfusion
python setup.py build install

This package has been tested on Python 2.7, 3.5, 3.6.

Preparation

First, you need to perform transcriptome sequencing alignemnt by STAR.

For STAR, our software uses the chimeric sam file

{output_prefix}.Chimeric.out.sam

Optionally, you can specify the following files to enable further analysis (Note that the aligned bam must be sorted by coordinate):

{output_prefix}.SJ.out.tab
{output_prefix}.Aligned.sortedByCoord.out.bam

Commands

fusionfusion [-h] [--version]
                  --star star.Chimeric.out.sam
                  --out output_dir
                  --reference_genome reference.fa [--grc]
                  [--genome_id {hg19,hg38,mm10}]
                  [--pooled_control_file POOLED_CONTROL_FILE] [--no_blat]
                  [--debug] [--abnormal_insert_size ABNORMAL_INSERT_SIZE]
                  [--min_major_clipping_size MIN_MAJOR_CLIPPING_SIZE]
                  [--min_read_pair_num MIN_READ_PAIR_NUM]
                  [--min_valid_read_pair_ratio MIN_VALID_READ_PAIR_RATIO]
                  [--min_cover_size MIN_COVER_SIZE]
                  [--anchor_size_thres ANCHOR_SIZE_THRES]
                  [--min_chimeric_size MIN_CHIMERIC_SIZE]
                  [--min_allowed_contig_match_diff MIN_ALLOWED_CONTIG_MATCH_DIFF]
                  [--check_contig_size_other_breakpoint CHECK_CONTIG_SIZE_OTHER_BREAKPOINT]
                  [--filter_same_gene]
                  [--star_sj_tab star.SJ.out.tab]
                  [--star_aligned_bam star.Aligned.sortedByCoord.out.bam]

The arguments of --out and --reference_genome are mandatory. Set the genome model by --genome_id (default is hg19). Currently, we support hg19, hg38 and mm10. Also, if you are using GRC-based files (no "chr" in chromosome names), set --grc. For other arguments, please type fusionfusion -h. Although we believe default settings are fine for 100bp-length paired read data., tuning min_cover_size may help improve the accuracy. Also, using pooled control files generated by the merge_control command of chimera_utils will greatly reduce false positives.

Results

For the result generated by single tool (star.fusion.result.txt, ms2.fusion.result.txt and th2.fusion.result.txt):

  1. chromosome for the 1st breakpoint
  2. coordinate for the 1st breakpoint
  3. direction of the 1st breakpoint
  4. chromosome for the 2nd breakpoint
  5. coordinate for the 2nd breakpoint
  6. direction of the 2nd breakpoint
  7. inserted nucleotides within the breakpoints
  8. #read_pairs supporting the fusion
  9. gene overlapping the 1st breakpoint
  10. exon-intron junction overlapping the 1st breakpoint
  11. gene overlapping the 2nd breakpoint
  12. exon-intron junction overlapping the 2nd breakpoint
  13. contig match score for the 1st breakpoint (unless --no_blat is specified)
  14. contig size for the 1st breakpoint (unless --no_blat is specified)
  15. contig match score for the 2nd breakpoint (unless --no_blat is specified)
  16. contig size for the 2nd breakpoint (unless --no_blat is specified)

For the merged result (fusionfusion.result.txt):

  1. chromosome for the 1st breakpoint
  2. coordinate for the 1st breakpoint
  3. direction of the 1st breakpoint
  4. chromosome for the 2nd breakpoint
  5. coordinate for the 2nd breakpoint
  6. direction of the 2nd breakpoint
  7. inserted nucleotides within the breakpoints
  8. gene overlapping the 1st breakpoint
  9. exon-intron junction overlapping the 1st breakpoint
  10. gene overlapping the 2nd breakpoint
  11. exon-intron junction overlapping the 2nd breakpoint
  12. #read_pairs supporting the variant (by STAR if --star is specified)

About

script for detecting fusion genes from several transcript alignment tools

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 99.2%
  • Dockerfile 0.8%