| Next changeset 1:64aa67b5099f (2019-08-26) |
|
Commit message:
"planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sashimi_plot commit 746c03a1187e1d708af8628920a0c615cddcdacc" |
|
added:
sashimi-plot.py sashimi_plot.xml test-data/ENCFF325HFX.chr10_27035000_27050000.bam test-data/ENCFF450AIU.chr10_27035000_27050000.bam test-data/ENCFF756PUW.chr10_27035000_27050000.bam test-data/ENCFF914GVK.chr10_27035000_27050000.bam test-data/annotation.gtf test-data/default.pdf test-data/overlay_with_aggregation.pdf test-data/overlay_without_aggregation.pdf |
| b |
| diff -r 000000000000 -r 9304dd9a16a2 sashimi-plot.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sashimi-plot.py Fri Aug 23 11:38:29 2019 -0400 |
| [ |
| b'@@ -0,0 +1,1024 @@\n+#!/usr/bin/env python\n+\n+# Import modules\n+import copy\n+import os\n+import re\n+import subprocess as sp\n+import sys\n+from argparse import ArgumentParser\n+from collections import OrderedDict\n+\n+\n+def define_options():\n+ # Argument parsing\n+ parser = ArgumentParser(description="""Create sashimi plot for a given\n+ genomic region""")\n+ parser.add_argument("-b", "--bam", type=str,\n+ help="""\n+ Individual bam file or file with a list of bam files.\n+ In the case of a list of files the format is tsv:\n+ 1col: id for bam file,\n+ 2col: path of bam file,\n+ 3+col: additional columns\n+ """)\n+ parser.add_argument("-c", "--coordinates", type=str,\n+ help="Genomic region. Format: chr:start-end (1-based)")\n+ parser.add_argument("-o", "--out-prefix", type=str, dest="out_prefix",\n+ default="sashimi",\n+ help="Prefix for plot file name [default=%(default)s]")\n+ parser.add_argument("-S", "--out-strand", type=str, dest="out_strand",\n+ default="both", help="""Only for --strand other than\n+ \'NONE\'. Choose which signal strand to plot:\n+ <both> <plus> <minus> [default=%(default)s]""")\n+ parser.add_argument("-M", "--min-coverage", type=int, default=1,\n+ dest="min_coverage", help="""Minimum number of reads\n+ supporting a junction to be drawn [default=1]""")\n+ parser.add_argument("-j", "--junctions-bed", type=str, default="",\n+ dest="junctions_bed", help="""Junction BED file name\n+ [default=no junction file]""")\n+ parser.add_argument("-g", "--gtf",\n+ help="Gtf file with annotation (only exons is enough)")\n+ parser.add_argument("-s", "--strand", default="NONE", type=str,\n+ help="""Strand specificity: <NONE> <SENSE> <ANTISENSE>\n+ <MATE1_SENSE> <MATE2_SENSE> [default=%(default)s]""")\n+ parser.add_argument("--shrink", action="store_true",\n+ help="""Shrink the junctions by a factor for nicer\n+ display [default=%(default)s]""")\n+ parser.add_argument("-O", "--overlay", type=int,\n+ help="Index of column with overlay levels (1-based)")\n+ parser.add_argument("-A", "--aggr", type=str, default="",\n+ help="""Aggregate function for overlay:\n+ <mean> <median> <mean_j> <median_j>.\n+ Use mean_j | median_j to keep density overlay but\n+ aggregate junction counts [default=no aggregation]""")\n+ parser.add_argument("-C", "--color-factor", type=int, dest="color_factor",\n+ help="Index of column with color levels (1-based)")\n+ parser.add_argument("--alpha", type=float, default=0.5,\n+ help="""Transparency level for density histogram\n+ [default=%(default)s]""")\n+ parser.add_argument("-P", "--palette", type=str,\n+ help="""Color palette file. tsv file with >=1 columns,\n+ where the color is the first column""")\n+ parser.add_argument("-L", "--labels", type=int, dest="labels", default=1,\n+ help="""Index of column with labels (1-based)\n+ [default=%(default)s]""")\n+ parser.add_argument("--height", type=float, default=2,\n+ help="""Height of the individual signal plot in inches\n+ [default=%(default)s]""")\n+ parser.add_argument("--ann-height", type=float, default=1.5,\n+ dest="ann_height", help="""Height of annotation plot in\n+ inches [d'..b'= "",\n+ collapse = "|"),\n+ trim=F)\n+\n+ # Find max width of y text and y label and max width of y text\n+ # fix problems ggplot2 vs\n+ maxWidth = grid::unit.pmax(maxWidth,\n+ gpGrob$widths[2+vs] +\n+ gpGrob$widths[3+vs]);\n+ maxYtextWidth = grid::unit.pmax(maxYtextWidth,\n+ gpGrob$widths[3+vs]);\n+ density_grobs[[id]] = gpGrob;\n+ }\n+\n+ # Add x axis grob after density grobs BEFORE annotation grob\n+ density_grobs[["xaxis"]] = xaxisGrob\n+\n+ # Annotation grob\n+ if (%(args.gtf)s == 1) {\n+ gtfGrob = ggplotGrob(gtfp);\n+ maxWidth = grid::unit.pmax(maxWidth,\n+ gtfGrob$widths[2+vs] +\n+ gtfGrob$widths[3+vs]);\n+ density_grobs[[\'gtf\']] = gtfGrob;\n+ }\n+\n+ # Reassign grob widths to align the plots\n+ for (id in names(density_grobs)) {\n+ density_grobs[[id]]$widths[1] <-\n+ density_grobs[[id]]$widths[1] +\n+ maxWidth - (density_grobs[[id]]$widths[2 + vs] +\n+ maxYtextWidth)\n+# fix problems ggplot2 vs\n+ density_grobs[[id]]$widths[3 + vs] <-\n+ maxYtextWidth # fix problems ggplot2 vs\n+ }\n+\n+ # Heights for density, x axis and annotation\n+ heights = unit.c(\n+ unit(rep(%(signal_height)s,\n+ length(density_list)), "in"),\n+ x.axis.height,\n+ unit(%(ann_height)s*%(args.gtf)s, "in")\n+ )\n+\n+ # Arrange grobs\n+ argrobs = arrangeGrob(\n+ grobs=density_grobs,\n+ ncol=1,\n+ heights = heights,\n+ );\n+\n+ # Save plot to file in the requested format\n+ if ("%(out_format)s" == "tiff"){\n+ # TIFF images will be lzw-compressed\n+ ggsave("%(out)s",\n+ plot = argrobs,\n+ device = "tiff",\n+ width = width,\n+ height = height,\n+ units = "in",\n+ dpi = %(out_resolution)s,\n+ compression = "lzw")\n+ } else {\n+ ggsave("%(out)s",\n+ plot = argrobs,\n+ device = "%(out_format)s",\n+ width = width,\n+ height = height,\n+ units = "in",\n+ dpi = %(out_resolution)s)\n+ }\n+\n+ dev.log = dev.off()\n+\n+ """ % ({\n+ "out": "%s.%s" % (out_prefix, out_suffix),\n+ "out_format": args.out_format,\n+ "out_resolution": args.out_resolution,\n+ "args.gtf": float(bool(args.gtf)),\n+ "args.aggr": args.aggr.rstrip("_j"),\n+ "signal_height": args.height,\n+ "ann_height": args.ann_height,\n+ "alpha": args.alpha,\n+ })\n+ if os.getenv(\'GGSASHIMI_DEBUG\') is not None:\n+ with open("R_script", \'w\') as r:\n+ r.write(R_script)\n+ else:\n+ plot(R_script)\n+ exit()\n' |
| b |
| diff -r 000000000000 -r 9304dd9a16a2 sashimi_plot.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sashimi_plot.xml Fri Aug 23 11:38:29 2019 -0400 |
| [ |
| b'@@ -0,0 +1,203 @@\n+<tool id="sashimi_plot" name="Sashimi plot" version="0.1.0">\n+ <description>: visualization of splicing events across multiple samples</description>\n+ <requirements>\n+ <requirement type="package" version="3">python</requirement>\n+ <requirement type="package" version="1.3">samtools</requirement>\n+ <requirement type="package" version="2.2.1=r3.4.1_0">r-ggplot2</requirement>\n+ <requirement type="package" version="1.10.4=r3.4.1_0">r-data.table</requirement>\n+ <requirement type="package" version="2.2.1=r3.4.1_0">r-gridextra</requirement>\n+ </requirements>\n+ <stdio>\n+ <exit_code range="1:" level="fatal" description="Tool exception" />\n+ </stdio>\n+ <command detect_errors="exit_code"><![CDATA[\n+ touch index_bams.tsv &&\n+ #for $factor in $rep_factor:\n+ #for $sample in $factor.rep_sample:\n+ echo -e \'${sample.sampleName}\\t${sample.bamFile}\\t${factor.factorName}\' >> index_bams.tsv &&\n+ samtools index ${sample.bamFile} &&\n+ #end for\n+ #end for\n+\n+ python $__tool_directory__/sashimi-plot.py \n+ -b index_bams.tsv \n+ -g ${gtf_file} \n+ -c ${region}\n+ #if $adv_opts.adv_opts_selector=="advanced": \n+ -M ${adv_opts.min_coverage}\n+ -C ${adv_opts.color_levels}\n+ -O ${adv_opts.overlap.overlay}\n+ #if $adv_opts.overlap.overlay=="3" and not $adv_opts.overlap.agg=="":\n+ -A ${adv_opts.overlap.agg}\n+ #end if\n+ ${adv_opts.shrink}\n+ --alpha ${adv_opts.alpha}\n+ --base-size=${adv_opts.base_size}\n+ --ann-height=${adv_opts.ann_height}\n+ --height=${adv_opts.height} \n+ --width=${adv_opts.width} \n+ #end if \n+ -o plot &&\n+ mv plot.pdf ${plot}\n+ \n+ ]]></command>\n+ <inputs>\n+ <param format="gtf" name="gtf_file" type="data" label="Genome annotation" help="" />\n+ <repeat name="rep_factor" title="Genotype" min="1">\n+ <param name="factorName" label="Factor name" type="text" help="Specify a factor level, typical values could be \'HOM\', \'HET\'" />\n+ <repeat name="rep_sample" title="Bam file" min="1">\n+ <param name="sampleName" type="text" label="Sample Name" help="Track name on plot"/>\n+ <param name="bamFile" type="data" format="bam" multiple="false" label="Alignment File" help=""/>\n+ </repeat>\n+ </repeat>\n+ <conditional name="adv_opts">\n+ <param name="adv_opts_selector" type="select" label="Advanced Options">\n+ <option value="basic" selected="True">Hide Advanced Options</option>\n+ <option value="advanced">Show Advanced Options</option>\n+ </param>\n+ <when value="basic" />\n+ <when value="advanced">\n+ <param name="shrink" type="boolean" label="Intron shrinkage" truevalue="--shrink" falsevalue="" checked="false" \n+ help="Shrink the introns by a factor for nicer display"/>\n+ <param name="min_coverage" label="Minimum coverage" type="integer" value="1" help="Minimum number of reads supporting a junction to be drawn [default=1]"/>\n+ <param name="color_levels" label="How to color samples ?" type="select">\n+ <option value="3" selected="True">By Genotype</option>\n+ <option value="1" >By Sample</option>\n+ </param>\n+ <conditional name="overlap">\n+ <param name="overlay" label="Overlay sample by Genotype ?" type="boolean" truevalue="3" falsevalue="1" checked="false" />\n+ <when value="3">\n+ <param name="agg" label="Aggregate function for overlay" type="select" help="Use mean_j | median_j to keep density overlay but aggregate junction counts">\n+ <option value="" selected="True">No aggregation</option>\n+ <option value="mean" >Mean counts</option>\n+ <option value="median" >Median counts</option>\n+ <option value="mean_'..b'mFile" value="ENCFF756PUW.chr10_27035000_27050000.bam" ftype="bam" />\n+ </repeat>\n+ <repeat name="rep_sample">\n+ <param name="sampleName" value="sample4"/>\n+ <param name="bamFile" value="ENCFF325HFX.chr10_27035000_27050000.bam" ftype="bam" />\n+ </repeat>\n+ </repeat>\n+ <param name="region" value="chr10:27040584-27048100" />\n+ <output name="plot" value="default.pdf" ftype="pdf" />\n+ </test>\n+ <test>\n+ <param name="gtf_file" value="annotation.gtf" ftype="gtf" />\n+ <repeat name="rep_factor">\n+ <param name="factorName" value="Endothelial" />\n+ <repeat name="rep_sample">\n+ <param name="sampleName" value="sample1" />\n+ <param name="bamFile" value="ENCFF450AIU.chr10_27035000_27050000.bam" ftype="bam" />\n+ </repeat>\n+ <repeat name="rep_sample">\n+ <param name="sampleName" value="sample2" />\n+ <param name="bamFile" value="ENCFF914GVK.chr10_27035000_27050000.bam" ftype="bam" />\n+ </repeat>\n+ </repeat>\n+ <repeat name="rep_factor">\n+ <param name="factorName" value="Epithelial" />\n+ <repeat name="rep_sample">\n+ <param name="sampleName" value="sample3" />\n+ <param name="bamFile" value="ENCFF756PUW.chr10_27035000_27050000.bam" ftype="bam" />\n+ </repeat>\n+ <repeat name="rep_sample">\n+ <param name="sampleName" value="sample4"/>\n+ <param name="bamFile" value="ENCFF325HFX.chr10_27035000_27050000.bam" ftype="bam" />\n+ </repeat>\n+ </repeat>\n+ <param name="region" value="chr10:27040584-27048100" />\n+ <param name="adv_opts_selector" value="advanced" />\n+ <param name="min_coverage" value="10" />\n+ <param name="color_levels" value="3" />\n+ <param name="alpha" value="0.25" />\n+ <param name="base_size" value="20" />\n+ <param name="ann_height" value="4" />\n+ <param name="height" value="3" />\n+ <param name="width" value="18" />\n+ <param name="overlay" value="True" />\n+ <output name="plot" file="overlay_without_aggregation.pdf" ftype="pdf" />\n+ </test>\n+ <test>\n+ <param name="gtf_file" value="annotation.gtf" ftype="gtf" />\n+ <repeat name="rep_factor">\n+ <param name="factorName" value="Endothelial" />\n+ <repeat name="rep_sample">\n+ <param name="sampleName" value="sample1" />\n+ <param name="bamFile" value="ENCFF450AIU.chr10_27035000_27050000.bam" ftype="bam" />\n+ </repeat>\n+ <repeat name="rep_sample">\n+ <param name="sampleName" value="sample2" />\n+ <param name="bamFile" value="ENCFF914GVK.chr10_27035000_27050000.bam" ftype="bam" />\n+ </repeat>\n+ </repeat>\n+ <repeat name="rep_factor">\n+ <param name="factorName" value="Epithelial" />\n+ <repeat name="rep_sample">\n+ <param name="sampleName" value="sample3" />\n+ <param name="bamFile" value="ENCFF756PUW.chr10_27035000_27050000.bam" ftype="bam" />\n+ </repeat>\n+ <repeat name="rep_sample">\n+ <param name="sampleName" value="sample4"/>\n+ <param name="bamFile" value="ENCFF325HFX.chr10_27035000_27050000.bam" ftype="bam" />\n+ </repeat>\n+ </repeat>\n+ <param name="region" value="chr10:27040584-27048100" />\n+ <param name="adv_opts_selector" value="advanced" />\n+ <param name="color_levels" value="3" />\n+ <param name="ann_height" value="3" />\n+ <param name="height" value="3" />\n+ <param name="overlay" value="True" />\n+ <param name="agg" value="mean" />\n+ <param name="shrink" value="True" />\n+ <output name="plot" file="overlay_with_aggregation.pdf" ftype="pdf" />\n+ </test>\n+ </tests>\n+ <help>\n+\n+.. class:: infomark\n+\n+**What it does**\n+\n+Generate a sashimi plot from bam files in order to visualize splicing events.\n+ </help>\n+ <citations>\n+ <citation type="doi">10.1371/journal.pcbi.1006360</citation>\n+ </citations>\n+</tool>\n+\n' |
| b |
| diff -r 000000000000 -r 9304dd9a16a2 test-data/ENCFF325HFX.chr10_27035000_27050000.bam |
| b |
| Binary file test-data/ENCFF325HFX.chr10_27035000_27050000.bam has changed |
| b |
| diff -r 000000000000 -r 9304dd9a16a2 test-data/ENCFF450AIU.chr10_27035000_27050000.bam |
| b |
| Binary file test-data/ENCFF450AIU.chr10_27035000_27050000.bam has changed |
| b |
| diff -r 000000000000 -r 9304dd9a16a2 test-data/ENCFF756PUW.chr10_27035000_27050000.bam |
| b |
| Binary file test-data/ENCFF756PUW.chr10_27035000_27050000.bam has changed |
| b |
| diff -r 000000000000 -r 9304dd9a16a2 test-data/ENCFF914GVK.chr10_27035000_27050000.bam |
| b |
| Binary file test-data/ENCFF914GVK.chr10_27035000_27050000.bam has changed |
| b |
| diff -r 000000000000 -r 9304dd9a16a2 test-data/annotation.gtf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/annotation.gtf Fri Aug 23 11:38:29 2019 -0400 |
| b |
| b'@@ -0,0 +1,361 @@\n+chr10\tHAVANA\tgene\t27035522\t27150016\t.\t-\t.\tgene_id "ENSG00000136754.12"; transcript_id "ENSG00000136754.12"; gene_type "protein_coding"; gene_status "KNOWN"; gene_name "ABI1"; transcript_type "protein_coding"; transcript_status "KNOWN"; transcript_name "ABI1"; level 2; tag "ncRNA_host"; havana_gene "OTTHUMG00000017848.1";\n+chr10\tHAVANA\ttranscript\t27035522\t27149821\t.\t-\t.\tgene_id "ENSG00000136754.12"; transcript_id "ENST00000376170.4"; gene_type "protein_coding"; gene_status "KNOWN"; gene_name "ABI1"; transcript_type "protein_coding"; transcript_status "KNOWN"; transcript_name "ABI1-002"; level 2; tag "basic"; tag "appris_candidate"; tag "CCDS"; ccdsid "CCDS53499.1"; havana_gene "OTTHUMG00000017848.1"; havana_transcript "OTTHUMT00000047284.1";\n+chr10\tHAVANA\texon\t27149676\t27149821\t.\t-\t.\tgene_id "ENSG00000136754.12"; transcript_id "ENST00000376170.4"; gene_type "protein_coding"; gene_status "KNOWN"; gene_name "ABI1"; transcript_type "protein_coding"; transcript_status "KNOWN"; transcript_name "ABI1-002"; exon_number 1; exon_id "ENSE00001870571.1"; level 2; tag "basic"; tag "appris_candidate"; tag "CCDS"; ccdsid "CCDS53499.1"; havana_gene "OTTHUMG00000017848.1"; havana_transcript "OTTHUMT00000047284.1";\n+chr10\tHAVANA\tCDS\t27149676\t27149792\t.\t-\t0\tgene_id "ENSG00000136754.12"; transcript_id "ENST00000376170.4"; gene_type "protein_coding"; gene_status "KNOWN"; gene_name "ABI1"; transcript_type "protein_coding"; transcript_status "KNOWN"; transcript_name "ABI1-002"; exon_number 1; exon_id "ENSE00001870571.1"; level 2; tag "basic"; tag "appris_candidate"; tag "CCDS"; ccdsid "CCDS53499.1"; havana_gene "OTTHUMG00000017848.1"; havana_transcript "OTTHUMT00000047284.1";\n+chr10\tHAVANA\tstart_codon\t27149790\t27149792\t.\t-\t0\tgene_id "ENSG00000136754.12"; transcript_id "ENST00000376170.4"; gene_type "protein_coding"; gene_status "KNOWN"; gene_name "ABI1"; transcript_type "protein_coding"; transcript_status "KNOWN"; transcript_name "ABI1-002"; exon_number 1; exon_id "ENSE00001870571.1"; level 2; tag "basic"; tag "appris_candidate"; tag "CCDS"; ccdsid "CCDS53499.1"; havana_gene "OTTHUMG00000017848.1"; havana_transcript "OTTHUMT00000047284.1";\n+chr10\tHAVANA\texon\t27112067\t27112234\t.\t-\t.\tgene_id "ENSG00000136754.12"; transcript_id "ENST00000376170.4"; gene_type "protein_coding"; gene_status "KNOWN"; gene_name "ABI1"; transcript_type "protein_coding"; transcript_status "KNOWN"; transcript_name "ABI1-002"; exon_number 2; exon_id "ENSE00000926070.1"; level 2; tag "basic"; tag "appris_candidate"; tag "CCDS"; ccdsid "CCDS53499.1"; havana_gene "OTTHUMG00000017848.1"; havana_transcript "OTTHUMT00000047284.1";\n+chr10\tHAVANA\tCDS\t27112067\t27112234\t.\t-\t0\tgene_id "ENSG00000136754.12"; transcript_id "ENST00000376170.4"; gene_type "protein_coding"; gene_status "KNOWN"; gene_name "ABI1"; transcript_type "protein_coding"; transcript_status "KNOWN"; transcript_name "ABI1-002"; exon_number 2; exon_id "ENSE00000926070.1"; level 2; tag "basic"; tag "appris_candidate"; tag "CCDS"; ccdsid "CCDS53499.1"; havana_gene "OTTHUMG00000017848.1"; havana_transcript "OTTHUMT00000047284.1";\n+chr10\tHAVANA\texon\t27065994\t27066170\t.\t-\t.\tgene_id "ENSG00000136754.12"; transcript_id "ENST00000376170.4"; gene_type "protein_coding"; gene_status "KNOWN"; gene_name "ABI1"; transcript_type "protein_coding"; transcript_status "KNOWN"; transcript_name "ABI1-002"; exon_number 3; exon_id "ENSE00001603723.1"; level 2; tag "basic"; tag "appris_candidate"; tag "CCDS"; ccdsid "CCDS53499.1"; havana_gene "OTTHUMG00000017848.1"; havana_transcript "OTTHUMT00000047284.1";\n+chr10\tHAVANA\tCDS\t27065994\t27066170\t.\t-\t0\tgene_id "ENSG00000136754.12"; transcript_id "ENST00000376170.4"; gene_type "protein_coding"; gene_status "KNOWN"; gene_name "ABI1"; transcript_type "protein_coding"; transcript_status "KNOWN"; transcript_name "ABI1-002"; exon_number 3; exon_id "ENSE00001603723.1"; level 2; tag "basic"; tag "appris_candidate"; tag "CCDS"; ccdsid "CCDS53499.1"; havana_gene "OTTHUMG0000001'..b'THUMT00000047288.1";\n+chr10\tHAVANA\texon\t27040527\t27040712\t.\t-\t.\tgene_id "ENSG00000136754.12"; transcript_id "ENST00000376140.3"; gene_type "protein_coding"; gene_status "KNOWN"; gene_name "ABI1"; transcript_type "protein_coding"; transcript_status "KNOWN"; transcript_name "ABI1-006"; exon_number 10; exon_id "ENSE00001098423.1"; level 2; tag "basic"; tag "appris_candidate"; tag "CCDS"; ccdsid "CCDS31171.1"; havana_gene "OTTHUMG00000017848.1"; havana_transcript "OTTHUMT00000047288.1";\n+chr10\tHAVANA\tCDS\t27040527\t27040712\t.\t-\t2\tgene_id "ENSG00000136754.12"; transcript_id "ENST00000376140.3"; gene_type "protein_coding"; gene_status "KNOWN"; gene_name "ABI1"; transcript_type "protein_coding"; transcript_status "KNOWN"; transcript_name "ABI1-006"; exon_number 10; exon_id "ENSE00001098423.1"; level 2; tag "basic"; tag "appris_candidate"; tag "CCDS"; ccdsid "CCDS31171.1"; havana_gene "OTTHUMG00000017848.1"; havana_transcript "OTTHUMT00000047288.1";\n+chr10\tHAVANA\texon\t27037499\t27037674\t.\t-\t.\tgene_id "ENSG00000136754.12"; transcript_id "ENST00000376140.3"; gene_type "protein_coding"; gene_status "KNOWN"; gene_name "ABI1"; transcript_type "protein_coding"; transcript_status "KNOWN"; transcript_name "ABI1-006"; exon_number 11; exon_id "ENSE00001869699.1"; level 2; tag "basic"; tag "appris_candidate"; tag "CCDS"; ccdsid "CCDS31171.1"; havana_gene "OTTHUMG00000017848.1"; havana_transcript "OTTHUMT00000047288.1";\n+chr10\tHAVANA\tCDS\t27037502\t27037674\t.\t-\t2\tgene_id "ENSG00000136754.12"; transcript_id "ENST00000376140.3"; gene_type "protein_coding"; gene_status "KNOWN"; gene_name "ABI1"; transcript_type "protein_coding"; transcript_status "KNOWN"; transcript_name "ABI1-006"; exon_number 11; exon_id "ENSE00001869699.1"; level 2; tag "basic"; tag "appris_candidate"; tag "CCDS"; ccdsid "CCDS31171.1"; havana_gene "OTTHUMG00000017848.1"; havana_transcript "OTTHUMT00000047288.1";\n+chr10\tHAVANA\tstop_codon\t27037499\t27037501\t.\t-\t0\tgene_id "ENSG00000136754.12"; transcript_id "ENST00000376140.3"; gene_type "protein_coding"; gene_status "KNOWN"; gene_name "ABI1"; transcript_type "protein_coding"; transcript_status "KNOWN"; transcript_name "ABI1-006"; exon_number 11; exon_id "ENSE00001869699.1"; level 2; tag "basic"; tag "appris_candidate"; tag "CCDS"; ccdsid "CCDS31171.1"; havana_gene "OTTHUMG00000017848.1"; havana_transcript "OTTHUMT00000047288.1";\n+chr10\tHAVANA\tUTR\t27037499\t27037501\t.\t-\t.\tgene_id "ENSG00000136754.12"; transcript_id "ENST00000376140.3"; gene_type "protein_coding"; gene_status "KNOWN"; gene_name "ABI1"; transcript_type "protein_coding"; transcript_status "KNOWN"; transcript_name "ABI1-006"; level 2; tag "basic"; tag "appris_candidate"; tag "CCDS"; ccdsid "CCDS31171.1"; havana_gene "OTTHUMG00000017848.1"; havana_transcript "OTTHUMT00000047288.1";\n+chr10\tHAVANA\ttranscript\t27065555\t27112219\t.\t-\t.\tgene_id "ENSG00000136754.12"; transcript_id "ENST00000473481.1"; gene_type "protein_coding"; gene_status "KNOWN"; gene_name "ABI1"; transcript_type "processed_transcript"; transcript_status "KNOWN"; transcript_name "ABI1-008"; level 2; tag "basic"; havana_gene "OTTHUMG00000017848.1"; havana_transcript "OTTHUMT00000047290.1";\n+chr10\tHAVANA\texon\t27112067\t27112219\t.\t-\t.\tgene_id "ENSG00000136754.12"; transcript_id "ENST00000473481.1"; gene_type "protein_coding"; gene_status "KNOWN"; gene_name "ABI1"; transcript_type "processed_transcript"; transcript_status "KNOWN"; transcript_name "ABI1-008"; exon_number 1; exon_id "ENSE00001893748.1"; level 2; tag "basic"; havana_gene "OTTHUMG00000017848.1"; havana_transcript "OTTHUMT00000047290.1";\n+chr10\tHAVANA\texon\t27065555\t27066170\t.\t-\t.\tgene_id "ENSG00000136754.12"; transcript_id "ENST00000473481.1"; gene_type "protein_coding"; gene_status "KNOWN"; gene_name "ABI1"; transcript_type "processed_transcript"; transcript_status "KNOWN"; transcript_name "ABI1-008"; exon_number 2; exon_id "ENSE00001845544.1"; level 2; tag "basic"; havana_gene "OTTHUMG00000017848.1"; havana_transcript "OTTHUMT00000047290.1";\n' |
| b |
| diff -r 000000000000 -r 9304dd9a16a2 test-data/default.pdf |
| b |
| Binary file test-data/default.pdf has changed |
| b |
| diff -r 000000000000 -r 9304dd9a16a2 test-data/overlay_with_aggregation.pdf |
| b |
| Binary file test-data/overlay_with_aggregation.pdf has changed |
| b |
| diff -r 000000000000 -r 9304dd9a16a2 test-data/overlay_without_aggregation.pdf |
| b |
| Binary file test-data/overlay_without_aggregation.pdf has changed |