changeset 0:7608209110d3 draft

"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/deepvariant commit e46feb5432b28a9360a1d4e8a6618e6ed91008fe"
author iuc
date Mon, 06 Sep 2021 17:34:08 +0000
parents
children b778a18bd878
files deepvariant.xml macros.xml test-data/fasta_indexes.loc test-data/output.g.vcf test-data/output.vcf test-data/reads.bam test-data/reads.cram test-data/reference.fasta test-data/region.bed test-data/report.html test-data/test-cache/reference.fasta test-data/test-cache/reference.fasta.fai tool-data/fasta_indexes.loc.sample tool_data_table_conf.xml.sample tool_data_table_conf.xml.test
diffstat 15 files changed, 462 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/deepvariant.xml	Mon Sep 06 17:34:08 2021 +0000
@@ -0,0 +1,279 @@
+<tool id='deepvariant' name='DeepVariant' version='@TOOL_VERSION@+galaxy@SUFFIX_VERSION@' profile='20.01'>
+    <description>deep learning-based variant caller</description>
+    <macros>
+        <import>macros.xml</import>
+    </macros>
+    <expand macro='edam_ontology' />
+    <expand macro='requirements' />
+    <command detect_errors='exit_code'><![CDATA[
+        ln -s '${reads}' reads_alignment.bam
+        && ln -s '${reads.metadata.bam_index}' reads_alignment.bam.bai
+        #if $regions_conditional.regions_option == 'bed'
+            && ln -s '${regions_conditional.bed_file}' region.bed
+        #end if
+        #if $reference_genome.source == 'history':
+            #set $ref_genome = 'reference.fasta'
+            && ln -s -f '${reference_genome.history_item}' $ref_genome
+            && samtools faidx $ref_genome
+        #else:
+            #set $ref_genome = $reference_genome.index.fields.path
+        #end if
+        && run_deepvariant
+        --model_type=$model_type
+        --ref=$ref_genome
+        --reads=reads_alignment.bam
+        --output_vcf='./output.vcf.gz'
+        #if $output_gvcf
+            --output_gvcf='./output.g.vcf.gz'
+        #end if
+        #if $regions_conditional.regions_option == 'region'
+            --regions $regions_conditional.region_literal
+        #else if $regions_conditional.regions_option == 'bed'
+            --regions region.bed
+        #end if
+        --call_variants_extra_args="use_openvino=true" ## Setting this will use OpenVINO on Intel CPUs, which empirically reduces call_variants runtime by 15%-25%.
+        --num_shards=\${GALAXY_SLOTS:-2}
+        && gunzip './output.vcf.gz'
+        #if $output_gvcf
+            && gunzip './output.g.vcf.gz'
+        #end if
+    ]]>    </command>
+    <inputs>
+        <conditional name="reference_genome">
+            <param name="source" type="select" label="Source for the reference genome" help="Built-in references were created using default options.">
+                <option value="indexed" selected="true">Use a built-in genome</option>
+                <option value="history">Use a genome from history</option>
+            </param>
+            <when value="indexed">
+                <param name="index" type="select" label="Select a reference genome" help="If your genome of interest is not listed, contact the Galaxy team.">
+                    <options from_data_table="fasta_indexes">
+                        <filter type="sort_by" column="2" />
+                        <validator type="no_options" message="No genomes are available for the selected input dataset" />
+                    </options>
+                </param>
+            </when>
+            <when value="history">
+                <param name="history_item" type="data" format="fasta" label="Reference genome" help="A reference genome in FASTA format" />
+            </when>
+        </conditional>
+        <param argument="--reads" type="data" format="BAM" label="BAM file" help="An aligned reads files for child and one or two parents in BAM format. The reads must be aligned to the reference genome" />
+        <param argument="--model_type" type="select" label="Model type" help="Type of model to use for variant calling">
+            <option value="WGS">WGS: Illumina whole genome sequencing</option>
+            <option value="WES">WES: Illumina whole exome sequencing</option>
+            <option value="PACBIO">PacBio HiFi</option>
+            <option value="HYBRID_PACBIO_ILLUMINA">Hybrid PacBio HiFi-Illumina</option>
+        </param>
+        <conditional name="regions_conditional">
+            <param name="regions_option" type="select" label="Select specific regions to process" help="Restrict the analysis to specific regions. A space-separated list of chromosome regions to process. Individual elements can be region literals, such as chr20:10-20 or paths to BED files.">
+                <option value="disabled" selected="True">Disabled</option>
+                <option value="region">Specify region literals</option>
+                <option value="bed">Provide a BED file</option>
+            </param>
+            <when value="disabled"/>
+            <when value="region">
+                <param name="region_literal" argument="--regions" type="text" label="Regions" help="This option refers to contigs present in the reference genome. These arguments accept space-separated lists, so all of the follow examples are valid arguments: 'chr20:10,000,000-11,000,000', 'chr20 chr21' and 'chr20'">
+                    <sanitizer invalid_char="">
+                        <valid initial="string.letters,string.digits">
+                            <add value="," />
+                            <add value=":" />
+                            <add value="-" />
+                        </valid>
+                    </sanitizer>
+                    <validator type="regex">[0-9a-zA-Z,:-]+</validator>
+                </param>
+            </when>
+            <when value="bed">
+                <param name="bed_file" argument="--regions" type="data" format="bed" label="BED file" help="The BED should the store genomic regions of interest" />
+            </when>
+        </conditional>
+        <param argument="--output_gvcf" type="boolean" truevalue="True" falsevalue="False" checked="False" label="Generate genomic VCF (gVCF) output" help="The key difference between a regular VCF and a gVCF is that the gVCF has records for all sites, whether there is a variant call there or not. The goal is to have every site represented in the file in order to do joint analysis of a cohort in subsequent steps" />
+    </inputs>
+    <outputs>
+        <data name="vcf_file" format="vcf" from_work_dir="output.vcf" label="${tool.name} on ${on_string}: VCF file"/>
+        <data name="html_report" format="html" from_work_dir="output.visual_report.html" label="${tool.name} on ${on_string}: HTML report"/>
+        <data name="gvcf_file" format="vcf" from_work_dir="output.g.vcf" label="${tool.name} on ${on_string}: gVCF file">
+            <filter>output_gvcf</filter>
+        </data>
+    </outputs>
+    <tests>
+        <test expect_num_outputs="2">
+            <conditional name="reference_genome">
+                <param name="source" value="history"/>
+                <param name="history_item" value="reference.fasta"/>
+            </conditional>
+            <param name="reads" value="reads.bam"/>
+            <param name="model_type" value="WGS"/>
+            <param name="output_gvcf" value="False"/>
+            <conditional name="regions_conditional">
+                <param name="regions_option" value="disabled"/>
+            </conditional>
+            <output name="vcf_file" file="output.vcf" ftype="vcf">
+                <assert_contents>
+                    <has_text text="##fileformat=VCFv4.2"/>
+                    <has_size value="2473"/>
+                </assert_contents>
+            </output>
+            <output name="html_report" file="report.html" ftype="html">
+                <assert_contents>
+                    <has_size value="19287" delta="100"/>
+                </assert_contents>
+            </output>
+        </test>
+        <!-- Test region literal option-->
+        <test expect_num_outputs="2">
+            <conditional name="reference_genome">
+                <param name="source" value="history"/>
+                <param name="history_item" value="reference.fasta"/>
+            </conditional>
+            <param name="reads" value="reads.bam"/>
+            <param name="model_type" value="WGS"/>
+            <conditional name="regions_conditional">
+                <param name="regions_option" value="region"/>
+                <param name="region_literal" value="K03455:1-2669"/>
+            </conditional>
+            <output name="vcf_file" ftype="vcf">
+                <assert_contents>
+                    <has_text text="##fileformat=VCFv4.2"/>
+                    <has_size value="1846"/>
+                </assert_contents>
+            </output>
+            <output name="html_report" ftype="html">
+                <assert_contents>
+                    <has_size value="18864" delta="100"/>
+                </assert_contents>
+            </output>
+        </test>
+        <!-- Test region bed option-->
+        <test expect_num_outputs="2">
+            <conditional name="reference_genome">
+                <param name="source" value="history"/>
+                <param name="history_item" value="reference.fasta"/>
+            </conditional>
+            <param name="reads" value="reads.bam"/>
+            <param name="model_type" value="WGS"/>
+            <conditional name="regions_conditional">
+                <param name="regions_option" value="bed"/>
+                <param name="bed_file" value="region.bed"/>
+            </conditional>
+            <output name="vcf_file" ftype="vcf">
+                <assert_contents>
+                    <has_text text="##fileformat=VCFv4.2"/>
+                    <has_size value="1846"/>
+                </assert_contents>
+            </output>
+            <output name="html_report" ftype="html">
+                <assert_contents>
+                    <has_size value="18864" delta="100"/>
+                </assert_contents>
+            </output>
+        </test>
+        <!-- Test gvcf output option-->
+        <test expect_num_outputs="3">
+            <conditional name="reference_genome">
+                <param name="source" value="history"/>
+                <param name="history_item" value="reference.fasta"/>
+            </conditional>
+            <param name="reads" value="reads.bam"/>
+            <param name="model_type" value="WGS"/>
+            <param name="output_gvcf" value="True"/>
+            <conditional name="regions_conditional">
+                <param name="regions_option" value="region"/>
+                <param name="region_literal" value="K03455:1-2669"/>
+            </conditional>
+            <output name="vcf_file" ftype="vcf">
+                <assert_contents>
+                    <has_text text="##fileformat=VCFv4.2"/>
+                    <has_size value="1846"/>
+                </assert_contents>
+            </output>
+            <output name="gvcf_file" file="output.g.vcf" ftype="vcf">
+                <assert_contents>
+                    <has_text text="##fileformat=VCFv4.2"/>
+                    <has_size value="3195"/>
+                </assert_contents>
+            </output>
+            <output name="html_report" ftype="html">
+                <assert_contents>
+                    <has_size value="18864" delta="100"/>
+                </assert_contents>
+            </output>
+        </test>
+        <!-- Test CRAM format input-->
+        <test expect_num_outputs="2">
+            <conditional name="reference_genome">
+                <param name="source" value="history"/>
+                <param name="history_item" value="reference.fasta"/>
+            </conditional>
+            <param name="reads" value="reads.cram"/>
+            <param name="model_type" value="WGS"/>
+            <conditional name="regions_conditional">
+                <param name="regions_option" value="disabled"/>
+            </conditional>
+            <output name="vcf_file" ftype="vcf">
+                <assert_contents>
+                    <has_text text="##fileformat=VCFv4.2"/>
+                    <has_size value="2473"/>
+                </assert_contents>
+            </output>
+            <output name="html_report" ftype="html">
+                <assert_contents>
+                    <has_size value="19287" delta="100"/>
+                </assert_contents>
+            </output>
+        </test>
+        <!-- Test indexed reference format input-->
+        <test expect_num_outputs="2">
+            <conditional name="reference_genome">
+                <param name="source" value="indexed"/>
+                <param name="index" value="phix174"/>
+            </conditional>
+            <param name="reads" value="reads.bam"/>
+            <param name="model_type" value="WGS"/>
+            <conditional name="regions_conditional">
+                <param name="regions_option" value="disabled"/>
+            </conditional>
+            <output name="vcf_file" ftype="vcf">
+                <assert_contents>
+                    <has_text text="##fileformat=VCFv4.2"/>
+                    <has_size value="2473"/>
+                </assert_contents>
+            </output>
+            <output name="html_report" ftype="html">
+                <assert_contents>
+                    <has_size value="19287" delta="100"/>
+                </assert_contents>
+            </output>
+        </test>
+    </tests>
+    <help><![CDATA[
+
+.. class:: infomark
+
+**Purpose**
+
+DeepVariant is a deep learning-based variant caller that takes aligned reads (in BAM or CRAM format), produces pileup image tensors from them, classifies each tensor using a convolutional neural network, and finally reports the results in a standard VCF or gVCF file.
+
+DeepVariant supports germline variant-calling in diploid organisms.
+
+- NGS (Illumina) data for either a `whole genome <https://github.com/google/deepvariant/blob/r1.2/docs/deepvariant-case-study.md>`_ or `whole exome <https://github.com/google/deepvariant/blob/r1.2/docs/deepvariant-exome-case-study.md>`_.
+- PacBio HiFi data, see the `PacBio case study <https://github.com/google/deepvariant/blob/r1.2/docs/deepvariant-pacbio-model-case-study.md>`_.
+- Hybrid PacBio HiFi + Illumina WGS, see the `hybrid case study <https://github.com/google/deepvariant/blob/r1.2/docs/deepvariant-hybrid-case-study.md>`_.
+
+Please also note:
+
+For somatic data or any other samples where the genotypes go beyond two copies of DNA, DeepVariant will not work out of the box because the only genotypes supported are hom-alt, het, and hom-ref.
+
+The models included with DeepVariant are only trained on human data. For other organisms, see the blog post on `non-human variant-calling <https://google.github.io/deepvariant/posts/2018-12-05-improved-non-human-variant-calling-using-species-specific-deepvariant-models/>`_ for some possible pitfalls and how to handle them.
+
+----
+
+.. class:: infomark
+
+**How DeepVariants works**
+
+DeepVariant relies on `Nucleus <https://github.com/google/nucleus>`_, a library of Python and C++ code for reading and writing data in common genomics file formats (like SAM and VCF) designed for painless integration with the `TensorFlow <https://www.tensorflow.org/>`_ machine learning framework. Nucleus was built with DeepVariant in mind and open-sourced separately so it can be used by anyone in the genomics research community for other projects. See this blog post on `Using Nucleus and TensorFlow for DNA Sequencing Error Correction <https://google.github.io/deepvariant/posts/2019-01-31-using-nucleus-and-tensorflow-for-dna-sequencing-error-correction/>`_.
+
+
+]]>    </help>
+    <expand macro="citations"/>
+</tool>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/macros.xml	Mon Sep 06 17:34:08 2021 +0000
@@ -0,0 +1,22 @@
+<macros>
+    <token name="@TOOL_VERSION@">1.2.0</token>
+    <token name="@SUFFIX_VERSION@">0</token>
+    <xml name="edam_ontology">
+        <edam_topics>                                                                                  
+            <edam_topic>topic_0199</edam_topic>
+        </edam_topics>
+        <edam_operations>
+            <edam_operation>operation_3227</edam_operation>
+        </edam_operations>
+    </xml>
+    <xml name="requirements">
+        <requirements>
+            <container type="docker">google/deepvariant:@TOOL_VERSION@</container>
+        </requirements>
+    </xml>
+    <xml name="citations">
+        <citations>
+            <citation type="doi">10.1038/nbt.4235</citation>
+        </citations>
+    </xml>
+</macros>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/fasta_indexes.loc	Mon Sep 06 17:34:08 2021 +0000
@@ -0,0 +1,1 @@
+phix174	phiX174	PhiX174 bacteriophage	${__HERE__}/test-cache/reference.fasta
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/output.g.vcf	Mon Sep 06 17:34:08 2021 +0000
@@ -0,0 +1,43 @@
+##fileformat=VCFv4.2
+##FILTER=<ID=PASS,Description="All filters passed">
+##FILTER=<ID=RefCall,Description="Genotyping model thinks this site is reference.">
+##FILTER=<ID=LowQual,Description="Confidence in this variant being real is below calling threshold.">
+##FILTER=<ID=NoCall,Description="Site has depth=0 resulting in no call.">
+##INFO=<ID=END,Number=1,Type=Integer,Description="End position (for use with symbolic alleles)">
+##FORMAT=<ID=GT,Number=1,Type=String,Description="Genotype">
+##FORMAT=<ID=GQ,Number=1,Type=Integer,Description="Conditional genotype quality">
+##FORMAT=<ID=DP,Number=1,Type=Integer,Description="Read depth">
+##FORMAT=<ID=MIN_DP,Number=1,Type=Integer,Description="Minimum DP observed within the GVCF block.">
+##FORMAT=<ID=AD,Number=R,Type=Integer,Description="Read depth for each allele">
+##FORMAT=<ID=VAF,Number=A,Type=Float,Description="Variant allele fractions.">
+##FORMAT=<ID=PL,Number=G,Type=Integer,Description="Phred-scaled genotype likelihoods rounded to the closest integer">
+##FORMAT=<ID=MED_DP,Number=1,Type=Integer,Description="Median DP observed within the GVCF block rounded to the nearest integer.">
+##DeepVariant_version=1.2.0
+##contig=<ID=K03455,length=9719>
+#CHROM	POS	ID	REF	ALT	QUAL	FILTER	INFO	FORMAT	SRR8525881
+K03455	1	.	T	<*>	0	.	END=1000	GT:GQ:MIN_DP:PL	0/0:1:0:0,0,0
+K03455	1001	.	G	<*>	0	.	END=2000	GT:GQ:MIN_DP:PL	0/0:1:0:0,0,0
+K03455	2001	.	T	<*>	0	.	END=2597	GT:GQ:MIN_DP:PL	0/0:1:0:0,0,0
+K03455	2598	.	G	<*>	0	.	END=2598	GT:GQ:MIN_DP:PL	./.:0:2:59,6,0
+K03455	2599	.	A	<*>	0	.	END=2603	GT:GQ:MIN_DP:PL	0/0:6:2:0,6,59
+K03455	2604	.	CCA	C,<*>	5.5	PASS	.	GT:GQ:DP:AD:VAF:PL	1/1:5:2:0,2,0:1,0:3,15,0,990,990,990
+K03455	2607	.	A	<*>	0	.	END=2607	GT:GQ:MIN_DP:PL	0/0:6:2:0,6,59
+K03455	2608	.	A	T,<*>	7.8	PASS	.	GT:GQ:DP:AD:VAF:PL	1/1:7:2:0,2,0:1,0:6,14,0,990,990,990
+K03455	2609	.	A	T,<*>	4.8	PASS	.	GT:GQ:DP:AD:VAF:PL	1/1:4:2:0,2,0:1,0:2,14,0,990,990,990
+K03455	2610	.	G	<*>	0	.	END=2612	GT:GQ:MIN_DP:PL	0/0:6:2:0,6,59
+K03455	2613	.	A	T,<*>	1.1	RefCall	.	GT:GQ:DP:AD:VAF:PL	./.:7:2:0,2,0:1,0:0,19,5,990,990,990
+K03455	2614	.	A	<*>	0	.	END=2614	GT:GQ:MIN_DP:PL	0/0:6:2:0,6,59
+K03455	2615	.	A	<*>	0	.	END=2615	GT:GQ:MIN_DP:PL	0/0:15:5:0,15,149
+K03455	2616	.	C	<*>	0	.	END=2616	GT:GQ:MIN_DP:PL	./.:0:7:8,0,158
+K03455	2617	.	A	<*>	0	.	END=2617	GT:GQ:MIN_DP:PL	./.:0:6:11,0,131
+K03455	2618	.	A	<*>	0	.	END=2618	GT:GQ:MIN_DP:PL	0/0:18:6:0,18,179
+K03455	2619	.	T	<*>	0	.	END=2619	GT:GQ:MIN_DP:PL	0/0:21:7:0,21,209
+K03455	2620	.	G	<*>	0	.	END=2620	GT:GQ:MIN_DP:PL	0/0:39:13:0,39,389
+K03455	2621	.	G	<*>	0	.	END=2651	GT:GQ:MIN_DP:PL	0/0:50:49:0,147,1469
+K03455	2652	.	G	A,<*>	20.1	PASS	.	GT:GQ:DP:AD:VAF:PL	1/1:20:201:0,201,0:1,0:20,47,0,990,990,990
+K03455	2653	.	T	<*>	0	.	END=2659	GT:GQ:MIN_DP:PL	0/0:50:201:0,300,2999
+K03455	2660	.	T	C,<*>	25.5	PASS	.	GT:GQ:DP:AD:VAF:PL	1/1:25:213:0,213,0:1,0:25,45,0,990,990,990
+K03455	2661	.	T	<*>	0	.	END=2663	GT:GQ:MIN_DP:PL	0/0:50:213:0,300,2999
+K03455	2664	.	A	G,<*>	21.3	PASS	.	GT:GQ:DP:AD:VAF:PL	1/1:21:238:0,238,0:1,0:21,45,0,990,990,990
+K03455	2665	.	C	<*>	0	.	END=2668	GT:GQ:MIN_DP:PL	0/0:50:240:0,300,2999
+K03455	2669	.	G	A,<*>	20.6	PASS	.	GT:GQ:DP:AD:VAF:PL	1/1:21:250:0,250,0:1,0:20,42,0,990,990,990
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/output.vcf	Mon Sep 06 17:34:08 2021 +0000
@@ -0,0 +1,32 @@
+##fileformat=VCFv4.2
+##FILTER=<ID=PASS,Description="All filters passed">
+##FILTER=<ID=RefCall,Description="Genotyping model thinks this site is reference.">
+##FILTER=<ID=LowQual,Description="Confidence in this variant being real is below calling threshold.">
+##FILTER=<ID=NoCall,Description="Site has depth=0 resulting in no call.">
+##INFO=<ID=END,Number=1,Type=Integer,Description="End position (for use with symbolic alleles)">
+##FORMAT=<ID=GT,Number=1,Type=String,Description="Genotype">
+##FORMAT=<ID=GQ,Number=1,Type=Integer,Description="Conditional genotype quality">
+##FORMAT=<ID=DP,Number=1,Type=Integer,Description="Read depth">
+##FORMAT=<ID=MIN_DP,Number=1,Type=Integer,Description="Minimum DP observed within the GVCF block.">
+##FORMAT=<ID=AD,Number=R,Type=Integer,Description="Read depth for each allele">
+##FORMAT=<ID=VAF,Number=A,Type=Float,Description="Variant allele fractions.">
+##FORMAT=<ID=PL,Number=G,Type=Integer,Description="Phred-scaled genotype likelihoods rounded to the closest integer">
+##FORMAT=<ID=MED_DP,Number=1,Type=Integer,Description="Median DP observed within the GVCF block rounded to the nearest integer.">
+##DeepVariant_version=1.2.0
+##contig=<ID=K03455,length=9719>
+#CHROM	POS	ID	REF	ALT	QUAL	FILTER	INFO	FORMAT	SRR8525881
+K03455	2652	.	G	A	23.7	PASS	.	GT:GQ:DP:AD:VAF:PL	1/1:24:201:0,200:0.995025:23,45,0
+K03455	2660	.	T	C	25.3	PASS	.	GT:GQ:DP:AD:VAF:PL	1/1:25:213:0,213:1:25,45,0
+K03455	2664	.	A	G	21.4	PASS	.	GT:GQ:DP:AD:VAF:PL	1/1:21:238:0,238:1:21,45,0
+K03455	2669	.	G	A	20.3	PASS	.	GT:GQ:DP:AD:VAF:PL	1/1:20:258:0,250:0.968992:20,43,0
+K03455	2720	.	T	C	31.9	PASS	.	GT:GQ:DP:AD:VAF:PL	1/1:32:384:0,380:0.989583:31,47,0
+K03455	2797	.	G	A	39.4	PASS	.	GT:GQ:DP:AD:VAF:PL	1/1:39:669:0,666:0.995516:39,54,0
+K03455	2848	.	T	TA	41.3	PASS	.	GT:GQ:DP:AD:VAF:PL	1/1:39:820:85,704:0.858537:41,43,0
+K03455	2874	.	C	T	32	PASS	.	GT:GQ:DP:AD:VAF:PL	1/1:32:777:1,756:0.972973:32,45,0
+K03455	2882	.	G	T	33.2	PASS	.	GT:GQ:DP:AD:VAF:PL	1/1:33:737:9,721:0.97829:33,49,0
+K03455	2894	.	T	C	28.2	PASS	.	GT:GQ:DP:AD:VAF:PL	1/1:28:728:1,717:0.98489:28,51,0
+K03455	2906	.	C	T	23.7	PASS	.	GT:GQ:DP:AD:VAF:PL	1/1:24:653:2,650:0.995406:23,53,0
+K03455	2913	.	G	A	27.4	PASS	.	GT:GQ:DP:AD:VAF:PL	1/1:27:639:1,638:0.998435:27,53,0
+K03455	2987	.	C	T	16.5	PASS	.	GT:GQ:DP:AD:VAF:PL	1/1:16:235:0,234:0.995745:16,38,0
+K03455	3020	.	A	G	3.5	PASS	.	GT:GQ:DP:AD:VAF:PL	1/1:3:100:0,100:1:0,24,0
+K03455	3042	.	A	C	0	RefCall	.	GT:GQ:DP:AD:VAF:PL	0/0:37:12:9,3:0.25:0,40,39
Binary file test-data/reads.bam has changed
Binary file test-data/reads.cram has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/reference.fasta	Mon Sep 06 17:34:08 2021 +0000
@@ -0,0 +1,2 @@
+>K03455
+TGGAAGGGCTAATTCACTCCCAACGAAGACAAGATATCCTTGATCTGTGGATCTACCACACACAAGGCTACTTCCCTGATTAGCAGAACTACACACCAGGGCCAGGGATCAGATATCCACTGACCTTTGGATGGTGCTACAAGCTAGTACCAGTTGAGCCAGAGAAGTTAGAAGAAGCCAACAAAGGAGAGAACACCAGCTTGTTACACCCTGTGAGCCTGCATGGAATGGATGACCCGGAGAGAGAAGTGTTAGAGTGGAGGTTTGACAGCCGCCTAGCATTTCATCACATGGCCCGAGAGCTGCATCCGGAGTACTTCAAGAACTGCTGACATCGAGCTTGCTACAAGGGACTTTCCGCTGGGGACTTTCCAGGGAGGCGTGGCCTGGGCGGGACTGGGGAGTGGCGAGCCCTCAGATCCTGCATATAAGCAGCTGCTTTTTGCCTGTACTGGGTCTCTCTGGTTAGACCAGATCTGAGCCTGGGAGCTCTCTGGCTAACTAGGGAACCCACTGCTTAAGCCTCAATAAAGCTTGCCTTGAGTGCTTCAAGTAGTGTGTGCCCGTCTGTTGTGTGACTCTGGTAACTAGAGATCCCTCAGACCCTTTTAGTCAGTGTGGAAAATCTCTAGCAGTGGCGCCCGAACAGGGACCTGAAAGCGAAAGGGAAACCAGAGGAGCTCTCTCGACGCAGGACTCGGCTTGCTGAAGCGCGCACGGCAAGAGGCGAGGGGCGGCGACTGGTGAGTACGCCAAAAATTTTGACTAGCGGAGGCTAGAAGGAGAGAGATGGGTGCGAGAGCGTCAGTATTAAGCGGGGGAGAATTAGATCGATGGGAAAAAATTCGGTTAAGGCCAGGGGGAAAGAAAAAATATAAATTAAAACATATAGTATGGGCAAGCAGGGAGCTAGAACGATTCGCAGTTAATCCTGGCCTGTTAGAAACATCAGAAGGCTGTAGACAAATACTGGGACAGCTACAACCATCCCTTCAGACAGGATCAGAAGAACTTAGATCATTATATAATACAGTAGCAACCCTCTATTGTGTGCATCAAAGGATAGAGATAAAAGACACCAAGGAAGCTTTAGACAAGATAGAGGAAGAGCAAAACAAAAGTAAGAAAAAAGCACAGCAAGCAGCAGCTGACACAGGACACAGCAATCAGGTCAGCCAAAATTACCCTATAGTGCAGAACATCCAGGGGCAAATGGTACATCAGGCCATATCACCTAGAACTTTAAATGCATGGGTAAAAGTAGTAGAAGAGAAGGCTTTCAGCCCAGAAGTGATACCCATGTTTTCAGCATTATCAGAAGGAGCCACCCCACAAGATTTAAACACCATGCTAAACACAGTGGGGGGACATCAAGCAGCCATGCAAATGTTAAAAGAGACCATCAATGAGGAAGCTGCAGAATGGGATAGAGTGCATCCAGTGCATGCAGGGCCTATTGCACCAGGCCAGATGAGAGAACCAAGGGGAAGTGACATAGCAGGAACTACTAGTACCCTTCAGGAACAAATAGGATGGATGACAAATAATCCACCTATCCCAGTAGGAGAAATTTATAAAAGATGGATAATCCTGGGATTAAATAAAATAGTAAGAATGTATAGCCCTACCAGCATTCTGGACATAAGACAAGGACCAAAGGAACCCTTTAGAGACTATGTAGACCGGTTCTATAAAACTCTAAGAGCCGAGCAAGCTTCACAGGAGGTAAAAAATTGGATGACAGAAACCTTGTTGGTCCAAAATGCGAACCCAGATTGTAAGACTATTTTAAAAGCATTGGGACCAGCGGCTACACTAGAAGAAATGATGACAGCATGTCAGGGAGTAGGAGGACCCGGCCATAAGGCAAGAGTTTTGGCTGAAGCAATGAGCCAAGTAACAAATTCAGCTACCATAATGATGCAGAGAGGCAATTTTAGGAACCAAAGAAAGATTGTTAAGTGTTTCAATTGTGGCAAAGAAGGGCACACAGCCAGAAATTGCAGGGCCCCTAGGAAAAAGGGCTGTTGGAAATGTGGAAAGGAAGGACACCAAATGAAAGATTGTACTGAGAGACAGGCTAATTTTTTAGGGAAGATCTGGCCTTCCTACAAGGGAAGGCCAGGGAATTTTCTTCAGAGCAGACCAGAGCCAACAGCCCCACCAGAAGAGAGCTTCAGGTCTGGGGTAGAGACAACAACTCCCCCTCAGAAGCAGGAGCCGATAGACAAGGAACTGTATCCTTTAACTTCCCTCAGGTCACTCTTTGGCAACGACCCCTCGTCACAATAAAGATAGGGGGGCAACTAAAGGAAGCTCTATTAGATACAGGAGCAGATGATACAGTATTAGAAGAAATGAGTTTGCCAGGAAGATGGAAACCAAAAATGATAGGGGGAATTGGAGGTTTTATCAAAGTAAGACAGTATGATCAGATACTCATAGAAATCTGTGGACATAAAGCTATAGGTACAGTATTAGTAGGACCTACACCTGTCAACATAATTGGAAGAAATCTGTTGACTCAGATTGGTTGCACTTTAAATTTTCCCATTAGCCCTATTGAGACTGTACCAGTAAAATTAAAGCCAGGAATGGATGGCCCAAAAGTTAAACAATGGCCATTGACAGAAGAAAAAATAAAAGCATTAGTAGAAATTTGTACAGAGATGGAAAAGGAAGGGAAAATTTCAAAAATTGGGCCTGAAAATCCATACAATACTCCAGTATTTGCCATAAAGAAAAAAGACAGTACTAAATGGAGAAAATTAGTAGATTTCAGAGAACTTAATAAGAGAACTCAAGACTTCTGGGAAGTTCAATTAGGAATACCACATCCCGCAGGGTTAAAAAAGAAAAAATCAGTAACAGTACTGGATGTGGGTGATGCATATTTTTCAGTTCCCTTAGATGAAGACTTCAGGAAGTATACTGCATTTACCATACCTAGTATAAACAATGAGACACCAGGGATTAGATATCAGTACAATGTGCTTCCACAGGGATGGAAAGGATCACCAGCAATATTCCAAAGTAGCATGACAAAAATCTTAGAGCCTTTTAGAAAACAAAATCCAGACATAGTTATCTATCAATACATGGATGATTTGTATGTAGGATCTGACTTAGAAATAGGGCAGCATAGAACAAAAATAGAGGAGCTGAGACAACATCTGTTGAGGTGGGGACTTACCACACCAGACAAAAAACATCAGAAAGAACCTCCATTCCTTTGGATGGGTTATGAACTCCATCCTGATAAATGGACAGTACAGCCTATAGTGCTGCCAGAAAAAGACAGCTGGACTGTCAATGACATACAGAAGTTAGTGGGGAAATTGAATTGGGCAAGTCAGATTTACCCAGGGATTAAAGTAAGGCAATTATGTAAACTCCTTAGAGGAACCAAAGCACTAACAGAAGTAATACCACTAACAGAAGAAGCAGAGCTAGAACTGGCAGAAAACAGAGAGATTCTAAAAGAACCAGTACATGGAGTGTATTATGACCCATCAAAAGACTTAATAGCAGAAATACAGAAGCAGGGGCAAGGCCAATGGACATATCAAATTTATCAAGAGCCATTTAAAAATCTGAAAACAGGAAAATATGCAAGAATGAGGGGTGCCCACACTAATGATGTAAAACAATTAACAGAGGCAGTGCAAAAAATAACCACAGAAAGCATAGTAATATGGGGAAAGACTCCTAAATTTAAACTGCCCATACAAAAGGAAACATGGGAAACATGGTGGACAGAGTATTGGCAAGCCACCTGGATTCCTGAGTGGGAGTTTGTTAATACCCCTCCCTTAGTGAAATTATGGTACCAGTTAGAGAAAGAACCCATAGTAGGAGCAGAAACCTTCTATGTAGATGGGGCAGCTAACAGGGAGACTAAATTAGGAAAAGCAGGATATGTTACTAATAGAGGAAGACAAAAAGTTGTCACCCTAACTGACACAACAAATCAGAAGACTGAGTTACAAGCAATTTATCTAGCTTTGCAGGATTCGGGATTAGAAGTAAACATAGTAACAGACTCACAATATGCATTAGGAATCATTCAAGCACAACCAGATCAAAGTGAATCAGAGTTAGTCAATCAAATAATAGAGCAGTTAATAAAAAAGGAAAAGGTCTATCTGGCATGGGTACCAGCACACAAAGGAATTGGAGGAAATGAACAAGTAGATAAATTAGTCAGTGCTGGAATCAGGAAAGTACTATTTTTAGATGGAATAGATAAGGCCCAAGATGAACATGAGAAATATCACAGTAATTGGAGAGCAATGGCTAGTGATTTTAACCTGCCACCTGTAGTAGCAAAAGAAATAGTAGCCAGCTGTGATAAATGTCAGCTAAAAGGAGAAGCCATGCATGGACAAGTAGACTGTAGTCCAGGAATATGGCAACTAGATTGTACACATTTAGAAGGAAAAGTTATCCTGGTAGCAGTTCATGTAGCCAGTGGATATATAGAAGCAGAAGTTATTCCAGCAGAAACAGGGCAGGAAACAGCATATTTTCTTTTAAAATTAGCAGGAAGATGGCCAGTAAAAACAATACATACTGACAATGGCAGCAATTTCACCGGTGCTACGGTTAGGGCCGCCTGTTGGTGGGCGGGAATCAAGCAGGAATTTGGAATTCCCTACAATCCCCAAAGTCAAGGAGTAGTAGAATCTATGAATAAAGAATTAAAGAAAATTATAGGACAGGTAAGAGATCAGGCTGAACATCTTAAGACAGCAGTACAAATGGCAGTATTCATCCACAATTTTAAAAGAAAAGGGGGGATTGGGGGGTACAGTGCAGGGGAAAGAATAGTAGACATAATAGCAACAGACATACAAACTAAAGAATTACAAAAACAAATTACAAAAATTCAAAATTTTCGGGTTTATTACAGGGACAGCAGAAATCCACTTTGGAAAGGACCAGCAAAGCTCCTCTGGAAAGGTGAAGGGGCAGTAGTAATACAAGATAATAGTGACATAAAAGTAGTGCCAAGAAGAAAAGCAAAGATCATTAGGGATTATGGAAAACAGATGGCAGGTGATGATTGTGTGGCAAGTAGACAGGATGAGGATTAGAACATGGAAAAGTTTAGTAAAACACCATATGTATGTTTCAGGGAAAGCTAGGGGATGGTTTTATAGACATCACTATGAAAGCCCTCATCCAAGAATAAGTTCAGAAGTACACATCCCACTAGGGGATGCTAGATTGGTAATAACAACATATTGGGGTCTGCATACAGGAGAAAGAGACTGGCATTTGGGTCAGGGAGTCTCCATAGAATGGAGGAAAAAGAGATATAGCACACAAGTAGACCCTGAACTAGCAGACCAACTAATTCATCTGTATTACTTTGACTGTTTTTCAGACTCTGCTATAAGAAAGGCCTTATTAGGACACATAGTTAGCCCTAGGTGTGAATATCAAGCAGGACATAACAAGGTAGGATCTCTACAATACTTGGCACTAGCAGCATTAATAACACCAAAAAAGATAAAGCCACCTTTGCCTAGTGTTACGAAACTGACAGAGGATAGATGGAACAAGCCCCAGAAGACCAAGGGCCACAGAGGGAGCCACACAATGAATGGACACTAGAGCTTTTAGAGGAGCTTAAGAATGAAGCTGTTAGACATTTTCCTAGGATTTGGCTCCATGGCTTAGGGCAACATATCTATGAAACTTATGGGGATACTTGGGCAGGAGTGGAAGCCATAATAAGAATTCTGCAACAACTGCTGTTTATCCATTTTCAGAATTGGGTGTCGACATAGCAGAATAGGCGTTACTCGACAGAGGAGAGCAAGAAATGGAGCCAGTAGATCCTAGACTAGAGCCCTGGAAGCATCCAGGAAGTCAGCCTAAAACTGCTTGTACCAATTGCTATTGTAAAAAGTGTTGCTTTCATTGCCAAGTTTGTTTCATAACAAAAGCCTTAGGCATCTCCTATGGCAGGAAGAAGCGGAGACAGCGACGAAGAGCTCATCAGAACAGTCAGACTCATCAAGCTTCTCTATCAAAGCAGTAAGTAGTACATGTAACGCAACCTATACCAATAGTAGCAATAGTAGCATTAGTAGTAGCAATAATAATAGCAATAGTTGTGTGGTCCATAGTAATCATAGAATATAGGAAAATATTAAGACAAAGAAAAATAGACAGGTTAATTGATAGACTAATAGAAAGAGCAGAAGACAGTGGCAATGAGAGTGAAGGAGAAATATCAGCACTTGTGGAGATGGGGGTGGAGATGGGGCACCATGCTCCTTGGGATGTTGATGATCTGTAGTGCTACAGAAAAATTGTGGGTCACAGTCTATTATGGGGTACCTGTGTGGAAGGAAGCAACCACCACTCTATTTTGTGCATCAGATGCTAAAGCATATGATACAGAGGTACATAATGTTTGGGCCACACATGCCTGTGTACCCACAGACCCCAACCCACAAGAAGTAGTATTGGTAAATGTGACAGAAAATTTTAACATGTGGAAAAATGACATGGTAGAACAGATGCATGAGGATATAATCAGTTTATGGGATCAAAGCCTAAAGCCATGTGTAAAATTAACCCCACTCTGTGTTAGTTTAAAGTGCACTGATTTGAAGAATGATACTAATACCAATAGTAGTAGCGGGAGAATGATAATGGAGAAAGGAGAGATAAAAAACTGCTCTTTCAATATCAGCACAAGCATAAGAGGTAAGGTGCAGAAAGAATATGCATTTTTTTATAAACTTGATATAATACCAATAGATAATGATACTACCAGCTATAAGTTGACAAGTTGTAACACCTCAGTCATTACACAGGCCTGTCCAAAGGTATCCTTTGAGCCAATTCCCATACATTATTGTGCCCCGGCTGGTTTTGCGATTCTAAAATGTAATAATAAGACGTTCAATGGAACAGGACCATGTACAAATGTCAGCACAGTACAATGTACACATGGAATTAGGCCAGTAGTATCAACTCAACTGCTGTTAAATGGCAGTCTAGCAGAAGAAGAGGTAGTAATTAGATCTGTCAATTTCACGGACAATGCTAAAACCATAATAGTACAGCTGAACACATCTGTAGAAATTAATTGTACAAGACCCAACAACAATACAAGAAAAAGAATCCGTATCCAGAGAGGACCAGGGAGAGCATTTGTTACAATAGGAAAAATAGGAAATATGAGACAAGCACATTGTAACATTAGTAGAGCAAAATGGAATAACACTTTAAAACAGATAGCTAGCAAATTAAGAGAACAATTTGGAAATAATAAAACAATAATCTTTAAGCAATCCTCAGGAGGGGACCCAGAAATTGTAACGCACAGTTTTAATTGTGGAGGGGAATTTTTCTACTGTAATTCAACACAACTGTTTAATAGTACTTGGTTTAATAGTACTTGGAGTACTGAAGGGTCAAATAACACTGAAGGAAGTGACACAATCACCCTCCCATGCAGAATAAAACAAATTATAAACATGTGGCAGAAAGTAGGAAAAGCAATGTATGCCCCTCCCATCAGTGGACAAATTAGATGTTCATCAAATATTACAGGGCTGCTATTAACAAGAGATGGTGGTAATAGCAACAATGAGTCCGAGATCTTCAGACCTGGAGGAGGAGATATGAGGGACAATTGGAGAAGTGAATTATATAAATATAAAGTAGTAAAAATTGAACCATTAGGAGTAGCACCCACCAAGGCAAAGAGAAGAGTGGTGCAGAGAGAAAAAAGAGCAGTGGGAATAGGAGCTTTGTTCCTTGGGTTCTTGGGAGCAGCAGGAAGCACTATGGGCGCAGCCTCAATGACGCTGACGGTACAGGCCAGACAATTATTGTCTGGTATAGTGCAGCAGCAGAACAATTTGCTGAGGGCTATTGAGGCGCAACAGCATCTGTTGCAACTCACAGTCTGGGGCATCAAGCAGCTCCAGGCAAGAATCCTGGCTGTGGAAAGATACCTAAAGGATCAACAGCTCCTGGGGATTTGGGGTTGCTCTGGAAAACTCATTTGCACCACTGCTGTGCCTTGGAATGCTAGTTGGAGTAATAAATCTCTGGAACAGATTTGGAATCACACGACCTGGATGGAGTGGGACAGAGAAATTAACAATTACACAAGCTTAATACACTCCTTAATTGAAGAATCGCAAAACCAGCAAGAAAAGAATGAACAAGAATTATTGGAATTAGATAAATGGGCAAGTTTGTGGAATTGGTTTAACATAACAAATTGGCTGTGGTATATAAAATTATTCATAATGATAGTAGGAGGCTTGGTAGGTTTAAGAATAGTTTTTGCTGTACTTTCTATAGTGAATAGAGTTAGGCAGGGATATTCACCATTATCGTTTCAGACCCACCTCCCAACCCCGAGGGGACCCGACAGGCCCGAAGGAATAGAAGAAGAAGGTGGAGAGAGAGACAGAGACAGATCCATTCGATTAGTGAACGGATCCTTGGCACTTATCTGGGACGATCTGCGGAGCCTGTGCCTCTTCAGCTACCACCGCTTGAGAGACTTACTCTTGATTGTAACGAGGATTGTGGAACTTCTGGGACGCAGGGGGTGGGAAGCCCTCAAATATTGGTGGAATCTCCTACAGTATTGGAGTCAGGAACTAAAGAATAGTGCTGTTAGCTTGCTCAATGCCACAGCCATAGCAGTAGCTGAGGGGACAGATAGGGTTATAGAAGTAGTACAAGGAGCTTGTAGAGCTATTCGCCACATACCTAGAAGAATAAGACAGGGCTTGGAAAGGATTTTGCTATAAGATGGGTGGCAAGTGGTCAAAAAGTAGTGTGATTGGATGGCCTACTGTAAGGGAAAGAATGAGACGAGCTGAGCCAGCAGCAGATAGGGTGGGAGCAGCATCTCGAGACCTGGAAAAACATGGAGCAATCACAAGTAGCAATACAGCAGCTACCAATGCTGCTTGTGCCTGGCTAGAAGCACAAGAGGAGGAGGAGGTGGGTTTTCCAGTCACACCTCAGGTACCTTTAAGACCAATGACTTACAAGGCAGCTGTAGATCTTAGCCACTTTTTAAAAGAAAAGGGGGGACTGGAAGGGCTAATTCACTCCCAAAGAAGACAAGATATCCTTGATCTGTGGATCTACCACACACAAGGCTACTTCCCTGATTAGCAGAACTACACACCAGGGCCAGGGGTCAGATATCCACTGACCTTTGGATGGTGCTACAAGCTAGTACCAGTTGAGCCAGATAAGATAGAAGAGGCCAATAAAGGAGAGAACACCAGCTTGTTACACCCTGTGAGCCTGCATGGGATGGATGACCCGGAGAGAGAAGTGTTAGAGTGGAGGTTTGACAGCCGCCTAGCATTTCATCACGTGGCCCGAGAGCTGCATCCGGAGTACTTCAAGAACTGCTGACATCGAGCTTGCTACAAGGGACTTTCCGCTGGGGACTTTCCAGGGAGGCGTGGCCTGGGCGGGACTGGGGAGTGGCGAGCCCTCAGATCCTGCATATAAGCAGCTGCTTTTTGCCTGTACTGGGTCTCTCTGGTTAGACCAGATCTGAGCCTGGGAGCTCTCTGGCTAACTAGGGAACCCACTGCTTAAGCCTCAATAAAGCTTGCCTTGAGTGCTTCAAGTAGTGTGTGCCCGTCTGTTGTGTGACTCTGGTAACTAGAGATCCCTCAGACCCTTTTAGTCAGTGTGGAAAATCTCTAGCA
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/region.bed	Mon Sep 06 17:34:08 2021 +0000
@@ -0,0 +1,1 @@
+K03455	1	2669
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/report.html	Mon Sep 06 17:34:08 2021 +0000
@@ -0,0 +1,35 @@
+<!DOCTYPE html>
+<html>
+<head>
+  <style>
+    .error {
+        color: red;
+    }
+  </style>
+  <script type="text/javascript" src="https://storage.googleapis.com/deepvariant/lib/vega/vega@5"></script>
+  <script type="text/javascript" src="https://storage.googleapis.com/deepvariant/lib/vega/vega-lite@3.4.0"></script>
+  <script type="text/javascript" src="https://storage.googleapis.com/deepvariant/lib/vega/vega-embed@4"></script>
+</head>
+<body>
+  <div id="vis"></div>
+  <script>
+    (function(vegaEmbed) {
+      var spec = {"config": {"view": {"continuousWidth": 400, "continuousHeight": 300}, "header": {"labelFontSize": 16, "titleFontSize": 20}, "title": {"fontSize": 20}}, "vconcat": [{"hconcat": [{"layer": [{"mark": "bar", "encoding": {"color": {"type": "nominal", "field": "label", "legend": null, "scale": {"domain": ["Biallelic_Insertion", "Biallelic_Deletion", "Biallelic_SNP", "Biallelic_MNP", "Multiallelic_Insertion", "Multiallelic_Deletion", "Multiallelic_SNP", "Multiallelic_Complex", "RefCall"], "scheme": "set1"}}, "tooltip": {"type": "quantitative", "field": "value", "format": ".4s"}, "x": {"type": "nominal", "axis": {"labelAngle": -45}, "field": "label", "sort": ["Biallelic_Insertion", "Biallelic_Deletion", "Biallelic_SNP", "Biallelic_MNP", "Multiallelic_Insertion", "Multiallelic_Deletion", "Multiallelic_SNP", "Multiallelic_Complex", "RefCall"], "title": null}, "y": {"type": "quantitative", "axis": {"format": "s", "title": "Count"}, "field": "value"}}}, {"mark": {"type": "text", "dy": -5}, "encoding": {"color": {"type": "nominal", "field": "label", "legend": null, "scale": {"domain": ["Biallelic_Insertion", "Biallelic_Deletion", "Biallelic_SNP", "Biallelic_MNP", "Multiallelic_Insertion", "Multiallelic_Deletion", "Multiallelic_SNP", "Multiallelic_Complex", "RefCall"], "scheme": "set1"}}, "text": {"type": "quantitative", "field": "value", "format": ".4s"}, "tooltip": {"type": "quantitative", "field": "value", "format": ".4s"}, "x": {"type": "nominal", "axis": {"labelAngle": -45}, "field": "label", "sort": ["Biallelic_Insertion", "Biallelic_Deletion", "Biallelic_SNP", "Biallelic_MNP", "Multiallelic_Insertion", "Multiallelic_Deletion", "Multiallelic_SNP", "Multiallelic_Complex", "RefCall"], "title": null}, "y": {"type": "quantitative", "axis": {"format": "s", "title": "Count"}, "field": "value"}}}], "data": {"name": "data-937b261a5c3b87122763fad938b49170"}, "height": 200, "title": "Variant types", "width": 400}, {"data": {"name": "data-b2d3f7df703b341956fcd700e0a250a9"}, "mark": {"type": "bar", "color": "#4a1486"}, "encoding": {"x": {"type": "quantitative", "field": "s", "title": "Depth"}, "x2": {"field": "e"}, "y": {"type": "quantitative", "axis": {"format": "s"}, "field": "c", "stack": true, "title": "Count"}}, "height": 200, "selection": {"selector001": {"type": "interval", "bind": "scales", "encodings": ["x"]}}, "title": "Depth", "width": 200}, {"data": {"name": "data-1fdc69f1e562b859232e2c7c67fa0330"}, "mark": {"type": "bar", "color": "#0c2c84"}, "encoding": {"x": {"type": "quantitative", "field": "s", "scale": {"domain": [0, 150]}, "title": "QUAL"}, "x2": {"field": "e"}, "y": {"type": "quantitative", "axis": {"format": "s"}, "field": "c", "stack": true, "title": "Count"}}, "height": 200, "selection": {"selector002": {"type": "interval", "bind": "scales", "encodings": ["x"]}}, "title": "Quality score", "width": 200}, {"data": {"name": "data-2eb03df08bc1de8ab65cb5fa9b73d2ca"}, "mark": {"type": "bar", "color": "#0c2c84"}, "encoding": {"x": {"type": "quantitative", "field": "s", "scale": {"domain": [0, 150]}, "title": "GQ"}, "x2": {"field": "e"}, "y": {"type": "quantitative", "axis": {"format": "s"}, "field": "c", "stack": true, "title": "Count"}}, "height": 200, "selection": {"selector003": {"type": "interval", "bind": "scales", "encodings": ["x"]}}, "title": "Genotype quality", "width": 200}], "resolve": {"scale": {"color": "independent"}}}, {"hconcat": [{"data": {"name": "data-3d9c2f5348720c594baf1c98c0318a7b"}, "facet": {"column": {"type": "nominal", "field": "GT", "sort": ["Ref (0/0)", "Het (0/x)", "Hom (x/x)"], "title": "Main genotypes"}}, "spec": {"layer": [{"mark": "bar", "encoding": {"x": {"type": "quantitative", "field": "s", "title": "VAF"}, "x2": {"field": "e"}, "y": {"type": "quantitative", "axis": {"format": "s"}, "field": "c", "stack": true, "title": "Count"}}}, {"mark": "rule", "encoding": {"x": {"type": "quantitative", "field": "l"}}}], "height": 200, "width": 200}, "resolve": {"scale": {"y": "independent"}}}, {"data": {"name": "data-c27c47333ad35eb954c1fa8cd921aa87"}, "mark": "bar", "encoding": {"column": {"type": "nominal", "field": "GT", "title": "Other genotypes"}, "x": {"type": "quantitative", "field": "s", "title": "VAF"}, "x2": {"field": "e"}, "y": {"type": "quantitative", "axis": {"format": "s"}, "field": "c", "stack": true, "title": "Count"}}, "height": 150, "resolve": {"scale": {"y": "independent"}}, "width": 150}]}, {"hconcat": [{"data": {"name": "data-da9c8bf99f8c1b3dd20c5e4c1ba410e4"}, "facet": {"column": {"type": "nominal", "field": "ref", "sort": ["A", "G", "T", "C"], "title": "Biallelic base changes from reference"}}, "spec": {"layer": [{"mark": "bar", "encoding": {"color": {"type": "nominal", "field": "alt", "legend": null, "scale": {"domain": ["A", "G", "T", "C"], "scheme": "category20"}, "sort": ["A", "G", "T", "C"]}, "tooltip": {"type": "quantitative", "field": "count", "format": ".4s"}, "x": {"type": "nominal", "field": "alt", "title": "to alt"}, "y": {"type": "quantitative", "axis": {"format": "s"}, "field": "count", "title": "Count"}}}, {"mark": {"type": "text", "dy": -5, "fontWeight": "bold"}, "encoding": {"color": {"type": "nominal", "field": "alt", "legend": null, "scale": {"domain": ["A", "G", "T", "C"], "scheme": "category20"}, "sort": ["A", "G", "T", "C"]}, "text": {"type": "nominal", "field": "alt"}, "tooltip": {"type": "quantitative", "field": "count", "format": ".4s"}, "x": {"type": "nominal", "field": "alt", "title": "to alt"}, "y": {"type": "quantitative", "axis": {"format": "s"}, "field": "count", "title": "Count"}}}], "height": 200, "width": 100}}, {"layer": [{"mark": "bar", "encoding": {"color": {"type": "nominal", "field": "label", "legend": null, "scale": {"domain": ["Transition", "Transversion"], "scheme": "teals"}, "sort": ["Transition", "Transversion"]}, "tooltip": {"type": "quantitative", "field": "value", "format": ".4s"}, "x": {"type": "nominal", "axis": {"labelAngle": 0, "title": null}, "field": "label", "sort": ["Transition", "Transversion"]}, "y": {"type": "quantitative", "axis": {"format": "s", "title": "Count"}, "field": "value"}}}, {"mark": {"type": "text", "dy": -5}, "encoding": {"color": {"type": "nominal", "field": "label", "legend": null, "scale": {"domain": ["Transition", "Transversion"], "scheme": "teals"}, "sort": ["Transition", "Transversion"]}, "text": {"type": "quantitative", "field": "value", "format": ".4s"}, "tooltip": {"type": "quantitative", "field": "value", "format": ".4s"}, "x": {"type": "nominal", "axis": {"labelAngle": 0, "title": null}, "field": "label", "sort": ["Transition", "Transversion"]}, "y": {"type": "quantitative", "axis": {"format": "s", "title": "Count"}, "field": "value"}}}], "data": {"name": "data-6b58572b26c468e413c4d8f4a9e8509b"}, "height": 200, "title": "Biallelic Ti/Tv ratio: 12.00", "width": 150}, {"vconcat": [{"mark": "bar", "encoding": {"color": {"type": "nominal", "field": "type", "scale": {"scheme": "set1"}, "sort": ["Insertion", "Deletion"]}, "x": {"type": "quantitative", "field": "s", "title": "size"}, "x2": {"field": "e"}, "y": {"type": "quantitative", "axis": {"format": "s"}, "field": "c", "title": "Count"}}, "height": 100, "selection": {"selector004": {"type": "interval", "bind": "scales", "encodings": ["x"]}}, "title": "Biallelic indel size distribution", "width": 400}, {"mark": "bar", "encoding": {"color": {"type": "nominal", "field": "type", "scale": {"scheme": "set1"}, "sort": ["Insertion", "Deletion"]}, "x": {"type": "quantitative", "field": "s", "title": "size"}, "x2": {"field": "e"}, "y": {"type": "quantitative", "axis": {"format": "s"}, "field": "c", "scale": {"base": 10, "type": "log"}, "title": "Count"}}, "height": 100, "selection": {"selector005": {"type": "interval", "bind": "scales", "encodings": ["x"]}}, "width": 400}], "data": {"name": "data-e694159267ddba70ae3dd0d73276928e"}, "resolve": {"scale": {"color": "shared"}}}], "resolve": {"scale": {"color": "independent"}}}], "spacing": 70, "title": "SRR8525881", "$schema": "https://vega.github.io/schema/vega-lite/v4.8.1.json", "datasets": {"data-937b261a5c3b87122763fad938b49170": [{"label": "Biallelic_SNP", "value": 13}, {"label": "Biallelic_Insertion", "value": 1}, {"label": "RefCall", "value": 1}], "data-b2d3f7df703b341956fcd700e0a250a9": [{"c": 1, "s": 11.5, "e": 12.5}, {"c": 1, "s": 99.5, "e": 100.5}, {"c": 1, "s": 200.5, "e": 201.5}, {"c": 1, "s": 212.5, "e": 213.5}, {"c": 1, "s": 234.5, "e": 235.5}, {"c": 1, "s": 237.5, "e": 238.5}, {"c": 1, "s": 257.5, "e": 258.5}, {"c": 1, "s": 383.5, "e": 384.5}, {"c": 1, "s": 638.5, "e": 639.5}, {"c": 1, "s": 652.5, "e": 653.5}, {"c": 1, "s": 668.5, "e": 669.5}, {"c": 1, "s": 727.5, "e": 728.5}, {"c": 1, "s": 736.5, "e": 737.5}, {"c": 1, "s": 776.5, "e": 777.5}, {"c": 1, "s": 819.5, "e": 820.5}], "data-1fdc69f1e562b859232e2c7c67fa0330": [{"s": 0.0, "e": 1.0, "c": 1}, {"s": 3.0, "e": 4.0, "c": 1}, {"s": 16.0, "e": 17.0, "c": 1}, {"s": 20.0, "e": 21.0, "c": 1}, {"s": 21.0, "e": 22.0, "c": 1}, {"s": 23.0, "e": 24.0, "c": 2}, {"s": 25.0, "e": 26.0, "c": 1}, {"s": 27.0, "e": 28.0, "c": 1}, {"s": 28.0, "e": 29.0, "c": 1}, {"s": 31.0, "e": 32.0, "c": 1}, {"s": 32.0, "e": 33.0, "c": 1}, {"s": 33.0, "e": 34.0, "c": 1}, {"s": 39.0, "e": 40.0, "c": 1}, {"s": 41.0, "e": 42.0, "c": 1}], "data-2eb03df08bc1de8ab65cb5fa9b73d2ca": [{"c": 1, "s": 2.5, "e": 3.5}, {"c": 1, "s": 15.5, "e": 16.5}, {"c": 1, "s": 19.5, "e": 20.5}, {"c": 1, "s": 20.5, "e": 21.5}, {"c": 2, "s": 23.5, "e": 24.5}, {"c": 1, "s": 24.5, "e": 25.5}, {"c": 1, "s": 26.5, "e": 27.5}, {"c": 1, "s": 27.5, "e": 28.5}, {"c": 2, "s": 31.5, "e": 32.5}, {"c": 1, "s": 32.5, "e": 33.5}, {"c": 1, "s": 36.5, "e": 37.5}, {"c": 2, "s": 38.5, "e": 39.5}], "data-3d9c2f5348720c594baf1c98c0318a7b": [{"s": 0.0, "e": 0.02, "c": 0, "GT": "Ref (0/0)", "g": "main", "l": 0.0}, {"s": 0.02, "e": 0.04, "c": 0, "GT": "Ref (0/0)", "g": "main", "l": 0.0}, {"s": 0.04, "e": 0.06, "c": 0, "GT": "Ref (0/0)", "g": "main", "l": 0.0}, {"s": 0.06, "e": 0.08, "c": 0, "GT": "Ref (0/0)", "g": "main", "l": 0.0}, {"s": 0.08, "e": 0.1, "c": 0, "GT": "Ref (0/0)", "g": "main", "l": 0.0}, {"s": 0.1, "e": 0.12, "c": 0, "GT": "Ref (0/0)", "g": "main", "l": 0.0}, {"s": 0.12, "e": 0.14, "c": 0, "GT": "Ref (0/0)", "g": "main", "l": 0.0}, {"s": 0.14, "e": 0.16, "c": 0, "GT": "Ref (0/0)", "g": "main", "l": 0.0}, {"s": 0.16, "e": 0.18, "c": 0, "GT": "Ref (0/0)", "g": "main", "l": 0.0}, {"s": 0.18, "e": 0.2, "c": 0, "GT": "Ref (0/0)", "g": "main", "l": 0.0}, {"s": 0.2, "e": 0.22, "c": 0, "GT": "Ref (0/0)", "g": "main", "l": 0.0}, {"s": 0.22, "e": 0.24, "c": 0, "GT": "Ref (0/0)", "g": "main", "l": 0.0}, {"s": 0.24, "e": 0.26, "c": 1, "GT": "Ref (0/0)", "g": "main", "l": 0.0}, {"s": 0.26, "e": 0.28, "c": 0, "GT": "Ref (0/0)", "g": "main", "l": 0.0}, {"s": 0.28, "e": 0.3, "c": 0, "GT": "Ref (0/0)", "g": "main", "l": 0.0}, {"s": 0.3, "e": 0.32, "c": 0, "GT": "Ref (0/0)", "g": "main", "l": 0.0}, {"s": 0.32, "e": 0.34, "c": 0, "GT": "Ref (0/0)", "g": "main", "l": 0.0}, {"s": 0.34, "e": 0.36, "c": 0, "GT": "Ref (0/0)", "g": "main", "l": 0.0}, {"s": 0.36, "e": 0.38, "c": 0, "GT": "Ref (0/0)", "g": "main", "l": 0.0}, {"s": 0.38, "e": 0.4, "c": 0, "GT": "Ref (0/0)", "g": "main", "l": 0.0}, {"s": 0.4, "e": 0.42, "c": 0, "GT": "Ref (0/0)", "g": "main", "l": 0.0}, {"s": 0.42, "e": 0.44, "c": 0, "GT": "Ref (0/0)", "g": "main", "l": 0.0}, {"s": 0.44, "e": 0.46, "c": 0, "GT": "Ref (0/0)", "g": "main", "l": 0.0}, {"s": 0.46, "e": 0.48, "c": 0, "GT": "Ref (0/0)", "g": "main", "l": 0.0}, {"s": 0.48, "e": 0.5, "c": 0, "GT": "Ref (0/0)", "g": "main", "l": 0.0}, {"s": 0.5, "e": 0.52, "c": 0, "GT": "Ref (0/0)", "g": "main", "l": 0.0}, {"s": 0.52, "e": 0.54, "c": 0, "GT": "Ref (0/0)", "g": "main", "l": 0.0}, {"s": 0.54, "e": 0.56, "c": 0, "GT": "Ref (0/0)", "g": "main", "l": 0.0}, {"s": 0.56, "e": 0.58, "c": 0, "GT": "Ref (0/0)", "g": "main", "l": 0.0}, {"s": 0.58, "e": 0.6, "c": 0, "GT": "Ref (0/0)", "g": "main", "l": 0.0}, {"s": 0.6, "e": 0.62, "c": 0, "GT": "Ref (0/0)", "g": "main", "l": 0.0}, {"s": 0.62, "e": 0.64, "c": 0, "GT": "Ref (0/0)", "g": "main", "l": 0.0}, {"s": 0.64, "e": 0.66, "c": 0, "GT": "Ref (0/0)", "g": "main", "l": 0.0}, {"s": 0.66, "e": 0.68, "c": 0, "GT": "Ref (0/0)", "g": "main", "l": 0.0}, {"s": 0.68, "e": 0.7, "c": 0, "GT": "Ref (0/0)", "g": "main", "l": 0.0}, {"s": 0.7, "e": 0.72, "c": 0, "GT": "Ref (0/0)", "g": "main", "l": 0.0}, {"s": 0.72, "e": 0.74, "c": 0, "GT": "Ref (0/0)", "g": "main", "l": 0.0}, {"s": 0.74, "e": 0.76, "c": 0, "GT": "Ref (0/0)", "g": "main", "l": 0.0}, {"s": 0.76, "e": 0.78, "c": 0, "GT": "Ref (0/0)", "g": "main", "l": 0.0}, {"s": 0.78, "e": 0.8, "c": 0, "GT": "Ref (0/0)", "g": "main", "l": 0.0}, {"s": 0.8, "e": 0.82, "c": 0, "GT": "Ref (0/0)", "g": "main", "l": 0.0}, {"s": 0.82, "e": 0.84, "c": 0, "GT": "Ref (0/0)", "g": "main", "l": 0.0}, {"s": 0.84, "e": 0.86, "c": 0, "GT": "Ref (0/0)", "g": "main", "l": 0.0}, {"s": 0.86, "e": 0.88, "c": 0, "GT": "Ref (0/0)", "g": "main", "l": 0.0}, {"s": 0.88, "e": 0.9, "c": 0, "GT": "Ref (0/0)", "g": "main", "l": 0.0}, {"s": 0.9, "e": 0.92, "c": 0, "GT": "Ref (0/0)", "g": "main", "l": 0.0}, {"s": 0.92, "e": 0.94, "c": 0, "GT": "Ref (0/0)", "g": "main", "l": 0.0}, {"s": 0.94, "e": 0.96, "c": 0, "GT": "Ref (0/0)", "g": "main", "l": 0.0}, {"s": 0.96, "e": 0.98, "c": 0, "GT": "Ref (0/0)", "g": "main", "l": 0.0}, {"s": 0.98, "e": 1.0, "c": 0, "GT": "Ref (0/0)", "g": "main", "l": 0.0}, {"s": 0.0, "e": 0.5, "c": 0, "GT": "Het (0/x)", "g": "main", "l": 0.5}, {"s": 0.5, "e": 1.0, "c": 0, "GT": "Het (0/x)", "g": "main", "l": 0.5}, {"s": 0.0, "e": 0.02, "c": 0, "GT": "Hom (x/x)", "g": "main", "l": 1.0}, {"s": 0.02, "e": 0.04, "c": 0, "GT": "Hom (x/x)", "g": "main", "l": 1.0}, {"s": 0.04, "e": 0.06, "c": 0, "GT": "Hom (x/x)", "g": "main", "l": 1.0}, {"s": 0.06, "e": 0.08, "c": 0, "GT": "Hom (x/x)", "g": "main", "l": 1.0}, {"s": 0.08, "e": 0.1, "c": 0, "GT": "Hom (x/x)", "g": "main", "l": 1.0}, {"s": 0.1, "e": 0.12, "c": 0, "GT": "Hom (x/x)", "g": "main", "l": 1.0}, {"s": 0.12, "e": 0.14, "c": 0, "GT": "Hom (x/x)", "g": "main", "l": 1.0}, {"s": 0.14, "e": 0.16, "c": 0, "GT": "Hom (x/x)", "g": "main", "l": 1.0}, {"s": 0.16, "e": 0.18, "c": 0, "GT": "Hom (x/x)", "g": "main", "l": 1.0}, {"s": 0.18, "e": 0.2, "c": 0, "GT": "Hom (x/x)", "g": "main", "l": 1.0}, {"s": 0.2, "e": 0.22, "c": 0, "GT": "Hom (x/x)", "g": "main", "l": 1.0}, {"s": 0.22, "e": 0.24, "c": 0, "GT": "Hom (x/x)", "g": "main", "l": 1.0}, {"s": 0.24, "e": 0.26, "c": 0, "GT": "Hom (x/x)", "g": "main", "l": 1.0}, {"s": 0.26, "e": 0.28, "c": 0, "GT": "Hom (x/x)", "g": "main", "l": 1.0}, {"s": 0.28, "e": 0.3, "c": 0, "GT": "Hom (x/x)", "g": "main", "l": 1.0}, {"s": 0.3, "e": 0.32, "c": 0, "GT": "Hom (x/x)", "g": "main", "l": 1.0}, {"s": 0.32, "e": 0.34, "c": 0, "GT": "Hom (x/x)", "g": "main", "l": 1.0}, {"s": 0.34, "e": 0.36, "c": 0, "GT": "Hom (x/x)", "g": "main", "l": 1.0}, {"s": 0.36, "e": 0.38, "c": 0, "GT": "Hom (x/x)", "g": "main", "l": 1.0}, {"s": 0.38, "e": 0.4, "c": 0, "GT": "Hom (x/x)", "g": "main", "l": 1.0}, {"s": 0.4, "e": 0.42, "c": 0, "GT": "Hom (x/x)", "g": "main", "l": 1.0}, {"s": 0.42, "e": 0.44, "c": 0, "GT": "Hom (x/x)", "g": "main", "l": 1.0}, {"s": 0.44, "e": 0.46, "c": 0, "GT": "Hom (x/x)", "g": "main", "l": 1.0}, {"s": 0.46, "e": 0.48, "c": 0, "GT": "Hom (x/x)", "g": "main", "l": 1.0}, {"s": 0.48, "e": 0.5, "c": 0, "GT": "Hom (x/x)", "g": "main", "l": 1.0}, {"s": 0.5, "e": 0.52, "c": 0, "GT": "Hom (x/x)", "g": "main", "l": 1.0}, {"s": 0.52, "e": 0.54, "c": 0, "GT": "Hom (x/x)", "g": "main", "l": 1.0}, {"s": 0.54, "e": 0.56, "c": 0, "GT": "Hom (x/x)", "g": "main", "l": 1.0}, {"s": 0.56, "e": 0.58, "c": 0, "GT": "Hom (x/x)", "g": "main", "l": 1.0}, {"s": 0.58, "e": 0.6, "c": 0, "GT": "Hom (x/x)", "g": "main", "l": 1.0}, {"s": 0.6, "e": 0.62, "c": 0, "GT": "Hom (x/x)", "g": "main", "l": 1.0}, {"s": 0.62, "e": 0.64, "c": 0, "GT": "Hom (x/x)", "g": "main", "l": 1.0}, {"s": 0.64, "e": 0.66, "c": 0, "GT": "Hom (x/x)", "g": "main", "l": 1.0}, {"s": 0.66, "e": 0.68, "c": 0, "GT": "Hom (x/x)", "g": "main", "l": 1.0}, {"s": 0.68, "e": 0.7, "c": 0, "GT": "Hom (x/x)", "g": "main", "l": 1.0}, {"s": 0.7, "e": 0.72, "c": 0, "GT": "Hom (x/x)", "g": "main", "l": 1.0}, {"s": 0.72, "e": 0.74, "c": 0, "GT": "Hom (x/x)", "g": "main", "l": 1.0}, {"s": 0.74, "e": 0.76, "c": 0, "GT": "Hom (x/x)", "g": "main", "l": 1.0}, {"s": 0.76, "e": 0.78, "c": 0, "GT": "Hom (x/x)", "g": "main", "l": 1.0}, {"s": 0.78, "e": 0.8, "c": 0, "GT": "Hom (x/x)", "g": "main", "l": 1.0}, {"s": 0.8, "e": 0.82, "c": 0, "GT": "Hom (x/x)", "g": "main", "l": 1.0}, {"s": 0.82, "e": 0.84, "c": 0, "GT": "Hom (x/x)", "g": "main", "l": 1.0}, {"s": 0.84, "e": 0.86, "c": 1, "GT": "Hom (x/x)", "g": "main", "l": 1.0}, {"s": 0.86, "e": 0.88, "c": 0, "GT": "Hom (x/x)", "g": "main", "l": 1.0}, {"s": 0.88, "e": 0.9, "c": 0, "GT": "Hom (x/x)", "g": "main", "l": 1.0}, {"s": 0.9, "e": 0.92, "c": 0, "GT": "Hom (x/x)", "g": "main", "l": 1.0}, {"s": 0.92, "e": 0.94, "c": 0, "GT": "Hom (x/x)", "g": "main", "l": 1.0}, {"s": 0.94, "e": 0.96, "c": 0, "GT": "Hom (x/x)", "g": "main", "l": 1.0}, {"s": 0.96, "e": 0.98, "c": 3, "GT": "Hom (x/x)", "g": "main", "l": 1.0}, {"s": 0.98, "e": 1.0, "c": 10, "GT": "Hom (x/x)", "g": "main", "l": 1.0}], "data-c27c47333ad35eb954c1fa8cd921aa87": [{"s": 0.0, "e": 0.5, "c": 0, "GT": "Uncalled (./.)", "g": "others", "l": null}, {"s": 0.5, "e": 1.0, "c": 0, "GT": "Uncalled (./.)", "g": "others", "l": null}, {"s": 0.0, "e": 0.5, "c": 0, "GT": "Het - two variants (x/y)", "g": "others", "l": null}, {"s": 0.5, "e": 1.0, "c": 0, "GT": "Het - two variants (x/y)", "g": "others", "l": null}], "data-da9c8bf99f8c1b3dd20c5e4c1ba410e4": [{"ref": "G", "alt": "A", "count": 4}, {"ref": "T", "alt": "C", "count": 3}, {"ref": "A", "alt": "G", "count": 2}, {"ref": "C", "alt": "T", "count": 3}, {"ref": "G", "alt": "T", "count": 1}], "data-6b58572b26c468e413c4d8f4a9e8509b": [{"label": "Transition", "value": 12}, {"label": "Transversion", "value": 1}], "data-e694159267ddba70ae3dd0d73276928e": [{"c": 1, "s": 0.5, "e": 1.5, "type": "Insertion"}]}};
+      var embedOpt = {"downloadFileName": "output.visual_report", "mode": "vega-lite"};
+
+      function showError(el, error){
+          el.innerHTML = ('<div class="error" style="color:red;">'
+                          + '<p>JavaScript Error: ' + error.message + '</p>'
+                          + "<p>This usually means there's a typo in your chart specification. "
+                          + "See the javascript console for the full traceback.</p>"
+                          + '</div>');
+          throw error;
+      }
+      const el = document.getElementById('vis');
+      vegaEmbed("#vis", spec, embedOpt)
+        .catch(error => showError(el, error));
+    })(vegaEmbed);
+
+  </script>
+</body>
+</html>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/test-cache/reference.fasta	Mon Sep 06 17:34:08 2021 +0000
@@ -0,0 +1,2 @@
+>K03455
+TGGAAGGGCTAATTCACTCCCAACGAAGACAAGATATCCTTGATCTGTGGATCTACCACACACAAGGCTACTTCCCTGATTAGCAGAACTACACACCAGGGCCAGGGATCAGATATCCACTGACCTTTGGATGGTGCTACAAGCTAGTACCAGTTGAGCCAGAGAAGTTAGAAGAAGCCAACAAAGGAGAGAACACCAGCTTGTTACACCCTGTGAGCCTGCATGGAATGGATGACCCGGAGAGAGAAGTGTTAGAGTGGAGGTTTGACAGCCGCCTAGCATTTCATCACATGGCCCGAGAGCTGCATCCGGAGTACTTCAAGAACTGCTGACATCGAGCTTGCTACAAGGGACTTTCCGCTGGGGACTTTCCAGGGAGGCGTGGCCTGGGCGGGACTGGGGAGTGGCGAGCCCTCAGATCCTGCATATAAGCAGCTGCTTTTTGCCTGTACTGGGTCTCTCTGGTTAGACCAGATCTGAGCCTGGGAGCTCTCTGGCTAACTAGGGAACCCACTGCTTAAGCCTCAATAAAGCTTGCCTTGAGTGCTTCAAGTAGTGTGTGCCCGTCTGTTGTGTGACTCTGGTAACTAGAGATCCCTCAGACCCTTTTAGTCAGTGTGGAAAATCTCTAGCAGTGGCGCCCGAACAGGGACCTGAAAGCGAAAGGGAAACCAGAGGAGCTCTCTCGACGCAGGACTCGGCTTGCTGAAGCGCGCACGGCAAGAGGCGAGGGGCGGCGACTGGTGAGTACGCCAAAAATTTTGACTAGCGGAGGCTAGAAGGAGAGAGATGGGTGCGAGAGCGTCAGTATTAAGCGGGGGAGAATTAGATCGATGGGAAAAAATTCGGTTAAGGCCAGGGGGAAAGAAAAAATATAAATTAAAACATATAGTATGGGCAAGCAGGGAGCTAGAACGATTCGCAGTTAATCCTGGCCTGTTAGAAACATCAGAAGGCTGTAGACAAATACTGGGACAGCTACAACCATCCCTTCAGACAGGATCAGAAGAACTTAGATCATTATATAATACAGTAGCAACCCTCTATTGTGTGCATCAAAGGATAGAGATAAAAGACACCAAGGAAGCTTTAGACAAGATAGAGGAAGAGCAAAACAAAAGTAAGAAAAAAGCACAGCAAGCAGCAGCTGACACAGGACACAGCAATCAGGTCAGCCAAAATTACCCTATAGTGCAGAACATCCAGGGGCAAATGGTACATCAGGCCATATCACCTAGAACTTTAAATGCATGGGTAAAAGTAGTAGAAGAGAAGGCTTTCAGCCCAGAAGTGATACCCATGTTTTCAGCATTATCAGAAGGAGCCACCCCACAAGATTTAAACACCATGCTAAACACAGTGGGGGGACATCAAGCAGCCATGCAAATGTTAAAAGAGACCATCAATGAGGAAGCTGCAGAATGGGATAGAGTGCATCCAGTGCATGCAGGGCCTATTGCACCAGGCCAGATGAGAGAACCAAGGGGAAGTGACATAGCAGGAACTACTAGTACCCTTCAGGAACAAATAGGATGGATGACAAATAATCCACCTATCCCAGTAGGAGAAATTTATAAAAGATGGATAATCCTGGGATTAAATAAAATAGTAAGAATGTATAGCCCTACCAGCATTCTGGACATAAGACAAGGACCAAAGGAACCCTTTAGAGACTATGTAGACCGGTTCTATAAAACTCTAAGAGCCGAGCAAGCTTCACAGGAGGTAAAAAATTGGATGACAGAAACCTTGTTGGTCCAAAATGCGAACCCAGATTGTAAGACTATTTTAAAAGCATTGGGACCAGCGGCTACACTAGAAGAAATGATGACAGCATGTCAGGGAGTAGGAGGACCCGGCCATAAGGCAAGAGTTTTGGCTGAAGCAATGAGCCAAGTAACAAATTCAGCTACCATAATGATGCAGAGAGGCAATTTTAGGAACCAAAGAAAGATTGTTAAGTGTTTCAATTGTGGCAAAGAAGGGCACACAGCCAGAAATTGCAGGGCCCCTAGGAAAAAGGGCTGTTGGAAATGTGGAAAGGAAGGACACCAAATGAAAGATTGTACTGAGAGACAGGCTAATTTTTTAGGGAAGATCTGGCCTTCCTACAAGGGAAGGCCAGGGAATTTTCTTCAGAGCAGACCAGAGCCAACAGCCCCACCAGAAGAGAGCTTCAGGTCTGGGGTAGAGACAACAACTCCCCCTCAGAAGCAGGAGCCGATAGACAAGGAACTGTATCCTTTAACTTCCCTCAGGTCACTCTTTGGCAACGACCCCTCGTCACAATAAAGATAGGGGGGCAACTAAAGGAAGCTCTATTAGATACAGGAGCAGATGATACAGTATTAGAAGAAATGAGTTTGCCAGGAAGATGGAAACCAAAAATGATAGGGGGAATTGGAGGTTTTATCAAAGTAAGACAGTATGATCAGATACTCATAGAAATCTGTGGACATAAAGCTATAGGTACAGTATTAGTAGGACCTACACCTGTCAACATAATTGGAAGAAATCTGTTGACTCAGATTGGTTGCACTTTAAATTTTCCCATTAGCCCTATTGAGACTGTACCAGTAAAATTAAAGCCAGGAATGGATGGCCCAAAAGTTAAACAATGGCCATTGACAGAAGAAAAAATAAAAGCATTAGTAGAAATTTGTACAGAGATGGAAAAGGAAGGGAAAATTTCAAAAATTGGGCCTGAAAATCCATACAATACTCCAGTATTTGCCATAAAGAAAAAAGACAGTACTAAATGGAGAAAATTAGTAGATTTCAGAGAACTTAATAAGAGAACTCAAGACTTCTGGGAAGTTCAATTAGGAATACCACATCCCGCAGGGTTAAAAAAGAAAAAATCAGTAACAGTACTGGATGTGGGTGATGCATATTTTTCAGTTCCCTTAGATGAAGACTTCAGGAAGTATACTGCATTTACCATACCTAGTATAAACAATGAGACACCAGGGATTAGATATCAGTACAATGTGCTTCCACAGGGATGGAAAGGATCACCAGCAATATTCCAAAGTAGCATGACAAAAATCTTAGAGCCTTTTAGAAAACAAAATCCAGACATAGTTATCTATCAATACATGGATGATTTGTATGTAGGATCTGACTTAGAAATAGGGCAGCATAGAACAAAAATAGAGGAGCTGAGACAACATCTGTTGAGGTGGGGACTTACCACACCAGACAAAAAACATCAGAAAGAACCTCCATTCCTTTGGATGGGTTATGAACTCCATCCTGATAAATGGACAGTACAGCCTATAGTGCTGCCAGAAAAAGACAGCTGGACTGTCAATGACATACAGAAGTTAGTGGGGAAATTGAATTGGGCAAGTCAGATTTACCCAGGGATTAAAGTAAGGCAATTATGTAAACTCCTTAGAGGAACCAAAGCACTAACAGAAGTAATACCACTAACAGAAGAAGCAGAGCTAGAACTGGCAGAAAACAGAGAGATTCTAAAAGAACCAGTACATGGAGTGTATTATGACCCATCAAAAGACTTAATAGCAGAAATACAGAAGCAGGGGCAAGGCCAATGGACATATCAAATTTATCAAGAGCCATTTAAAAATCTGAAAACAGGAAAATATGCAAGAATGAGGGGTGCCCACACTAATGATGTAAAACAATTAACAGAGGCAGTGCAAAAAATAACCACAGAAAGCATAGTAATATGGGGAAAGACTCCTAAATTTAAACTGCCCATACAAAAGGAAACATGGGAAACATGGTGGACAGAGTATTGGCAAGCCACCTGGATTCCTGAGTGGGAGTTTGTTAATACCCCTCCCTTAGTGAAATTATGGTACCAGTTAGAGAAAGAACCCATAGTAGGAGCAGAAACCTTCTATGTAGATGGGGCAGCTAACAGGGAGACTAAATTAGGAAAAGCAGGATATGTTACTAATAGAGGAAGACAAAAAGTTGTCACCCTAACTGACACAACAAATCAGAAGACTGAGTTACAAGCAATTTATCTAGCTTTGCAGGATTCGGGATTAGAAGTAAACATAGTAACAGACTCACAATATGCATTAGGAATCATTCAAGCACAACCAGATCAAAGTGAATCAGAGTTAGTCAATCAAATAATAGAGCAGTTAATAAAAAAGGAAAAGGTCTATCTGGCATGGGTACCAGCACACAAAGGAATTGGAGGAAATGAACAAGTAGATAAATTAGTCAGTGCTGGAATCAGGAAAGTACTATTTTTAGATGGAATAGATAAGGCCCAAGATGAACATGAGAAATATCACAGTAATTGGAGAGCAATGGCTAGTGATTTTAACCTGCCACCTGTAGTAGCAAAAGAAATAGTAGCCAGCTGTGATAAATGTCAGCTAAAAGGAGAAGCCATGCATGGACAAGTAGACTGTAGTCCAGGAATATGGCAACTAGATTGTACACATTTAGAAGGAAAAGTTATCCTGGTAGCAGTTCATGTAGCCAGTGGATATATAGAAGCAGAAGTTATTCCAGCAGAAACAGGGCAGGAAACAGCATATTTTCTTTTAAAATTAGCAGGAAGATGGCCAGTAAAAACAATACATACTGACAATGGCAGCAATTTCACCGGTGCTACGGTTAGGGCCGCCTGTTGGTGGGCGGGAATCAAGCAGGAATTTGGAATTCCCTACAATCCCCAAAGTCAAGGAGTAGTAGAATCTATGAATAAAGAATTAAAGAAAATTATAGGACAGGTAAGAGATCAGGCTGAACATCTTAAGACAGCAGTACAAATGGCAGTATTCATCCACAATTTTAAAAGAAAAGGGGGGATTGGGGGGTACAGTGCAGGGGAAAGAATAGTAGACATAATAGCAACAGACATACAAACTAAAGAATTACAAAAACAAATTACAAAAATTCAAAATTTTCGGGTTTATTACAGGGACAGCAGAAATCCACTTTGGAAAGGACCAGCAAAGCTCCTCTGGAAAGGTGAAGGGGCAGTAGTAATACAAGATAATAGTGACATAAAAGTAGTGCCAAGAAGAAAAGCAAAGATCATTAGGGATTATGGAAAACAGATGGCAGGTGATGATTGTGTGGCAAGTAGACAGGATGAGGATTAGAACATGGAAAAGTTTAGTAAAACACCATATGTATGTTTCAGGGAAAGCTAGGGGATGGTTTTATAGACATCACTATGAAAGCCCTCATCCAAGAATAAGTTCAGAAGTACACATCCCACTAGGGGATGCTAGATTGGTAATAACAACATATTGGGGTCTGCATACAGGAGAAAGAGACTGGCATTTGGGTCAGGGAGTCTCCATAGAATGGAGGAAAAAGAGATATAGCACACAAGTAGACCCTGAACTAGCAGACCAACTAATTCATCTGTATTACTTTGACTGTTTTTCAGACTCTGCTATAAGAAAGGCCTTATTAGGACACATAGTTAGCCCTAGGTGTGAATATCAAGCAGGACATAACAAGGTAGGATCTCTACAATACTTGGCACTAGCAGCATTAATAACACCAAAAAAGATAAAGCCACCTTTGCCTAGTGTTACGAAACTGACAGAGGATAGATGGAACAAGCCCCAGAAGACCAAGGGCCACAGAGGGAGCCACACAATGAATGGACACTAGAGCTTTTAGAGGAGCTTAAGAATGAAGCTGTTAGACATTTTCCTAGGATTTGGCTCCATGGCTTAGGGCAACATATCTATGAAACTTATGGGGATACTTGGGCAGGAGTGGAAGCCATAATAAGAATTCTGCAACAACTGCTGTTTATCCATTTTCAGAATTGGGTGTCGACATAGCAGAATAGGCGTTACTCGACAGAGGAGAGCAAGAAATGGAGCCAGTAGATCCTAGACTAGAGCCCTGGAAGCATCCAGGAAGTCAGCCTAAAACTGCTTGTACCAATTGCTATTGTAAAAAGTGTTGCTTTCATTGCCAAGTTTGTTTCATAACAAAAGCCTTAGGCATCTCCTATGGCAGGAAGAAGCGGAGACAGCGACGAAGAGCTCATCAGAACAGTCAGACTCATCAAGCTTCTCTATCAAAGCAGTAAGTAGTACATGTAACGCAACCTATACCAATAGTAGCAATAGTAGCATTAGTAGTAGCAATAATAATAGCAATAGTTGTGTGGTCCATAGTAATCATAGAATATAGGAAAATATTAAGACAAAGAAAAATAGACAGGTTAATTGATAGACTAATAGAAAGAGCAGAAGACAGTGGCAATGAGAGTGAAGGAGAAATATCAGCACTTGTGGAGATGGGGGTGGAGATGGGGCACCATGCTCCTTGGGATGTTGATGATCTGTAGTGCTACAGAAAAATTGTGGGTCACAGTCTATTATGGGGTACCTGTGTGGAAGGAAGCAACCACCACTCTATTTTGTGCATCAGATGCTAAAGCATATGATACAGAGGTACATAATGTTTGGGCCACACATGCCTGTGTACCCACAGACCCCAACCCACAAGAAGTAGTATTGGTAAATGTGACAGAAAATTTTAACATGTGGAAAAATGACATGGTAGAACAGATGCATGAGGATATAATCAGTTTATGGGATCAAAGCCTAAAGCCATGTGTAAAATTAACCCCACTCTGTGTTAGTTTAAAGTGCACTGATTTGAAGAATGATACTAATACCAATAGTAGTAGCGGGAGAATGATAATGGAGAAAGGAGAGATAAAAAACTGCTCTTTCAATATCAGCACAAGCATAAGAGGTAAGGTGCAGAAAGAATATGCATTTTTTTATAAACTTGATATAATACCAATAGATAATGATACTACCAGCTATAAGTTGACAAGTTGTAACACCTCAGTCATTACACAGGCCTGTCCAAAGGTATCCTTTGAGCCAATTCCCATACATTATTGTGCCCCGGCTGGTTTTGCGATTCTAAAATGTAATAATAAGACGTTCAATGGAACAGGACCATGTACAAATGTCAGCACAGTACAATGTACACATGGAATTAGGCCAGTAGTATCAACTCAACTGCTGTTAAATGGCAGTCTAGCAGAAGAAGAGGTAGTAATTAGATCTGTCAATTTCACGGACAATGCTAAAACCATAATAGTACAGCTGAACACATCTGTAGAAATTAATTGTACAAGACCCAACAACAATACAAGAAAAAGAATCCGTATCCAGAGAGGACCAGGGAGAGCATTTGTTACAATAGGAAAAATAGGAAATATGAGACAAGCACATTGTAACATTAGTAGAGCAAAATGGAATAACACTTTAAAACAGATAGCTAGCAAATTAAGAGAACAATTTGGAAATAATAAAACAATAATCTTTAAGCAATCCTCAGGAGGGGACCCAGAAATTGTAACGCACAGTTTTAATTGTGGAGGGGAATTTTTCTACTGTAATTCAACACAACTGTTTAATAGTACTTGGTTTAATAGTACTTGGAGTACTGAAGGGTCAAATAACACTGAAGGAAGTGACACAATCACCCTCCCATGCAGAATAAAACAAATTATAAACATGTGGCAGAAAGTAGGAAAAGCAATGTATGCCCCTCCCATCAGTGGACAAATTAGATGTTCATCAAATATTACAGGGCTGCTATTAACAAGAGATGGTGGTAATAGCAACAATGAGTCCGAGATCTTCAGACCTGGAGGAGGAGATATGAGGGACAATTGGAGAAGTGAATTATATAAATATAAAGTAGTAAAAATTGAACCATTAGGAGTAGCACCCACCAAGGCAAAGAGAAGAGTGGTGCAGAGAGAAAAAAGAGCAGTGGGAATAGGAGCTTTGTTCCTTGGGTTCTTGGGAGCAGCAGGAAGCACTATGGGCGCAGCCTCAATGACGCTGACGGTACAGGCCAGACAATTATTGTCTGGTATAGTGCAGCAGCAGAACAATTTGCTGAGGGCTATTGAGGCGCAACAGCATCTGTTGCAACTCACAGTCTGGGGCATCAAGCAGCTCCAGGCAAGAATCCTGGCTGTGGAAAGATACCTAAAGGATCAACAGCTCCTGGGGATTTGGGGTTGCTCTGGAAAACTCATTTGCACCACTGCTGTGCCTTGGAATGCTAGTTGGAGTAATAAATCTCTGGAACAGATTTGGAATCACACGACCTGGATGGAGTGGGACAGAGAAATTAACAATTACACAAGCTTAATACACTCCTTAATTGAAGAATCGCAAAACCAGCAAGAAAAGAATGAACAAGAATTATTGGAATTAGATAAATGGGCAAGTTTGTGGAATTGGTTTAACATAACAAATTGGCTGTGGTATATAAAATTATTCATAATGATAGTAGGAGGCTTGGTAGGTTTAAGAATAGTTTTTGCTGTACTTTCTATAGTGAATAGAGTTAGGCAGGGATATTCACCATTATCGTTTCAGACCCACCTCCCAACCCCGAGGGGACCCGACAGGCCCGAAGGAATAGAAGAAGAAGGTGGAGAGAGAGACAGAGACAGATCCATTCGATTAGTGAACGGATCCTTGGCACTTATCTGGGACGATCTGCGGAGCCTGTGCCTCTTCAGCTACCACCGCTTGAGAGACTTACTCTTGATTGTAACGAGGATTGTGGAACTTCTGGGACGCAGGGGGTGGGAAGCCCTCAAATATTGGTGGAATCTCCTACAGTATTGGAGTCAGGAACTAAAGAATAGTGCTGTTAGCTTGCTCAATGCCACAGCCATAGCAGTAGCTGAGGGGACAGATAGGGTTATAGAAGTAGTACAAGGAGCTTGTAGAGCTATTCGCCACATACCTAGAAGAATAAGACAGGGCTTGGAAAGGATTTTGCTATAAGATGGGTGGCAAGTGGTCAAAAAGTAGTGTGATTGGATGGCCTACTGTAAGGGAAAGAATGAGACGAGCTGAGCCAGCAGCAGATAGGGTGGGAGCAGCATCTCGAGACCTGGAAAAACATGGAGCAATCACAAGTAGCAATACAGCAGCTACCAATGCTGCTTGTGCCTGGCTAGAAGCACAAGAGGAGGAGGAGGTGGGTTTTCCAGTCACACCTCAGGTACCTTTAAGACCAATGACTTACAAGGCAGCTGTAGATCTTAGCCACTTTTTAAAAGAAAAGGGGGGACTGGAAGGGCTAATTCACTCCCAAAGAAGACAAGATATCCTTGATCTGTGGATCTACCACACACAAGGCTACTTCCCTGATTAGCAGAACTACACACCAGGGCCAGGGGTCAGATATCCACTGACCTTTGGATGGTGCTACAAGCTAGTACCAGTTGAGCCAGATAAGATAGAAGAGGCCAATAAAGGAGAGAACACCAGCTTGTTACACCCTGTGAGCCTGCATGGGATGGATGACCCGGAGAGAGAAGTGTTAGAGTGGAGGTTTGACAGCCGCCTAGCATTTCATCACGTGGCCCGAGAGCTGCATCCGGAGTACTTCAAGAACTGCTGACATCGAGCTTGCTACAAGGGACTTTCCGCTGGGGACTTTCCAGGGAGGCGTGGCCTGGGCGGGACTGGGGAGTGGCGAGCCCTCAGATCCTGCATATAAGCAGCTGCTTTTTGCCTGTACTGGGTCTCTCTGGTTAGACCAGATCTGAGCCTGGGAGCTCTCTGGCTAACTAGGGAACCCACTGCTTAAGCCTCAATAAAGCTTGCCTTGAGTGCTTCAAGTAGTGTGTGCCCGTCTGTTGTGTGACTCTGGTAACTAGAGATCCCTCAGACCCTTTTAGTCAGTGTGGAAAATCTCTAGCA
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/test-cache/reference.fasta.fai	Mon Sep 06 17:34:08 2021 +0000
@@ -0,0 +1,1 @@
+K03455	9719	8	9719	9720
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tool-data/fasta_indexes.loc.sample	Mon Sep 06 17:34:08 2021 +0000
@@ -0,0 +1,29 @@
+#This is a sample file distributed with Galaxy that enables tools
+#to use a directory of Samtools indexed sequences data files.  You will need
+#to create these data files and then create a fasta_indexes.loc file
+#similar to this one (store it in this directory) that points to
+#the directories in which those files are stored. The fasta_indexes.loc
+#file has this format (white space characters are TAB characters):
+#
+# <unique_build_id>	<dbkey>	<display_name>	<file_base_path>
+#
+#So, for example, if you had hg19 Canonical indexed stored in
+#
+# /depot/data2/galaxy/hg19/sam/,
+#
+#then the fasta_indexes.loc entry would look like this:
+#
+#hg19canon	hg19	Human (Homo sapiens): hg19 Canonical	/depot/data2/galaxy/hg19/sam/hg19canon.fa
+#
+#and your /depot/data2/galaxy/hg19/sam/ directory
+#would contain hg19canon.fa and hg19canon.fa.fai files.
+#
+#Your fasta_indexes.loc file should include an entry per line for
+#each index set you have stored.  The file in the path does actually
+#exist, but it should never be directly used. Instead, the name serves
+#as a prefix for the index file.  For example:
+#
+#hg18canon	hg18	Human (Homo sapiens): hg18 Canonical	/depot/data2/galaxy/hg18/sam/hg18canon.fa
+#hg18full	hg18	Human (Homo sapiens): hg18 Full	/depot/data2/galaxy/hg18/sam/hg18full.fa
+#hg19canon	hg19	Human (Homo sapiens): hg19 Canonical	/depot/data2/galaxy/hg19/sam/hg19canon.fa
+#hg19full	hg19	Human (Homo sapiens): hg19 Full	/depot/data2/galaxy/hg19/sam/hg19full.fa
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tool_data_table_conf.xml.sample	Mon Sep 06 17:34:08 2021 +0000
@@ -0,0 +1,8 @@
+<!-- Use the file tool_data_table_conf.xml.oldlocstyle if you don't want to update your loc files as changed in revision 4550:535d276c92bc-->
+<tables>
+    <!-- Location of SAMTools indexes for FASTA files -->
+    <table name="fasta_indexes" comment_char="#">
+        <columns>value, dbkey, name, path</columns>
+        <file path="tool-data/fasta_indexes.loc" />
+    </table>
+</tables>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tool_data_table_conf.xml.test	Mon Sep 06 17:34:08 2021 +0000
@@ -0,0 +1,7 @@
+<tables>
+    <!-- Locations of FASTA index ffiles for testing -->
+    <table name="fasta_indexes" comment_char="#">
+        <columns>value, dbkey, name, path</columns>
+        <file path="${__HERE__}/test-data/fasta_indexes.loc" />
+    </table>
+</tables>