changeset 0:a24ca22b906e draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/arriba commit b12158e6cc9b1b2bd6e7522dfc183e9055575823
author iuc
date Wed, 27 Jul 2022 11:24:44 +0000
parents
children 4f1efcc055d5
files arriba.xml macros.xml static/images/draw-fusions-example.png test-data/Aligned.out.bam test-data/Aligned.out.bam.bai test-data/Aligned.out.sam test-data/cytobands.tsv test-data/fusions.tsv test-data/genome.fasta.gz test-data/genome.gtf.gz test-data/protein_domains.gff3 tool-data/all_fasta.loc.sample tool_data_table_conf.xml.sample
diffstat 13 files changed, 1272 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/arriba.xml	Wed Jul 27 11:24:44 2022 +0000
@@ -0,0 +1,757 @@
+<tool id="arriba" name="Arriba" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="20.01" license="MIT">
+    <description>detect gene fusions from STAR aligned RNA-Seq data</description>
+    <macros>
+        <import>macros.xml</import>
+        <xml name="fusion_actions">
+            <actions>
+                <action name="comment_lines" type="metadata" default="1" />
+                <action name="column_names" type="metadata" default="gene1,gene2,strand1(gene/fusion),strand2(gene/fusion),breakpoint1,breakpoint2,site1,site2,type,split_reads1,split_reads2,discordant_mates,coverage1,coverage2,confidence,reading_frame,tags,retained_protein_domains,closest_genomic_breakpoint1,closest_genomic_breakpoint2,gene_id1,gene_id2,transcript_id1,transcript_id2,direction1,direction2,filters,fusion_transcript,peptide_sequence,read_identifiers" />
+            </actions>
+        </xml>
+        <token name="@VIRAL_CONTIG@">([AN]C_([*]|\d+))</token>
+        <token name="@GENOME_CONTIG@">((chr)?(\d|\d\d|X|Y|M(t)?))</token>
+    </macros>
+    <expand macro="requirements" />
+    <expand macro="version_command" />
+    <command detect_errors="exit_code"><![CDATA[
+@GENOME_SOURCE@
+@GTF_SOURCE@
+#set $filter_list = []
+#if $options.filters
+    #set $filter_list = $options.filters.split(',')
+#end if
+#if $blacklist
+    #if $blacklist.is_of_type('tabular.gz')
+        #set $blacklist_file = 'blacklist.tsv.gz'
+        ln -sf '$blacklist'  $blacklist_file &&
+    #else
+        #set $blacklist_file = $blacklist
+    #end if
+#else
+    #if 'blacklist' not in $filter_list
+        #silent $filter_list.append('blacklist')
+    #end if
+#end if
+#set $filters = ','.join($filter_list) 
+#if $known_fusions
+    #if $known_fusions.is_of_type('tabular.gz')
+        #set $known_fusions_file = 'known_fusions.tsv.gz'
+        ln -sf '$known_fusions'  $known_fusions_file &&
+    #else
+        #set $known_fusions_file = $known_fusions
+    #end if
+#end if
+#if $tags
+    #if $tags.is_of_type('tabular.gz')
+        #set $tags_file = 'tags.tsv.gz'
+        ln -sf '$tags'  $tags_file &&
+    #else
+        #set $tags_file = $tags
+    #end if
+#end if
+     arriba 
+    -x '$input'
+    #if $chimeric
+        -c '$chimeric'
+    #end if
+    -a '$genome_assembly'
+    -g '$genome_annotation'
+    #if $blacklist
+        -b '$blacklist_file'
+    #end if
+    #if $filters
+        -f '$filters'
+    #end if
+    #if $protein_domains
+        -p '$protein_domains'
+    #end if
+    #if $known_fusions
+        -k '$known_fusions_file'
+    #end if
+    #if $tags
+        -t '$tags_file'
+    #end if
+    #if str($wgs.use_wgs) == "yes"
+        -d '$wgs.wgs'
+        #if str($wgs.max_genomic_breakpoint_distance)
+            -D $wgs.max_genomic_breakpoint_distance
+        #end if
+    #end if
+    -o fusions.tsv
+#if $output_fusions_discarded
+    -O fusions.discarded.tsv 
+#end if
+## Arriba options
+    #if $options.gtf_features
+        -G '$options.gtf_features'
+    #end if
+    #if $options.strandedness
+        -s $options.strandedness
+    #end if
+    #if $options.genome_contigs
+        -i '$options.genome_contigs'
+    #end if
+    #if $options.viral_contigs
+        -v '$options.viral_contigs'
+    #end if
+    #if str($options.max_evalue)
+        -E $options.max_evalue
+    #end if
+    #if str($options.min_supporting_reads)
+        -S $options.min_supporting_reads
+    #end if
+    #if str($options.max_mismappers)
+        -m $options.max_mismappers
+    #end if
+    #if str($options.max_homolog_identity)
+        -L $options.max_homolog_identity
+    #end if
+    #if str($options.homopolymer_length)
+        -H $options.homopolymer_length
+    #end if
+    #if str($options.read_through_distance)
+        -R $options.read_through_distance
+    #end if
+    #if str($options.min_anchor_length)
+        -A $options.min_anchor_length
+    #end if
+    #if str($options.many_spliced_events)
+        -M $options.many_spliced_events
+    #end if
+    #if str($options.max_kmer_content)
+        -K $options.max_kmer_content
+    #end if
+    #if str($options.max_mismatch_pvalue)
+        -V $options.max_mismatch_pvalue
+    #end if
+    #if str($options.fragment_length)
+        -F $options.fragment_length
+    #end if
+    #if str($options.max_reads)
+        -U $options.max_reads
+    #end if
+    #if $options.quantile
+        -Q $options.quantile
+    #end if
+    #if str($options.exonic_fraction)
+        -e $options.exonic_fraction
+    #end if
+    #if str($options.top_n)
+        -T $options.top_n
+    #end if
+    #if str($options.covered_fraction)
+        -C $options.covered_fraction
+    #end if
+    #if str($options.max_itd_length)
+        -l $options.max_itd_length
+    #end if
+    #if str($options.min_itd_allele_fraction)
+        -z $options.min_itd_allele_fraction
+    #end if
+    #if str($options.min_itd_supporting_reads)
+        -Z $options.min_itd_supporting_reads
+    #end if
+    $options.duplicate_marking
+    $options.fill_discarded_columns
+    $options.fill_the_gaps
+#if str($visualization.do_viz) == "yes"
+    && samtools sort -@ \${GALAXY_SLOTS:-1} -m 4G -T tmp -O bam '$input' > Aligned.sortedByCoord.out.bam
+    && samtools index Aligned.sortedByCoord.out.bam
+#end if
+#if $output_fusions_vcf
+    && convert_fusions_to_vcf.sh '$genome_assembly' fusions.tsv fusions.vcf
+#end if
+#if $output_fusion_bams
+    && mkdir fusion_bams 
+    && extract_fusion-supporting_alignments.sh fusions.tsv Aligned.sortedByCoord.out.bam 'fusion_bams/fusion'
+#end if
+#if str($visualization.do_viz) == "yes"
+    #set $fusions = 'fusions.tsv'
+    && @DRAW_FUSIONS@
+#end if
+    ]]></command>
+    <inputs>
+        <param name="input" argument="-x" type="data" format="sam,bam,cram" label="STAR Aligned.out.sam">
+            <help><![CDATA[ recommended STAR options: --chimSegmentMin 10 --chimOutType WithinBAM ]]></help>
+        </param>
+        <param name="chimeric" argument="-c" type="data" format="sam,bam,cram" optional="true" label="STAR Chimeric.out.sam">
+            <help><![CDATA[ only required, if STAR was run with the parameter '--chimOutType SeparateSAMold' ]]></help>
+        </param>
+        <expand macro="genome_source" />
+        <expand macro="gtf_source" />
+        <param name="blacklist" argument="-b" type="data" format="tabular,tabular.gz" optional="true" label="File containing blacklisted ranges."/>
+        <param name="protein_domains" argument="-p" type="data" format="gff3" optional="true" label="File containing protein domains"/>
+        <param name="known_fusions" argument="-k" type="data" format="tabular,tabular.gz"  optional="true" label="File containing known fusions">
+            <help><![CDATA[ file two TAB separated columns: five-prime region three-prime region ]]></help>
+        </param>
+        <param name="tags" argument="-t" type="data" format="tabular" optional="true" label="File containing tag names for a fusion."
+               help="This can be the known fusions if that input has a third column with a name"/>
+        <conditional name="wgs">
+            <param name="use_wgs" type="select" label="Use whole-genome sequencing data">
+                <option value="no">no</option>
+                <option value="yes">Yes</option>
+            </param>
+            <when value="yes">
+                <param name="wgs" argument="-d" type="data" format="tabular" label="whole-genome sequencing structural variant data"
+                       help="These coordinates serve to increase sensitivity towards weakly expressed fusions and to eliminate fusions with low evidence."/>
+                <param name="max_genomic_breakpoint_distance" argument="-D" type="integer" value="100000" min="0" label="Max genomic breakpoint distance"
+                       help="determines how far a genomic breakpoint may be away from a transcriptomic breakpoint to consider it as a related event."/>
+            </when>
+            <when value="no"/>
+        </conditional>
+        <section name="options" expanded="false" title="Arriba Options">
+            <param name="gtf_features" argument="-G" type="text" value="" optional="true" label="Names of features in the GTF annotation file">
+                <help>Commma or SPACE separated list, default: gene_name=gene_name|gene_id gene_id=gene_id transcript_id=transcript_id feature_exon=exon feature_CDS=CDS</help> 
+                <validator type="regex" message="">^(gene_name|gene_id|transcript_id|feature_exon|feature_CDS)=\w+(|\w+)?([ ,](gene_name|gene_id|transcript_id|feature_exon|feature_CDS)=\w+(|\w+)?)*$</validator>
+            </param>
+            <param name="strandedness" argument="-s" type="select" optional="true" label="Whether a strand-specific protocol was used for library preparation">
+                <help>When unstranded data is processed, the strand can sometimes be inferred from splice-patterns. But in unclear situations, stranded data helps resolve ambiguities.</help>
+                <option value="auto">auto</option>
+                <option value="yes">yes</option>
+                <option value="no">no</option>
+                <option value="reverse">reverse</option>
+            </param>
+            <param name="genome_contigs" argument="-i" type="text" value="" optional="true" label="Comma/space-separated list of interesting contigs">
+                <help>Comma-/space-separated list of interesting contigs. 
+                      Fusions between genes on other contigs are ignored. Contigs can be specified with or without the prefix "chr". 
+                      Asterisks (*) are treated as wild-cards.
+                      Default: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 X Y AC_* NC_*
+                </help>
+                <validator type="regex" message="not a valid contig name">^((@GENOME_CONTIG@|@VIRAL_CONTIG@)([,\s]\s*(*@GENOME_CONTIG@|@VIRAL_CONTIG@))*)*</validator>
+            </param>
+            <param name="viral_contigs" argument="-v" type="text" value="" optional="true" label="Comma/space-separated list of viral contigs">
+                <help>Comma-/space-separated list of viral contigs for reporting of viral integration sites. 
+                      Asterisks (*) are treated as wild-cards.
+                      Default: AC_* NC_*
+                </help>
+                <validator type="regex" message="not a valid contig name">^(@VIRAL_CONTIG@([,\s]\s*@VIRAL_CONTIG@)*)*$</validator>
+            </param>
+            <param name="filters" argument="-f" type="select" optional="true" multiple="true" label="Disable filters">
+                <help>By default all filters are enabled.</help>
+                <option value="top_expressed_viral_contigs">top_expressed_viral_contigs</option>
+                <option value="viral_contigs">viral_contigs</option>
+                <option value="low_coverage_viral_contigs">low_coverage_viral_contigs</option>
+                <option value="uninteresting_contigs">uninteresting_contigs</option>
+                <option value="no_genomic_support">no_genomic_support</option>
+                <option value="short_anchor">short_anchor</option>
+                <option value="select_best">select_best</option>
+                <option value="many_spliced">many_spliced</option>
+                <option value="long_gap">long_gap</option>
+                <option value="merge_adjacent">merge_adjacent</option>
+                <option value="hairpin">hairpin</option>
+                <option value="small_insert_size">small_insert_size</option>
+                <option value="same_gene">same_gene</option>
+                <option value="genomic_support">genomic_support</option>
+                <option value="read_through">read_through</option>
+                <option value="no_coverage">no_coverage</option>
+                <option value="mismatches">mismatches</option>
+                <option value="homopolymer">homopolymer</option>
+                <option value="low_entropy">low_entropy</option>
+                <option value="multimappers">multimappers</option>
+                <option value="inconsistently_clipped">inconsistently_clipped</option>
+                <option value="duplicates">duplicates</option>
+                <option value="homologs">homologs</option>
+                <option value="blacklist">blacklist</option>
+                <option value="mismappers">mismappers</option>
+                <option value="spliced">spliced</option>
+                <option value="relative_support">relative_support</option>
+                <option value="min_support">min_support</option>
+                <option value="known_fusions">known_fusions</option>
+                <option value="end_to_end">end_to_end</option>
+                <option value="non_coding_neighbors">non_coding_neighbors</option>
+                <option value="isoforms">isoforms</option>
+                <option value="intronic">intronic</option>
+                <option value="in_vitro">in_vitro</option>
+                <option value="intragenic_exonic">intragenic_exonic</option>
+                <option value="internal_tandem_duplication">internal_tandem_duplication</option>
+            </param>
+    
+            <param name="max_evalue" argument="-E" type="float" value="" min="0" optional="true" label="Max e-value threshold">
+                <help>Arriba estimates the number of fusions with a given number of supporting
+                      reads which one would expect to see by random chance. If the expected number
+                      of fusions (e-value) is higher than this threshold, the fusion is
+                      discarded by the 'relative_support' filter. Note: Increasing this
+                      threshold can dramatically increase the number of false positives and may
+                      increase the runtime of resource-intensive steps. Fractional values are possible.
+                       Default: 0.300000
+                </help>
+            </param>
+
+            <param name="min_supporting_reads" argument="-S" type="integer" value="" min="1" optional="true" label="Min supporting reads">
+                <help>discard all fusions with fewer than this many supporting reads (split reads and discordant mates combined).
+                      Default: 2
+                </help>
+            </param>
+            <param name="max_mismappers" argument="-m" type="float" value="" min="0." max="1.0" optional="true" label="Max mismappers threshold">
+                <help>When more than this fraction of supporting reads turns out to be mismappers, 
+                      the 'mismappers' filter discards the fusion. 
+                      Default: 0.800000
+                </help>
+            </param>
+            <param name="max_homolog_identity" argument="-L" type="float" value="" min="0." max="1.0" optional="true" label="Max homologs identity threshold">
+                <help>Genes with more than the given fraction of sequence identity are
+                      considered homologs and removed by the 'homologs' filter.
+                      Default: 0.300000
+                </help>
+            </param>
+            <param name="homopolymer_length" argument="-H" type="integer" value="" min="1" optional="true" label="Homopolymer length">
+                <help>The 'homopolymer' filter removes breakpoints adjacent to homopolymers of the given length or more.
+                      Default: 6
+                </help>
+            </param>
+            <param name="read_through_distance" argument="-R" type="integer" value="" min="1" optional="true" label="Read-through distance">
+                <help>The 'read_through' filter removes read-through fusions
+                      where the breakpoints are less than the given distance away from each other.
+                      Default: 10000
+                </help>
+            </param>
+            <param name="min_anchor_length" argument="-A" type="integer" value="" min="1" optional="true" label="Min anchor length">
+                <help>Alignment artifacts are often characterized by split reads coming
+                      from only one gene and no discordant mates. Moreover, the split
+                      reads only align to a short stretch in one of the genes. The
+                      'short_anchor' filter removes these fusions. This parameter sets
+                      the threshold in bp for what the filter considers short.
+                      Default: 23
+                </help>
+            </param>
+            <param name="many_spliced_events" argument="-M" type="integer" value="" min="1" optional="true" label="Many spliced events">
+                <help>The 'many_spliced' filter recovers fusions between genes that
+                      have at least this many spliced breakpoints.
+                      Default: 4
+                </help>
+            </param>
+            <param name="max_kmer_content" argument="-K" type="float" value="" min="0." max="1.0" optional="true" label="Max kmer content">
+                <help>The 'low_entropy' filter removes reads with repetitive 3-mers. If
+                      the 3-mers make up more than the given fraction of the sequence, then
+                      the read is discarded.
+                      Default: 0.600000
+                </help>
+            </param>
+
+            <param name="max_mismatch_pvalue" argument="-V" type="float" value="" min="0." max="1." optional="true" label="Max mismatchrpvalue threahold">
+                <help>The 'mismatches' filter uses a binomial model to calculate a
+                      p-value for observing a given number of mismatches in a read.
+                      If the number of mismatches is too high, the read is discarded.
+                      Default: 0.010000
+                </help>
+            </param>
+
+            <param name="fragment_length" argument="-F" type="integer" value="" min="1" optional="true" label="Single-end fragment length">
+                <help>When paired-end data is given, the fragment length is estimated
+                      automatically and this parameter has no effect. But when single-end
+                      data is given, the mean fragment length should be specified to
+                      effectively filter fusions that arise from hairpin structures.
+                      Default: 200
+                </help>
+            </param>
+            <param name="max_reads" argument="-U" type="integer" value="" min="1" optional="true" label="Max reads">
+                <help>Subsample fusions with more than the given number of supporting reads. This
+                      improves performance without compromising sensitivity, as long as the
+                      threshold is high. Counting of supporting reads beyond the threshold is
+                      inaccurate, obviously.
+                      Default: 300
+                </help>
+            </param>
+            <param name="quantile" argument="-Q" type="float" value="" min="0." max="1.0" optional="true" label="Quantile">
+                <help>Highly expressed genes are prone to produce artifacts during library preparation.
+                      Genes with an expression above the given quantile are eligible for filtering by the 'in_vitro' filter.
+                      Default: 0.998000
+                </help>
+            </param>
+            <param name="exonic_fraction" argument="-e" type="float" value="" min="0." max="1.0" optional="true" label="Exonic fraction">
+                <help>The breakpoints of false-positive predictions of intragenic events
+                      are often both in exons. True predictions are more likely to have at
+                      least one breakpoint in an intron, because introns are larger. 
+                      If the fraction of exonic sequence between two breakpoints is smaller than
+                      the given fraction, the 'intragenic_exonic' filter discards the event.
+                      Default: 0.330000
+                </help>
+            </param>
+
+            <param name="top_n" argument="-T" type="integer" value="" min="1" optional="true" label="top N viral contigs">
+                <help>Only report viral integration sites of the top N most highly expressed viral contigs.
+                      Default: 5
+                </help>
+            </param>
+            <param name="covered_fraction" argument="-C" type="float" value="" min="0." max="1.0" optional="true" label="Covered fraction">
+                <help>Ignore virally associated events if the virus is not fully expressed, 
+                      i.e., less than the given fraction of the viral contig is transcribed.
+                      Default: 0.050000
+                </help>
+            </param>
+            <param name="max_itd_length" argument="-l" type="integer" value="" min="1" optional="true" label="Maximum length of internal tandem duplications">
+                <help>Note: Increasing this value beyond the default can impair performance and lead to many false positives.
+                      Default: 100
+                </help>
+            </param>
+            <param name="min_itd_allele_fraction" argument="-z" type="float" value="" min="0." max="1.0" optional="true" label="Required fraction of supporting reads to report an internal tandem duplication">
+                <help> Default: 0.070000 
+                </help>
+            </param>
+            <param name="min_itd_supporting_reads" argument="-Z" type="integer" value="" min="1" optional="true" label="Required number of supporting reads to report an internal tandem duplication">
+                <help> Default: 10
+                </help>
+            </param>
+            <param name="duplicate_marking" argument="-u" type="boolean" truevalue="-u" falsevalue="" checked="false" label="Use aligners duplicate marking">
+                <help>Instead of performing duplicate marking itself, Arriba relies on duplicate marking by a
+                      preceding program using the BAM_FDUP flag. This makes sense when unique molecular
+                      identifiers (UMI) are used.
+                </help>
+            </param>
+            <param name="fill_discarded_columns" argument="-X" type="boolean" truevalue="-X" falsevalue="" checked="false" label="Fill all fusion.discarded.tsv columns">
+                <help>To reduce the runtime and file size, by default, the columns 'fusion_transcript',
+                      'peptide_sequence', and 'read_identifiers' are left empty in the file containing
+                      discarded fusion candidates (see parameter -O). When this flag is set, this extra
+                      information is reported in the discarded fusions file.
+                </help>
+            </param>
+            <param name="fill_the_gaps" argument="-I" type="boolean" truevalue="-I" falsevalue="" checked="false" label="Fill fusion transcript gaps from the assembly">
+                <help>If assembly of the fusion transcript sequence from the supporting reads is incomplete
+                      (denoted as '...'), fill the gaps using the assembly sequence wherever possible.
+                </help>
+            </param>
+        </section>
+        <param name="output_fusions_discarded" argument="-O" type="boolean" truevalue="yes" falsevalue="no" checked="true" label="Output fusions.discarded.tsv"/>
+        <param name="output_fusions_vcf" type="boolean" truevalue="yes" falsevalue="no" checked="true" label="Output fusions.vcf"/>
+        <param name="output_fusion_bams" type="boolean" truevalue="yes" falsevalue="no" checked="false" label="Output fusion BAMs"/>
+        <conditional name="visualization">
+            <param name="do_viz" type="select" label="Generate visualization">
+                <option value="yes">Yes</option>
+                <option value="no">no</option>
+            </param>
+            <when value="yes">
+                <expand macro="visualization_options" />
+            </when>
+            <when value="no"/>
+        </conditional>
+    </inputs>
+    <outputs>
+        <data name="fusions_tsv" format="tabular" label="${tool.name} on ${on_string}: fusions.tsv" from_work_dir="fusions.tsv">
+            <expand macro="fusion_actions" />
+        </data> 
+
+        <data name="discarded_fusions_tsv" format="tabular" label="${tool.name} on ${on_string}: fusions.discarded.tsv" from_work_dir="fusions.discarded.tsv">
+            <filter> output_fusions_discarded == True</filter>
+            <expand macro="fusion_actions" />
+        </data> 
+        <data name="fusions_vcf" format="vcf" label="${tool.name} on ${on_string}: fusions.vcf" from_work_dir="fusions.vcf">
+            <filter> output_fusions_vcf == True</filter>
+        </data> 
+        <collection name="fusion_bams" type="list" label="${tool.name} on ${on_string}: Fusion Alignments">
+            <discover_datasets pattern="(?P&lt;name&gt;fusion_\d+\.bam)$" format="bam" directory="fusion_bams" visible="false"/>
+            <filter>output_fusion_bams == True</filter>
+        </collection>
+        <data name="aligned_bam" format="bam" label="${tool.name} on ${on_string}: Aligned.bam" from_work_dir="Aligned.sortedByCoord.out.bam">
+            <filter>input_params['input_source'] == "use_fastq"</filter>
+        </data> 
+        <data name="fusions_pdf" format="pdf" label="${tool.name} on ${on_string}: fusions.pdf" from_work_dir="fusions.pdf">
+            <filter>visualization['do_viz'] == "yes"</filter>
+        </data> 
+    </outputs>
+    <tests>
+        <!-- Test 1 - From exisitng BAM -->
+        <test> 
+            <param name="input" ftype="sam" value="Aligned.out.sam"/>
+            <conditional name="genome">
+                <param name="genome_source" value="history"/>
+                <param name="assembly" ftype="fasta" value="genome.fasta.gz"/>
+            </conditional>
+            <conditional name="genome_gtf">
+                <param name="gtf_source" value="history"/>
+                <param name="annotation" ftype="gtf" value="genome.gtf.gz"/>
+            </conditional>
+            <param name="protein_domains" ftype="gff3" value="protein_domains.gff3"/>
+            <conditional name="visualization">
+                <param name="do_viz" value="no"/>
+                <param name="cytobands" ftype="tabular" value="cytobands.tsv"/>
+            </conditional>
+            <output name="fusions_tsv">
+                <assert_contents>
+                    <has_text_matching expression="BCR\tABL1"/>
+                </assert_contents>
+            </output>
+        </test>
+        <!-- Test 2 - From exisitng BAM with protein_domains and visualization -->
+        <test> 
+            <param name="input" ftype="sam" value="Aligned.out.sam"/>
+            <conditional name="genome">
+                <param name="genome_source" value="history"/>
+                <param name="assembly" ftype="fasta" value="genome.fasta.gz"/>
+            </conditional>
+            <conditional name="genome_gtf">
+                <param name="gtf_source" value="history"/>
+                <param name="annotation" ftype="gtf" value="genome.gtf.gz"/>
+            </conditional>
+            <param name="protein_domains" ftype="gff3" value="protein_domains.gff3"/>
+            <conditional name="visualization">
+                <param name="do_viz" value="yes"/>
+                <param name="cytobands" ftype="tabular" value="cytobands.tsv"/>
+            </conditional>
+            <output name="fusions_tsv">
+                <assert_contents>
+                    <has_text_matching expression="BCR\tABL1"/>
+                </assert_contents>
+            </output>
+            <output name="fusions_pdf">
+                <assert_contents>
+                    <has_size value= "64000" delta="5000" />
+                </assert_contents>
+            </output>
+        </test>
+
+    </tests>
+    <help><![CDATA[
+**Arriba**
+
+
+Arriba_ is a fast tool to search for aberrant transcripts such as gene fusions.
+It is based on chimeric alignments found by the STAR RNA-Seq aligner.
+
+
+**INPUTS**
+
+See:  https://arriba.readthedocs.io/en/latest/input-files/
+
+  - Alignments
+
+    Arriba takes the main output file of STAR (Aligned.out.bam) as input (parameter -x). If STAR was run with the parameter --chimOutType WithinBAM, then this file contains all the information needed by Arriba to find fusions. When STAR was run with the parameter --chimOutType SeparateSAMold, the main output file lacks chimeric alignments. Instead, STAR writes them to a separate output file named Chimeric.out.sam. In this case, the file needs to be passed to Arriba via the parameter -c in addition to the main output file Aligned.out.bam.
+
+    STAR index create recommended parameter value:
+
+        * --sjdbOverhang 250
+
+
+    STAR recommended parameter values ::
+
+        * --outSAMunmapped Within
+        * --outFilterMultimapNmax 50
+        * --peOverlapNbasesMin 10
+        * --alignSplicedMateMapLminOverLmate 0.5
+        * --alignSJstitchMismatchNmax 5 -1 5 5
+        * --chimSegmentMin 10
+        * --chimOutType WithinBAM HardClip
+        * --chimJunctionOverhangMin 10
+        * --chimScoreDropMax 30
+        * --chimScoreJunctionNonGTAG 0
+        * --chimScoreSeparation 1
+        * --chimSegmentReadGapMax 3
+        * --chimMultimapNmax 50
+
+
+    Arriba extracts three types of reads from the alignment file(s):
+
+      * Split-reads, i.e., reads composed of segments which map in a non-linear way. STAR stores such reads as supplementary alignments.
+      * Discordant mates, i.e., paired-end reads which originate from the same fragment but which align in a non-linear way.
+      * Alignments which cross the boundaries of annotated genes, because these alignments might arise from focal deletions. In RNA-Seq data deletions of up to several hundred kb are hard to distinguish from splicing. They are represented identically as gapped alignments, because the sizes of many introns are in fact of this order of magnitude. STAR applies a rather arbitrary measure to decide whether a gapped alignment arises from splicing or from a genomic deletion: The parameter --alignIntronMax determines what gap size is still assumed to be a splicing event and introns are used to represent these gaps. Only gaps larger than this limit are classified as potential evidence for genomic deletions and are stored as chimeric alignments. Most STAR-based fusion detection tools only consider chimeric alignments as evidence for gene fusions and are blind to focal deletions, hence. As a workaround, these tools recommend reducing the value of the parameter --alignIntronMax. But this impairs the quality of alignment, because it reduces the scope that STAR searches to find a spliced alignment. To avoid compromising the quality of alignment for the sake of fusion detection, the only solution would be to run STAR twice - once with settings optimized for regular alignment and once for fusion detection. This would double the runtime. In contrast, Arriba does not require to reduce the maximum intron size. It employs a more sensible criterion to distinguish splicing from deletions: Arriba considers all those reads as potential evidence for deletions that span the boundary of annotated genes.
+
+    The alignment files can be in SAM, BAM, and CRAM format. They need not be sorted for Arriba to accept them, but doing so comes with benefits: Often, this reduces the file size. And more importantly, the supporting reads of a fusion can be inspected visually using a genome browser like IGV, which typically requires BAM files to be sorted by coordinate.
+
+    Single-end and paired-end data and even mixtures are supported. Arriba automatically determines the data type on a read-by-read basis using the flag BAM_FPAIRED.
+
+
+  - Assembly
+
+    Arriba takes the assembly as input (parameter -a) to find mismatches between the chimeric reads and the reference genome, as well as to find alignment artifacts and homologous genes.
+
+    The script download_references.sh can be used to download the assembly. The available assemblies are listed when the script is run without parameters. The user is not restricted to these assemblies, however. Any assembly can be used as long as its coordinates are compatible with one of the supported assemblies (hg19/hs37d5/GRCh37 or hg38/GRCh38 or mm10/GRCm38).
+
+    The assembly must be provided in FastA format and may be gzip-compressed. An index with the file extension .fai must exist only if CRAM files are processed.
+
+  - Annotation
+
+    The gene annotation (parameter -g) is used for multiple purposes:
+
+    annotation of breakpoints with genes
+    increased sensitivity for breakpoints at splice-sites
+    calculation of transcriptomic distances
+    determining the putative orientation of fused genes (i.e., 5' and 3' end)
+    GENCODE annotation is recommended over RefSeq annotation, because the former has a more comprehensive annotation of transcripts and splice-sites, which boosts the sensitivity. The file must be provided in GTF format and may be gzip-compressed. It does not need to be sorted.
+
+    The script download_references.sh can be used to download the annotation. The available annotation files are listed when the script is run without parameters. The user is not restricted to these annotation files, however. Any annotation can be used as long as its coordinates are compatible with one of the supported assemblies (hg19/hs37d5/GRCh37 or hg38/GRCh38 or mm10/GRCm38).
+
+
+  - Blacklist
+
+    It is strongly advised to run Arriba with a blacklist (parameter -b). Otherwise, the false positive rate increases by an order of magnitude. For this reason, using Arriba with assemblies or organisms which are not officially supported is not recommended. At the moment, the supported assemblies are: hg19/hs37d5/GRCh37, hg38/GRCh38, and mm10/GRCm38 (as well as any other assemblies that have compatible coordinates). The blacklists are contained in the release tarballs of Arriba.
+
+    The blacklist removes recurrent alignment artifacts and transcripts which are present in healthy tissue. This helps eliminate frequently observed transcripts, such as read-through fusions between neighboring genes, circular RNAs and other non-canonically spliced transcripts. It was trained on RNA-Seq samples from the Human Protein Atlas, the Illumina Human BodyMap2 , the ENCODE project , the Roadmap Epigenomics project, and the NCT MASTER cohort, a heterogeneous cohort of cancer samples, from which highly recurrent artifacts were identified.
+
+    Blacklists for all supported assemblies are shipped with the download package of Arriba. They can be found in the package as database/blacklist_*.
+
+    The blacklist is a tab-separated file with two columns and may optionally be gzip-compressed. Lines starting with a hash (#) are treated as comments. Each line represents a pair of regions between which events are ignored. A region can be:
+      * a 1-based coordinate in the format CONTIG:POSITION, optionally prefixed with the strand (example: +9:56743754). If CONTIG ends on an asterisk (*), the contig with the closest matching name is chosen. 
+      * a range in the format CONTIG:START-END, optionally prefixed with a strand (example: 9:1000000-1100000). 
+      * the name of a gene given in the provided annotation.  
+
+    In addition, special keywords are allowed for the second column:
+      * any: Discard all events if one of the breakpoints matches the given region.
+      * split_read_donor: Discard fusions only supported by split reads, if all of them have their anchor in the gene given in the first column. This filter is useful for highly mutable loci, which frequently trigger clipped alignments, such as the immunoglobulin loci or the T-cell receptor loci.
+      * split_read_acceptor: Discard events only supported by split reads, if all of them have their clipped segment in the given region.
+      * split_read_any: Discard events only supported by split reads, regardless of where the anchor is.
+      * discordant_mates: Discard fusions, if they are only supported by discordant mates (no split reads).
+      * low_support: Discard events, which have few supporting reads relative to expression (as determined by the filter relative_support), even if there is other evidence that the fusion might be a true positive, nonetheless. This keyword effectively prevents recovery of speculative events by filters such as spliced or many_spliced.
+      * filter_spliced: This keyword prevents the filter spliced from being applied to a given region. It is triggered under the same circumstances as the keyword low_support, but additionally requires that the breakpoints be at splice-sites for the event to be discarded. Some breakpoints produce recurrent artifacts, but the second breakpoint is always a different one, such that the pair of breakpoints is not recurrent and cannot be blacklisted. Often, such breakpoints are at splice-sites and the filter spliced tends to recover them. This keyword prevents the filter from doing so.
+      * not_both_spliced: This keyword discards events, unless both breakpoints are at splice-sites. This is a strict blacklist criterion, which makes sense to apply to genes which are prone to produce artifacts, because they are highly expressed, for example hemoglobins, collagens, or ribosomal genes.
+      * read_through: This keyword discards events, if they could arise from read-through transcription, i.e., the supporting reads are oriented like a deletion and are at most 400 kb apart.
+
+
+  - Known fusions
+
+    Arriba can be instructed to be particularly sensitive towards events between certain gene pairs by supplying a list of gene pairs (parameter -k). A number of filters are not applied to these gene pairs. This is useful to improve the detection rate of expected or highly relevant events, such as recurrent fusions. Occassionally, this leads to false positive calls. But if high sensitivity is more important than specificity, this might be acceptable. Events which would be discarded by a filter and were recovered due to being listed in the known fusions list are usually assigned a low confidence.
+
+    Known fusions files for all supported assemblies are shipped with the download package of Arriba. They can be found in the package as database/known_fusions_*.
+
+    The file has two columns separated by a tab and may optionally be gzip-compressed. Lines starting with a hash (#) are treated as comments. Each line represents a pair of regions to which very sensitive filtering thresholds are applied. A region can be:
+
+       * a 1-based coordinate in the format CONTIG:POSITION, optionally prefixed with the strand (example: +9:56743754). If CONTIG ends on an asterisk (*), the contig with the closest matching name is chosen.
+       * a range in the format CONTIG:START-END, optionally prefixed with a strand (example: 9:1000000-1100000).
+       * the name of a gene given in the provided annotation.
+
+    The order of the given regions is important. The region given in the first column is assumed to denote the 5' end of the fusion and the region in the second column to be the 3' end. If Arriba cannot determine with confidence which gene constitutes the 5' and which the 3' end of a fusion prediction, then the order is ignored and the prediction is rescued in both cases.
+
+
+  - Tags
+
+    Arriba can be supplied with a list of user-defined tags using the parameter -t. Whenever a fusion prediction matches the selection criteria for a tag, the column tags is populated with the respective tag. This feature is useful to annotate known oncogenic fusions, for example.
+
+    The known fusions file shipped with the download package of Arriba can be used for both known fusions and tags. It is constructed in a way that it can be passed as arguments to the parameters -k and -t alike. The former only uses the first two columns, the latter uses all three columns. If a user wants to separate filtering of known fusions and tagging of interesting fusions, different files may be used, however.
+
+    The file has three columns separated by a tab and may optionally be gzip-compressed. Lines starting with a hash (#) are treated as comments. Each line represents a pair of regions to be annotated. The first two columns specify the regions to be annotated; the third column the tag that is used for annotation. Some special characters in the tag are replaced with underscores (_) in Arriba's output file. A region can be:
+
+      * a 1-based coordinate in the format CONTIG:POSITION, optionally prefixed with the strand (example: +9:56743754).
+      * a range in the format CONTIG:START-END, optionally prefixed with a strand (example: 9:1000000-1100000).
+      * the name of a gene given in the provided annotation.
+
+    The order of the given regions is important. The region given in the first column is assumed to denote the 5' end of the fusion and the region in the second column to be the 3' end.
+
+  - Protein domains
+
+    Protein domain annotation can be passed to Arriba via the parameter -p. The column retained_protein_domains of Arriba's output file is then populated accordingly.
+
+    Protein domain annotation files for all supported assemblies are shipped with the download package of Arriba. They can be found in the package as database/protein_domains_*.
+
+    The file must be in GFF3 format and may optionally be gzip-compressed. The ninth column must at least contain the following attributes:
+      * Name=PROTEIN_DOMAIN_NAME;
+      * gene_id=GENE_ID;
+      * gene_name=GENE_NAME
+
+    The attribute Name is reported in the column retained_protein_domains of Arriba's output file. Some special characters in the name are replaced with underscores (_). The columns gene_id and gene_name are used to match the protein domains to the genes given in the gene annotation. If a match cannot be found, Arriba cannot determine the retained protein domains of the respective gene and a warning is issued. There may be many warnings if RefSeq annotation is used, because the protein domains file distributed with Arriba uses ENSEMBL gene names/IDs.
+
+  - Structural variant calls from WGS
+
+    If whole-genome sequencing (WGS) data is available, the sensitivity and specificity of Arriba can be improved by passing a list of structural variants detected from WGS to Arriba via the parameter -d. This has the following effects:
+
+    Certain filters are overruled or run with extra sensitive settings, when an event is confirmed by WGS data.
+    To reduce the false positive rate, Arriba does not report low-confidence events unless they can be matched with a structural variant found in the WGS data.
+    Both of these behaviors can be disabled by disabling the filters genomic_support and no_genomic_support, respectively. Providing Arriba with a list of structural variant calls then does not influence the calls, but it still has the benefit of filling the columns closest_genomic_breakpoint1 and closest_genomic_breakpoint2 with the breakpoints of the structural variant which is closest to a fusion. If the structural variant calls were obtained from whole-exome sequencing (WES) data rather than WGS data, the filter no_genomic_support should be disabled, since WES has poor coverage in most regions of the genome, such that many structural variants are missed.
+
+    Two file formats are accepted: a simple four-column format and the standard Variant Call Format (VCF). The format is detected automatically.
+
+      * In case of the simple format, the file must contain four columns separated by tabs. The first two columns contain the breakpoints of the structural variants in the format CONTIG:POSITION. The last two columns contain the orientation of the breakpoints. The accepted values are:
+
+        + downstream or +: the fusion partner is fused downstream of the breakpoint, i.e., at a coordinate higher than the breakpoint
+        + upstream or -: the fusion partner is fused at a coordinate lower than the breakpoint
+    
+        Example:
+
+        ::
+
+          =========== =========== =========== ===========
+          5-prime     3-prime     orientation orientation
+          =========== =========== =========== ===========
+          1:54420491  6:9248349   +           -
+          20:46703288 20:46734546 -           +
+          17:61499820 20:45133874 +           +
+          3:190967119 7:77868317  -           -
+          =========== =========== =========== ===========
+
+
+      * In case of the Variant Call Format, the file must comply with the VCF specification for structural variants. In particular, Arriba requires that the SVTYPE field be present in the INFO column and specify one of the four values BND, DEL, DUP, INV. In addition, for all SVTYPEs other than BND, the END field must be present and specify the second breakpoint of the structural variant. Structural variants with single breakends are silently ignored.
+
+        Arriba checks if the orientation of the structural variant matches that of a fusion detected in the RNA-Seq data. If, for example, Arriba predicts the 5' end of a gene to be retained in a fusion, then a structural variant is expected to confirm this, or else the variant is not considered to be related.
+
+    NOTE: Arriba was designed for alignments from RNA-Seq data. It should not be run on WGS data directly. Many assumptions made by Arriba about the data (statistical models, blacklist, etc.) only apply to RNA-Seq data and are not valid for DNA-Seq data. For such data, a structural variant calling algorithm should be used and the results should be passed to Arriba.
+
+
+**OPTIONS**
+
+  - Arriba: https://arriba.readthedocs.io/en/latest/command-line-options/#arriba
+  - Visualization: https://arriba.readthedocs.io/en/latest/command-line-options/#draw_fusionsr
+  - RNA STAR: https://arriba.readthedocs.io/en/latest/workflow/
+
+
+**OUTPUTS**
+
+See:  https://arriba.readthedocs.io/en/latest/output-files/
+
+  - fusions.tsv
+
+    The file fusions.tsv (as specified by the parameter -o) contains fusions which pass all of Arriba's filters. It should be highly enriched for true predictions. The predictions are listed from highest to lowest confidence. The following paragraphs describe the columns in detail:
+
+      * gene1 and gene2 : gene1 contains the gene which makes up the 5' end of the transcript and gene2 the gene which makes up the 3' end. The order is predicted on the basis of the strands that the supporting reads map to, how the reads are oriented, and splice patterns. Both columns may contain the same gene, if the event is intragenic. If a breakpoint is in an intergenic region, Arriba lists the closest genes upstream and downstream from the breakpoint, separated by a comma. The numbers in parentheses after the closest genes state the distance to the genes. If no genes are annotated for a contig (e.g., for viral genomes), the column contains a dot (.).
+
+      * strand1(gene/fusion) and strand2(gene/fusion) : Each of these columns contains two values seperated by a slash. The strand before the slash reflects the strand of the gene according to the gene annotation supplied to Arriba via the parameter -g. If the breakpoint is in an intergenic region, the value is .. The value after the slash reflects the strand that is transcribed. This does not necessarily match the strand of the gene, namely when the sense strand of a gene serves as the template for transcription. Occassionally, the strand that is transcribed cannot be predicted reliably. In this case, Arriba indicates the lack of information as a dot (.). Arriba uses splice-patterns of the alignments to assign a read to the appropriate originating gene. If a strand-specific library was used, Arriba also evaluates the strandedness in ambiguous situations, for example, when none of the supporting reads overlaps a splice-site.
+
+      * breakpoint1 and breakpoint2 : The columns contain the coordinates of the breakpoints in gene1 and gene2, respectively. If an event is not supported by any split reads but only by discordant mates, the coordinates given here are those of the discordant mates which are closest to the true but unknown breakpoint.
+
+      * site1 and site2 : These columns add information about the location of the breakpoints. Possible values are: 5' UTR, 3' UTR, UTR (overlapping with a 5' UTR as well as a 3' UTR), CDS (coding sequence), exon, intron, and intergenic. The keyword exon is used for non-coding genes or for ambiguous situations where the breakpoint overlaps with both a coding exon and a UTR. If the breakpoint coincides with an exon boundary, the additional keyword splice-site is appended.
+
+      * type : Based on the orientation of the supporting reads and the coordinates of breakpoints, the type of event can be inferred. Possible values are: translocation (between different chromosomes), duplication, inversion, and deletion. If genes are fused head-to-head or tail-to-tail, this is indicated as 5'-5' or 3'-3' respectively. Genes fused in such an orientation cannot yield a chimeric protein, since one of the genes is transcribed from the wrong strand. This type of event is equivalent to the truncation of the genes. The following types of events are flagged with an extra keyword, because they are frequent types of false positives and/or it is not clear if they are somatic or germline variants: Deletions with a size in the range of introns (<400kb) are flagged as read-through, because there is a high chance that the fusion arises from read-through transcription rather than an underlying genomic deletion. Intragenic duplications with both breakpoints at splice-sites are flagged as non-canonical-splicing, because the supporting reads might originate from circular RNAs, which are very abundant even in normal tissue, but manifest as duplications in RNA-Seq data. Internal tandem duplications are flagged as ITD. It is not always clear whether the ITDs observable in RNA-Seq data are somatic or germline variants, because ITDs are abundant in the germline and germline variants cannot be filtered effectively due to lack of a normal control.
+
+      * split_reads1 and split_reads2 : The number of supporting split fragments with an anchor in gene1 or gene2, respectively, is given in these columns. The gene to which the longer segment of the split read aligns is defined as the anchor.
+
+      * discordant_mates : This column contains the number of pairs (fragments) of discordant mates (a.k.a. spanning reads or bridge reads) supporting the fusion.
+
+      * coverage1 and coverage2 : These two columns show the coverage near breakpoint1 and breakpoint2, respectively. The coverage is calculated as the number of fragments near the breakpoint on the side of the breakpoint that is retained in the fusion transcript. Note that the coverage calculation counts all fragments (even duplicates), whereas the columns split_reads1, split_reads2, and discordant_mates only count non-discarded reads. Fragments discarded due to being duplicates or other types of artifacts can be found in the column filters.
+
+      * confidence : Each prediction is assigned one of the confidences low, medium, or high. Several characteristics are taken into account, including: the number of supporting reads, the balance of split reads and discordant mates, the distance between the breakpoints, the type of event, whether the breakpoints are intragenic or not, and whether there are other events which corroborate the prediction, e.g. multiple isoforms or balanced translocations. See section Interpretation of results for further advice on judging the credibility of predictions.
+
+      * reading_frame : This column states whether the gene at the 3' end of the fusion is fused in-frame or out-of-frame. The value stop-codon indicates that there is a stop codon prior to the fusion junction, such that the 3' end is not translated, even if the reading frame is preserved across the junction. The prediction of the reading frame builds on the prediction of the peptide sequence. A dot (.) indicates that the peptide sequence cannot be predicted, for example, because the transcript sequence could not be determined or because the breakpoint of the 5' gene does not overlap a coding region.
+
+      * tags : When a user-defined list of tags is provided via the parameter -t, this column is populated with the provided tag whenever a fusion matches the coordinates specified for the respective tag. When multiple tags match, they are separated by a comma.
+
+      * retained_protein_domains : If Arriba is provided with protein domain annotation using the parameter -p, then this column is populated with protein domains retained in the fusion. Multiple protein domains are separated by a comma. Redundant protein domains are only listed once. After every domain the fraction that is retained is stated as a percentage value in parentheses. The protein domains of the 5' and 3' genes are separated by a pipe symbol (|).
+
+      * closest_genomic_breakpoint1 and closest_genomic_breakpoint2 : When a matched whole-genome sequencing sample is available, one can feed structural variant calls obtained therefrom into Arriba (see parameter -d). Arriba then considers this information during fusion calling, which improves the overall accuracy. These two columns contain the coordinates of the genomic breakpoints which are closest to the transcriptomic breakpoints given in the columns breakpoint1 and breakpoint2. The values in parentheses are the distances between transcriptomic and genomic breakpoints.
+
+      * gene_id1 and gene_id2 : These two columns state the identifiers of the fused genes as given in the gene_id attribute in the GTF file.
+
+      * transcript_id1 and transcript_id2 : For both fused genes, Arriba determines the best matching isoform that is transcribed as part of the fusion. The isoform is selected by how well its annotated exons match the splice pattern of the supporting reads of a fusion.
+
+      * direction1 and direction2 : These columns indicate the orientation of the fusion. A value of downstream means that the partner is fused downstream of the breakpoint, i.e. at a coordinate higher than the breakpoint. A value of upstream means the partner is fused at a coordinate lower than the breakpoint. When the prediction of the strands or of the 5' gene fails, this information gives insight into which parts of the fused genes are retained in the fusion.
+
+      * filters : This column lists the filters which removed one or more of the supporting reads. The section Internal algorithm describes all filters in detail. The number of filtered reads is given in parentheses after the name of the filter. The total number of supporting reads can be obtained by summing up the reads given in the columns split_reads1, split_reads2, discordant_mates, and filters. If a filter discarded the event as a whole (all reads), the number of filtered reads is not stated.
+
+      * fusion_transcript : This column contains the fusion transcript sequence. The sequence is assembled from the supporting reads of the most highly expressed transcript. It represents the transcript isoform that is most likely expressed according to the splice patterns of the supporting reads. The column contains a dot (.), when the sequence could not be predicted. This is the case when the strands or the 5' end of the transcript could not be predicted reliably. The breakpoint is represented as a pipe symbol (|). When non-template bases are inserted between the fused genes, these bases are represented as lowercase letters between two pipes. Reference mismatches (SNPs or SNVs) are indicated as lowercase letters, insertions as bases between brackets ([ and ]), deleted bases as one or more dashes (-), introns as three underscores (___), and ambiguous positions, such as positions with diverse reference mismatches, are represented as ?. Missing information due to insufficient coverage is denoted as an ellipsis (...). If the switch -I is used, then an attempt is made to fill missing information with the assembly sequence. A sequence stretch that was taken from the assembly sequence rather than the supporting reads is wrapped in parentheses (( and )). In addition, when -I is used, the sequence is trimmed to the boundaries of the fused transcripts. The coordinate of the fusion breakpoint relative to the start of the transcript can thus easily be inferred by counting the bases from the beginning of the fusion transcript to the breakpoint character (|). In case the full sequence could be constructed from the combined information of supporting reads and assembly sequence, the start of the fusion transcript is marked by a caret sign (^) and the end by a dollar sign ($). If the full sequence could not be constructed, these signs are missing.
+
+      * peptide_sequence : This column contains the fusion peptide sequence. The sequence is translated from the fusion transcript given in the column fusion_transcript and determines the reading frame of the fused genes according to the transcript isoforms given in the columns transcript_id1 and transcript_id2. Translation starts at the start of the assembled fusion transcript or when the start codon is encountered in the 5' gene. Translation ends when either the end of the assembled fusion transcript is reached or when a stop codon is encountered. If the fusion transcript contains an ellipsis (...), the sequence beyond the ellipsis is trimmed before translation, because the reading frame cannot be determined reliably. The column contains a dot (.), when the transcript sequence could not be predicted or when the precise breakpoints are unknown due to lack of split reads or when the fusion transcript does not overlap any coding exons in the 5' gene or when no start codon could be found in the 5' gene or when there is a stop codon prior to the fusion junction (in which case the column reading_frame contains the value stop-codon). The breakpoint is represented as a pipe symbol (|). If a codon spans the breakpoint, the amino acid is placed on the side of the breakpoint where two of the three bases reside. Codons resulting from non-template bases are flanked by two pipes. Amino acids are written as lowercase characters in the following situations: non-silent SNVs/SNPs, insertions, frameshifts, codons spanning the breakpoint, non-coding regions (introns/intergenic regions/UTRs), and non-template bases. Codons which cannot be translated to amino acids, such as those having invalid characters, are represented as ?.
+
+      * read_identifiers : This column contains the names of the supporting reads separated by commas.
+
+  - fusions.discarded.tsv
+
+    The file fusions.discarded.tsv (as specified by the parameter -O) contains all events that Arriba classified as an artifact or that are also observed in healthy tissue. It has the same format as the file fusions.tsv. 
+
+
+**VISUALIZATION**
+
+See: https://arriba.readthedocs.io/en/latest/visualization/
+
+  - fusions.pdf
+
+    A PDF file with one page for each predicted fusion. Each page depicts the fusion partners, their orientation, the retained exons in the fusion transcript, statistics about the number of supporting reads, and if the column fusion_transcript has a value an excerpt of the sequence around the breakpoint.
+
+.. image:: draw-fusions-example.png
+  :width: 800
+  :height: 467
+
+
+.. _Arriba: https://arriba.readthedocs.io/en/latest/
+.. _INPUTS: https://arriba.readthedocs.io/en/latest/input-files/
+.. _OUTPUTS: https://arriba.readthedocs.io/en/latest/output-files/
+.. _VISUALIZATION: https://arriba.readthedocs.io/en/latest/visualization/
+.. _OPTIONS: https://arriba.readthedocs.io/en/latest/command-line-options/
+
+    ]]></help>
+    <expand macro="citations" />
+</tool>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/macros.xml	Wed Jul 27 11:24:44 2022 +0000
@@ -0,0 +1,311 @@
+<macros>
+    <token name="@TOOL_VERSION@">2.3.0</token>
+    <token name="@VERSION_SUFFIX@">0</token>
+    <xml name="requirements">
+        <requirements>
+        <requirement type="package" version="@TOOL_VERSION@">arriba</requirement>
+            <yield/>
+        </requirements>
+    </xml>
+    <xml name="citations">
+        <citations>
+            <citation type="doi">10.1101/gr.257246.119</citation>
+            <yield />
+        </citations>
+    </xml>
+    <xml name="version_command">
+        <version_command>arriba -h | grep Version | sed 's/^.* //'</version_command>
+    </xml>
+    <xml name="genome_source" token_assembly_optional="false" >
+        <conditional name="genome">
+            <param name="genome_source" type="select" label="Genome assembly fasta (that was used for STAR alignment)">
+                <option value="history">From your history</option>
+                <option value="cached">Use built-in Genome reference</option>
+            </param>
+            <when value="history">
+                <param name="assembly" argument="-a" type="data" format="fasta" optional="@ASSEMBLY_OPTIONAL@" label="Genome assembly fasta"/>
+            </when>
+            <when value="cached">
+                <param name="ref_file" type="select" label="Using reference genome" help="Select genome from the list">
+                    <options from_data_table="all_fasta">
+                        <validator type="no_options" message="No reference genomes are available" />
+                    </options>
+                </param>
+            </when>
+        </conditional>
+    </xml>
+    <xml name="gtf_source" token_assembly_optional="false" >
+        <conditional name="genome_gtf">
+            <param name="gtf_source" type="select" label="Genome GTF annotation source">
+                <option value="history">From your history</option>
+                <!-- <option value="cached">Use built-in Gtf annotation</option> -->
+            </param>
+            <when value="history">
+                <param name="annotation" argument="-g" type="data" format="gtf" label="Gene annotation in GTF format"/>
+            </when>
+        </conditional>
+    </xml>
+
+    <token name="@GENOME_SOURCE@"><![CDATA[
+#if str($genome.genome_source) == "history"
+    #if $genome.assembly
+        #set $genome_assembly = 'genome.fa'
+        ln -sf '$genome.assembly' $genome_assembly &&
+    #end if
+#elif str($genome.genome_source) == "cached"
+    #set $genome_assembly = $genome.ref_file.fields.fasta
+#end if
+    ]]></token>
+    <token name="@GTF_SOURCE@"><![CDATA[
+#if str($genome_gtf.gtf_source) == "history"
+    #if $genome_gtf.annotation.is_of_type('gtf.gz')
+        #set $genome_annotation = 'genome.gtf.gz'
+    #else
+        #set $genome_annotation = 'genome.gtf'
+    #end if
+    ln -sf '$genome_gtf.annotation' $genome_annotation &&
+#end if
+    ]]></token>
+
+    <xml name="visualization_options">
+                <param name="cytobands" argument="--cytobands" type="data" format="tabular" optional="true" label="Cytobands"/>
+                <section name="options" expanded="false" title="Draw Fusion Options">
+                    <param argument="--sampleName" type="text" value="" optional="true" label="Sample Name printed as the title on every page"/>
+                    <param argument="--transcriptSelection" type="select" optional="true" label="Transcript selection">
+                        <help>By default the transcript isoform with the highest coverage is drawn.
+                             Alternatively, the transcript isoform that is provided in the columns
+                             transcript_id1 and transcript_id2 in the given fusions file can be drawn.
+                             Selecting the isoform with the highest coverage usually produces nicer plots,
+                             in the sense that the coverage track is smooth and shows a visible increase in coverage after the fusion breakpoint.
+                             However, the isoform with the highest coverage may not be the one that is involved in the fusion.
+                             Often, genomic rearrangements lead to non-canonical isoforms being transcribed.
+                             For this reason, it can make sense to rely on the transcript selection provided by the columns transcript_id1/2,
+                             which reflect the actual isoforms involved in a fusion.
+\                            As a third option, the transcripts that are annotated as canonical can be drawn.
+                             Transcript isoforms tagged with appris_principal, appris_candidate, or CCDS are considered canonical.
+                        </help>
+                        <option value="coverage">coverage</option>
+                        <option value="provided">provided</option>
+                        <option value="canonical">canonical</option>
+                    </param>
+                    <param argument="--minConfidenceForCircosPlot" type="select" optional="true" label="Transcript selection">
+                        <help>The fusion of interest is drawn as a solid line in the circos plot.
+                              To give an impression of the overall degree of rearrangement,
+                              all other fusions are drawn as semi-transparent lines in the background.
+                              This option determines which other fusions should be included in the circos plot.
+                              Values specify the minimum confidence a fusion must have to be included.
+                              It usually makes no sense to include low-confidence fusions in circos plots,
+                              because they are abundant and unreliable, and would clutter up the circos plot.
+                              Default: medium
+                        </help>
+                        <option value="none">none - only the fusion of interest is drawn</option>
+                        <option value="low">low</option>
+                        <option value="medium">medium</option>
+                        <option value="high">high</option>
+                    </param>
+                    <param argument="--squishIntrons" type="select" optional="true" label="Squish introns">
+                        <help>Exons usually make up only a small fraction of a gene.
+                              They may be hard to see in the plot. i
+                              Since introns are in most situations of no interest in the context of gene fusions,
+                              this switch can be used to shrink the size of introns to a fixed, negligible size.
+                              It makes sense to disable this feature, if breakpoints in introns are of importance.
+                              Default: TRUE
+                        </help>
+                        <option value="TRUE">True</option>
+                        <option value="FALSE">False</option>
+                    </param>
+                    <param argument="--showIntergenicVicinity" type="text" value="" optional="true" label="Intergenic Vicinity">
+                        <help>This option only applies to intergenic breakpoints.
+                              If it is set to a value greater than 0, then the script draws the genes
+                              which are no more than the given distance away from an intergenic breakpoint.
+                              The keywords closestGene and closestProteinCodingGene instruct the script 
+                              to dynamically determine the distance to the next (protein-coding) gene for each breakpoint. 
+                              Alternatively, instead of specifying a single distance 
+                              that is applied upstream and downstream of both breakpoints alike, 
+                              more fine-grained control over the region to be shown is possible by specifying four comma-separated values. 
+                              The first two values determine the region to the left and to the right of breakpoint 1; 
+                              the third and fourth values determine the region to the left and to the right of breakpoint 2. 
+                              Note that this option is incompatible with squishIntrons.
+                              Default: 0
+                        </help>
+                        <option value="closestGene">closestGene</option>
+                        <option value="closestProteinCodingGene">closestProteinCodingGene</option>
+                        <validator type="regex" message="">^(closestGene|closestProteinCodingGene|\d+|\d+,\d+,\d+,\d+)$</validator>
+                    </param>
+                    <param argument="--mergeDomainsOverlappingBy" type="float" value="" min="0." max="1.0" optional="true" label="Merge Domains Overlapping By">
+                        <help>Occasionally, domains are annotated redundantly.
+                              For example, tyrosine kinase domains are frequently annotated as
+                              Protein tyrosine kinase and Protein kinase domain.
+                              In order to simplify the visualization, such domains can be merged into one,
+                              given that they overlap by the given fraction.
+                              The description of the larger domain is used.
+                              Default: 0.9
+                        </help>
+                    </param>
+                    <param argument="--printExonLabels" type="select" optional="true" label="Print Exon Labels">
+                        <help>By default the number of an exon is printed inside each exon,
+                              which is taken from the attribute exon_number of the GTF annotation.
+                              When a gene has many exons, the boxes may be too narrow to contain the labels,
+                              resulting in unreadable exon labels. In these situations, i
+                              it may be better to turn off exon labels.
+                              Default: TRUE
+                        </help>
+                        <option value="TRUE">True</option>
+                        <option value="FALSE">False</option>
+                    </param>
+                    <param argument="--render3dEffect" type="select" optional="true" label="Render 3D effect">
+                        <help>Whether light and shadow should be rendered to give objects a 3D effect.
+                              Default: TRUE
+                        </help>
+                        <option value="TRUE">True</option>
+                        <option value="FALSE">False</option>
+                    </param>
+                    <param argument="--optimizeDomainColors" type="select" optional="true" label="Optimize Domain Colors">
+                        <help>By default, the script colorizes domains according to the colors
+                              specified in the file given in --annotation.
+                              This way, coloring of domains is consistent across all proteins.
+                              But since there are more distinct domains than colors,
+                              this can lead to different domains having the same color.
+                              If this option is set to TRUE, the colors are recomputed for each fusion separately.
+                              This ensures that the colors have the maximum distance for each individual fusion,
+                              but they are no longer consistent across different fusions.
+                              Default: FALSE
+                        </help>
+                        <option value="TRUE">True</option>
+                        <option value="FALSE">False</option>
+                    </param>
+                    <param argument="--color1" type="color" value="" optional="true"  label="Color of the 5' end of the fusion."/>
+                    <param argument="--color2" type="color" value="" optional="true"  label="Color of the 3' end of the fusion."/>
+                    <param argument="--pdfWidth" type="float" value="" min="1." optional="true" label="Width of PDF output file in inches"
+                           help="Default: 11.692"/>
+                    <param argument="--pdfHeight" type="float" value="" min="1." optional="true" label="Height of PDF output file in inches"
+                           help="Default: 8.267"/>
+                    <param argument="--fontSize" type="float" value="" min="0." optional="true" label="Scale the size of text"
+                           help="Default: 1.0"/>
+                    <param argument="--fontFamily" type="text" value="" optional="true" label="Font to use for all labels in the plots.">
+                        <help>Default: Helvetica
+                        </help>
+                        <option value="serif">serif</option>
+                        <option value="sans">sans</option>
+                        <option value="mono">mono</option>
+                        <option value="AvantGarde">AvantGarde</option>
+                        <option value="Bookman">Bookman</option>
+                        <option value="Courier">Courier</option>
+                        <option value="Helvetica">Helvetica</option>
+                        <option value="Helvetica-Narrow">Helvetica-Narrow</option>
+                        <option value="NewCenturySchoolbook">NewCenturySchoolbook</option>
+                        <option value="Palatino">Palatino</option>
+                        <option value="Times">Times</option>
+                        <option value="URWGothic">URWGothic</option>
+                        <option value="URWBookman">URWBookman</option>
+                        <option value="NimbusMon">NimbusMon</option>
+                        <option value="NimbusSan">NimbusSan</option>
+                        <option value="URWHelvetica">URWHelvetica</option>
+                        <option value="NimbusSanCond">NimbusSanCond</option>
+                        <option value="CenturySch">CenturySch</option>
+                        <option value="URWPalladio">URWPalladio</option>
+                        <option value="NimbusRom">NimbusRom</option>
+                        <option value="URWTimes">URWTimes</option>
+                        <option value="ArialMT">ArialMT</option>
+                        <option value="Japan1">Japan1</option>
+                        <option value="Japan1HeiMin">Japan1HeiMin</option>
+                        <option value="Japan1GothicBBB">Japan1GothicBBB</option>
+                        <option value="Japan1Ryumin">Japan1Ryumin</option>
+                        <option value="Korea1">Korea1</option>
+                        <option value="Korea1deb">Korea1deb</option>
+                        <option value="CNS1">CNS1</option>
+                        <option value="GB1">GB1</option>
+                    </param>
+                    <param argument="--fixedScale" type="integer" value="" min="0" optional="true" label="Apply a fixed scale to all fusions">
+                        <help>By default, transcripts are scaled automatically to fill the entire page. 
+                              This parameter enforces a fixed scale to be applied to all fusions, 
+                              which is useful when a collection of fusions should be visualized and the sizes of all transcripts should be comparable. 
+                              A common use case is the visualization of a gene that is found to be fused to multiple partners. 
+                              By forcing all fusion plots to use the same scale, the fusions can be summarized as a collage 
+                              in a single plot one above the other with matching scales. 
+                              Note: The scale must be bigger than the sum of the biggest pair of transcripts to be drawn, 
+                              or else dynamic scaling is applied, because display errors would occur otherwise. 
+                              The default value is 0, which means that no fixed scale should be used 
+                              and that the scale should be adapted dynamically for each fusion. Default: 0
+                        </help>
+                    </param>
+                    <param argument="--coverageRange" type="text" value="" optional="true" label="Maximum coverage for plot">
+                        <help>When the parameter --alignments is used, coverage plots are drawn above the transcripts of the fused genes. 
+                              The plots can be cropped at a fixed level by passing a non-zero value to this parameter. 
+                              When only a single value is given, both coverage plots (for gene1 and gene2) are cropped at the same level. 
+                              When two comma-separated values are given, the cutoffs can be specified independently for the two plots. 
+                              A value of 0 indicates that no cropping should be applied (i.e., the cutoff is set to the peak coverage) 
+                              and that the coverage plots of both genes should be on the same scale. This is the default behavior. 
+                              A value of 0,0 also indicates that no cropping should be applied, 
+                              but the coverage plots of the two genes have different scales: 
+                              each one is scaled individually to the peak coverage of the respective gene. 
+                              Default: 0
+                        </help>
+                        <validator type="regex" message="">^\d+(,\d+)?$</validator>
+                    </param>
+                </section>
+    </xml>
+    <token name="@DRAW_FUSIONS@">
+draw_fusions.R
+    --fusions='$fusions'
+    --alignments='Aligned.sortedByCoord.out.bam'
+    --annotation='$genome_gtf.annotation'
+    --output=fusions.pdf
+    #if $visualization.cytobands
+    --cytobands='$visualization.cytobands'
+    #end if
+    #if $protein_domains
+    --proteinDomains='$protein_domains'
+    #end if
+    ## Visualization Options
+    #if $visualization.options.transcriptSelection
+        --transcriptSelection=$visualization.options.transcriptSelection
+    #end if
+    #if $visualization.options.minConfidenceForCircosPlot
+        --minConfidenceForCircosPlot=$visualization.options.minConfidenceForCircosPlot
+    #end if
+    #if $visualization.options.squishIntrons
+        --squishIntrons=$visualization.options.squishIntrons
+        #if $visualization.options.squishIntrons == 'FALSE' and $visualization.options.showIntergenicVicinity
+            --showIntergenicVicinity='$visualization.options.showIntergenicVicinity'
+        #end if
+    #end if
+    #if $visualization.options.mergeDomainsOverlappingBy
+        --mergeDomainsOverlappingBy=$visualization.options.mergeDomainsOverlappingBy
+    #end if
+    #if $visualization.options.sampleName
+        --sampleName='$visualization.options.sampleName'
+    #end if
+    #if $visualization.options.printExonLabels
+        --printExonLabels=$visualization.options.printExonLabels
+    #end if
+    #if $visualization.options.coverageRange
+        --coverageRange='$visualization.options.coverageRange'
+    #end if
+    #if $visualization.options.render3dEffect
+        --render3dEffect=$visualization.options.render3dEffect
+    #end if
+    #if $visualization.options.optimizeDomainColors
+        --optimizeDomainColors=$visualization.options.optimizeDomainColors
+    #end if
+    #if $visualization.options.color1
+        --color1='$visualization.options.color1'
+    #end if
+    #if $visualization.options.color2
+        --color2='$visualization.options.color2'
+    #end if
+    #if str($visualization.options.pdfWidth)
+        --pdfWidth=$visualization.options.pdfWidth
+    #end if
+    #if str($visualization.options.pdfHeight)
+        --pdfHeight=$visualization.options.pdfHeight
+    #end if
+    # fontFamily
+    #if $visualization.options.fontFamily
+        --fontFamily=$visualization.options.fontFamily
+    #end if
+    #if str($visualization.options.fontSize)
+        --fontSize=$visualization.options.fontSize
+    #end if
+</token>
+</macros>
Binary file static/images/draw-fusions-example.png has changed
Binary file test-data/Aligned.out.bam has changed
Binary file test-data/Aligned.out.bam.bai has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/Aligned.out.sam	Wed Jul 27 11:24:44 2022 +0000
@@ -0,0 +1,89 @@
+@HD	VN:1.4	SO:coordinate
+@SQ	SN:22	LN:269079
+@SQ	SN:9	LN:515509
+@PG	ID:STAR	PN:STAR	VN:2.7.8a	CL:STAR   --runThreadN 12   --genomeDir tempstargenomedir   --genomeLoad NoSharedMemory   --readFilesIn /panfs/roc/galaxy/PRODUCTION/database/files/001/368/dataset_1368710.dat   /panfs/roc/galaxy/PRODUCTION/database/files/001/368/dataset_1368711.dat      --readFilesCommand zcat      --limitBAMsortRAM 122880000000   --outSAMtype BAM   SortedByCoordinate      --outSAMstrandField intronMotif   --outSAMattributes NH   HI   AS   nM   ch      --outSAMunmapped Within      --outSAMprimaryFlag OneBestScore   --outSAMmapqUnique 60   --outBAMsortingThreadN 12   --outBAMsortingBinsN 50   --outSAMattrIHstart 1   --winAnchorMultimapNmax 50   --chimSegmentMin 12   --chimOutType WithinBAM   Junctions      --chimOutJunctionFormat 1      --quantMode TranscriptomeSAM   GeneCounts      --quantTranscriptomeBan Singleend   --twopassMode Basic
+@CO	user command line: STAR --runThreadN 12 --genomeLoad NoSharedMemory --genomeDir tempstargenomedir --readFilesIn /panfs/roc/galaxy/PRODUCTION/database/files/001/368/dataset_1368710.dat /panfs/roc/galaxy/PRODUCTION/database/files/001/368/dataset_1368711.dat --readFilesCommand zcat --outSAMtype BAM SortedByCoordinate --twopassMode Basic  --quantMode TranscriptomeSAM GeneCounts --quantTranscriptomeBan Singleend --outSAMstrandField intronMotif --outSAMattrIHstart 1 --outSAMattributes NH HI AS nM ch --outSAMprimaryFlag OneBestScore --outSAMmapqUnique 60 --outSAMunmapped Within --chimSegmentMin 12 --outBAMsortingThreadN 12 --outBAMsortingBinsN 50 --winAnchorMultimapNmax 50 --limitBAMsortRAM 122880000000 --chimOutType WithinBAM Junctions --chimOutJunctionFormat 1
+BCR-ABL1-46	163	22	225687	60	71M2994N7M1344N72M	=	225737	5255	AACTGGAGGCAGTGCCCAACATCCCCCTGGTGCCCGATGAGGAGCTGGACGCTTTGAACATCAAGATCTCCAAGAAGTGTTTCAGAAGCTTCTCCCTGACATCCGTGGAGCTGCAGATGCTGACCAACTCGTGTGTGAAACTCCAGACTG	CCCGGGGGG=GGGJJJGGJJJGGJJJJCJJGGJJGCJGCGGGC8J8JGGJJJJJGJJC(JGCCG=GGJJGCCCGC8GCCGGGGGG=GGCGGG1GG=GC1G=CJCJJCCCGGCGG1CGG1GGGGGGGG=GGGGGCCGCGGG8GGGCGG=GG	NH:i:1	HI:i:1	AS:i:285	nM:i:1	XS:A:+	NM:i:1
+BCR-ABL1-72	163	22	225696	60	62M2994N7M1344N81M	=	228752	5264	CAGTGCCCAACATCCCCCTGGTGCCCGATGAGGAGCTGCACGCTTTGAAGATCAAGATCTCCAAGAAGTGTTTCAGAAGCTTCTCCCTGACATCCGTGGAGCTGCAGATGCTGACCAACTCGTGTGTGAAACTCCAGACTGTCCACAGCA	CCCCGGGGGGGGGGJGJCCCJ1GJJJJGCGGGCJJJ=C1JJGGJGG8JGC=CCGJ1JGG8GGGGGJCGJCCGGGCG=CGGGGGGCGG=GGCGGG=8CCGCGGJJJ=JGGGCGGGGGCCGCCGGGGGGGGC=CCGCG8GGGGGC1GGGGCC	NH:i:1	HI:i:1	AS:i:290	nM:i:1	XS:A:+	NM:i:1
+BCR-ABL1-46	83	22	225737	60	21M2994N7M1344N105M717N17M	=	225687	-5255	GCTTTGAAGATCAAGATCTCCAAGAAGTGTTTCAGAAGCTTCTCCCTGACATCCGTGGAGCTGCAGATGCTGACCAACTCGTGTGTGAAACTCCAGACTGTCCACAGCATTCCGCTGACCATCAATAAGGAAGATGATGAGTCTCCGGGG	=GGCGGGGGGG=GGGCCCGCCCGGGGGGGGGGCCGGGGCGG8CGCGGG1JGGCCGG(C=GCCCGGGGGGCGGGGGCGCGGCGGJCGGGJJGJGGGJJCGGGJJJGJJJJJJJGJJJJGGGJJJJJGGJJJJJGCJJJCGGGGGGGGGCCC	NH:i:1	HI:i:1	AS:i:285	nM:i:1	XS:A:+	NM:i:0
+BCR-ABL1-72	83	22	228752	60	3S7M1344N105M717N35M	=	225696	-5264	TCCAAGAAGTGTTTCAGAAGCTTCTCCCTGACATCCGTGGAGCTGCAGATGCTGACCAACTCGTGTGTGAAACTCCAGACTGTCCACAGCATTCCGCTGACCATCAATAAGGAAGATGATGAGTCTCCGGGGCTCTATGGGTTTCTGAAT	=GGGGGG==GGGGCCCC=GGGGG=GGGGCGGGCGGGGGGG=CGGCCGCCJGGCGGGGG=GGG8GGGCGGC=G=CCJGGGGGGCGJJGJJCGGGGGGJJJGCJCCGJG=JJJGJGJJCJJJJGJJJJJJJ=GCJGJGCGGG=GGGGGGCC=	NH:i:1	HI:i:1	AS:i:290	nM:i:1	XS:A:+	NM:i:0
+BCR-ABL1-4	99	22	230111	60	97M717N53M	=	230176	889	AGCTTCTCCCTGACATCCGTGGAGCTGCAGATGCTGACCAACTCGTGTGTGAAACTCCAGACTGTCCACAGCATTCCGCTGACCATCAATAAGGAAGATGATGAGTCTCCGGGGCTCTATGGGTTTCTGAATGTCATCGTCCACTCAGCC	C==GGGGGGGGGGJJJJ1JJJGGJJGGJGGJJGJJCJGJGJJCGGCJGCJJJJCGJGGGGJGGGGGGCCGG8JGGCGCGG=GGGGGGGGGGGGGG=GCCGJGGGCCGGGGGG1GGGGGGCGCGGCGGGGGG=GGGGGGGGGCCGCGGGCC	NH:i:1	HI:i:1	AS:i:259	nM:i:0	ch:A:1	XS:A:+	NM:i:0
+BCR-ABL1-18	99	22	230118	60	90M717N60M	=	230165	882	CCCTGACATCCGTGGAGCTGCAGATGCTGACCAACTCGTGTGTGAAACTCCAGACTGTCCACAGCATTCCGCTGACCATCAATAAGTAAGATGATGAGTCTCCGGGGCTCTATGGGTTTCTGAATGTCATCGTCCAATCAGCCACTGGAT	CCCGGGCGGGCGGJGJJJJJJJJJ=GCJJCJJJJJGJJJGJJGJJJCGGJJGGJCGJC=GG8GCGJGCGCG==GGGCGGGGG1CCCGCGGGGGCGGCCGGC=GCGGG=GGGGCGGGGCGCGGGGGGG=GGGCGGGG(GGGCGGGCGCCGG	NH:i:1	HI:i:1	AS:i:266	nM:i:2	XS:A:+	NM:i:2
+BCR-ABL1-12	163	22	230132	60	76M717N74M	=	230923	868	GAGCTGCAGATGCTGACCAACTCGTGTGTGAAACTCCAGACTGTCCACAGCATTCCGCTGACCATCAATAAGGAAGATGATGAGTCTCCGGGGCTCTATGGGTTTCTGAATGTCATCGTCCACTCAGCCACTGGATTTAAGCAGAGTTCA	CCCGGGGGGGGGGJGGJJJJJCCJJCJJGJJGJJGGCJJJCJCGGGJJ=CGJGJJJJGGCGGGJJJ==GG(GGC=GGGGGGCGCGG(GGGGC1C8GCC=GG=C=CCJGGGGGG8CGGCCCGCGGGGGGGGCGGGG=GGGGGCGGGG=GGC	NH:i:1	HI:i:1	AS:i:227	nM:i:0	XS:A:+	NM:i:0
+BCR-ABL1-18	147	22	230165	60	43M717N75M32S	=	230118	-882	CTCCAGACTGTCCACAGCATTCCGCTGACCATCAATAAGGAAGATGATGAGTCTCCGGGGCTCTATGGGTTTCTGAATGTCATCGTCCACTCAGCCACTGGATTTAAGCAGAGTTCAAAAGCCCTTCAGCGGCCAGTAGCATCTGACTTT	=GCGGGGG(GGGGGGGGGGGCC=GGC=GGCGGCCGGGGCGGG8JJJJ=GCGGGGG1GGGCCGGGCCGGGCGGCGGGJGC8GCCGCGGCG=GJCGJJGC8GC1JGG=GJJCJC1JGJGGJJJGJGCJJJ=1JJJJ=JGGCG=GGCGGGCCC	NH:i:1	HI:i:1	AS:i:266	nM:i:2	XS:A:+	NM:i:0
+BCR-ABL1-4	147	22	230176	60	32M717N75M43S	=	230111	-889	CCACAGCATTCCGCTGACCATCAATAAGGAAGATGATGAGTCTCCGGGGCTCTATGGGTTTCTGAATGTCATCGTCCACTCAGCCACTGGATTTAAGCAGAGTTCAAAAGCCCTTCAGCGGCCAGTAGCATCTGACTTTGAGCCTCAGGG	CGGCGGGGGCGGCGCCG=GCGCGGGG8GCG881CGG=C=GCCGJJCJCCCGGG8GGCGG=GGGCCCGGCGGCCCCGGCGGGG=GGCGCJJGCGGJG1JGJJJ8JGJJCJJJ(JJGJGJJJGGJJGJCC1JJCGGJGG=GGGGGGGGGCCC	NH:i:1	HI:i:1	AS:i:259	nM:i:0	ch:A:1	XS:A:+	NM:i:0	SA:Z:9,275100,-,107H43M,60,0;
+BCR-ABL1-12	83	22	230923	60	19S77M54S	=	230132	-868	CGCTGACCATCAATAAGGAAGATGATGAGTCTCCGGGGCTCTATGGGTTTCTGAATGTCATCGTCCACTCAGCCACTGGATTTAAGCAGAGTTCAAAAGCCCTTCAGCGGCCAGTAGCATCTGACTTTGAGCCTCAGGGTCTGAGTGAAG	8CCCGGCCGGCCGGGGGCGG1CCG=GGCGGGGGC1GGGGCCGCGGGGCCJGG=CGGCGGGGCGCGCGGGCGGCGGJG==GGCGCJGCGGGCJGGGGGGGCJGJGGJJJGJGGGGCJJJGJJJGGJGJJJGJJCCJJGGG1GGGGGGG=CC	NH:i:1	HI:i:1	AS:i:227	nM:i:0	XS:A:+	NM:i:0
+BCR-ABL1-60	2145	22	230961	60	39M111H	9	275110	0	TCATCGTCCACTCAGCCACTGGATTTAAGCAGAGTTCAA	=CCGGCGGGGG=GJJGJGGGCJJCJJGJCGJG(J(JJJG	NH:i:1	HI:i:1	AS:i:38	nM:i:0	ch:A:1	NM:i:0	SA:Z:9,275100,+,39S111M,60,0;
+BCR-ABL1-76	2145	22	230973	60	27M123H	9	275139	0	CAGCCACTGGATTTAAGCAGAGTTCAA	CCCGGGGCGGGCGJJJJJGJJJGJJJJ	NH:i:1	HI:i:1	AS:i:26	nM:i:0	ch:A:1	NM:i:0	SA:Z:9,275100,+,27S123M,60,0;
+BCR-ABL1-28	2209	22	230978	60	22M128H	9	275128	0	ACTGGATTTAAGCAGAGTTCAA	CCCGCGGGGGGGGGJ=GJCGJJ	NH:i:1	HI:i:1	AS:i:21	nM:i:0	ch:A:1	NM:i:0	SA:Z:9,275100,+,22S128M,60,1;
+BCR-ABL1-64	99	9	275097	60	6S144M	=	275140	756	AGAGTTCAAAAGCCCTTCAGCGGCCAGTAGCATCTGACTTTGAGCCTCAGGGTCTGAGTGAAGCCGCTCGTTGGAACTCCAAGGAAAACCTTCTCGCTGGACCCAGTGAAAATGACCCCAACCTTTTCGTTGCACTGTATGATTTTGTGG	CCCGGGGGCGGGGGJJJGJJJGGJJJJJCJJJJGGJJJGJJGJGJG=GGJG=JJJJCGCCC==JGGCGGGCJG1CCCCGG8CGGGGGGGGCCGC=CGCGGJGGGGCGCGGGGGGGGCCGCGGGG=GCGGGGGGG=GGGGCGGGGGGCCGG	NH:i:1	HI:i:1	AS:i:290	nM:i:2	XS:A:+	NM:i:1
+BCR-ABL1-54	99	9	275097	60	61S89M	=	275097	140	CCGGGGCTCTATGGGTTTCTGAATGTCATCGTCCACTCAGCCACTGGATTTAAGCAGAGTTCAAAAGCCCTTGAGCGGCCAGTAGCATCTGACTTTGAGCCTCAGGGTCTGAGTGAAGCCGCTCGTTGGAACTCCAAGGAAAACCTTCTC	CCCGGGGGGGGGGGJJJJJGJ=JJJJJJGJJJGGJJJJJJJCJJG8JJJGJJGJ=GG=JJJGGCGGCGGJGC(GGGGGCGC8CGGCGCCGGC=GGGCGGGJG1GGGGGG1CG=GGGGC=1G1CGGGGGCCGGGGCGG=CC=C=CGGGGG8	NH:i:1	HI:i:1	AS:i:219	nM:i:4	NM:i:2
+BCR-ABL1-54	147	9	275097	60	10S140M	=	275097	-140	AAGCAGAGTTCAAAAGCCCTTCAGCGGCCAGTAGCATCTGACTTTGAGCCTCAGGGTCTGAGTGAAGCCGCTCGTTGGAACTCCAAGGAAAACGTTCTCGCTGGACCCAGTGAAAATGACCCCAACCTTTTCGTTGCACTGTATGATTTT	=GGGGGGGCCCCGCCGGG=G(GGGG=CGCGGCGCCGG=GGGGGCJJJ=GC8C1GGGGGCG8GCCGC=GGG1GCCGGJC8GCGGCGCGJGJJJG1CGJGG=CJJJGGGGJG=CJGJJJJCJCJJGGJJJJJGGJGGJJCGGGGGGGGG=CC	NH:i:1	HI:i:1	AS:i:219	nM:i:4	NM:i:2
+BCR-ABL1-48	163	9	275097	60	3S147M	=	275137	753	GTTCAAAAGCCCTTCAGCGGCCAGTAGCATCTGACTTTGAGCCTCAGGGTCTGAGTGAAGCCGCTCGTTGGAACTCCAAGGAAAACCTTCTCGCTGGACCCAGTGAAAATGACCCCAACCTTTTCGTTGCACTGTATGATTTTGTGGCCA	CCCGGGCGGGGGGGJ1JJJJJJJCJJJCGJJCGGJCJJGJGGJJJGGGCGJJ=GJJJG=JCG=GJGGGC8=GCG=G=GCCGGG1CG1GC=GGG8GGGGG1GCJJCJJCCGGCGCCG=CGCGGGCGG=GCGGG1CGC1CGC=CGGGCGGGG	NH:i:1	HI:i:1	AS:i:295	nM:i:1	XS:A:+	NM:i:1
+BCR-ABL1-2	99	9	275097	60	62S88M	=	275097	134	TCCGGGGCTCTATGGGTTTCTGAATGTCATCGTCCACTCAGCCACTGGATTTAAGCAGAGTTCAAAAGCCCCTCAGCGGCCAGTAGCATCTGACTTTGAGCCTCAGGGTCTGAGTGAAGCCGCTCGTTGGAACTCCAAGGAAAACCTTCT	CCCGGGGGGGGGGGJ1JJJJJJ=JGGGGJJJCGCJJJCJJJJGGCJGGGJCJGGJJGJCGJGG1GCG=CGG(G=CGGG1GGCCGGGGGGGCGGGG=GCCGJGGCGCGGGGCCCG1GGGCCGGG8GGCGGCGG=CC(G=GC1GGCCGGGCG	NH:i:1	HI:i:1	AS:i:214	nM:i:3	NM:i:2
+BCR-ABL1-2	147	9	275097	60	16S134M	=	275097	-134	GGATTTAAGCAGAGTTCAAAAGCCCTTCAGCGGCCAGTAGCATCTGACTTTGAGCCTCAGGGTCTGAGTGAAGCCGCTCGTTGGAACTCCAAGGAAAACCTTCTCGCTGGACCCAGTGAAAATGACCCCAACCTTTTCGTTGCACTGTAT	CGGGC=GGGGG=GGGGGGCCCCG=GG8=8CCGCGGGGGCGCGCJJCJ=CCCCC81GGGGC=GGGC8C8GGCGCGJCCGG8JCCGCC1GGCGGCJGGGJJJGGJJJJJCGGJGCJJJJJJG=JGJGJJJJGJJJGGJGCGCGGGGGGGCCC	NH:i:1	HI:i:1	AS:i:214	nM:i:3	NM:i:1
+BCR-ABL1-76	99	9	275100	60	27S123M	=	275139	752	CAGCCACTGGATTTAAGCAGAGTTCAAAAGCCCTTCAGCGGCCAGTAGCATCTGACTTTGAGCCTCAGGGTCTGAGTGAAGCCGCTCGTTGGAACTCCAAGGAAAACCTTCTCGCTGGACCCAGTGAAAATGACCCCAACCTTTTCGTTG	CCCGGGGCGGGCGJJJJJGJJJGJJJJJJJJJGJ1JCJJGJGGJJJGJJGGJJJ8GGJJGGGJJ=GGCGGGGGG=GGCCGGG8GC=GGGG=GCGGCGGGGJGG=GGGG=GGGGGGGGCGGGGCCGGGCG=GG(G=GCGCCG1CCGGCGGG	NH:i:1	HI:i:1	AS:i:273	nM:i:0	ch:A:1	XS:A:+	NM:i:0	SA:Z:22,230973,+,27M123H,60,0;
+BCR-ABL1-68	99	9	275100	60	1S149M	=	275125	175	AAAGCCCTTCAGCGGCCAGTAGCATCTGACTTTGAGCCTCAGGGTCTGAGTGAAGCCGCTCGTTGGAACTCCAAGGAAAACCTTCTCGCTGGACCCAGTGAAAATGACCCCAACCTTTTCGTTGCACTGTATGATTTTGTGGCCAGTGGA	CC1=GC=GGGGGGJJJJGJJJJJGGJJJJJJJGJJJJJ=(GJGGG8CCGJJ=GJGGGGJGJGJ=GGGCCGCGGCG1CGCGGGGGGGCGCCGCGGCGGGGGJGCC8GCGGGGCGGC=GGGGG=GGGCCC=GCGGGGGGCGCGGGCGGCGCG	NH:i:1	HI:i:1	AS:i:291	nM:i:3	NM:i:0
+BCR-ABL1-60	99	9	275100	60	39S111M	=	275110	160	TCATCGTCCACTCAGCCACTGGATTTAAGCAGAGTTCAAAAGCCCTTCAGCGGCCAGTAGCATCTGACTTTGAGCCTCAGGGTCTGAGTGAAGCCGCTCGTTGGAACTCCAAGGAAAACCTTCTCGCTGGACCCAGTGAAAATGACCCCA	=CCGGCGGGGG=GJJGJGGGCJJCJJGJCGJG(J(JJJGGCGGGJJJGCJGGG1G=JGGJJGCJCCGGJ(JJCCGCC=GCGGGCGGGGG1GGGGCGCGG(JCGCGGGGGGGGGGGGCCGGCGCGCGGGGGGGCGGGGCGG1GGGGGGCGC	NH:i:1	HI:i:1	AS:i:259	nM:i:0	ch:A:1	NM:i:0	SA:Z:22,230961,+,39M111H,60,0;
+BCR-ABL1-28	163	9	275100	60	22S128M	=	275128	741	ACTGGATTTAAGCAGAGTTCAAAAGCCCTTCAGCGGCCAGTAGCATCTGACTTTGAGCCCCAGGGTCTGAGTGAAGCCGCTCGTTGGAACTCCAAGGAAAACCTTCTCGCTGGACCCAGTGAAAATGACCCCAACCTTTTCGTTGCACTG	CCCGCGGGGGGGGGJ=GJCGJJJ1JCJJJJGJJJJJCCJJJJG8JJCC=CGGCGGJGGC(JGGG=GCCGCGCJ8CGGG=GGGCGGGGGCGGCCGGCCGGGCCJ=JC=CGCGCGC1G8GCCGGGGGC=GCGGGCGGGGGGGGGGGGGCGCC	NH:i:1	HI:i:1	AS:i:274	nM:i:2	ch:A:1	XS:A:+	NM:i:1	SA:Z:22,230978,+,22M128H,60,0;
+BCR-ABL1-4	2193	9	275100	60	107H43M	22	230111	0	AAGCCCTTCAGCGGCCAGTAGCATCTGACTTTGAGCCTCAGGG	CJJJ(JJGJGJJJGGJJGJCC1JJCGGJGG=GGGGGGGGGCCC	NH:i:1	HI:i:1	AS:i:42	nM:i:0	ch:A:1	NM:i:0	SA:Z:22,230176,-,32M717N75M43S,60,0;
+BCR-ABL1-60	147	9	275110	60	150M	=	275100	-160	GCGGCCAGTAGCATCTGACTTTGAGCCTCAGGGTCTGAGTGAAGCCGCTCGTTGGAACTCCAAGGAAAACCTTCTCGCTGGACCCAGTGAAAATGACCCCAACCTTTTCGTTGCACTGTATGATTTTGTGGCCAGTGGAGATAACACTCT	GCGGCCCGCGG=GG8GGCGGGGCCGCC=GCGCGGCG1GGCGG1JCJJ8CCCG=GGGGGGCG=GCGGGG18CCGCG=GGGG1CGG8C=GGGGCGGCJGJGJGJGJJGGJGJJJGJGJJJGGJC(JJJGJJJGJCJJGCGGGGGCGGGGCC=	NH:i:1	HI:i:1	AS:i:259	nM:i:0	ch:A:1	NM:i:0
+BCR-ABL1-68	147	9	275125	60	150M	=	275100	-175	TGACTTTGAGCCTCAGGGTCTAAGTGAAGCCGCTCGTAGGAACTCCAAGGAAAACCTTCTCGGTGGACCCAGTGAAAATGACCCCAACCTTTTCGTTGCACTGTATGATTTTGTGGCCAGTGGAGATAACACTCTAAGCATAACTAAAGG	G=CGGCGGGCCGCGCGGCCGG8GCCGCC(GGC=8=GGG=GGGCJ1=JJCCGGGCGGGGGGGG=GCGGGGCGCG==GGCGGGGGJGCCJJGGCCG=GCCCGGJCGGJJJJJ=GJJJJGJCJ=GCJGJGJJJC1GGJJJGGG=GG1GGGCCC	NH:i:1	HI:i:1	AS:i:291	nM:i:3	NM:i:3
+BCR-ABL1-50	99	9	275125	60	150M	=	275169	757	TGACTTTGAGCCTCAGGGTCTGAGTGAAGCCGCTCGTTGGAACTCCAAGGAAAACCTTCTCGCTGGACCCAGTGAAAATGACCCCAACCTTTTCGTTGCACTGTATGATTTTGTGGCCAGTGGAGATAACACTCTAAGCATAACTAAAGG	CC1GGCGCGGGG=JGCJJJJJGJJJGJJGGJJGJJ8JGCGJJJJJJ8CJJGJJCGJGGGGJJCCG=CGGGGGCCCG=CGGCCGCGGGGGCGG=GGGGGGGCCGGG==GGGGGCCGG=GGGGCCG=GGGGGCCC=GGCGGGGCCGGCCGGG	NH:i:1	HI:i:1	AS:i:300	nM:i:0	XS:A:+	NM:i:0
+BCR-ABL1-28	83	9	275128	60	146M563N4M	=	275100	-741	CTTTGAGCCTCAAGGTCTGAGTGAAGCCGCTCGTTGGAACTCCAAGGAAAACCTTCTCGCTGGACCCAGTGAAAATGACCCCAACCTTTTCGTTGCACTGTATGATTTTGTGGCCAGTGGAGATAACACTCTAAGCATAACTAAAGGTGA	GGGGGCGGGG=C1=8GGCGCGGGCGCGGGGG=GC=GGGGCG1CCCGCGGCCGGGC=GG=GGGGGCCGGGGCGGGCGJJGGGGCGGJ1JGGGGCGGJGJGGJJJCGGCJJCGJ=GJGCGGJJJJGGJJG1JJJGG1JJ=GGCGCGGG1CCC	NH:i:1	HI:i:1	AS:i:274	nM:i:2	ch:A:1	XS:A:+	NM:i:1
+BCR-ABL1-48	83	9	275137	60	137M563N13M	=	275097	-753	TCAGGGTCTGAGTGAAGCCGCTCGTTGGAACTCCAAGGAAAACCTTCTCGCTGGACCCAGTGAAAATGACCCCAACCTTTTCGTTGCACTGTATGATTTTGTGGCCAGTGGAGATAACACTCTAAGCATAACTAAAGGTGAAAAGCTCCG	GGGCGGCGCGGGG8GGGGGCGGCGGGCG1GCGCGG8GCGGCGC1G8CCGCGCGGCCGGGGGCGCCGCC1=CCCCGCCJCGGGGGGJJGJC=CCJ8JJC=JJCGCJJJGJJJJJJJJJJGJJGGGCJJJJJJJGJGJGCGGCGGGCGC=C1	NH:i:1	HI:i:1	AS:i:295	nM:i:1	XS:A:+	NM:i:0
+BCR-ABL1-76	147	9	275139	60	135M563N15M	=	275100	-752	AGGGTCTGAGTGAAGCCGCTCGTTGGAACTCCAAGGAAAACCTTCTCGCTGGACCCAGTGAAAATGACCCCAACCTTTTCGTTGCACTGTATGATTTTGTGGCCAGTGGAGATAACACTCTAAGCATAACTAAAGGTGAAAAGCTCCGGG	CGGCGGGGCGGGGGGCGCCGCGCGGGGC=GGCGCCGCGCGGGCJJCJC1GGGGG=GCGGGGG=GGGGGGGGGGGGGCGGCGGGGGGJGJCGJGGJGJCJGJJJJJG8JJCJGG1JJJJJJJG8(JJJJJGJJJGJJJGGGGGGGG1GCCC	NH:i:1	HI:i:1	AS:i:273	nM:i:0	ch:A:1	XS:A:+	NM:i:0
+BCR-ABL1-64	147	9	275140	60	134M563N16M	=	275097	-756	GGGTCTGAGTGAAGCCGCTCGTTGGAACTCCAAGGAAAACCTTCTCGCTGGACCCAGTGAAAATGACCCCAACCTTTTCGTTGCACTGTATGATTGTGTGGCCAGTGGAGATAACACTCTAAGCATAACTAAAGGTGAAAAGCTCCGGGT	C=GGGGGCGGCGGGGGGC=GGGGC1CG=1=GGGCCC=GGGCGCCCCJJGCGCGGGGCGGCGCGCCGCCGCGGGGGCGC1GGGGG=GG1CGJGJJJ(CCGGJJGCGJGJGJJJGGGCGJGJJJJJJJJJGJGJGJJJCGCGGGGGGGGCCC	NH:i:1	HI:i:1	AS:i:290	nM:i:2	XS:A:+	NM:i:1
+BCR-ABL1-14	99	9	275146	60	128M563N22M	=	275170	737	GAGTGAAGCCGCTCGTTGGAACTCCAAGGAAAACCTTCTCGCTGGACCCAGTGAAAATGACCCCAACCTTTTCGTTGCACTGTATGATTTTGTGGCCAGTGGAGATAACACTCTAAGCATAACTAAAGGTGAAAAGCTCCGGGTCTTAGG	CC=GGGGGGGGGGJGJJCJGJJJGG1JJGJ=JGGGJJJJGGJJJGCJJCGJJGC=GCJGGJGGCGGGCCGGGCGGCGCGGGGGGGGGGGGCC8GGGGCGCJCGGGCCCGCG8GGGGCGGGCGGCGGGGGGCGGGGGCGGG=GGGGGGCCG	NH:i:1	HI:i:1	AS:i:302	nM:i:0	XS:A:+	NM:i:0
+BCR-ABL1-78	99	9	275151	60	123M563N27M	=	275200	762	AAGCCGCTCGTTGGAACTCCAAGGAAAACCTTCTCGCTGGACCCAGTGAAAATGACCCCAACCTTTTCGTTGCACTGTATGATTTTGTGGCCAGTGGAGATAACACTCTAAGCATAACTAAAGGTGAAAAGCTCCGGGTCTTAGGCTATA	CC=1G=GGGGCGGJJJJGJJGG8JJCJGJGJJ8JJJJGJCGJGJJ=JGGGCGJCJCGGG=JJJJGGG=JGC=GGGCGGGGGGCGGCG=GCCGGGGGGCGGJCGCCGCGGGGGGGCCGGGGCGCCGGG=GGGCGCGGGGCGGGCCGGGGGG	NH:i:1	HI:i:1	AS:i:302	nM:i:0	XS:A:+	NM:i:0
+BCR-ABL1-62	163	9	275157	60	117M563N33M	=	275215	771	CTCGTTGGAACTCCAAGGAAAACCTTCTCGCTGGACCCAGTGAAAATGACCCCAACCTTTTCGTTGCACTGTATGATTTTGTGGCCAGTGGAGATAACACTCTAAGCATAACTAAAGGTGAAAAGCTCCGGGTCTTAGGCTATAATCACA	CCCCGGGGGGGGCJGGGJJGJJJJJJJ=GJJCJJGJCJGJCGCGCGGGCCJGJCGJ81JC1GGGGGCG8GGCGGGGCG1C1GGGGCGGCGCCCGGG=GC=CGCJJJJGGGGGCGGCGC=8GCCGGGGGGGG=GCG=1GGGCGGGCGG1CG	NH:i:1	HI:i:1	AS:i:300	nM:i:1	XS:A:+	NM:i:0
+BCR-ABL1-50	147	9	275169	60	105M563N45M	=	275125	-757	CCAAGGAAAACCTTCTCGCTGGACCCAGTGAAAATGACCCCAACCTTTTCGTTGCACTGTATGATTTTGTGGCCAGTGGAGATAACACTCTAAGCATAACTAAAGGTGAAAAGCTCCGGGTCTTAGGCTATAATCACAATGGGGAATGGT	CCGCCCGGGGGCGGGG1GCGGGGGGC8CGG=CGGCCC=CGGGCCJ(JJ=GGCGCGGGGCGGGGGCC8GCCCGGCGCGGGJ8GGGGCC1JJGJCGGJJJGJG8JJGJJJJCJJJGGJGGGCJGGJJJJGGGJJJ=CJCGG=GCGGGGG=CC	NH:i:1	HI:i:1	AS:i:300	nM:i:0	XS:A:+	NM:i:0
+BCR-ABL1-14	147	9	275170	60	104M563N46M	=	275146	-737	CAAGGAAAACCTTCTCGCTGGACCCAGTGAAAATGACCCCAACCTTTTCGTTGCACTGTATGATTTTGTGGCCAGTGGAGATAACACTCTAAGCATAACTAAAGGTGAAAAGCTCCGGGTCTTAGGCTATAATCACAATGGGGAATGGTG	1CGGGGGCGGCCGG1CG=GGGGGGGCGGGGGCCGGG1CGCGCCJJJJJCG1CGGGCCGCGGGGGGGGGGGGCGGGGGGGCCGGGCGJJGG=JJ(J18GJCJGJ8JJGGJ=JJGJJGGGJJJ=JJJJCJJJJJJJJJGGGGGGG1GGGCCC	NH:i:1	HI:i:1	AS:i:302	nM:i:0	XS:A:+	NM:i:0
+BCR-ABL1-20	163	9	275172	60	102M563N48M	=	275219	760	AGGAAAACCTTCTCGCTGGACCCAGTGAAAATGACCCCAACCTTTTCGTTGCACTGTATGATTTTGTGGCCAGTGGAGATAACACTCTAAGCATAACTAAAGGTGAAAAGCTCCGGGTCTTAGGCTATAATCACAATGGGGAATGGTGTG	CC=GGGGGGGGGGJJGJJJJJJCJJ=JJJJGGGGJCJJGCGCGJGGCCCJJJGJJJJCGGJG=GGJGGGGGJGJGCCGGGGCCG=GG=C=G=GGCCGGGCGCCCC=JG11GGCCGCCCGCGCC8CGGGGCC1CGCGGG=GG=CCC1GGCG	NH:i:1	HI:i:1	AS:i:302	nM:i:0	XS:A:+	NM:i:0
+BCR-ABL1-26	163	9	275174	60	100M563N50M	=	275216	755	GAAAACCTTCTCGCTGGACCCAGTGAAAATGACCCCAACCTTTTCGTTGCACTGTATGATTTTGTGGCCAGTGGAGATAACACTCTAAGCATAACTAAAGGTGCAAAGCTCCGGGTCTTAGGCTATAATCACAATGGGGAATGGTGTGAA	C1CGGGCGGGGGGJJJ=JJGGCGGGJJGJJGGJGGJJGJCJGJJ=GGCJJGJJGGCGCGCGGG=JGGG8GGGGCGGGGGCGCCCGGGCGGGCCCCCG=GGGCJ(JCJ=GGCCGGGGGGGGGGGGGCCGCGGGCCGGGGGCGCGGGGGGGG	NH:i:1	HI:i:1	AS:i:298	nM:i:2	XS:A:+	NM:i:1
+BCR-ABL1-34	99	9	275183	60	91M563N59M	=	275223	753	CTCGCTGGACCCAGTGAAAATGACCCCAACCTTTTCGTTGCCCTGTATGATTTTGTGGCCAGTGGAGATAACACTCTAAGCATAACTAAAGGTGAAAAGCTCCGGGTCTTAGGCTATAATCACAATGGGGAATGGTGTGAAGCCCAAACC	CCCGGGGGGGGGGJJJJJGJGJJGG=JJJJJJGJJJGJGJC1JGGGJGGJJGGGJJGG=GCGJGGJCGGGGGGCG=GGCGG1CGGGG=CGGCCGGGCGGGJ88=CGCG=GGGGGC=GGCGGGGG1GGCCGGGG1GGGCGGGGCCCGCGGC	NH:i:1	HI:i:1	AS:i:300	nM:i:1	XS:A:+	NM:i:1
+BCR-ABL1-80	99	9	275199	60	75M563N75M	=	275250	764	AAAATGACCCCAACCTTTTCGTTGCACTGTATGATTTTGTGGCCAGTGGAGATAACACTCTAAGCATAACTAAAGGTGAAAAGCTCCGGGTCTTAGGCTATAATCACAATGGGGAATGGTGTGAAGCCCAAACCAAAACTGGCCAAGGCT	CC=GGGGGGGGGGJJJJCJCJJJJJJGGGJJJCJGCCJJJJJ=JCGJJJ=J8JGJGJ=J=JGG=CJCCGG1GG=CGGG=8GG=GCGCCGGCGCGGGG8GGJG1CGCGCCGCCGCGG=GGGGCGCGGGGGG=G==GGCC(GGCGGGGCGCC	NH:i:1	HI:i:1	AS:i:300	nM:i:1	XS:A:+	NM:i:1
+BCR-ABL1-8	163	9	275199	60	75M563N75M	=	275246	760	AAAATGACCCCAACCTTTTCGTTGCACTGTATGATTTTGTGGCCAGTGGAGATAACACTCTAAGCATAACTAAAGGTGAAAAGCTCCGGGTCTTAGGCTATAATCACAATGGGGAATGGTGTGAAGCCCAAACCAAAAATGGCCAAGGCT	=C=GG(1GGGGGGJGGJGCCJJCJJJJJJ=GJGGJJGJ=JJGCGCGJJJJJGGJ1GGJJG8C8GGG=GCCG8GGGG1=CGG88CG=GG8GG=GGGCGG8GGCJ18CJ=CGGCGGGG1CC=GCCGCGGG=GGGCGGCGCC8GCCGCGCCGG	NH:i:1	HI:i:1	AS:i:302	nM:i:0	XS:A:+	NM:i:0
+BCR-ABL1-78	147	9	275200	60	74M563N76M	=	275151	-762	AAATGACCCCAACCTTTTCGTTGCACTGTATGATTTTGTGGCCAGTGGAGATAACACTCTAAGCATAACTAAAGGTGAAAAGCTCCGGGTCTTAGGCTATAATCACAATGGGGAATGGTGTGAAGCCCAAACCAAAAATGGCCAAGGCTG	GGGGGCG8GGGGGGGCCGCGG=GCCGCGCGCGGGGGGGC=GCGJ88JJ=CGCGGGG=CGGGGG(GG=G(CCGCGGCJGJGGGCCGGCCJJGGJJJGJJGG1G(JJJGCGJJG=J=GJJJGJJJJJ=CGJJJGJGGJJGGCGGCGGGGCCC	NH:i:1	HI:i:1	AS:i:302	nM:i:0	XS:A:+	NM:i:0
+BCR-ABL1-42	163	9	275204	60	70M563N80M	=	275245	754	GACCCCAACCTTTTCGTTGCACTGTATGATTTTGTGGCCAGTGGAGATAACACTCTAAGCATAACTAAAGGTGAAAAGCTCCGGGTCTTAGGCTATAATCACAATGGGGAATGGTGTGAAGCCCAAACCAAAAATGGCCAAGGCTGGGTC	CC=GGGGGGGGGGGGJJJGGJJJ=JJJGGGJJGJGCJJJJ(GJGJJCCJGGGJCGJGGJJJGG=G1C8GCGGGG18GCC=GGGGGCCCGC1GGGGCGGCGG=CCJCCGGG==GGGGGGGG1G(GGG=C=GGGG88=CC=GGCGGGGCGGG	NH:i:1	HI:i:1	AS:i:302	nM:i:0	XS:A:+	NM:i:0
+BCR-ABL1-62	83	9	275215	60	59M563N91M	=	275157	-771	TTTCGTTGCACTGTATGATTTTGTGGCCGGTGGAGATAACACTCTAAGCATAACTAAAGGTGAAAAGCTCCGGGTCTTAGGCTATAATCACAATGGGGAATGGTGTGAAGCCCAAACCAAAAATGGCCAAGGCTGGGTCCCAAGCAACTA	GCCC1CCCCCGCGCCC=GGGGGGCCGGC8CGGC1GGC=CGGGGCCCGGC8GCC=GCGGGCGGGGGGGCCGJGGGGGGGGGJGG=GJGCGJGGJ=JJGJGJCG=JJJJGJJJJGJJJGJJGCGJCJ=JJJJJGJGGJJGGGGCGGGGGCCC	NH:i:1	HI:i:1	AS:i:300	nM:i:1	XS:A:+	NM:i:1
+BCR-ABL1-26	83	9	275216	60	58M563N92M	=	275174	-755	TTCGTTGTACTGTATGATTTTGTGGCCAGTGGAGATAACACTCTAAGCATAACTAAAGGTGAAAAGCTCCGGGTCTTAGGCTATAATCACAATGGGGAATGGTGTGAAGCCCAAACCAAAAATGGCCAAGGCTGGGTCCCAAGCAACTAC	CGGGGGC(GGGCGGCGCCGGGCGGCGCCGGGCGCGGGGCGGC==GGCCG=1GCCGGCGGCGGGCCCGGG=GGGCGCCCCJJGCCC1GJJCJGGGJJJG8JGG=GJJ=GGJJJJCJGCCGJJJJJJGJJJJJGGJGJJGGGGGGGCGCCCC	NH:i:1	HI:i:1	AS:i:298	nM:i:2	XS:A:+	NM:i:1
+BCR-ABL1-44	163	9	275217	60	57M563N93M	=	275260	756	TCGTTGCACTGTATGATTTTGTGGCCAGTGGAGATAACACTCTAAGCATAACTAAAGGTGAAAAGCTCCGGGTCTTAGGCTATAATCACAATGGGGAATGGTGTGAAGCCCAAACCAAAAATGGCCAAGGCTGGGTCCCAAGCAACTACA	C=CGGGGGGCGGGJJJJJGJGJJJJJ1JJJJJJ1JJJGCGGG=JGJGJGGJGGCGGCGJGCJG=JJGGCJCGCCCGGGGCCCGGGC=GG=CGGGGGGGGGGGCJJJJGC=GGGGCGGCGGC=CCGG8GGGCGCGGCCCGGCG=GGCGGGC	NH:i:1	HI:i:1	AS:i:302	nM:i:0	XS:A:+	NM:i:0
+BCR-ABL1-40	99	9	275219	60	55M563N94M1S	=	275838	769	GTTGCACTGTATGATTTTGTGGCCCGTGGAGATAACACTCTAAGCATAACTAAAGGTGAAAAGCTCCGGGTCTTAGGCTATAATCACAATGGGGAATGGTGTGAAGCCCAAACCAAAAATGGCCAAGGCTGGGTCCCAAGCAACTACATG	CCCCGGGGGGCGGJJJJGGJCJJJ(GJJ=JJJJJCJJJGGGGJJJGGGJJCJJJGJCJCCJJ(CJ=CGGGJ=GGGCJCGGGGCGGGCGGGGGCGGCGGGGCCGGCGCCGGGGGGCCGCGGGGGGGG=GGGCGG=GGGGGCGGG8G=CGG1	NH:i:1	HI:i:1	AS:i:297	nM:i:1	XS:A:+	NM:i:1
+BCR-ABL1-20	83	9	275219	60	55M563N95M	=	275172	-760	GTTGCACTGTATGATTTTGTGGCCAGTGGAGATAACACTCTAAGCATAACTAAAGGTGAAAAGCTCCGGGTCTTAGGCTATAATCACAATGGGGAATGGTGTGAAGCCCAAACCAAAAATGGCCAAGGCTGGGTCCCAAGCAACTACATC	GCG=GGGCC8GCCGCGGGGGGG=GGCCGGCGGGGCCGGGCGG8CGGCGGJGCGGCGGGGGGCGG=GGG1GCGGGGGGGGGC==JJGG=GGGCCJGGGGGGJJJJJGCCGJJGGJGJCJJCJJJJJGGJJJJGJJJJ1GGGGGGGGGGCCC	NH:i:1	HI:i:1	AS:i:302	nM:i:0	XS:A:+	NM:i:0
+BCR-ABL1-34	147	9	275223	60	51M563N99M	=	275183	-753	CACTGTATGATTTTGTGGCCAGTGGAGATAACACTCTAAGCATAACTAAAGGTGAAAAGCTCCGGGTCTTAGGCTATAATCACAATGGGGAATGGTGTGAAGCCCAAACCAAAAATGGCCAAGGCTGGGTCCCAAGCAACTACATCACGC	CGGG8GCC=GGGCGGGGGGCGGGGG=GGGGGGGCGGCGCGGGGJJJJCCCGC1GGGGG8GGCC=GGGGGGGGGGGCCGGCCCG=GCJJJGGGGGG81J8=CGJGGGGJGJJCJGGJGGJGCCJJGJJJJJCJJJJGJGGGCGGGG=GCCC	NH:i:1	HI:i:1	AS:i:300	nM:i:1	XS:A:+	NM:i:0
+BCR-ABL1-22	99	9	275237	60	37M563N113M	=	275864	777	GTGGCCAGTGGAGATAACACTCTAAGCATAACTAAAGGTGAAAAGCTCCGGGTCTTAGGCTATAATCACAATGGGGAATGGTGTGAAGCCCAAACCAAAAATGGCCAAGGCTGGGTCCCAAGCAACTACATCACGCCAGTCAACAGTCTG	CC1GGGGGCGGGGGGCJJGCGJCJJJJJJJJGJJJJGJJGGG1JGCJJCJJGJJJJJGGGGJGJJCGJJGCC8CGGCGCGGCGCCG1GGCCCCGC=GG=GJCGGGGCGCG=GGGGGCGGC=CGGGGGGGGGCGGCCCGGG(G8GGGGGGG	NH:i:1	HI:i:1	AS:i:300	nM:i:0	XS:A:+	NM:i:0
+BCR-ABL1-42	83	9	275245	60	29M563N121M	=	275204	-754	TGGAGATAACACTCTAAGCATAACTAAAGGTGAAAAGCTCCGGGTCTTAGGCTATAATCACAATGGGGAATGGTGTGAAGCCCAAACCAAAAATGGCCAAGGCTGGGTCCCAAGCAACTACATCACGCCAGTCAACAGTCTGGAGAAACA	GGGCGGGCGCCGGGGGCGGGGGG=CGGGGC1CGCGGGCG=GGCG=GGCCCGGGGCGCGGCGGCCGGGGGGG(GG=GGG=GGGCCGGJJGJJ=GGGGGJJGCGJGGJJJJJJGCJGJGG(GGJJJGJJJJJJJ8GJJJCGGGGCGG1G1CC	NH:i:1	HI:i:1	AS:i:302	nM:i:0	XS:A:+	NM:i:0
+BCR-ABL1-8	83	9	275246	60	28M563N122M	=	275199	-760	GGAGATAACACTCTAAGCATAACTAAAGGTGAAAAGCTCCGGGTCTTAGGCTATAATCACAATGGGGAATGGTGTGAAGCCCAAACCAAAAATGGCCAAGGCTGGGTCCCAAGCAACTACATCACGCCAGTCAACAGTCTGGAGAAACAC	G=GGCGGGGG=GGGGGGGCCGCCGCGCGGCCGGCGGGCCGGCGGCGGGGJGG=GGGGGGGC=GCGGGCCCG=JGCG=GGGJGGGJGJGGGJCGCGCGGJGGJJJJJJGJGJGJJJG1JJJJJJJJGJCGGJJJJJJCGGGGGGGGCGCCC	NH:i:1	HI:i:1	AS:i:302	nM:i:0	XS:A:+	NM:i:0
+BCR-ABL1-80	147	9	275250	60	24M563N126M	=	275199	-764	ATAACACTCTAAGCATAACTAAAGGTGAAAAGCTCCGGGTCTTAGGCTATAATCACAATGGGGAATGGTGTGAAGCCCAAACCAAAAATGGCCAAGGCTGGGTCCCAAGCAACTACATCACGCCAGTCAACAGTCTGGAGAAACACTCCT	CCCCCGGCC8GCG=CGCGCGGG(GGGGGGGGC=GGG=GG=CGCJJJJJGGGGC==G8CGGG=GCGGC1GGGC(GG=G=GGCGJC8GCGJGJCGCJGJGCGJGJJJGGJJGJGJCJJJJGJGJJJGGJJJJJJGJJJJ8GGGGGGGGGCCC	NH:i:1	HI:i:1	AS:i:300	nM:i:1	XS:A:+	NM:i:0
+BCR-ABL1-30	163	9	275254	60	20M563N130M	=	275867	763	CACTCTAAGCATAACTAAAGGTGAAAAGCACCGGGTCTTAGGCTATAATCACAATGGGGAATGGTGTGAAGCCCAAACCAAAAATGGCCAAGGCTGGGTCCCAAGCAACTACATCACGCCAGTCAACAGTCTGGAGAAACACTCCTGGTA	CCCGG1GGGGGGGJGJCJGJGJJJ(JGJJ(JGJGC=GJJJGJJGGJGGJJJJGGJGGCCCCJG8CG=GCJCGGGJ=GCGJ1CGGGGCCGCG8CG=GGCGGC(CJJC=CGGCGG(CGGGGGGCGCCGG=GC1GCGG=G1CGGCCCCG===8	NH:i:1	HI:i:1	AS:i:298	nM:i:1	XS:A:+	NM:i:1
+BCR-ABL1-52	99	9	275256	60	18M563N132M	=	275877	771	CTCTAAGCATAACTAAAGGTGAAAAGCTCCGGGTCCTAGGCTATAATCACAATGGGGAATGGTGTGAAGCCCAAACCAAAAATGGCCAAGGCTGGGTCCCAAGCAACTACATCACGCCAGTCAACAGTCTGGAGAAACACTCCTGGTACC	CCCGGGGGGGGGGGJJGCGJGG8GJJJGJJGJG=G=JJGGCJGGGGGJGGJJGJJGJGGGCJ=GJGGGCGJCGGGGGGG8CGGGGGGC=GGCGGGGCGCGJCGCGCCCCGCG11GGGGGGGGGGGGGGCCCGGGGCCGGCGGGGGCGGCG	NH:i:1	HI:i:1	AS:i:298	nM:i:1	XS:A:+	NM:i:1
+BCR-ABL1-44	83	9	275260	60	14M563N136M	=	275217	-756	AAGCATAACTAAAGGTGAAAAGCTCCGGGTCTTAGGCTATAATCACAATGGGGAATGGTGTGAAGCCCAAACCAAAAATGGCCAAGGCTGGGTCCCAAGCAACTACATCACGCCAGTCAACAGTCTGGAGAAACACTCCTGGTACCATGG	CGGGCGCGGGGCGCGGGGGCGGGGGGGGGCGGGGGGGG=G1GGGCGCGGCGCGGGGGGGCGGCGCCGCGGC==GGG=1GGG=CJJGCGJGJJJCGCJJ8GJJGGGJJGGJJJGJJGJJJGJJJJJJCJGJ=GGJJ=JGGGGGCGGCGCCC	NH:i:1	HI:i:1	AS:i:302	nM:i:0	XS:A:+	NM:i:0
+BCR-ABL1-40	147	9	275838	60	150M	=	275219	-769	TGAAAAGCTCCGGGTCTTAGGCTATAATCACAATGGGGAATGGTGTGAAGCCCAAACCAAAAATGGCCAAGGCTGGGTCCCAAGCAACTACATCACGCCAGTCAACAGTCTGGAGAAACACTCCTGGTACCATGGGCCTGTGTCCCGCAA	=GCCGGGGCGGGG=GG1G8G=G(GGCGGGGGGGGC1C=GCGG=J8JJ1GGGGGGGGGGGGGGGGGC=1G8CGGCJ8GC1GGCGCCGJG1GGJGGJGJ8JJCJJJGJ8GGJJJ=JGJJG=CGG=JJJJJJJ8JJ=JJGGGGGGGGGCGC=C	NH:i:1	HI:i:1	AS:i:297	nM:i:1	XS:A:+	NM:i:0
+BCR-ABL1-16	163	9	275840	60	150M	=	275888	198	AAAAGCTCCGGGTCTTAGGCTATAATCACAATGGGGAATGGTGTGAAGCCCAAACCAAAAATGGCCAAGGCTGGGTCCCAAGCAACTACATCACGCCAGTCACCAGTCTGGAGAAACACTCCTGGTACCATGGGCCTGTGTCCCGCAATG	CC8GGG1CCGGGCCJJGJG(JJJJJ(JGJCJGJJJJJJJJGGJGJGJJCCJJJGJGGGGCGGG=C=JGJJG=C8GGGCGGGGGC(GGCGCGCGGCG(CGG=1(C=JCGGGCCGGGGGCGCGGGCGGCGGGCGGCCGGGGGGGG8GGGCGC	NH:i:1	HI:i:1	AS:i:296	nM:i:1	NM:i:1
+BCR-ABL1-6	99	9	275846	60	150M	=	275903	207	TCCGGGTCTTAGGCTATAATCACAATGGGGAATGGTGTGAAGCCCAAACCAAAAATGGCCAAGGCTGGGTCCCAAGCAACTACATCACGCCAGTCAACAGTCTGGAGAAACACTCCTGGTACCATGGGCCTGTGTCCCGCAATGCCGCTG	CCCGGGGGGCGGGGJJGJGJ=JJJJJJJJJJGJGGJJJGGJC=GGGGJ=GGCJJJGCGJGJGJJGJGCGJGGJGJCGCGGGGGGGGGG8GC8GC8G=GGGJ=GCGGGGGCCGCCGGGGGGGG1G1=GCGC81CGGGGGCCCGGGGGCGGG	NH:i:1	HI:i:1	AS:i:298	nM:i:0	NM:i:0
+BCR-ABL1-32	99	9	275850	60	150M	=	275894	194	GGTCTTAGGCTATAATCACAATGGGGAATGGTGTGAAGCCCAAACCAAAAATGGCCAAGGCTGGGTCCCAAGCAACTACATCACGCCAGTCAACAGTCTGGAGAAACACTCCTGGTACCATGGGCCTGTGTCCCGCAATGCCGCTGAGTA	CCCGGGGGGGGGGJJGGJJJ=JJGJ8JGJ=JGJG=GGGJGCCJJJC=J8JJ=GCCJC8JC=GGGJGG(GGCJGGGG1GC=GJ=GCCGGCCGGG=GGGGGGJGCGGCGG=CGGCGCG=GGC=CGGGGCCGGGGGGCCCCGCCGGGCCGGGG	NH:i:1	HI:i:1	AS:i:298	nM:i:0	NM:i:0
+BCR-ABL1-38	163	9	275854	60	150M	=	275900	196	TTAGGCTATAATCACAATGGGGAATGGTGTGAAGCCCAAACCAAAAATGGCCAAGGCTGGGTCCCAAGCAACTACATCACGCCAGTCAACAGTCTGGAGAAACACTCCTGGTACCATGGGCCTGTGTCCCGCAATGCCGCTGAGTATCTG	CCCGCGGGGGGGG=GGJGJGJJJ1=GGCJJJCGJ=GJJJGGCJGGCGJGGJJCGJCGJGGG=GGGGJCGGGGGGJGGGGGGGGG8C=G=GCGG==CG8GCG=JCJJCCGG8CGGCGGCCGGGCCGCGGCGGG=GCGGCGG=8CGGCGCG=	NH:i:1	HI:i:1	AS:i:298	nM:i:0	NM:i:0
+BCR-ABL1-22	147	9	275864	60	150M	=	275237	-777	ATCACAATGGGGAATGGTGTGAAGCCCAAACCAAAAATGGCCAAGGCTGGGTCCCAAGCAACTACATCACGCCAGTCAACAGTCTGGAGAAACACTCCTGGTACCATGGGCCTGTGTCCCGCAATGCCGCTGAGTATCTGCTGAGCAGCG	GGG1C8GGG=C=GGGCGCGG=GG=GCGGGGCGGGCGCGGGCGGJ1CCJCCC8GCC=GGCGGGGGGGCGCGCGGGCCGJGCGJGJGGJGCJGGGGGCGGGJ(JCGGGJJJJJJG=1GGJJJGJJJGGJJJJJJGJ1JJGG=GGGGGCGCCC	NH:i:1	HI:i:1	AS:i:300	nM:i:0	XS:A:+	NM:i:0
+BCR-ABL1-30	83	9	275867	60	150M	=	275254	-763	ACAATGGGGAATGGTGTGAAGCCCAAACCAAAAATGGCCAAGGCTGGGTCCCAAGCAACTACATCACGCCAGTCAACAGTCTGGAGAAACACTCCTGGTACCATGGGCCTGTGTCCCGCAATGCCGCTGAGTATCTGCTGAGCAGCGGGA	CG8GC==GCGCCGGGGGGG8=CGGGGGC=CGGCGGGGGCG=GGGC=GCCJGGGGCGGCGCGGGGCGCGGGCCCGJGGG8(8GC8GCGCGCJGGGGGGJGGGJGJJJJJGJJJJCGGJJGJJJ=JJJJGGJ=JJJJGGGGGGGGGGGGCCC	NH:i:1	HI:i:1	AS:i:298	nM:i:1	XS:A:+	NM:i:0
+BCR-ABL1-36	99	9	275872	60	150M	=	275919	197	GGGGAATGGTGTGAAGCCCAAACCAAAAATGGCCAAGGCTGGGTCCCAAGCAACTACATCACGCCAGTCAACAGTCTGGAGAAACACTCCTGGTACCATGGGCCTGTGTCCCGCAATGCCGCTGAGTATCTGCTGAGCAGCGGGATCAAT	CCCGGGGGGGGGGJJJGGJJ=JJJJGJJJJJ=GGJJJCJ=JGGGJGGJGJJGGGGCGCG=JGCCGJGCJGCGGGJGGCGCG1GJGC=8GGCCCCGG8CCGJCCGGGCGGGCGGGGGCG1GCCGGCGGGGGCCCGGCCCG(G8GC8=CCGC	NH:i:1	HI:i:1	AS:i:298	nM:i:0	NM:i:0
+BCR-ABL1-70	163	9	275874	60	150M	=	275911	187	GGAATGGTGTGAAGCCCAAACCAAAAATGGCCAAGGCTGGGTCCCAAGCAACTACATCACGCCAGTCAACAGTCTGGAGAAACACTCCTGGTACCATGGGCCTGTGTCCCGCAATGCCGCTGAGTATCTGCTGAGCAGCGGGATCAATGG	CCCGGG==GGGGGJJJJJJJJJJJ=GJ8J=GJGJGJGGJCCJJJCGG1=GJGJG18JG=GGGC1GGGJ8GCCC1=CCGCGGG(GC1GCG1GCCGC8GG1GG=JJCJ1GGCGCCGCG(CGGCGGGGGG(GGGGGGCGCCGGGGCGCGCCG=	NH:i:1	HI:i:1	AS:i:298	nM:i:0	NM:i:0
+BCR-ABL1-52	147	9	275877	60	150M	=	275256	-771	ATGGTGTGAAGCCCAAACCAAAAATGGCCAAGGCTGGGTCCCAAGCAACTACATCACGCCAGTCAACAGTCTGGAGAAACACTCCTGGTACCATGGGCCTGTGTCCCGCAATGCCGCTGAGTATCTGCTGAGCAGCGGGATCAATGGCAG	CG=GGGGC(CGGGGGGGCCGCGCCGGGGG=GGCC8CGGCCCCCCJ=CJ=GGGGGGGGCG=GGGGCG(GC1GGGC=GJCCCGJ=88GJGGJGJGCJGGJJGGJJJGJJJJGCGJJGGJ(GJGGJCJJJCJJJJJ=(JJGGGGGGGGGCCCC	NH:i:1	HI:i:1	AS:i:298	nM:i:1	XS:A:+	NM:i:0
+BCR-ABL1-56	99	9	275885	60	150M	=	275928	193	AAGCCCAAACCAAAAATGGCCAAGGCTGGGTCCCAAGCAACTACATCACGCCAGTCAACAGTCTGGAGAAACACTCCTGGTACCATGGGCCTGTGTCCCGCAATGCCGCTGAGTATCTGCTGAGCAGCGGGATCAATGGCAGCTTCTTGG	=CCGC=GGGGGG1JJJGJGJJJCJJCGJJJJJJJJJJCGJJJJJJGGCCJ1JGCGGCGJ8GG(CJGJGJCGGCGG1CC=CG=GCC=GGGGG=GGCGCCG1CGGGGGGG1GGGGGCGGGCGCGGCGG811G8CCGGGGCGGGGGCCG=CGC	NH:i:1	HI:i:1	AS:i:298	nM:i:0	NM:i:0
+BCR-ABL1-16	83	9	275888	60	150M	=	275840	-198	CCCAAACCAAAAATGGCCAAGGCTGGGTCCCAAGCAACTACATCACGCCAGTCAACAGTCTGGAGAAACACTCCTGGTACCATGGGCCTGTGTCCCGCAATGCCGCTGAGTATCTGCTGAGCAGCGGGATCAATGGCAGCTTCTTGGTGC	CGGGGGG=GGCGGGCGGGGGGGCGGGGCGGGGCCCG=CGGGGGCGGGCCCGG8GCCCGG8GCGGC=GCCCGGGGGGCGGGCGGJGGGCCGGJCGGJJGJGGGGGJJJJGJJGGJJGG=JGGJJGGJ=JGJJJJJJGJC1GGGG=GGG1C1	NH:i:1	HI:i:1	AS:i:296	nM:i:1	NM:i:0
+BCR-ABL1-32	147	9	275894	60	150M	=	275850	-194	CCAAAAATGGCCAAGGCTGGGTCCCAAGCAACTACATCACGCCAGTCAACAGTCTGGAGAAACACTCCTGGTACCATGGGCCTGTGTCCCGCAATGCCGCTGAGTATCTGCTGAGCAGCGGGATCAATGGCAGCTTCTTGGTGCGTGAGA	8GCCCCGGCGCGC1GGGGCGGCCGGGGCG1(GG=GG=GCGGCGJCJJCGG8=GGGCCGCGGGCGGGGGC=GC1=GGGGGJGGCCGJJCGGGJJJCGGG8CCGGGCJGJGJJGCCGCJJJJJJJJJJGCGJJJGJJGJGGGGGCGGGG=CC	NH:i:1	HI:i:1	AS:i:298	nM:i:0	NM:i:0
+BCR-ABL1-38	83	9	275900	60	150M	=	275854	-196	ATGGCCAAGGCTGGGTCCCAAGCAACTACATCACGCCAGTCAACAGTCTGGAGAAACACTCCTGGTACCATGGGCCTGTGTCCCGCAATGCCGCTGAGTATCTGCTGAGCAGCGGGATCAATGGCAGCTTCTTGGTGCGTGAGAGTGAGA	GCGCCGCGGGCGGGGGGGCGGCGCG8CGCGGGG8GGCGGGCCCCG8CC=JGCGGGGGGCGGGGCGCCGC=GCCCGGJGGGCGGGCJGCCJJGJG=GGCJJJGGJCGJCGCGJJJC=JJGJCJGJGJJGJJJ=JJJ1GGGGGGGGGGGCCC	NH:i:1	HI:i:1	AS:i:298	nM:i:0	NM:i:0
+BCR-ABL1-6	147	9	275903	60	150M	=	275846	-207	GCCAAGGCTGGGTCCCAAGCAACTACATCACGCCAGTCAACAGTCTGGAGAAACACTCCTGGTACCATGGGCCTGTGTCCCGCAATGCCGCTGAGTATCTGCTGAGCAGCGGGATCAATGGCAGCTTCTTGGTGCGTGAGAGTGAGAGCA	CG8GCGGGCCCCGGCGCGGGGCCGGGCGG8CG=G=GCCGCGG=1CJ8JCCGCGGGGGCGGGGGGCGG=G=8GCGJG=GGGGGGJGCCGGJJGG=G=CJ8=JJJJGG=JJJJJGJJGJGJJGJJJJJCCCJJJGGJJJG1GGG1GGGGCCC	NH:i:1	HI:i:1	AS:i:298	nM:i:0	NM:i:0
+BCR-ABL1-70	83	9	275911	60	150M	=	275874	-187	TGGGTCCCAAGCAACTACATCACGCCAGTCAACAGTCTGGAGAAACACTCCTGGTACCATGGGCCTGTGTCCCGCAATGCCGCTGAGTATCTGCTGAGCAGCGGGATCAATGGCAGCTTCTTGGTGCGTGAGAGTGAGAGCAGTCCTGGC	CGGGCGGGCGGGCCGGGG=GGG8GCGGG8GGCGGGCGGCGGGCGGGGG=JGGGGGCGCGGGGGCGGGGCGCG1GGGGCJC8GG=JGGJJCCCJJGGGGJGJGJGGJJGGJJJJJGCJJJJGGJJGJJGJJJGGGJJJGGGGCGGGGG=CC	NH:i:1	HI:i:1	AS:i:298	nM:i:0	NM:i:0
+BCR-ABL1-36	147	9	275919	60	150M	=	275872	-197	AAGCAACTACATCACGCCAGTCAACAGTCTGGAGAAACACTCCTGGTACCATGGGCCTGTGTCCCGCAATGCCGCTGAGTATCTGCTGAGCAGCGGGATCAATGGCAGCTTCTTGGTGCGTGAGAGTGAGAGCAGTCCTGGCCAGAGGTC	C=GGGGGGCCGGGGGGGGG=GGCCGCGGGC1GCGC1GCGGCCGJJ(CCG8GCCGGGCCGGGC=CC1CG=CGCCGGG=CGGGGGGGGCGGGGGJ==JJJJJ1CJJJGJGGJCGCJGJGJGJJJJ=GG1CJJCGJG1GC=GGGCGCGGGCCC	NH:i:1	HI:i:1	AS:i:298	nM:i:0	NM:i:0
+BCR-ABL1-56	147	9	275928	60	150M	=	275885	-193	CATCACGCCAGTCAACAGTCTGGAGAAACACTCCTGGTACCATGGGCCTGTGTCCCGCAATGCCGCTGAGTATCTGCTGAGCAGCGGGATCAATGGCAGCTTCTTGGTGCGTGAGAGTGAGAGCAGTCCTGGCCAGAGGTCCATCTCGCT	CCGGGCGCGCGGGCG=CCCGGCGCGGGGC=CGGCGGCCGCGGGJJJJCCGCCG(GCCCCCGGCCGGG=G8GGGGGGCC=C=CGGJGJJJGC=JGGJJJGJGJ1JJJGC=JJJG=JCJJJJJJJ=JJGGGJJJCGJJJGGGGGCGG=GCCC	NH:i:1	HI:i:1	AS:i:298	nM:i:0	NM:i:0
+BCR-ABL1-74	77	*	0	0	*	*	0	0	TCATTTTCACTGGGTCCAGCGAGAAGGTTTTCCTTGGAGTTCCAACGAGCGGCTTCACTCAGACCCTGAGGCTCAAAGTCAGATGCTACTGGCCGCTGAAGGGCTTTTGAACTCTGCTTAAATCCAGTGGCTGAGTGGACGATGACATTC	CC11GGGGGGGGGGCCJJJGCGJJGJJJJJGGGGGGJJJGGJG==GCJCJ=GGJJGGJJGGCJGG=GGGGGJGGJGC=GC=GGGCGGGCGGGGCCGCGGGJCGC=GGC8CGCGCGGGGGGCGCC1GGCGCC=GCCGCGGC8GCGGGCCCG	NH:i:0	HI:i:0	AS:i:155	nM:i:2	uT:A:1
+BCR-ABL1-74	141	*	0	0	*	*	0	0	CATTCCGCTGACCATCAATAAGGAAGATGATGAGTCTCCGGGGCTCTATGGGTTTCTGAATGTCATCGTCCACTCAGCCACTGGATTTAGGCAGAGTTCAAAAGCCCTTCAGCGGCCAGTAGCATCTGACTTTGAGCCTCAGGGTCTGAG	CCCGGGGGGCGCGJGGJJGGJGJJJGJGGJJGGJGJJ1=JCJJGGGJJJJGGGJGCCJGGJGG=J1JG8JGCGGGJG=GC1CGCCGGCG(GGCGGCGGGGGCJC1CCGC==CCGGGGCGGCGGGCCGGCGCGC8CCCCGGG=GGGC=GGG	NH:i:0	HI:i:0	AS:i:155	nM:i:2	uT:A:1
+BCR-ABL1-66	77	*	0	0	*	*	0	0	TCCAGCGAGAAGGTTTTCCTTGGAGTTCCAACGAGCGGCTTCACTCAGACCCTGAGGCTCAAAGTCAGATGCTACTGGCCGCTGAAGGGCTTTTGAACTCTGCTTAAATCCAGTGGCTGAGTGGACGATGACATTCAGAAACCCATAGAG	CCC=GGGGCGGGGJJJJJGJJJJ=JJJGJJ1GJJGJJJJJGJJJJJGGGGCGJJGGGJJJGGCGGGGJGCGG1JCGGG=GCCGCG=GC=G=GCCGGGGG8JGGGGGGGGGGGG=GGCGGC8GGCCGGGC=GGGGGGGGG=CGG=8GGCCG	NH:i:0	HI:i:0	AS:i:159	nM:i:0	uT:A:1
+BCR-ABL1-66	141	*	0	0	*	*	0	0	CATTCCGCTGACCATCAATAAGGAAGATGATGAGTCTCCGGGGCTCTATGGGTTTCTGAATGTCATCGTCCACTCAGCCACTGGATTTAAGCAGAGTTCAAAAGCCCTTCAGCGGCCAGTAGCATCTGACTTTGAGCCTCAGGGTCTGAG	CCCGGGGGGGGGGGGJ=JGJJJJJJJGGJJCCCJGJJ1JJJGCJGGGGJJJJ=GGGJGJGC(GGGGJGGGJG1=GGGGGGGG=G=C=GG8CC8GGGGGCCCCJCCCJGCG=GGCCGGCGGCGGCG==1GCCGGC1GGGGGCGGGGGGCGG	NH:i:0	HI:i:0	AS:i:159	nM:i:0	uT:A:1
+BCR-ABL1-58	77	*	0	0	*	*	0	0	ATGATGAGTCTCCGGGGCTCTATGGGTTTCTGAATGTCATCGTCCACTCAGCCACTGGATTTAAGCAGAGTTCAAAAGCCCTTCAGCGGCCAGTAGCATCTGACTTTGAGCCTCAGGGTCTGAGTGAAGCCGCTCGTTGGAACTCCAAGG	CCCGGCGGGGGGGGJJJJJGJJGJGJGJGJJJJJJJJJCJGJJJJGCG=8GGGJGJGGCGGJGCGJJJCJGGG=CGCCGGCCGGGCGCGGGCGCG1GGGCCCGGGGCG8GCCC=C8CGCGG=CCCGCCCCGGG=CCGGCGGGCGGGGGCG	NH:i:0	HI:i:0	AS:i:185	nM:i:3	uT:A:1
+BCR-ABL1-58	141	*	0	0	*	*	0	0	TTGGGGTCATTTTCACTGGGTCCAGCGAGAAGGTTTTCCTTGGAGTTCCAACGAGCGGCTTCACTCAGACCCTGAGGCTCAAAGTCAGATTCTACTGGCCGCTGAAGGGCTTTTGAACTCTGCTTAAATCCAGTGGCTGAGTGGACGATG	CCCGGGGGGGGGGJJJJJJGJGJJJGGJ=JJJJJJJJGC=GJJGGJJGJJGG1GCJGGGG=JGGG8C=GCCGC==GGGCGGGGGG=GGG=(G=CCGCCGGGGCJJJJGGGC8GCGCGCG8CGGCCGGGCGCGCGG8CCGG8CGGGGGGGG	NH:i:0	HI:i:0	AS:i:185	nM:i:3	uT:A:1
+BCR-ABL1-24	77	*	0	0	*	*	0	0	CGCAGACCATCAATAAGGAAGATGATGAGTCTCCGGGGCTCTATGGGTTTCTGAATGTCATCGTCCACTCAGCCACTGGATTTAAGCAGAGTTCAAAAGCCCTTCAGCGGCCAGTAGCATCTGACTTTGAGCCTCAGGGGCTGAGTGAAG	CC11GCGGGGGGGJCGJGJJCCJJJJGJJJJGJJGGJJJCJJJG8JJJ1GJ=JGGGGJJJCG=8GGCGCCGGGCCGGGCGGGGCGGGGCCGCGGCCGGG=J1GCCC1(CCGGCGGGCCGCGGGCGGGGC=GGCGCCGCC1GCGGGGGCGG	NH:i:0	HI:i:0	AS:i:154	nM:i:3	uT:A:1
+BCR-ABL1-24	141	*	0	0	*	*	0	0	TTTCACTGGGTCCAGCGAGAAGGTTTTCCTTGGAGTTCCAACGAGCGGCTTCACTCAGACCCTGAGGCTCAAAGTCAGATGCTACTGGCCGCTGAAGGGCTTTTGAACTCTGCTTAAATCCAGTGGCTGAGTGGACGATGACATTCAGAA	C=CCGGGGGGGGCJ1GGJJJJ1JJJJJGJJ=GJJG8GGJ=GJGJJGJJGGGCGJGCGGGCGGG8GG=GJJGCG1GCGGJGCCGGCGGGCCGGGCG8GGGGG8C1==CGGCCCGCGGGGC8GCGGG8GGGCGCCGCCGCGGGCGGGGGGCG	NH:i:0	HI:i:0	AS:i:154	nM:i:3	uT:A:1
+BCR-ABL1-10	77	*	0	0	*	*	0	0	AGGTTGGGGTCATTTTCACTGGGTCCAGCGAGAAGGTTTTCCTTGGAGTTCCAACGAGCGGCTTCACTCAGACCCTGAGGCTCAAAGTCAGATGCTACTGGCCGCTGAAGGGCTTTTGAACTCTGCTTAAATCCAGTGGCTGAGTGGACG	CC=GGGGGGGGGG1GJJJJJCJJJJJJJJJJJGJ=GJJJGCJJJJCJGJGCJGJJJGGJJJGGCCGGJGC=GGJ1C8GGGGGGCGCCGGGGGGCGGGCGCCCG1GGCGCGCGGGCC8GCGCGCGC8CCCGCGCGGGGGCGGGGGCGGCGG	NH:i:0	HI:i:0	AS:i:181	nM:i:2	uT:A:1
+BCR-ABL1-10	141	*	0	0	*	*	0	0	ATAAGGAAGATGATGAGTCTCCGGGGCTCTATGGGTTTCTGAATGTCATCGTCCACTCAGCCACTGGATTTAAGCAGAGTTCAAAAGCCCTTCAGCGGCCAGTAGCATCTGACTTTGAGCCTCAGGGTCTGAGTGAAGCCGCTCGTTGGA	1CCGGCGGGGGG1GGJJJGCC1JJJJCCG=JGGJJGJJJ=GGGGGJJGGGGGGC1J=CJGCGGGGCGC(CGGGGG=GGGGG(G=CGGCGGGGCCCGC=CCCCJJCC8G1GGGGCGGGGGGCGCGGGGGGGCG=GGCCGCCGCC1G=GGGG	NH:i:0	HI:i:0	AS:i:181	nM:i:2	uT:A:1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/cytobands.tsv	Wed Jul 27 11:24:44 2022 +0000
@@ -0,0 +1,5 @@
+contig	start	end	name	giemsa
+22	1	40586	q11.22	gpos25
+22	40586	269079	q11.23	gneg
+9	1	21036	q34.11	gneg
+9	21036	515509	q34.12	gpos25
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/fusions.tsv	Wed Jul 27 11:24:44 2022 +0000
@@ -0,0 +1,2 @@
+#gene1	gene2	strand1(gene/fusion)	strand2(gene/fusion)	breakpoint1	breakpoint2	site1	site2	type	split_reads1	split_reads2	discordant_mates	coverage1	coverage2	confidence	reading_frame	tags	retained_protein_domains	closest_genomic_breakpoint1	closest_genomic_breakpoint2	gene_id1	gene_id2	transcript_id1	transcript_id2	direction1	direction2	filters	fusion_transcript	peptide_sequence	read_identifiers
+BCR	ABL1	+/+	+/+	22:230999	9:275100	CDS/splice-site	CDS/splice-site	translocation	1	3	0	3	8	low	in-frame	.	Bcr-Abl_oncoprotein_oligomerisation_domain(100%),C2_domain(100%),RhoGEF_domain(100%)|F-actin_binding(100%),Protein_kinase_domain(100%),SH2_domain(100%),SH3_domain(100%)	.	.	ENSG00000186716	ENSG00000097007	ENST00000305877	ENST00000372348	downstream	upstream	.	AGCTTCTCCCTGACATCCGTGGAGCTGCAGATGCTGACCAACTCGTGTGTGAAACTCCAGACTGTCCACAGCATTCCGCTGACCATCAATAAGGAAG___ATGATGAGTCTCCGGGGCTCTATGGGTTTCTGAATGTCATCGTCCACTCAGCCACTGGATTTAAGCAGAGTTCAA|AAGCCCTTCAGCGGCCAGTAGCATCTGACTTTGAGCCTCAGGGTCTGAGTGAAGCCGCTCGTTGGAACTCCAAGGAAAACCTTCTCGCTGGACCCAGTGAAAATGACCCCAACCTTTTCGTTGCACTGTATGATTTTGTGGCCAGTGGAGATAACACTCTAAGCATAACTAAAG___GTGAAAAGCTCCGGG	SFSLTSVELQMLTNSCVKLQTVHSIPLTINKEDDESPGLYGFLNVIVHSATGFKQSS|kALQRPVASDFEPQGLSEAARWNSKENLLAGPSENDPNLFVALYDFVASGDNTLSITKGEKLR	BCR-ABL1-4,BCR-ABL1-28,BCR-ABL1-60,BCR-ABL1-76
Binary file test-data/genome.fasta.gz has changed
Binary file test-data/genome.gtf.gz has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/protein_domains.gff3	Wed Jul 27 11:24:44 2022 +0000
@@ -0,0 +1,83 @@
+9	pfam	protein_domain	33502	33541	0	+	.	Name=KH domain;color=#808080;gene_id=ENSG00000107164;gene_name=FUBP3;protein_domain_id=PF00013
+9	pfam	protein_domain	33992	34063	0	+	.	Name=KH domain;color=#808080;gene_id=ENSG00000107164;gene_name=FUBP3;protein_domain_id=PF00013
+9	pfam	protein_domain	35324	35381	0	+	.	Name=KH domain;color=#808080;gene_id=ENSG00000107164;gene_name=FUBP3;protein_domain_id=PF00013
+9	pfam	protein_domain	37391	37409	0	+	.	Name=KH domain;color=#808080;gene_id=ENSG00000107164;gene_name=FUBP3;protein_domain_id=PF00013
+9	pfam	protein_domain	37479	37553	0	+	.	Name=KH domain;color=#808080;gene_id=ENSG00000107164;gene_name=FUBP3;protein_domain_id=PF00013
+9	pfam	protein_domain	38833	38931	0	+	.	Name=KH domain;color=#808080;gene_id=ENSG00000107164;gene_name=FUBP3;protein_domain_id=PF00013
+9	pfam	protein_domain	41390	41413	0	+	.	Name=KH domain;color=#808080;gene_id=ENSG00000107164;gene_name=FUBP3;protein_domain_id=PF00013
+9	pfam	protein_domain	41489	41494	0	+	.	Name=KH domain;color=#808080;gene_id=ENSG00000107164;gene_name=FUBP3;protein_domain_id=PF00013
+9	pfam	protein_domain	43744	43846	0	+	.	Name=KH domain;color=#808080;gene_id=ENSG00000107164;gene_name=FUBP3;protein_domain_id=PF00013
+9	pfam	protein_domain	44647	44729	0	+	.	Name=KH domain;color=#808080;gene_id=ENSG00000107164;gene_name=FUBP3;protein_domain_id=PF00013
+9	pfam	protein_domain	47496	47541	0	+	.	Name=KH domain;color=#808080;gene_id=ENSG00000107164;gene_name=FUBP3;protein_domain_id=PF00013
+9	pfam	protein_domain	51664	51812	0	+	.	Name=KH domain;color=#808080;gene_id=ENSG00000107164;gene_name=FUBP3;protein_domain_id=PF00013
+9	pfam	protein_domain	102331	102396	0	+	.	Name=Zinc finger%2C C2H2 type;color=#80FF00;gene_id=ENSG00000130711;gene_name=PRDM12;protein_domain_id=PF00096
+9	pfam	protein_domain	102412	102480	0	+	.	Name=C2H2-type zinc finger;color=#80FF80;gene_id=ENSG00000130711;gene_name=PRDM12;protein_domain_id=PF13894
+9	pfam	protein_domain	114903	114949	0	+	.	Name=Exosome complex exonuclease RRP4 N-terminal region;color=#FF0000;gene_id=ENSG00000130713;gene_name=EXOSC2;protein_domain_id=PF14382
+9	pfam	protein_domain	116528	116596	0	+	.	Name=Exosome complex exonuclease RRP4 N-terminal region;color=#FF0000;gene_id=ENSG00000130713;gene_name=EXOSC2;protein_domain_id=PF14382
+9	pfam	protein_domain	121951	121971	0	+	.	Name=KH domain;color=#000080;gene_id=ENSG00000130713;gene_name=EXOSC2;protein_domain_id=PF15985
+9	pfam	protein_domain	123179	123300	0	+	.	Name=KH domain;color=#000080;gene_id=ENSG00000130713;gene_name=EXOSC2;protein_domain_id=PF15985
+9	pfam	protein_domain	275219	275273	0	+	.	Name=SH3 domain;color=#FF0000;gene_id=ENSG00000097007;gene_name=ABL1;protein_domain_id=PF00018
+9	pfam	protein_domain	275837	275922	0	+	.	Name=SH3 domain;color=#FF0000;gene_id=ENSG00000097007;gene_name=ABL1;protein_domain_id=PF00018
+9	pfam	protein_domain	275962	276132	0	+	.	Name=SH2 domain;color=#80FFFF;gene_id=ENSG00000097007;gene_name=ABL1;protein_domain_id=PF00017
+9	pfam	protein_domain	283799	283855	0	+	.	Name=SH2 domain;color=#80FFFF;gene_id=ENSG00000097007;gene_name=ABL1;protein_domain_id=PF00017
+9	pfam	protein_domain	283973	284071	0	+	.	Name=Protein kinase domain;color=#80FF00;gene_id=ENSG00000097007;gene_name=ABL1;protein_domain_id=PF00069
+9	pfam	protein_domain	293165	293249	0	+	.	Name=Protein kinase domain;color=#80FF00;gene_id=ENSG00000097007;gene_name=ABL1;protein_domain_id=PF00069
+9	pfam	protein_domain	293896	294073	0	+	.	Name=Protein kinase domain;color=#80FF00;gene_id=ENSG00000097007;gene_name=ABL1;protein_domain_id=PF00069
+9	pfam	protein_domain	295904	296088	0	+	.	Name=Protein kinase domain;color=#80FF00;gene_id=ENSG00000097007;gene_name=ABL1;protein_domain_id=PF00069
+9	pfam	protein_domain	299451	299603	0	+	.	Name=Protein kinase domain;color=#80FF00;gene_id=ENSG00000097007;gene_name=ABL1;protein_domain_id=PF00069
+9	pfam	protein_domain	301104	301156	0	+	.	Name=Protein kinase domain;color=#80FF00;gene_id=ENSG00000097007;gene_name=ABL1;protein_domain_id=PF00069
+9	pfam	protein_domain	306405	306716	0	+	.	Name=F-actin binding;color=#800000;gene_id=ENSG00000097007;gene_name=ABL1;protein_domain_id=PF08919
+9	pfam	protein_domain	314470	314862	0	-	.	Name=Orexigenic neuropeptide Qrfp/P518 ;color=#808000;gene_id=ENSG00000188710;gene_name=QRFP;protein_domain_id=PF11109
+9	pfam	protein_domain	325106	325108	0	-	.	Name=Fibrinogen beta and gamma chains%2C C-terminal globular domain;color=#808000;gene_id=ENSG00000130720;gene_name=FIBCD1;protein_domain_id=PF00147
+9	pfam	protein_domain	325118	325359	0	-	.	Name=Fibrinogen beta and gamma chains%2C C-terminal globular domain;color=#808000;gene_id=ENSG00000130720;gene_name=FIBCD1;protein_domain_id=PF00147
+9	pfam	protein_domain	326270	326449	0	-	.	Name=Fibrinogen beta and gamma chains%2C C-terminal globular domain;color=#808000;gene_id=ENSG00000130720;gene_name=FIBCD1;protein_domain_id=PF00147
+9	pfam	protein_domain	332828	332924	0	-	.	Name=Fibrinogen beta and gamma chains%2C C-terminal globular domain;color=#808000;gene_id=ENSG00000130720;gene_name=FIBCD1;protein_domain_id=PF00147
+9	pfam	protein_domain	344780	344908	0	-	.	Name=Fibrinogen beta and gamma chains%2C C-terminal globular domain;color=#808000;gene_id=ENSG00000130720;gene_name=FIBCD1;protein_domain_id=PF00147
+9	pfam	protein_domain	430353	430623	0	+	.	Name=Laminin N-terminal (Domain VI);color=#000080;gene_id=ENSG00000050555;gene_name=LAMC3;protein_domain_id=PF00055
+9	pfam	protein_domain	447321	447625	0	+	.	Name=Laminin N-terminal (Domain VI);color=#000080;gene_id=ENSG00000050555;gene_name=LAMC3;protein_domain_id=PF00055
+9	pfam	protein_domain	453081	453209	0	+	.	Name=Laminin N-terminal (Domain VI);color=#000080;gene_id=ENSG00000050555;gene_name=LAMC3;protein_domain_id=PF00055
+9	pfam	protein_domain	457203	457334	0	+	.	Name=Laminin EGF domain;color=#FFFFFF;gene_id=ENSG00000050555;gene_name=LAMC3;protein_domain_id=PF00053
+9	pfam	protein_domain	459902	460054	0	+	.	Name=Laminin EGF domain;color=#FFFFFF;gene_id=ENSG00000050555;gene_name=LAMC3;protein_domain_id=PF00053
+9	pfam	protein_domain	460070	460088	0	+	.	Name=Laminin EGF domain;color=#FFFFFF;gene_id=ENSG00000050555;gene_name=LAMC3;protein_domain_id=PF00053
+9	pfam	protein_domain	460167	460282	0	+	.	Name=Laminin EGF domain;color=#FFFFFF;gene_id=ENSG00000050555;gene_name=LAMC3;protein_domain_id=PF00053
+9	pfam	protein_domain	462677	462771	0	+	.	Name=Laminin EGF domain;color=#FFFFFF;gene_id=ENSG00000050555;gene_name=LAMC3;protein_domain_id=PF00053
+9	pfam	protein_domain	466560	466608	0	+	.	Name=Laminin EGF domain;color=#FFFFFF;gene_id=ENSG00000050555;gene_name=LAMC3;protein_domain_id=PF00053
+9	pfam	protein_domain	470157	470166	0	+	.	Name=Laminin B (Domain IV);color=#FFFF80;gene_id=ENSG00000050555;gene_name=LAMC3;protein_domain_id=PF00052
+9	pfam	protein_domain	473527	473719	0	+	.	Name=Laminin B (Domain IV);color=#FFFF80;gene_id=ENSG00000050555;gene_name=LAMC3;protein_domain_id=PF00052
+9	pfam	protein_domain	473886	474001	0	+	.	Name=Laminin B (Domain IV);color=#FFFF80;gene_id=ENSG00000050555;gene_name=LAMC3;protein_domain_id=PF00052
+9	pfam	protein_domain	477965	478038	0	+	.	Name=Laminin B (Domain IV);color=#FFFF80;gene_id=ENSG00000050555;gene_name=LAMC3;protein_domain_id=PF00052
+9	pfam	protein_domain	478042	478107	0	+	.	Name=Laminin EGF domain;color=#FFFFFF;gene_id=ENSG00000050555;gene_name=LAMC3;protein_domain_id=PF00053
+9	pfam	protein_domain	478144	478183	0	+	.	Name=Laminin EGF domain;color=#FFFFFF;gene_id=ENSG00000050555;gene_name=LAMC3;protein_domain_id=PF00053
+9	pfam	protein_domain	482071	482168	0	+	.	Name=Laminin EGF domain;color=#FFFFFF;gene_id=ENSG00000050555;gene_name=LAMC3;protein_domain_id=PF00053
+9	pfam	protein_domain	482175	482259	0	+	.	Name=Laminin EGF domain;color=#FFFFFF;gene_id=ENSG00000050555;gene_name=LAMC3;protein_domain_id=PF00053
+9	pfam	protein_domain	487996	488060	0	+	.	Name=Laminin EGF domain;color=#FFFFFF;gene_id=ENSG00000050555;gene_name=LAMC3;protein_domain_id=PF00053
+9	pfam	protein_domain	488076	488222	0	+	.	Name=Laminin EGF domain;color=#FFFFFF;gene_id=ENSG00000050555;gene_name=LAMC3;protein_domain_id=PF00053
+9	pfam	protein_domain	489116	489262	0	+	.	Name=Laminin EGF domain;color=#FFFFFF;gene_id=ENSG00000050555;gene_name=LAMC3;protein_domain_id=PF00053
+9	pfam	protein_domain	489945	490067	0	+	.	Name=Laminin EGF domain;color=#FFFFFF;gene_id=ENSG00000050555;gene_name=LAMC3;protein_domain_id=PF00053
+9	pfam	protein_domain	490710	490856	0	+	.	Name=Laminin EGF domain;color=#FFFFFF;gene_id=ENSG00000050555;gene_name=LAMC3;protein_domain_id=PF00053
+22	pfam	protein_domain	2420	2524	0	-	.	Name=Armadillo/beta-catenin-like repeat;color=#000080;gene_id=ENSG00000100218;gene_name=RSPH14;protein_domain_id=PF00514
+22	pfam	protein_domain	36321	37004	0	+	.	Name=G-protein alpha subunit;color=#80FFFF;gene_id=ENSG00000128266;gene_name=GNAZ;protein_domain_id=PF00503
+22	pfam	protein_domain	63673	63981	0	+	.	Name=G-protein alpha subunit;color=#80FFFF;gene_id=ENSG00000128266;gene_name=GNAZ;protein_domain_id=PF00503
+22	pfam	protein_domain	90736	90740	0	+	.	Name=Ras family;color=#80FFFF;gene_id=ENSG00000100228;gene_name=RAB36;protein_domain_id=PF00071
+22	pfam	protein_domain	93060	93112	0	+	.	Name=Ras family;color=#80FFFF;gene_id=ENSG00000100228;gene_name=RAB36;protein_domain_id=PF00071
+22	pfam	protein_domain	93619	93720	0	+	.	Name=Ras family;color=#80FFFF;gene_id=ENSG00000100228;gene_name=RAB36;protein_domain_id=PF00071
+22	pfam	protein_domain	96554	96622	0	+	.	Name=Ras family;color=#80FFFF;gene_id=ENSG00000100228;gene_name=RAB36;protein_domain_id=PF00071
+22	pfam	protein_domain	98578	98629	0	+	.	Name=Ras family;color=#80FFFF;gene_id=ENSG00000100228;gene_name=RAB36;protein_domain_id=PF00071
+22	pfam	protein_domain	99484	99565	0	+	.	Name=Ras family;color=#80FFFF;gene_id=ENSG00000100228;gene_name=RAB36;protein_domain_id=PF00071
+22	pfam	protein_domain	99749	99839	0	+	.	Name=Ras family;color=#80FFFF;gene_id=ENSG00000100228;gene_name=RAB36;protein_domain_id=PF00071
+22	pfam	protein_domain	101465	101502	0	+	.	Name=Ras family;color=#80FFFF;gene_id=ENSG00000100228;gene_name=RAB36;protein_domain_id=PF00071
+22	pfam	protein_domain	121553	121771	0	+	.	Name=Bcr-Abl oncoprotein oligomerisation domain;color=#FF0000;gene_id=ENSG00000186716;gene_name=BCR;protein_domain_id=PF09036
+22	pfam	protein_domain	201581	201640	0	+	.	Name=RhoGEF domain;color=#000000;gene_id=ENSG00000186716;gene_name=BCR;protein_domain_id=PF00621
+22	pfam	protein_domain	201941	202126	0	+	.	Name=RhoGEF domain;color=#000000;gene_id=ENSG00000186716;gene_name=BCR;protein_domain_id=PF00621
+22	pfam	protein_domain	208994	209101	0	+	.	Name=RhoGEF domain;color=#000000;gene_id=ENSG00000186716;gene_name=BCR;protein_domain_id=PF00621
+22	pfam	protein_domain	212118	212178	0	+	.	Name=RhoGEF domain;color=#000000;gene_id=ENSG00000186716;gene_name=BCR;protein_domain_id=PF00621
+22	pfam	protein_domain	213667	213719	0	+	.	Name=RhoGEF domain;color=#000000;gene_id=ENSG00000186716;gene_name=BCR;protein_domain_id=PF00621
+22	pfam	protein_domain	214220	214312	0	+	.	Name=RhoGEF domain;color=#000000;gene_id=ENSG00000186716;gene_name=BCR;protein_domain_id=PF00621
+22	pfam	protein_domain	230954	230999	0	+	.	Name=C2 domain;color=#00FF00;gene_id=ENSG00000186716;gene_name=BCR;protein_domain_id=PF00168
+22	pfam	protein_domain	233127	233224	0	+	.	Name=C2 domain;color=#00FF00;gene_id=ENSG00000186716;gene_name=BCR;protein_domain_id=PF00168
+22	pfam	protein_domain	235610	235741	0	+	.	Name=C2 domain;color=#00FF00;gene_id=ENSG00000186716;gene_name=BCR;protein_domain_id=PF00168
+22	pfam	protein_domain	250010	250018	0	+	.	Name=C2 domain;color=#00FF00;gene_id=ENSG00000186716;gene_name=BCR;protein_domain_id=PF00168
+22	pfam	protein_domain	252302	252422	0	+	.	Name=RhoGAP domain;color=#FFFFFF;gene_id=ENSG00000186716;gene_name=BCR;protein_domain_id=PF00620
+22	pfam	protein_domain	253473	253607	0	+	.	Name=RhoGAP domain;color=#FFFFFF;gene_id=ENSG00000186716;gene_name=BCR;protein_domain_id=PF00620
+22	pfam	protein_domain	254554	254659	0	+	.	Name=RhoGAP domain;color=#FFFFFF;gene_id=ENSG00000186716;gene_name=BCR;protein_domain_id=PF00620
+22	pfam	protein_domain	255138	255228	0	+	.	Name=RhoGAP domain;color=#FFFFFF;gene_id=ENSG00000186716;gene_name=BCR;protein_domain_id=PF00620
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tool-data/all_fasta.loc.sample	Wed Jul 27 11:24:44 2022 +0000
@@ -0,0 +1,18 @@
+#This file lists the locations and dbkeys of all the fasta files
+#under the "genome" directory (a directory that contains a directory
+#for each build). The script extract_fasta.py will generate the file
+#all_fasta.loc. This file has the format (white space characters are
+#TAB characters):
+#
+#<unique_build_id>	<dbkey>	<display_name>	<file_path>
+#
+#So, all_fasta.loc could look something like this:
+#
+#apiMel3	apiMel3	Honeybee (Apis mellifera): apiMel3	/path/to/genome/apiMel3/apiMel3.fa
+#hg19canon	hg19	Human (Homo sapiens): hg19 Canonical	/path/to/genome/hg19/hg19canon.fa
+#hg19full	hg19	Human (Homo sapiens): hg19 Full	/path/to/genome/hg19/hg19full.fa
+#
+#Your all_fasta.loc file should contain an entry for each individual
+#fasta file. So there will be multiple fasta files for each build,
+#such as with hg19 above.
+#
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tool_data_table_conf.xml.sample	Wed Jul 27 11:24:44 2022 +0000
@@ -0,0 +1,7 @@
+<tables>
+    <!-- Locations of all fasta files under genome directory -->
+    <table name="all_fasta" comment_char="#" allow_duplicate_entries="False">
+        <columns>value, dbkey, name, path</columns>
+        <file path="tool-data/all_fasta.loc" />
+    </table>
+</tables>