galaxy-commits
Threads by month
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
January 2012
- 1 participants
- 95 discussions
2 new commits in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/changeset/324d442b8fb0/
changeset: 324d442b8fb0
branch: sam_merge_patch
user: natefoo
date: 2012-01-23 20:22:50
summary: Closed branch sam_merge_patch
affected #: 0 files
https://bitbucket.org/galaxy/galaxy-central/changeset/d61fdfdce8bc/
changeset: d61fdfdce8bc
user: natefoo
date: 2012-01-23 20:23:22
summary: Merge closed branch
affected #: 0 files
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0
commit/galaxy-central: natefoo: Add tool_dependency_dir to the sample config.
by Bitbucket 23 Jan '12
by Bitbucket 23 Jan '12
23 Jan '12
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/changeset/2e8f52ffe75d/
changeset: 2e8f52ffe75d
user: natefoo
date: 2012-01-23 18:29:00
summary: Add tool_dependency_dir to the sample config.
affected #: 1 file
diff -r 542cc69a44865797deb688a6b29c7aac603f6da2 -r 2e8f52ffe75ddf6e1009789745aabffa90edaac9 universe_wsgi.ini.sample
--- a/universe_wsgi.ini.sample
+++ b/universe_wsgi.ini.sample
@@ -131,6 +131,11 @@
# Other tool config files must include the tool_path as an attribute in the <toolbox> tag.
#tool_path = tools
+# Path to the directory in which managed tool dependencies are placed. To use
+# the dependency system, see the documentation at:
+# http://wiki.g2.bx.psu.edu/Admin/Config/Tool%20Dependencies
+#tool_dependency_dir = None
+
# Enable automatic installation of tools that used to be in the Galaxy
# distribution but are now in the main Galaxy tool shed. The tools
# that will be installed are configured in the config file named
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/changeset/542cc69a4486/
changeset: 542cc69a4486
user: dan
date: 2012-01-23 17:37:49
summary: GATK Updates.
affected #: 7 files
diff -r 84ee6eeedb41b507c5e79d6f3e0d2a50a694adb6 -r 542cc69a44865797deb688a6b29c7aac603f6da2 test-data/gatk/gatk_unified_genotyper/gatk_unified_genotyper_out_1.vcf
--- a/test-data/gatk/gatk_unified_genotyper/gatk_unified_genotyper_out_1.vcf
+++ b/test-data/gatk/gatk_unified_genotyper/gatk_unified_genotyper_out_1.vcf
@@ -1,6 +1,6 @@
##fileformat=VCFv4.1
##FORMAT=<ID=AD,Number=.,Type=Integer,Description="Allelic depths for the ref and alt alleles in the order listed">
-##FORMAT=<ID=DP,Number=1,Type=Integer,Description="Read Depth (only filtered reads used for calling)">
+##FORMAT=<ID=DP,Number=1,Type=Integer,Description="Approximate read depth (reads with MQ=255 or with bad mates are filtered)">
##FORMAT=<ID=GQ,Number=1,Type=Float,Description="Genotype Quality">
##FORMAT=<ID=GT,Number=1,Type=String,Description="Genotype">
##FORMAT=<ID=PL,Number=G,Type=Integer,Description="Normalized, Phred-scaled likelihoods for genotypes as defined in the VCF specification">
@@ -9,7 +9,7 @@
##INFO=<ID=AN,Number=1,Type=Integer,Description="Total number of alleles in called genotypes">
##INFO=<ID=BaseQRankSum,Number=1,Type=Float,Description="Z-score from Wilcoxon rank sum test of Alt Vs. Ref base qualities">
##INFO=<ID=DB,Number=0,Type=Flag,Description="dbSNP Membership">
-##INFO=<ID=DP,Number=1,Type=Integer,Description="Filtered Depth">
+##INFO=<ID=DP,Number=1,Type=Integer,Description="Approximate read depth; some reads may have been filtered">
##INFO=<ID=DS,Number=0,Type=Flag,Description="Were any of the samples downsampled?">
##INFO=<ID=Dels,Number=1,Type=Float,Description="Fraction of Reads Containing Spanning Deletions">
##INFO=<ID=FS,Number=1,Type=Float,Description="Phred-scaled p-value using Fisher's exact test to detect strand bias">
@@ -25,4 +25,4 @@
##contig=<ID=phiX174,length=5386>
##reference=file:///var/folders/78/786YaG3QH58XnzrWynoDBk+++TI/-Tmp-/tmp-gatk-aSMuO5/gatk_input.fasta
#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT A Fake phiX Sample
-phiX174 1443 . AC . 0 . DP=10;MQ=37.74;MQ0=0;QD=0.00 GT:DP:PL ./.:10:0,0,0
+phiX174 1443 . AC . 0 . DB;DP=10;MQ=37.74;MQ0=0 GT ./.
diff -r 84ee6eeedb41b507c5e79d6f3e0d2a50a694adb6 -r 542cc69a44865797deb688a6b29c7aac603f6da2 test-data/gatk/gatk_variant_annotator/gatk_variant_annotator_out_1.vcf
--- a/test-data/gatk/gatk_variant_annotator/gatk_variant_annotator_out_1.vcf
+++ b/test-data/gatk/gatk_variant_annotator/gatk_variant_annotator_out_1.vcf
@@ -1,6 +1,6 @@
##fileformat=VCFv4.1
##FORMAT=<ID=AD,Number=.,Type=Integer,Description="Allelic depths for the ref and alt alleles in the order listed">
-##FORMAT=<ID=DP,Number=1,Type=Integer,Description="Read Depth (only filtered reads used for calling)">
+##FORMAT=<ID=DP,Number=1,Type=Integer,Description="Approximate read depth (reads with MQ=255 or with bad mates are filtered)">
##FORMAT=<ID=GQ,Number=1,Type=Float,Description="Genotype Quality">
##FORMAT=<ID=GT,Number=1,Type=String,Description="Genotype">
##FORMAT=<ID=PL,Number=G,Type=Integer,Description="Normalized, Phred-scaled likelihoods for genotypes as defined in the VCF specification">
@@ -10,7 +10,7 @@
##INFO=<ID=AN,Number=1,Type=Integer,Description="Total number of alleles in called genotypes">
##INFO=<ID=BaseQRankSum,Number=1,Type=Float,Description="Z-score from Wilcoxon rank sum test of Alt Vs. Ref base qualities">
##INFO=<ID=DB,Number=0,Type=Flag,Description="dbSNP Membership">
-##INFO=<ID=DP,Number=1,Type=Integer,Description="Filtered Depth">
+##INFO=<ID=DP,Number=1,Type=Integer,Description="Approximate read depth; some reads may have been filtered">
##INFO=<ID=DS,Number=0,Type=Flag,Description="Were any of the samples downsampled?">
##INFO=<ID=Dels,Number=1,Type=Float,Description="Fraction of Reads Containing Spanning Deletions">
##INFO=<ID=FS,Number=1,Type=Float,Description="Phred-scaled p-value using Fisher's exact test to detect strand bias">
@@ -28,4 +28,4 @@
##reference=file:///var/folders/78/786YaG3QH58XnzrWynoDBk+++TI/-Tmp-/tmp-gatk-aSMuO5/gatk_input.fasta
##reference=file:///var/folders/78/786YaG3QH58XnzrWynoDBk+++TI/-Tmp-/tmp-gatk-gaJtgB/gatk_input.fasta
#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT A Fake phiX Sample
-phiX174 1443 . AC . 0 . DP=10;MQ=37.74;MQ0=0;QD=0.00 GT:DP:PL ./.:10:0,0,0
+phiX174 1443 . AC . 0 . DB;DP=10;MQ=37.74;MQ0=0 GT ./.
diff -r 84ee6eeedb41b507c5e79d6f3e0d2a50a694adb6 -r 542cc69a44865797deb688a6b29c7aac603f6da2 test-data/gatk/gatk_variant_combine/gatk_variant_combine_out_1.vcf
--- a/test-data/gatk/gatk_variant_combine/gatk_variant_combine_out_1.vcf
+++ b/test-data/gatk/gatk_variant_combine/gatk_variant_combine_out_1.vcf
@@ -1,7 +1,7 @@
##fileformat=VCFv4.1
##CombineVariants="analysis_type=CombineVariants input_file=[] sample_metadata=[] read_buffer_size=null phone_home=NO_ET read_filter=[] intervals=null excludeIntervals=null reference_sequence=/var/folders/78/786YaG3QH58XnzrWynoDBk+++TI/-Tmp-/tmp-gatk-bFIpbp/gatk_input.fasta rodBind=[] rodToIntervalTrackName=null BTI_merge_rule=UNION nonDeterministicRandomSeed=false downsampling_type=null downsample_to_fraction=null downsample_to_coverage=null baq=OFF baqGapOpenPenalty=40.0 performanceLog=null useOriginalQualities=false defaultBaseQualities=-1 validation_strictness=SILENT unsafe=null num_threads=1 interval_merging=ALL read_group_black_list=null processingTracker=null restartProcessingTracker=false processingTrackerStatusFile=null processingTrackerID=-1 allow_intervals_with_unindexed_bam=false disable_experimental_low_memory_sharding=false logging_level=INFO log_to_file=null help=false variant=[(RodBinding name=from_variant_annotator source=/var/folders/78/786YaG3QH58XnzrWynoDBk+++TI/-Tmp-/tmp-gatk-bFIpbp/input_variant_from_variant_annotator.vcf)] out=org.broadinstitute.sting.gatk.io.stubs.VCFWriterStub NO_HEADER=org.broadinstitute.sting.gatk.io.stubs.VCFWriterStub sites_only=org.broadinstitute.sting.gatk.io.stubs.VCFWriterStub genotypemergeoption=PRIORITIZE filteredrecordsmergetype=KEEP_IF_ANY_UNFILTERED rod_priority_list=from_variant_annotator printComplexMerges=false filteredAreUncalled=false minimalVCF=false setKey=set assumeIdenticalSamples=false minimumN=1 mergeInfoWithMaxAC=false"
##FORMAT=<ID=AD,Number=.,Type=Integer,Description="Allelic depths for the ref and alt alleles in the order listed">
-##FORMAT=<ID=DP,Number=1,Type=Integer,Description="Read Depth (only filtered reads used for calling)">
+##FORMAT=<ID=DP,Number=1,Type=Integer,Description="Approximate read depth (reads with MQ=255 or with bad mates are filtered)">
##FORMAT=<ID=GQ,Number=1,Type=Float,Description="Genotype Quality">
##FORMAT=<ID=GT,Number=1,Type=String,Description="Genotype">
##FORMAT=<ID=PL,Number=G,Type=Integer,Description="Normalized, Phred-scaled likelihoods for genotypes as defined in the VCF specification">
@@ -11,7 +11,7 @@
##INFO=<ID=AN,Number=1,Type=Integer,Description="Total number of alleles in called genotypes">
##INFO=<ID=BaseQRankSum,Number=1,Type=Float,Description="Z-score from Wilcoxon rank sum test of Alt Vs. Ref base qualities">
##INFO=<ID=DB,Number=0,Type=Flag,Description="dbSNP Membership">
-##INFO=<ID=DP,Number=1,Type=Integer,Description="Filtered Depth">
+##INFO=<ID=DP,Number=1,Type=Integer,Description="Approximate read depth; some reads may have been filtered">
##INFO=<ID=DS,Number=0,Type=Flag,Description="Were any of the samples downsampled?">
##INFO=<ID=Dels,Number=1,Type=Float,Description="Fraction of Reads Containing Spanning Deletions">
##INFO=<ID=FS,Number=1,Type=Float,Description="Phred-scaled p-value using Fisher's exact test to detect strand bias">
@@ -30,4 +30,4 @@
##reference=file:///var/folders/78/786YaG3QH58XnzrWynoDBk+++TI/-Tmp-/tmp-gatk-aSMuO5/gatk_input.fasta
##reference=file:///var/folders/78/786YaG3QH58XnzrWynoDBk+++TI/-Tmp-/tmp-gatk-bFIpbp/gatk_input.fasta
#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT A Fake phiX Sample
-phiX174 1443 . AC . . PASS AC=0;AF=0.00;AN=0;DP=10;MQ=37.74;MQ0=0;QD=0.00;set=ReferenceInAll GT:DP:PL ./.:10:0,0,0
+phiX174 1443 . AC . . PASS AC=0;AF=0.00;AN=0;DB;DP=10;MQ=37.74;MQ0=0;set=ReferenceInAll GT ./.
diff -r 84ee6eeedb41b507c5e79d6f3e0d2a50a694adb6 -r 542cc69a44865797deb688a6b29c7aac603f6da2 test-data/gatk/gatk_variant_eval/gatk_variant_eval_out_1.tabular
--- a/test-data/gatk/gatk_variant_eval/gatk_variant_eval_out_1.tabular
+++ b/test-data/gatk/gatk_variant_eval/gatk_variant_eval_out_1.tabular
@@ -1,36 +1,30 @@
##:GATKReport.v0.2 CompOverlap : The overlap between eval and comp sites
-CompOverlap CompRod EvalRod JexlExpression Novelty nEvalVariants novelSites nVariantsAtComp compRate nConcordant concordantRate
-CompOverlap dbsnp input_0 none all 0 0 0 0.00000000 0 0.00000000
-CompOverlap dbsnp input_0 none known 0 0 0 0.00000000 0 0.00000000
-CompOverlap dbsnp input_0 none novel 0 0 0 0.00000000 0 0.00000000
+CompOverlap CompRod EvalRod JexlExpression Novelty nEvalVariants novelSites nVariantsAtComp compRate nConcordant concordantRate
+CompOverlap dbsnp input_0 none all 0 0 0 0.00 0 0.00
+CompOverlap dbsnp input_0 none known 0 0 0 0.00 0 0.00
+CompOverlap dbsnp input_0 none novel 0 0 0 0.00 0 0.00
##:GATKReport.v0.2 CountVariants : Counts different classes of variants in the sample
-CountVariants CompRod EvalRod JexlExpression Novelty nProcessedLoci nCalledLoci nRefLoci nVariantLoci variantRate variantRatePerBp nSNPs nMNPs nInsertions nDeletions nComplex nMixed nNoCalls nHets nHomRef nHomVar nSingletons nHomDerived heterozygosity heterozygosityPerBp hetHomRatio indelRate indelRatePerBp deletionInsertionRatio
-CountVariants dbsnp input_0 none all 5386 1 1 0 0.00000000 0.00000000 0 0 0 0 0 0 1 0 0 0 0 0 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
-CountVariants dbsnp input_0 none known 5386 1 1 0 0.00000000 0.00000000 0 0 0 0 0 0 1 0 0 0 0 0 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
-CountVariants dbsnp input_0 none novel 5386 0 0 0 0.00000000 0.00000000 0 0 0 0 0 0 0 0 0 0 0 0 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
-
-##:GATKReport.v0.2 SimpleMetricsByAC.metrics : TiTv by allele count
-SimpleMetricsByAC.metrics CompRod EvalRod JexlExpression Novelty row AC nTi nTv n TiTv
-SimpleMetricsByAC.metrics dbsnp input_0 none all ac0 0 0 0 0 0.0
-SimpleMetricsByAC.metrics dbsnp input_0 none all ac1 1 0 0 0 0.0
-SimpleMetricsByAC.metrics dbsnp input_0 none all ac2 2 0 0 0 0.0
-SimpleMetricsByAC.metrics dbsnp input_0 none known ac0 0 0 0 0 0.0
-SimpleMetricsByAC.metrics dbsnp input_0 none known ac1 1 0 0 0 0.0
-SimpleMetricsByAC.metrics dbsnp input_0 none known ac2 2 0 0 0 0.0
-SimpleMetricsByAC.metrics dbsnp input_0 none novel ac0 0 0 0 0 0.0
-SimpleMetricsByAC.metrics dbsnp input_0 none novel ac1 1 0 0 0 0.0
-SimpleMetricsByAC.metrics dbsnp input_0 none novel ac2 2 0 0 0 0.0
+CountVariants CompRod EvalRod JexlExpression Novelty nProcessedLoci nCalledLoci nRefLoci nVariantLoci variantRate variantRatePerBp nSNPs nMNPs nInsertions nDeletions nComplex nSymbolic nMixed nNoCalls nHets nHomRef nHomVar nSingletons nHomDerived heterozygosity heterozygosityPerBp hetHomRatio indelRate indelRatePerBp deletionInsertionRatio
+CountVariants dbsnp input_0 none all 5386 1 1 0 0.00000000 0.00000000 0 0 0 0 0 0 0 1 0 0 0 0 0 0.00e+00 0.00 0.00 0.00e+00 0.00 0.00
+CountVariants dbsnp input_0 none known 5386 1 1 0 0.00000000 0.00000000 0 0 0 0 0 0 0 1 0 0 0 0 0 0.00e+00 0.00 0.00 0.00e+00 0.00 0.00
+CountVariants dbsnp input_0 none novel 5386 0 0 0 0.00000000 0.00000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0.00e+00 0.00 0.00 0.00e+00 0.00 0.00
##:GATKReport.v0.2 TiTvVariantEvaluator : Ti/Tv Variant Evaluator
-TiTvVariantEvaluator CompRod EvalRod JexlExpression Novelty nTi nTv tiTvRatio nTiInComp nTvInComp TiTvRatioStandard nTiDerived nTvDerived tiTvDerivedRatio
-TiTvVariantEvaluator dbsnp input_0 none all 0 0 0.00000000 0 0 0.00000000 0 0 0.00000000
-TiTvVariantEvaluator dbsnp input_0 none known 0 0 0.00000000 0 0 0.00000000 0 0 0.00000000
-TiTvVariantEvaluator dbsnp input_0 none novel 0 0 0.00000000 0 0 0.00000000 0 0 0.00000000
+TiTvVariantEvaluator CompRod EvalRod JexlExpression Novelty nTi nTv tiTvRatio nTiInComp nTvInComp TiTvRatioStandard nTiDerived nTvDerived tiTvDerivedRatio
+TiTvVariantEvaluator dbsnp input_0 none all 0 0 0.00 0 0 0.00 0 0 0.00
+TiTvVariantEvaluator dbsnp input_0 none known 0 0 0.00 0 0 0.00 0 0 0.00
+TiTvVariantEvaluator dbsnp input_0 none novel 0 0 0.00 0 0 0.00 0 0 0.00
##:GATKReport.v0.2 ValidationReport : Assess site accuracy and sensitivity of callset against follow-up validation assay
-ValidationReport CompRod EvalRod JexlExpression Novelty nComp TP FP FN TN sensitivity specificity PPV FDR CompMonoEvalNoCall CompMonoEvalFiltered CompMonoEvalMono CompMonoEvalPoly CompPolyEvalNoCall CompPolyEvalFiltered CompPolyEvalMono CompPolyEvalPoly CompFiltered nDifferentAlleleSites
-ValidationReport dbsnp input_0 none all 43 0 0 0 43 NaN 100.00000000 NaN NaN 42 0 1 0 0 0 0 0 0 0
-ValidationReport dbsnp input_0 none known 1 0 0 0 1 NaN 100.00000000 NaN NaN 0 0 1 0 0 0 0 0 0 0
-ValidationReport dbsnp input_0 none novel 42 0 0 0 42 NaN 100.00000000 NaN NaN 42 0 0 0 0 0 0 0 0 0
+ValidationReport CompRod EvalRod JexlExpression Novelty nComp TP FP FN TN sensitivity specificity PPV FDR CompMonoEvalNoCall CompMonoEvalFiltered CompMonoEvalMono CompMonoEvalPoly CompPolyEvalNoCall CompPolyEvalFiltered CompPolyEvalMono CompPolyEvalPoly CompFiltered nDifferentAlleleSites
+ValidationReport dbsnp input_0 none all 43 0 0 0 43 NaN 100.00 NaN NaN 42 0 1 0 0 0 0 0 0 0
+ValidationReport dbsnp input_0 none known 1 0 0 0 1 NaN 100.00 NaN NaN 0 0 1 0 0 0 0 0 0 0
+ValidationReport dbsnp input_0 none novel 42 0 0 0 42 NaN 100.00 NaN NaN 42 0 0 0 0 0 0 0 0 0
+##:GATKReport.v0.2 VariantSummary : 1000 Genomes Phase I summary of variants table
+VariantSummary CompRod EvalRod JexlExpression Novelty nSamples nProcessedLoci nSNPs TiTvRatio SNPNoveltyRate nSNPsPerSample TiTvRatioPerSample SNPDPPerSample nIndels IndelNoveltyRate nIndelsPerSample IndelDPPerSample nSVs SVNoveltyRate nSVsPerSample
+VariantSummary dbsnp input_0 none all 1 5386 0 0.00 NA 0 0.00 0.0 0 NA 0 0.0 0 NA 0
+VariantSummary dbsnp input_0 none known 1 5386 0 0.00 NA 0 0.00 0.0 0 NA 0 0.0 0 NA 0
+VariantSummary dbsnp input_0 none novel 1 5386 0 0.00 NA 0 0.00 0.0 0 NA 0 0.0 0 NA 0
+
diff -r 84ee6eeedb41b507c5e79d6f3e0d2a50a694adb6 -r 542cc69a44865797deb688a6b29c7aac603f6da2 test-data/gatk/gatk_variant_select/gatk_variant_select_out_1.vcf
--- a/test-data/gatk/gatk_variant_select/gatk_variant_select_out_1.vcf
+++ b/test-data/gatk/gatk_variant_select/gatk_variant_select_out_1.vcf
@@ -1,6 +1,6 @@
##fileformat=VCFv4.1
##FORMAT=<ID=AD,Number=.,Type=Integer,Description="Allelic depths for the ref and alt alleles in the order listed">
-##FORMAT=<ID=DP,Number=1,Type=Integer,Description="Read Depth (only filtered reads used for calling)">
+##FORMAT=<ID=DP,Number=1,Type=Integer,Description="Approximate read depth (reads with MQ=255 or with bad mates are filtered)">
##FORMAT=<ID=GQ,Number=1,Type=Float,Description="Genotype Quality">
##FORMAT=<ID=GT,Number=1,Type=String,Description="Genotype">
##FORMAT=<ID=PL,Number=G,Type=Integer,Description="Normalized, Phred-scaled likelihoods for genotypes as defined in the VCF specification">
@@ -10,7 +10,7 @@
##INFO=<ID=AN,Number=1,Type=Integer,Description="Total number of alleles in called genotypes">
##INFO=<ID=BaseQRankSum,Number=1,Type=Float,Description="Z-score from Wilcoxon rank sum test of Alt Vs. Ref base qualities">
##INFO=<ID=DB,Number=0,Type=Flag,Description="dbSNP Membership">
-##INFO=<ID=DP,Number=1,Type=Integer,Description="Filtered Depth">
+##INFO=<ID=DP,Number=1,Type=Integer,Description="Approximate read depth; some reads may have been filtered">
##INFO=<ID=DS,Number=0,Type=Flag,Description="Were any of the samples downsampled?">
##INFO=<ID=Dels,Number=1,Type=Float,Description="Fraction of Reads Containing Spanning Deletions">
##INFO=<ID=FS,Number=1,Type=Float,Description="Phred-scaled p-value using Fisher's exact test to detect strand bias">
@@ -27,5 +27,6 @@
##contig=<ID=phiX174,length=5386>
##reference=file:///var/folders/78/786YaG3QH58XnzrWynoDBk+++TI/-Tmp-/tmp-gatk-aSMuO5/gatk_input.fasta
##reference=file:///var/folders/78/786YaG3QH58XnzrWynoDBk+++TI/-Tmp-/tmp-gatk-gaJtgB/gatk_input.fasta
+##source=SelectVariants
#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT A Fake phiX Sample
-phiX174 1443 . AC . 0 . AC=0;AF=0.00;AN=0;DP=0;MQ=37.74;MQ0=0;QD=0.00 GT:DP:PL ./.:10:0,0,0
+phiX174 1443 . AC . 0 . AC=0;AF=0.00;AN=0;DB;DP=0;MQ=37.74;MQ0=0 GT ./.
diff -r 84ee6eeedb41b507c5e79d6f3e0d2a50a694adb6 -r 542cc69a44865797deb688a6b29c7aac603f6da2 tools/gatk/variant_annotator.xml
--- a/tools/gatk/variant_annotator.xml
+++ b/tools/gatk/variant_annotator.xml
@@ -25,13 +25,13 @@
#if str( $annotations_type.annotations_type_selector ) == "use_all_annotations":
--useAllAnnotations
#else:
- #if str( $annotations_type.annotations ) != "None":
+ #if $annotations_type.annotations:
#for $annotation in str( $annotations_type.annotations.fields.gatk_value ).split( ',' ):
--annotation "${annotation}"
#end for
#end if
#end if
- #if str( $exclude_annotations ) != "None":
+ #if $exclude_annotations:
#for $annotation in str( $exclude_annotations.fields.gatk_value ).split( ',' ):
--excludeAnnotation "${annotation}"
#end for
@@ -383,6 +383,7 @@
<param name="input_variant_bti" /><param name="annotations_type_selector" value="choose" /><param name="annotations" value="AlleleBalance,BaseQualityRankSumTest,DepthOfCoverage,HomopolymerRun,MappingQualityRankSumTest,MappingQualityZero,QualByDepth,RMSMappingQuality,SpanningDeletions,HaplotypeScore" />
+ <param name="additional_annotations" value="0" /><param name="dbsnp_rod_bind_type_selector" value="set_dbsnp" /><param name="dbsnp_input_rod" value="gatk/fake_phiX_variant_locations.vcf" ftype="vcf" /><param name="snpEff_rod_bind_type_selector" value="exclude_snpEff" />
diff -r 84ee6eeedb41b507c5e79d6f3e0d2a50a694adb6 -r 542cc69a44865797deb688a6b29c7aac603f6da2 tools/gatk/variants_validate.xml
--- a/tools/gatk/variants_validate.xml
+++ b/tools/gatk/variants_validate.xml
@@ -12,7 +12,7 @@
-T "ValidateVariants"
-et "NO_ET" ##ET no phone home
- --num_threads 4 ##hard coded, for now
+ ##--num_threads 4 ##hard coded, for now
##-log "${output_log}" ##don't use this to log to file, instead directly capture stdout
#if $reference_source.reference_source_selector != "history":
-R "${reference_source.ref_file.fields.path}"
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0
commit/galaxy-central: natefoo: Ignore DrmCommunicationException when checking job state. Thanks Ed Kirton.
by Bitbucket 23 Jan '12
by Bitbucket 23 Jan '12
23 Jan '12
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/changeset/84ee6eeedb41/
changeset: 84ee6eeedb41
user: natefoo
date: 2012-01-23 17:04:04
summary: Ignore DrmCommunicationException when checking job state. Thanks Ed Kirton.
affected #: 1 file
diff -r d56513828dc6f7c23b0e5b85f5ac33ce212587b7 -r 84ee6eeedb41b507c5e79d6f3e0d2a50a694adb6 lib/galaxy/jobs/runners/drmaa.py
--- a/lib/galaxy/jobs/runners/drmaa.py
+++ b/lib/galaxy/jobs/runners/drmaa.py
@@ -278,6 +278,9 @@
log.debug("(%s/%s) job left DRM queue with following message: %s" % ( galaxy_job_id, job_id, e ) )
self.work_queue.put( ( 'finish', drm_job_state ) )
continue
+ except drmaa.DrmCommunicationException, e:
+ log.warning("(%s/%s) unable to communicate with DRM: %s" % ( galaxy_job_id, job_id, e ))
+ continue
except Exception, e:
# so we don't kill the monitor thread
log.exception("(%s/%s) Unable to check job status" % ( galaxy_job_id, job_id ) )
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0
23 Jan '12
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/changeset/d56513828dc6/
changeset: d56513828dc6
user: greg
date: 2012-01-23 15:44:22
summary: Fix for loading tools from tool config(s).
affected #: 1 file
diff -r 73bae197e5fe3a420cd90326d80c7a2173e619a8 -r d56513828dc6f7c23b0e5b85f5ac33ce212587b7 lib/galaxy/tools/__init__.py
--- a/lib/galaxy/tools/__init__.py
+++ b/lib/galaxy/tools/__init__.py
@@ -107,10 +107,11 @@
self.load_section_tag_set( elem, self.tool_panel, tool_path )
elif elem.tag == 'label':
self.load_label_tag_set( elem, self.tool_panel )
- shed_tool_conf_dict = dict( config_filename=config_filename,
- tool_path=tool_path,
- config_elems=config_elems )
- self.shed_tool_confs.append( shed_tool_conf_dict )
+ if parsing_shed_tool_conf:
+ shed_tool_conf_dict = dict( config_filename=config_filename,
+ tool_path=tool_path,
+ config_elems=config_elems )
+ self.shed_tool_confs.append( shed_tool_conf_dict )
def get_tool( self, tool_id, tool_version=None ):
# Attempt to locate the tool in our in-memory dictionary.
if tool_id in self.tools_by_id:
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0
commit/galaxy-central: jgoecks: Do not find valid chroms because this is computationally expensive and not currently used.
by Bitbucket 23 Jan '12
by Bitbucket 23 Jan '12
23 Jan '12
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/changeset/73bae197e5fe/
changeset: 73bae197e5fe
user: jgoecks
date: 2012-01-23 01:48:05
summary: Do not find valid chroms because this is computationally expensive and not currently used.
affected #: 1 file
diff -r 9b7a615b39648a2911c483f8d3b693931ca5c1b4 -r 73bae197e5fe3a420cd90326d80c7a2173e619a8 lib/galaxy/web/controllers/tracks.py
--- a/lib/galaxy/web/controllers/tracks.py
+++ b/lib/galaxy/web/controllers/tracks.py
@@ -535,6 +535,8 @@
if msg:
return msg
+ # NOTE: finding valid chroms is prohibitive for large summary trees and is not currently used by
+ # the client.
valid_chroms = None
# Check for data in the genome window.
if data_sources.get( 'index' ):
@@ -543,15 +545,14 @@
indexer = get_data_provider( tracks_dataset_type )( converted_dataset, dataset )
if not indexer.has_data( chrom ):
return messages.NO_DATA
- valid_chroms = indexer.valid_chroms()
+ #valid_chroms = indexer.valid_chroms()
else:
# Standalone data provider
standalone_provider = get_data_provider( data_sources['data_standalone']['name'] )( dataset )
kwargs = {"stats": True}
if not standalone_provider.has_data( chrom ):
return messages.NO_DATA
- valid_chroms = standalone_provider.valid_chroms()
-
+ #valid_chroms = standalone_provider.valid_chroms()
# Have data if we get here
return { "status": messages.DATA, "valid_chroms": valid_chroms }
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0
commit/galaxy-central: jgoecks: Trackster: fix bugs in summary tree display & pack script.
by Bitbucket 22 Jan '12
by Bitbucket 22 Jan '12
22 Jan '12
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/changeset/9b7a615b3964/
changeset: 9b7a615b3964
user: jgoecks
date: 2012-01-22 22:21:59
summary: Trackster: fix bugs in summary tree display & pack script.
affected #: 2 files
diff -r 34db794299d3b79e1c9a92fff65e6222c70f4031 -r 9b7a615b39648a2911c483f8d3b693931ca5c1b4 static/scripts/packed/trackster.js
--- a/static/scripts/packed/trackster.js
+++ b/static/scripts/packed/trackster.js
@@ -1,1 +1,1 @@
-var class_module=function(b,a){var c=function(){var f=arguments[0];for(var e=1;e<arguments.length;e++){var d=arguments[e];for(key in d){f[key]=d[key]}}return f};a.extend=c};var requestAnimationFrame=(function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(b,a){window.setTimeout(b,1000/60)}})();var BEFORE=1001,CONTAINS=1002,OVERLAP_START=1003,OVERLAP_END=1004,CONTAINED_BY=1005,AFTER=1006;var compute_overlap=function(e,b){var g=e[0],f=e[1],d=b[0],c=b[1],a;if(g<d){if(f<d){a=BEFORE}else{if(f<=c){a=OVERLAP_START}else{a=CONTAINS}}}else{if(g>c){a=AFTER}else{if(f<=c){a=CONTAINED_BY}else{a=OVERLAP_END}}}return a};var is_overlap=function(c,b){var a=compute_overlap(c,b);return(a!==BEFORE&&a!==AFTER)};var is_deferred=function(a){return("isResolved" in a)};var get_random_color=function(a){if(!a){a="#ffffff"}if(typeof(a)==="string"){a=[a]}for(var j=0;j<a.length;j++){a[j]=parseInt(a[j].slice(1),16)}var n=function(t,s,i){return((t*299)+(s*587)+(i*114))/1000};var e=function(v,u,w,s,i,t){return(Math.max(v,s)-Math.min(v,s))+(Math.max(u,i)-Math.min(u,i))+(Math.max(w,t)-Math.min(w,t))};var g,o,f,k,q,h,r,c,d,b,p,m=false,l=0;do{g=Math.round(Math.random()*16777215);o=(g&16711680)>>16;f=(g&65280)>>8;k=g&255;d=n(o,f,k);m=true;for(var j=0;j<a.length;j++){q=a[j];h=(q&16711680)>>16;r=(q&65280)>>8;c=q&255;b=n(h,r,c);p=e(o,f,k,h,r,c);if((Math.abs(d-b)<40)||(p<200)){m=false;break}}l++}while(!m&&l<=10);return"#"+(16777216+g).toString(16).substr(1,6)};var create_action_icon=function(c,b,a){return $("<a/>").attr("href","javascript:void(0);").attr("title",c).addClass("icon-button").addClass(b).tipsy({gravity:"s"}).click(a)};var trackster_module=function(e,X){var p=e("class").extend,s=e("slotting"),L=e("painters");var ae=function(af,ag){this.document=af;this.default_font=ag!==undefined?ag:"9px Monaco, Lucida Console, monospace";this.dummy_canvas=this.new_canvas();this.dummy_context=this.dummy_canvas.getContext("2d");this.dummy_context.font=this.default_font;this.char_width_px=this.dummy_context.measureText("A").width;this.patterns={};this.load_pattern("right_strand","/visualization/strand_right.png");this.load_pattern("left_strand","/visualization/strand_left.png");this.load_pattern("right_strand_inv","/visualization/strand_right_inv.png");this.load_pattern("left_strand_inv","/visualization/strand_left_inv.png")};p(ae.prototype,{load_pattern:function(af,aj){var ag=this.patterns,ah=this.dummy_context,ai=new Image();ai.src=image_path+aj;ai.onload=function(){ag[af]=ah.createPattern(ai,"repeat")}},get_pattern:function(af){return this.patterns[af]},new_canvas:function(){var af=this.document.createElement("canvas");if(window.G_vmlCanvasManager){G_vmlCanvasManager.initElement(af)}af.manager=this;return af}});var n={};var l=function(af,ag){n[af.attr("id")]=ag};var m=function(af,ah,aj,ai){aj=".group";var ag={};n[af.attr("id")]=ai;af.bind("drag",{handle:"."+ah,relative:true},function(ar,at){var aq=$(this);var aw=$(this).parent(),an=aw.children(),ap=n[$(this).attr("id")],am,al,au,ak,ao;al=$(this).parents(aj);if(al.length!==0){au=al.position().top;ak=au+al.outerHeight();if(at.offsetY<au){$(this).insertBefore(al);var av=n[al.attr("id")];av.remove_drawable(ap);av.container.add_drawable_before(ap,av);return}else{if(at.offsetY>ak){$(this).insertAfter(al);var av=n[al.attr("id")];av.remove_drawable(ap);av.container.add_drawable(ap);return}}}al=null;for(ao=0;ao<an.length;ao++){am=$(an.get(ao));au=am.position().top;ak=au+am.outerHeight();if(am.is(aj)&&this!==am.get(0)&&at.offsetY>=au&&at.offsetY<=ak){if(at.offsetY-au<ak-at.offsetY){am.find(".content-div").prepend(this)}else{am.find(".content-div").append(this)}if(ap.container){ap.container.remove_drawable(ap)}n[am.attr("id")].add_drawable(ap);return}}for(ao=0;ao<an.length;ao++){if(at.offsetY<$(an.get(ao)).position().top){break}}if(ao===an.length){if(this!==an.get(ao-1)){aw.append(this);n[aw.attr("id")].move_drawable(ap,ao)}}else{if(this!==an.get(ao)){$(this).insertBefore(an.get(ao));n[aw.attr("id")].move_drawable(ap,(at.deltaY>0?ao-1:ao))}}}).bind("dragstart",function(){ag["border-top"]=af.css("border-top");ag["border-bottom"]=af.css("border-bottom");$(this).css({"border-top":"1px solid blue","border-bottom":"1px solid blue"})}).bind("dragend",function(){$(this).css(ag)})};X.moveable=m;var ad=16,F=9,C=20,T=F+2,y=100,I=12000,Q=200,A=5,u=10,K=5000,v=100,o="There was an error in indexing this dataset. ",J="A converter for this dataset is not installed. Please check your datatypes_conf.xml file.",D="No data for this chrom/contig.",t="Currently indexing... please wait",w="Tool cannot be rerun: ",a="Loading data...",Y="Ready for display",R=10,H=20;function Z(ag,af){if(!af){af=0}var ah=Math.pow(10,af);return Math.round(ag*ah)/ah}var c=function(af){this.num_elements=af;this.clear()};p(c.prototype,{get:function(ag){var af=this.key_ary.indexOf(ag);if(af!==-1){if(this.obj_cache[ag].stale){this.key_ary.splice(af,1);delete this.obj_cache[ag]}else{this.move_key_to_end(ag,af)}}return this.obj_cache[ag]},set:function(ag,ah){if(!this.obj_cache[ag]){if(this.key_ary.length>=this.num_elements){var af=this.key_ary.shift();delete this.obj_cache[af]}this.key_ary.push(ag)}this.obj_cache[ag]=ah;return ah},move_key_to_end:function(ag,af){this.key_ary.splice(af,1);this.key_ary.push(ag)},clear:function(){this.obj_cache={};this.key_ary=[]},size:function(){return this.key_ary.length}});var S=function(ag,af,ah){c.call(this,ag);this.track=af;this.subset=(ah!==undefined?ah:true)};p(S.prototype,c.prototype,{load_data:function(ao,aj,am,ag,al){var an=this.track.view.chrom,ai={chrom:an,low:ao,high:aj,mode:am,resolution:ag,dataset_id:this.track.dataset_id,hda_ldda:this.track.hda_ldda};$.extend(ai,al);if(this.track.filters_manager){var ap=[];var af=this.track.filters_manager.filters;for(var ak=0;ak<af.length;ak++){ap[ap.length]=af[ak].name}ai.filter_cols=JSON.stringify(ap)}var ah=this;return $.getJSON(this.track.data_url,ai,function(aq){ah.set_data(ao,aj,aq)})},get_data:function(af,aj,ak,ag,ai){var ah=this.get(af,aj);if(ah&&(is_deferred(ah)||this.track.data_and_mode_compatible(ah,ak))){return ah}ah=this.load_data(af,aj,ak,ag,ai);this.set_data(af,aj,ah);return ah},DEEP_DATA_REQ:"deep",BROAD_DATA_REQ:"breadth",get_more_data:function(an,ai,am,ah,al,aj){var ao=this.get(an,ai);if(!(ao&&this.track.data_and_mode_compatible(ao,am))){console.log("ERROR: no current data for: ",this.track,an,ai,am,ah,al);return}ao.stale=true;var ag=an;if(aj===this.DEEP_DATA_REQ){$.extend(al,{start_val:ao.data.length+1})}else{if(aj===this.BROAD_DATA_REQ){ag=(ao.max_high?ao.max_high:ao.data[ao.data.length-1][2])+1}}var af=this,ak=this.load_data(ag,ai,am,ah,al);new_data_available=$.Deferred();this.set_data(an,ai,new_data_available);$.when(ak).then(function(ap){if(ap.data){ap.data=ao.data.concat(ap.data);if(ap.max_low){ap.max_low=ao.max_low}if(ap.message){ap.message=ap.message.replace(/[0-9]+/,ap.data.length)}}af.set_data(an,ai,ap);new_data_available.resolve(ap)});return new_data_available},get:function(af,ag){return c.prototype.get.call(this,this.gen_key(af,ag))},set_data:function(ag,ah,af){return this.set(this.gen_key(ag,ah),af)},gen_key:function(af,ah){var ag=af+"_"+ah;return ag},split_key:function(af){return af.split("_")}});var G=function(ag,af,ah){S.call(this,ag,af,ah)};p(G.prototype,S.prototype,c.prototype,{get:S.prototype.get,load_data:function(af,ai,aj,ag,ah){if(ag>1){return{data:null}}return S.prototype.load_data.call(this,af,ai,aj,ag,ah)}});var q=function(ai,ag,af,ah,ak){if(!q.id_counter){q.id_counter=0}this.id=q.id_counter++;this.name=ai;this.view=ag;this.container=af;this.config=new E({track:this,params:[{key:"name",label:"Name",type:"text",default_value:ai}],saved_values:ah,onchange:function(){this.track.set_name(this.track.config.values.name)}});this.prefs=this.config.values;this.drag_handle_class=ak;this.is_overview=false;this.action_icons={};this.content_visible=true;this.container_div=this.build_container_div();this.header_div=this.build_header_div();if(this.header_div){this.container_div.append(this.header_div);this.icons_div=$("<div/>").css("float","left").hide().appendTo(this.header_div);this.build_action_icons(this.action_icons_def);this.header_div.append($("<div style='clear: both'/>"));this.header_div.dblclick(function(al){al.stopPropagation()});var aj=this;this.container_div.hover(function(){aj.icons_div.show()},function(){aj.icons_div.hide()});$("<div style='clear: both'/>").appendTo(this.container_div)}};q.prototype.action_icons_def=[{name:"toggle_icon",title:"Hide/show content",css_class:"toggle",on_click_fn:function(af){if(af.content_visible){af.action_icons.toggle_icon.addClass("toggle-expand").removeClass("toggle");af.hide_contents();af.content_visible=false}else{af.action_icons.toggle_icon.addClass("toggle").removeClass("toggle-expand");af.content_visible=true;af.show_contents()}}},{name:"settings_icon",title:"Edit settings",css_class:"settings-icon",on_click_fn:function(ag){var ai=function(){hide_modal();$(window).unbind("keypress.check_enter_esc")},af=function(){ag.config.update_from_form($(".dialog-box"));hide_modal();$(window).unbind("keypress.check_enter_esc")},ah=function(aj){if((aj.keyCode||aj.which)===27){ai()}else{if((aj.keyCode||aj.which)===13){af()}}};$(window).bind("keypress.check_enter_esc",ah);show_modal("Configure",ag.config.build_form(),{Cancel:ai,OK:af})}},{name:"remove_icon",title:"Remove",css_class:"remove-icon",on_click_fn:function(af){$(".tipsy").remove();af.remove()}}];p(q.prototype,{init:function(){},can_draw:function(){if(this.enabled&&this.content_visible){return true}return false},request_draw:function(){},_draw:function(){},to_dict:function(){},from_dict:function(af){},update_icons:function(){},set_name:function(af){this.old_name=this.name;this.name=af;this.name_div.text(this.name)},revert_name:function(){this.name=this.old_name;this.name_div.text(this.name)},remove:function(){this.container.remove_drawable(this);this.container_div.hide(0,function(){$(this).remove();view.update_intro_div();view.has_changes=true})},build_container_div:function(){},build_header_div:function(){},add_action_icon:function(ag,ak,aj,ai,af){var ah=this;this.action_icons[ag]=$("<a/>").attr("href","javascript:void(0);").attr("title",ak).addClass("icon-button").addClass(aj).tipsy({gravity:"s"}).click(function(){ai(ah)}).appendTo(this.icons_div)},build_action_icons:function(af){var ah;for(var ag=0;ag<af.length;ag++){ah=af[ag];this.add_action_icon(ah.name,ah.title,ah.css_class,ah.on_click_fn,ah.prepend)}},update_icons:function(){},hide_contents:function(){},show_contents:function(){}});var x=function(aj,ai,ag,af,ah,ak){q.call(this,ai,ag,af,ah,ak);this.obj_type=aj;this.drawables=[]};p(x.prototype,q.prototype,{init:function(){for(var af=0;af<this.drawables.length;af++){this.drawables[af].init()}},_draw:function(){for(var af=0;af<this.drawables.length;af++){this.drawables[af]._draw()}},to_dict:function(){var ag=[];for(var af=0;af<this.drawables.length;af++){ag.push(this.drawables[af].to_dict())}return{name:this.name,prefs:this.prefs,obj_type:this.obj_type,drawables:ag}},from_dict:function(al,af){var ak=new this.constructor(al.name,view,af,al.prefs,view.viewport_container,view);var ag,aj,ai;for(var ah=0;ah<al.drawables.length;ah++){ag=al.drawables[ah];aj=ag.obj_type;if(!aj){aj=ag.track_type}ai=addable_objects[aj].prototype.from_dict(ag,ak);ak.add_drawable(ai)}return ak},add_drawable:function(af){this.drawables.push(af);af.container=this},add_drawable_before:function(ah,af){var ag=this.drawables.indexOf(af);if(ag!=-1){this.drawables.splice(ag,0,ah);return true}return false},replace_drawable:function(ah,af,ag){var ai=this.drawables.indexOf(ah);if(ai!==-1){this.drawables[ai]=af;if(ag){ah.container_div.replaceWith(af.container_div)}}return ai},remove_drawable:function(ag){var af=this.drawables.indexOf(ag);if(af!=-1){this.drawables.splice(af,1);ag.container=null;return true}return false},move_drawable:function(ag,ah){var af=this.drawables.indexOf(ag);if(af!=-1){this.drawables.splice(af,1);this.drawables.splice(ah,0,ag);return true}return false}});var P=function(ai,ag,af,ah){x.call(this,"DrawableGroup",ai,ag,af,ah,"group-handle");this.content_div=$("<div/>").addClass("content-div").attr("id","group_"+this.id+"_content_div").appendTo(this.container_div);l(this.container_div,this);l(this.content_div,this);m(this.container_div,this.drag_handle_class,".group",this)};p(P.prototype,q.prototype,x.prototype,{action_icons_def:[{name:"composite_icon",title:"Show composite track",css_class:"layers-stack",on_click_fn:function(af){af.show_composite_track()}}].concat(q.prototype.action_icons_def),build_container_div:function(){var af=$("<div/>").addClass("group").attr("id","group_"+this.id);if(this.container){this.container.content_div.append(af)}return af},build_header_div:function(){var af=$("<div/>").addClass("track-header");af.append($("<div/>").addClass(this.drag_handle_class));this.name_div=$("<div/>").addClass("track-name").text(this.name).appendTo(af);return af},hide_contents:function(){this.content_div.hide()},show_contents:function(){this.content_div.show();this.request_draw()},update_icons:function(){var ah,aj=true,ai=this.drawables[0].get_type(),af=0;for(var ag=0;ag<this.drawables.length;ag++){ah=this.drawables[ag];if(ah.get_type()!==ai){can_composite=false;break}if(ah instanceof d){af++}}if(aj||af===1){this.action_icons.composite_icon.show()}else{this.action_icons.composite_icon.hide();$(".tipsy").remove()}},show_composite_track:function(){var af=new h("Composite Track",this.view,this,this.drawables);this.add_drawable(af);af.request_draw()},add_drawable:function(af){x.prototype.add_drawable.call(this,af);this.update_icons()},remove_drawable:function(af){x.prototype.remove_drawable.call(this,af);this.update_icons()},from_dict:function(ai,af){var ah=x.prototype.from_dict.call(this,ai,af);for(var ag=0;ag<ah.drawables.length;ag++){ah.content_div.append(ah.drawables[ag].container_div)}return ah}});var ac=function(af,ai,ah,ag){x.call(this,"View");this.container=af;this.chrom=null;this.vis_id=ah;this.dbkey=ag;this.title=ai;this.label_tracks=[];this.tracks_to_be_redrawn=[];this.max_low=0;this.max_high=0;this.zoom_factor=3;this.min_separation=30;this.has_changes=false;this.load_chroms_deferred=null;this.init();this.canvas_manager=new ae(af.get(0).ownerDocument);this.reset()};p(ac.prototype,x.prototype,{init:function(){var ah=this.container,af=this;this.top_container=$("<div/>").addClass("top-container").appendTo(ah);this.browser_content_div=$("<div/>").addClass("content").css("position","relative").appendTo(ah);this.bottom_container=$("<div/>").addClass("bottom-container").appendTo(ah);this.top_labeltrack=$("<div/>").addClass("top-labeltrack").appendTo(this.top_container);this.viewport_container=$("<div/>").addClass("viewport-container").attr("id","viewport-container").appendTo(this.browser_content_div);this.content_div=this.viewport_container;l(this.viewport_container,af);this.intro_div=$("<div/>").addClass("intro").appendTo(this.viewport_container).hide();var ai=$("<div/>").text("Add Datasets to Visualization").addClass("action-button").appendTo(this.intro_div).click(function(){add_tracks()});this.nav_labeltrack=$("<div/>").addClass("nav-labeltrack").appendTo(this.bottom_container);this.nav_container=$("<div/>").addClass("nav-container").prependTo(this.top_container);this.nav=$("<div/>").addClass("nav").appendTo(this.nav_container);this.overview=$("<div/>").addClass("overview").appendTo(this.bottom_container);this.overview_viewport=$("<div/>").addClass("overview-viewport").appendTo(this.overview);this.overview_close=$("<a/>").attr("href","javascript:void(0);").attr("title","Close overview").addClass("icon-button overview-close tooltip").hide().appendTo(this.overview_viewport);this.overview_highlight=$("<div/>").addClass("overview-highlight").hide().appendTo(this.overview_viewport);this.overview_box_background=$("<div/>").addClass("overview-boxback").appendTo(this.overview_viewport);this.overview_box=$("<div/>").addClass("overview-box").appendTo(this.overview_viewport);this.default_overview_height=this.overview_box.height();this.nav_controls=$("<div/>").addClass("nav-controls").appendTo(this.nav);this.chrom_select=$("<select/>").attr({name:"chrom"}).css("width","15em").addClass("no-autocomplete").append("<option value=''>Loading</option>").appendTo(this.nav_controls);var ag=function(aj){if(aj.type==="focusout"||(aj.keyCode||aj.which)===13||(aj.keyCode||aj.which)===27){if((aj.keyCode||aj.which)!==27){af.go_to($(this).val())}$(this).hide();$(this).val("");af.location_span.show();af.chrom_select.show()}};this.nav_input=$("<input/>").addClass("nav-input").hide().bind("keyup focusout",ag).appendTo(this.nav_controls);this.location_span=$("<span/>").addClass("location").attr("original-title","Click to change location").tipsy({gravity:"n"}).appendTo(this.nav_controls);this.location_span.click(function(){af.location_span.hide();af.chrom_select.hide();af.nav_input.val(af.chrom+":"+af.low+"-"+af.high);af.nav_input.css("display","inline-block");af.nav_input.select();af.nav_input.focus()});if(this.vis_id!==undefined){this.hidden_input=$("<input/>").attr("type","hidden").val(this.vis_id).appendTo(this.nav_controls)}this.zo_link=$("<a/>").attr("id","zoom-out").attr("title","Zoom out").tipsy({gravity:"n"}).click(function(){af.zoom_out();af.request_redraw()}).appendTo(this.nav_controls);this.zi_link=$("<a/>").attr("id","zoom-in").attr("title","Zoom in").tipsy({gravity:"n"}).click(function(){af.zoom_in();af.request_redraw()}).appendTo(this.nav_controls);this.load_chroms_deferred=this.load_chroms({low:0});this.chrom_select.bind("change",function(){af.change_chrom(af.chrom_select.val())});this.browser_content_div.click(function(aj){$(this).find("input").trigger("blur")});this.browser_content_div.bind("dblclick",function(aj){af.zoom_in(aj.pageX,this.viewport_container)});this.overview_box.bind("dragstart",function(aj,ak){this.current_x=ak.offsetX}).bind("drag",function(aj,al){var am=al.offsetX-this.current_x;this.current_x=al.offsetX;var ak=Math.round(am/af.viewport_container.width()*(af.max_high-af.max_low));af.move_delta(-ak)});this.overview_close.click(function(){af.reset_overview()});this.viewport_container.bind("draginit",function(aj,ak){if(aj.clientX>af.viewport_container.width()-16){return false}}).bind("dragstart",function(aj,ak){ak.original_low=af.low;ak.current_height=aj.clientY;ak.current_x=ak.offsetX}).bind("drag",function(al,an){var aj=$(this);var ao=an.offsetX-an.current_x;var ak=aj.scrollTop()-(al.clientY-an.current_height);aj.scrollTop(ak);an.current_height=al.clientY;an.current_x=an.offsetX;var am=Math.round(ao/af.viewport_container.width()*(af.high-af.low));af.move_delta(am)}).bind("mousewheel",function(al,an,ak,aj){if(ak){ak*=50;var am=Math.round(-ak/af.viewport_container.width()*(af.high-af.low));af.move_delta(am)}});this.top_labeltrack.bind("dragstart",function(aj,ak){return $("<div />").css({height:af.browser_content_div.height()+af.top_labeltrack.height()+af.nav_labeltrack.height()+1,top:"0px",position:"absolute","background-color":"#ccf",opacity:0.5,"z-index":1000}).appendTo($(this))}).bind("drag",function(an,ao){$(ao.proxy).css({left:Math.min(an.pageX,ao.startX),width:Math.abs(an.pageX-ao.startX)});var ak=Math.min(an.pageX,ao.startX)-af.container.offset().left,aj=Math.max(an.pageX,ao.startX)-af.container.offset().left,am=(af.high-af.low),al=af.viewport_container.width();af.update_location(Math.round(ak/al*am)+af.low,Math.round(aj/al*am)+af.low)}).bind("dragend",function(ao,ap){var ak=Math.min(ao.pageX,ap.startX),aj=Math.max(ao.pageX,ap.startX),am=(af.high-af.low),al=af.viewport_container.width(),an=af.low;af.low=Math.round(ak/al*am)+an;af.high=Math.round(aj/al*am)+an;$(ap.proxy).remove();af.request_redraw()});this.add_label_track(new ab(this,{content_div:this.top_labeltrack}));this.add_label_track(new ab(this,{content_div:this.nav_labeltrack}));$(window).bind("resize",function(){af.resize_window()});$(document).bind("redraw",function(){af.redraw()});this.reset();$(window).trigger("resize")},update_intro_div:function(){if(this.drawables.length===0){this.intro_div.show()}else{this.intro_div.hide()}},update_location:function(af,ag){this.location_span.text(commatize(af)+" - "+commatize(ag));this.nav_input.val(this.chrom+":"+commatize(af)+"-"+commatize(ag))},load_chroms:function(ah){ah.num=v;ah.dbkey=this.dbkey;var af=this,ag=$.Deferred();$.ajax({url:chrom_url,data:ah,dataType:"json",success:function(aj){if(aj.chrom_info.length===0){alert("Invalid chromosome: "+ah.chrom);return}if(aj.reference){af.add_label_track(new z(af))}af.chrom_data=aj.chrom_info;var am='<option value="">Select Chrom/Contig</option>';for(var al=0,ai=af.chrom_data.length;al<ai;al++){var ak=af.chrom_data[al].chrom;am+='<option value="'+ak+'">'+ak+"</option>"}if(aj.prev_chroms){am+='<option value="previous">Previous '+v+"</option>"}if(aj.next_chroms){am+='<option value="next">Next '+v+"</option>"}af.chrom_select.html(am);af.chrom_start_index=aj.start_index;ag.resolve(aj)},error:function(){alert("Could not load chroms for this dbkey:",af.dbkey)}});return ag},change_chrom:function(ak,ag,am){if(!ak||ak==="None"){return}var ah=this;if(ak==="previous"){ah.load_chroms({low:this.chrom_start_index-v});return}if(ak==="next"){ah.load_chroms({low:this.chrom_start_index+v});return}var al=$.grep(ah.chrom_data,function(an,ao){return an.chrom===ak})[0];if(al===undefined){ah.load_chroms({chrom:ak},function(){ah.change_chrom(ak,ag,am)});return}else{if(ak!==ah.chrom){ah.chrom=ak;ah.chrom_select.val(ah.chrom);ah.max_high=al.len-1;ah.reset();ah.request_redraw(true);for(var aj=0,af=ah.drawables.length;aj<af;aj++){var ai=ah.drawables[aj];if(ai.init){ai.init()}}}if(ag!==undefined&&am!==undefined){ah.low=Math.max(ag,0);ah.high=Math.min(am,ah.max_high)}ah.reset_overview();ah.request_redraw()}},go_to:function(aj){aj=aj.replace(/ |,/g,"");var an=this,af,ai,ag=aj.split(":"),al=ag[0],am=ag[1];if(am!==undefined){try{var ak=am.split("-");af=parseInt(ak[0],10);ai=parseInt(ak[1],10)}catch(ah){return false}}an.change_chrom(al,af,ai)},move_fraction:function(ah){var af=this;var ag=af.high-af.low;this.move_delta(ah*ag)},move_delta:function(ah){var af=this;var ag=af.high-af.low;if(af.low-ah<af.max_low){af.low=af.max_low;af.high=af.max_low+ag}else{if(af.high-ah>af.max_high){af.high=af.max_high;af.low=af.max_high-ag}else{af.high-=ah;af.low-=ah}}af.request_redraw()},add_drawable:function(af){x.prototype.add_drawable.call(this,af);af.init();this.has_changes=true;this.update_intro_div()},add_label_track:function(af){af.view=this;af.init();this.label_tracks.push(af)},remove_drawable:function(ah,ag){x.prototype.remove_drawable.call(this,ah);if(ag){var af=this;ah.container_div.hide(0,function(){$(this).remove();af.update_intro_div()});this.has_changes=true}},reset:function(){this.low=this.max_low;this.high=this.max_high;this.viewport_container.find(".yaxislabel").remove()},request_redraw:function(an,af,am,ag){var al=this,aj=(ag?[ag]:al.drawables),ah;var ag;for(var ak=0;ak<aj.length;ak++){ag=aj[ak];ah=-1;for(var ai=0;ai<al.tracks_to_be_redrawn.length;ai++){if(al.tracks_to_be_redrawn[ai][0]===ag){ah=ai;break}}if(ah<0){al.tracks_to_be_redrawn.push([ag,af,am])}else{al.tracks_to_be_redrawn[ak][1]=af;al.tracks_to_be_redrawn[ak][2]=am}}requestAnimationFrame(function(){al._redraw(an)})},_redraw:function(ap){var am=this.low,ai=this.high;if(am<this.max_low){am=this.max_low}if(ai>this.max_high){ai=this.max_high}var ao=this.high-this.low;if(this.high!==0&&ao<this.min_separation){ai=am+this.min_separation}this.low=Math.floor(am);this.high=Math.ceil(ai);this.resolution=Math.pow(A,Math.ceil(Math.log((this.high-this.low)/Q)/Math.log(A)));this.zoom_res=Math.pow(u,Math.max(0,Math.ceil(Math.log(this.resolution,u)/Math.log(u))));var af=(this.low/(this.max_high-this.max_low)*this.overview_viewport.width())||0;var al=((this.high-this.low)/(this.max_high-this.max_low)*this.overview_viewport.width())||0;var aq=13;this.overview_box.css({left:af,width:Math.max(aq,al)}).show();if(al<aq){this.overview_box.css("left",af-(aq-al)/2)}if(this.overview_highlight){this.overview_highlight.css({left:af,width:al})}this.update_location(this.low,this.high);if(!ap){var ah,ag,an;for(var aj=0,ak=this.tracks_to_be_redrawn.length;aj<ak;aj++){ah=this.tracks_to_be_redrawn[aj][0];ag=this.tracks_to_be_redrawn[aj][1];an=this.tracks_to_be_redrawn[aj][2];if(ah){ah._draw(ag,an)}}this.tracks_to_be_redrawn=[];for(aj=0,ak=this.label_tracks.length;aj<ak;aj++){this.label_tracks[aj]._draw()}}},zoom_in:function(ag,ah){if(this.max_high===0||this.high-this.low<this.min_separation){return}var ai=this.high-this.low,aj=ai/2+this.low,af=(ai/this.zoom_factor)/2;if(ag){aj=ag/this.viewport_container.width()*(this.high-this.low)+this.low}this.low=Math.round(aj-af);this.high=Math.round(aj+af);this.request_redraw()},zoom_out:function(){if(this.max_high===0){return}var ag=this.high-this.low,ah=ag/2+this.low,af=(ag*this.zoom_factor)/2;this.low=Math.round(ah-af);this.high=Math.round(ah+af);this.request_redraw()},resize_window:function(){this.viewport_container.height(this.container.height()-this.top_container.height()-this.bottom_container.height());this.request_redraw()},set_overview:function(ah){if(this.overview_drawable){if(this.overview_drawable.dataset_id===ah.dataset_id){return}this.overview_viewport.find(".track").remove()}var ag=ah.copy({content_div:this.overview_viewport}),af=this;ag.header_div.hide();ag.is_overview=true;af.overview_drawable=ag;this.overview_drawable.postdraw_actions=function(){af.overview_highlight.show().height(af.overview_drawable.content_div.height());af.overview_viewport.height(af.overview_drawable.content_div.height()+af.overview_box.outerHeight());af.overview_close.show();af.resize_window()};af.overview_drawable.request_draw();af.has_changes=true},reset_overview:function(){$(".tipsy").remove();this.overview_viewport.find(".track-tile").remove();this.overview_viewport.height(this.default_overview_height);this.overview_box.height(this.default_overview_height);this.overview_close.hide();this.overview_highlight.hide();view.resize_window();view.overview_drawable=null}});var r=function(ah,al){this.track=ah;this.name=al.name;this.params=[];var at=al.params;for(var ai=0;ai<at.length;ai++){var an=at[ai],ag=an.name,ar=an.label,aj=unescape(an.html),au=an.value,ap=an.type;if(ap==="number"){this.params[this.params.length]=new f(ag,ar,aj,au,an.min,an.max)}else{if(ap=="select"){this.params[this.params.length]=new N(ag,ar,aj,au)}else{console.log("WARNING: unrecognized tool parameter type:",ag,ap)}}}this.parent_div=$("<div/>").addClass("dynamic-tool").hide();this.parent_div.bind("drag",function(aw){aw.stopPropagation()}).click(function(aw){aw.stopPropagation()}).bind("dblclick",function(aw){aw.stopPropagation()});var aq=$("<div class='tool-name'>").appendTo(this.parent_div).text(this.name);var ao=this.params;var am=this;$.each(this.params,function(ax,aA){var az=$("<div>").addClass("param-row").appendTo(am.parent_div);var aw=$("<div>").addClass("param-label").text(aA.label).appendTo(az);var ay=$("<div/>").addClass("param-input").html(aA.html).appendTo(az);ay.find(":input").val(aA.value);$("<div style='clear: both;'/>").appendTo(az)});this.parent_div.find("input").click(function(){$(this).select()});var av=$("<div>").addClass("param-row").appendTo(this.parent_div);var ak=$("<input type='submit'>").attr("value","Run on complete dataset").appendTo(av);var af=$("<input type='submit'>").attr("value","Run on visible region").css("margin-left","3em").appendTo(av);var am=this;af.click(function(){am.run_on_region()});ak.click(function(){am.run_on_dataset()})};p(r.prototype,{get_param_values_dict:function(){var af={};this.parent_div.find(":input").each(function(){var ag=$(this).attr("name"),ah=$(this).val();af[ag]=JSON.stringify(ah)});return af},get_param_values:function(){var ag=[];var af={};this.parent_div.find(":input").each(function(){var ah=$(this).attr("name"),ai=$(this).val();if(ah){ag[ag.length]=ai}});return ag},run_on_dataset:function(){var af=this;af.run({dataset_id:this.track.original_dataset_id,tool_id:af.name},null,function(ag){show_modal(af.name+" is Running",af.name+" is running on the complete dataset. Tool outputs are in dataset's history.",{Close:hide_modal})})},run_on_region:function(){var ag={dataset_id:this.track.original_dataset_id,chrom:this.track.view.chrom,low:this.track.view.low,high:this.track.view.high,tool_id:this.name},ak=this.track,ah=ag.tool_id+ak.tool_region_and_parameters_str(ag.chrom,ag.low,ag.high),af;if(ak.container===view){var aj=new P(this.name,this.track.view);var ai=ak.container.replace_drawable(ak,aj,false);aj.container_div.insertBefore(ak.view.content_div.children()[ai]);aj.add_drawable(ak);ak.container_div.appendTo(aj.content_div);af=aj}else{af=ak.container}var al=new ak.constructor(ah,view,af,"hda");al.init_for_tool_data();al.change_mode(ak.mode);af.add_drawable(al);al.content_div.text("Starting job.");this.run(ag,al,function(am){al.dataset_id=am.dataset_id;al.content_div.text("Running job.");al.init()})},run:function(ag,ah,ai){$.extend(ag,this.get_param_values_dict());var af=function(){$.getJSON(rerun_tool_url,ag,function(aj){if(aj==="no converter"){ah.container_div.addClass("error");ah.content_div.text(J)}else{if(aj.error){ah.container_div.addClass("error");ah.content_div.text(w+aj.message)}else{if(aj==="pending"){ah.container_div.addClass("pending");ah.content_div.text("Converting input data so that it can be used quickly with tool.");setTimeout(af,2000)}else{ai(aj)}}}})};af()}});var N=function(ag,af,ah,ai){this.name=ag;this.label=af;this.html=ah;this.value=ai};var f=function(ah,ag,aj,ak,ai,af){N.call(this,ah,ag,aj,ak);this.min=ai;this.max=af};var g=function(ag,af,ah,ai){this.name=ag;this.index=af;this.tool_id=ah;this.tool_exp_name=ai};var V=function(ag,af,ah,ai){g.call(this,ag,af,ah,ai);this.low=-Number.MAX_VALUE;this.high=Number.MAX_VALUE;this.min=Number.MAX_VALUE;this.max=-Number.MAX_VALUE;this.container=null;this.slider=null;this.slider_label=null};p(V.prototype,{applies_to:function(af){if(af.length>this.index){return true}return false},keep:function(af){if(!this.applies_to(af)){return true}var ag=af[this.index];return(isNaN(ag)||(ag>=this.low&&ag<=this.high))},update_attrs:function(ag){var af=false;if(!this.applies_to(ag)){return af}if(ag[this.index]<this.min){this.min=Math.floor(ag[this.index]);af=true}if(ag[this.index]>this.max){this.max=Math.ceil(ag[this.index]);af=true}return af},update_ui_elt:function(){if(this.min!=this.max){this.container.show()}else{this.container.hide()}var ah=function(ak,ai){var aj=ai-ak;return(aj<=2?0.01:1)};var ag=this.slider.slider("option","min"),af=this.slider.slider("option","max");if(this.min<ag||this.max>af){this.slider.slider("option","min",this.min);this.slider.slider("option","max",this.max);this.slider.slider("option","step",ah(this.min,this.max));this.slider.slider("option","values",[this.min,this.max])}}});var aa=function(ah,aq){this.track=ah;this.filters=[];for(var al=0;al<aq.length;al++){var af=aq[al],ag=af.name,ap=af.type,an=af.index,at=af.tool_id,ai=af.tool_exp_name;if(ap==="int"||ap==="float"){this.filters[al]=new V(ag,an,at,ai)}else{console.log("ERROR: unsupported filter: ",ag,ap)}}var ao=function(au,av,aw){au.click(function(){var ax=av.text();max=parseFloat(aw.slider("option","max")),input_size=(max<=1?4:max<=1000000?max.toString().length:6),multi_value=false;if(aw.slider("option","values")){input_size=2*input_size+1;multi_value=true}av.text("");$("<input type='text'/>").attr("size",input_size).attr("maxlength",input_size).attr("value",ax).appendTo(av).focus().select().click(function(ay){ay.stopPropagation()}).blur(function(){$(this).remove();av.text(ax)}).keyup(function(aC){if(aC.keyCode===27){$(this).trigger("blur")}else{if(aC.keyCode===13){var aA=aw.slider("option","min"),ay=aw.slider("option","max"),aB=function(aD){return(isNaN(aD)||aD>ay||aD<aA)},az=$(this).val();if(!multi_value){az=parseFloat(az);if(aB(az)){alert("Parameter value must be in the range ["+aA+"-"+ay+"]");return $(this)}}else{az=az.split("-");az=[parseFloat(az[0]),parseFloat(az[1])];if(aB(az[0])||aB(az[1])){alert("Parameter value must be in the range ["+aA+"-"+ay+"]");return $(this)}}aw.slider((multi_value?"values":"value"),az)}}})})};this.parent_div=$("<div/>").addClass("filters").hide();this.parent_div.bind("drag",function(au){au.stopPropagation()}).click(function(au){au.stopPropagation()}).bind("dblclick",function(au){au.stopPropagation()}).bind("keydown",function(au){au.stopPropagation()});var aj=this;$.each(this.filters,function(aA,av){av.container=$("<div/>").addClass("filter-row slider-row").appendTo(aj.parent_div);var au=$("<div/>").addClass("elt-label").appendTo(av.container);var aD=$("<span/>").addClass("slider-name").text(av.name+" ").appendTo(au);var aw=$("<span/>");var ax=$("<span/>").addClass("slider-value").appendTo(au).append("[").append(aw).append("]");var aC=$("<div/>").addClass("slider").appendTo(av.container);av.control_element=$("<div/>").attr("id",av.name+"-filter-control").appendTo(aC);var ay=[0,0];av.control_element.slider({range:true,min:Number.MAX_VALUE,max:-Number.MIN_VALUE,values:[0,0],slide:function(aG,aH){var aF=aH.values;aw.text(aF[0]+"-"+aF[1]);av.low=aF[0];av.high=aF[1];aj.track.request_draw(true,true)},change:function(aF,aG){av.control_element.slider("option","slide").call(av.control_element,aF,aG)}});av.slider=av.control_element;av.slider_label=aw;ao(ax,aw,av.control_element);var aE=$("<div/>").addClass("display-controls").appendTo(av.container),az=create_action_icon("Use filter for data transparency","layer-transparent",function(){if(aj.alpha_filter!==av){aj.alpha_filter=av;$(".layer-transparent").removeClass("active").hide();az.addClass("active").show()}else{aj.alpha_filter=null;az.removeClass("active")}aj.track.request_draw(true,true)}).appendTo(aE).hide(),aB=create_action_icon("Use filter for data height","arrow-resize-090",function(){if(aj.height_filter!==av){aj.height_filter=av;$(".arrow-resize-090").removeClass("active").hide();aB.addClass("active").show()}else{aj.height_filter=null;aB.removeClass("active")}aj.track.request_draw(true,true)}).appendTo(aE).hide();av.container.hover(function(){az.show();aB.show()},function(){if(aj.alpha_filter!==av){az.hide()}if(aj.height_filter!==av){aB.hide()}});$("<div style='clear: both;'/>").appendTo(av.container)});if(this.filters.length!==0){var ar=$("<div/>").addClass("param-row").appendTo(this.parent_div);var am=$("<input type='submit'/>").attr("value","Run on complete dataset").appendTo(ar);var ak=this;am.click(function(){ak.run_on_dataset()})}};p(aa.prototype,{reset_filters:function(){for(var af=0;af<this.filters.length;af++){filter=this.filters[af];filter.slider.slider("option","values",[filter.min,filter.max])}this.alpha_filter=null;this.height_filter=null},run_on_dataset:function(){var an=function(ar,ap,aq){if(!(ap in ar)){ar[ap]=aq}return ar[ap]};var ah={},af,ag,ai;for(var aj=0;aj<this.filters.length;aj++){af=this.filters[aj];if(af.tool_id){if(af.min!=af.low){ag=an(ah,af.tool_id,[]);ag[ag.length]=af.tool_exp_name+" >= "+af.low}if(af.max!=af.high){ag=an(ah,af.tool_id,[]);ag[ag.length]=af.tool_exp_name+" <= "+af.high}}}var al=[];for(var ao in ah){al[al.length]=[ao,ah[ao]]}var am=al.length;(function ak(aw,at){var aq=at[0],ar=aq[0],av=aq[1],au="("+av.join(") and (")+")",ap={cond:au,input:aw,target_dataset_id:aw,tool_id:ar},at=at.slice(1);$.getJSON(run_tool_url,ap,function(ax){if(ax.error){show_modal("Filter Dataset","Error running tool "+ar,{Close:hide_modal})}else{if(at.length===0){show_modal("Filtering Dataset","Filter(s) are running on the complete dataset. Outputs are in dataset's history.",{Close:hide_modal})}else{ak(ax.dataset_id,at)}}})})(this.track.dataset_id,al)}});var B=function(af,ag){L.Scaler.call(this,ag);this.filter=af};B.prototype.gen_val=function(af){if(this.filter.high===Number.MAX_VALUE||this.filter.low===-Number.MAX_VALUE||this.filter.low===this.filter.high){return this.default_val}return((parseFloat(af[this.filter.index])-this.filter.low)/(this.filter.high-this.filter.low))};var E=function(af){this.track=af.track;this.params=af.params;this.values={};this.restore_values((af.saved_values?af.saved_values:{}));this.onchange=af.onchange};p(E.prototype,{restore_values:function(af){var ag=this;$.each(this.params,function(ah,ai){if(af[ai.key]!==undefined){ag.values[ai.key]=af[ai.key]}else{ag.values[ai.key]=ai.default_value}})},build_form:function(){var ai=this;var af=$("<div />");var ah;function ag(al,aj){for(var an=0;an<al.length;an++){ah=al[an];if(ah.hidden){continue}var ak="param_"+an;var ar=ai.values[ah.key];var at=$("<div class='form-row' />").appendTo(aj);at.append($("<label />").attr("for",ak).text(ah.label+":"));if(ah.type==="bool"){at.append($('<input type="checkbox" />').attr("id",ak).attr("name",ak).attr("checked",ar))}else{if(ah.type==="text"){at.append($('<input type="text"/>').attr("id",ak).val(ar).click(function(){$(this).select()}))}else{if(ah.type=="select"){var ap=$("<select />").attr("id",ak);for(var am=0;am<ah.options.length;am++){$("<option/>").text(ah.options[am].label).attr("value",ah.options[am].value).appendTo(ap)}ap.val(ar);at.append(ap)}else{if(ah.type==="color"){var ao=$("<input />").attr("id",ak).attr("name",ak).val(ar);var aq=$("<div class='tipsy tipsy-west' style='position: absolute;' />").hide();(function(au,av){var ax=$("<div style='background-color: black; padding: 10px;'></div>").appendTo(av);var aw=$("<div/>").appendTo(ax).farbtastic({width:100,height:100,callback:au,color:ar});$("<div />").append(au).append(av).appendTo(at).bind("click",function(ay){$(".tipsy").hide();av.css({left:$(this).position().left+$(au).width()+5,top:$(this).position().top-($(av).height()/2)+($(au).height()/2)}).show();$(document).bind("click.color-picker",function(){av.hide();$(document).unbind("click.color-picker")});ay.stopPropagation()})})(ao,aq)}else{at.append($("<input />").attr("id",ak).attr("name",ak).val(ar))}}}}if(ah.help){at.append($("<div class='help'/>").text(ah.help))}}}ag(this.params,af);return af},update_from_form:function(af){var ah=this;var ag=false;$.each(this.params,function(ai,ak){if(!ak.hidden){var al="param_"+ai;var aj=af.find("#"+al).val();if(ak.type==="float"){aj=parseFloat(aj)}else{if(ak.type==="int"){aj=parseInt(aj)}else{if(ak.type==="bool"){aj=af.find("#"+al).is(":checked")}}}if(aj!==ah.values[ak.key]){ah.values[ak.key]=aj;ag=true}}});if(ag){this.onchange()}}});var b=function(af,ai,ah,ag,aj){this.track=af;this.index=ai;this.low=ai*Q*ah;this.high=(ai+1)*Q*ah;this.resolution=ah;this.html_elt=$("<div class='track-tile'/>").append(ag);this.data=aj;this.stale=false};b.prototype.predisplay_actions=function(){};var k=function(af,ai,ah,ag,aj,ak){b.call(this,af,ai,ah,ag,aj);this.max_val=ak};p(k.prototype,b.prototype);var O=function(ai,an,aj,ah,al,at,am,au,ag,aq){b.call(this,ai,an,aj,ah,al);this.mode=am;this.feature_mapper=aq;this.has_icons=false;if(au||!ag){this.has_icons=true;var ao=this;ah=this.html_elt.children()[0],message_div=$("<div/>").addClass("tile-message").css({height:C-1,width:ah.width}).prependTo(this.html_elt);if(!ag){var ap=$("<a href='javascript:void(0);'/>").addClass("icon exclamation").attr("title","To minimize track height, not all features in this region are displayed. Click to display more.").tipsy({gravity:"s"}).appendTo(message_div).click(function(){$(".tipsy").hide();ao.track.slotters[at].max_rows*=2;ao.track.request_draw(true)})}if(au){var ar=al.length,ak=$("<a href='javascript:void(0);'/>").addClass("icon more-down").attr("title","For speed, only the first "+ar+" features in this region were obtained from server. Click to get more data including depth").tipsy({gravity:"s"}).appendTo(message_div),af=$("<a href='javascript:void(0);'/>").addClass("icon more-across").attr("title","For speed, only the first "+ar+" features in this region were obtained from server. Click to get more data excluding depth").tipsy({gravity:"s"}).appendTo(message_div);ak.click(function(){ao.stale=true;ai.data_manager.get_more_data(ao.low,ao.high,ai.mode,ao.resolution,{},ai.data_manager.DEEP_DATA_REQ);$(".tipsy").hide();ai.request_draw()}).dblclick(function(av){av.stopPropagation()});af.click(function(){ao.stale=true;ai.data_manager.get_more_data(ao.low,ao.high,ai.mode,ao.resolution,{},ai.data_manager.BROAD_DATA_REQ);$(".tipsy").hide();ai.request_draw()}).dblclick(function(av){av.stopPropagation()})}}};p(O.prototype,b.prototype);O.prototype.predisplay_actions=function(){var ag=this,af={};if(ag.mode!=="Pack"){return}$(this.html_elt).hover(function(){this.hovered=true;$(this).mousemove()},function(){this.hovered=false;$(this).siblings(".feature-popup").remove()}).mousemove(function(ar){if(!this.hovered){return}var am=$(this).offset(),aq=ar.pageX-am.left,ap=ar.pageY-am.top,aw=ag.feature_mapper.get_feature_data(aq,ap),an=(aw?aw[0]:null);$(this).siblings(".feature-popup").each(function(){if(!an||$(this).attr("id")!==an.toString()){$(this).remove()}});if(aw){var ai=af[an];if(!ai){var an=aw[0],at={name:aw[3],start:aw[1],end:aw[2],strand:aw[4]},al=ag.track.filters_manager.filters,ak;for(var ao=0;ao<al.length;ao++){ak=al[ao];at[ak.name]=aw[ak.index]}var ai=$("<div/>").attr("id",an).addClass("feature-popup"),ax=$("<table/>"),av,au,ay;for(av in at){au=at[av];ay=$("<tr/>").appendTo(ax);$("<th/>").appendTo(ay).text(av);$("<td/>").attr("align","left").appendTo(ay).text(typeof(au)=="number"?Z(au,2):au)}ai.append($("<div class='feature-popup-inner'>").append(ax));af[an]=ai}ai.appendTo($(ag.html_elt).parent());var aj=aq+parseInt(ag.html_elt.css("left"))-ai.width()/2,ah=ap+parseInt(ag.html_elt.css("top"))+7;ai.css("left",aj+"px").css("top",ah+"px")}else{if(!ar.isPropagationStopped()){ar.stopPropagation();$(this).siblings().each(function(){$(this).trigger(ar)})}}}).mouseleave(function(){$(this).siblings(".feature-popup").remove()})};var i=function(ai,ag,af,ah,ak,aj,al){q.call(this,ai,ag,af,{},"draghandle");this.data_url=(aj?aj:default_data_url);this.data_url_extra_params={};this.data_query_wait=(al?al:K);this.dataset_check_url=converted_datasets_state_url;this.data_manager=(ak?ak:new S(H,this));this.content_div=$("<div class='track-content'>").appendTo(this.container_div);if(this.container){this.container.content_div.append(this.container_div)}};p(i.prototype,q.prototype,{action_icons_def:[{name:"mode_icon",title:"Set display mode",css_class:"chevron-expand",on_click_fn:function(){}},q.prototype.action_icons_def[0],{name:"overview_icon",title:"Set as overview",css_class:"overview-icon",on_click_fn:function(af){af.view.set_overview(af)}},q.prototype.action_icons_def[1],{name:"filters_icon",title:"Filters",css_class:"filters-icon",on_click_fn:function(af){af.filters_div.toggle();af.filters_manager.reset_filters()}},{name:"tools_icon",title:"Tools",css_class:"tools-icon",on_click_fn:function(af){af.dynamic_tool_div.toggle();if(af.dynamic_tool_div.is(":visible")){af.set_name(af.name+af.tool_region_and_parameters_str())}else{af.revert_name()}$(".tipsy").remove()}},q.prototype.action_icons_def[2]],can_draw:function(){if(this.dataset_id&&q.prototype.can_draw.call(this)){return true}return false},build_container_div:function(){return $("<div/>").addClass("track").attr("id","track_"+this.id).css("position","relative")},build_header_div:function(){var af=$("<div class='track-header'/>");if(this.view.editor){this.drag_div=$("<div/>").addClass(this.drag_handle_class).appendTo(af)}this.name_div=$("<div/>").addClass("track-name").appendTo(af).text(this.name).attr("id",this.name.replace(/\s+/g,"-").replace(/[^a-zA-Z0-9\-]/g,"").toLowerCase());return af},build_action_icons:function(){q.prototype.build_action_icons.call(this,this.action_icons_def);var ag=this;if(ag.display_modes!==undefined){var ak=(ag.config&&ag.config.values.mode?ag.config.values.mode:ag.display_modes[0]);ag.mode=ak;this.action_icons.mode_icon.attr("title","Set display mode (now: "+ag.mode+")");var ai={};for(var ah=0,af=ag.display_modes.length;ah<af;ah++){var aj=ag.display_modes[ah];ai[aj]=function(al){return function(){ag.change_mode(al);ag.icons_div.show();ag.container_div.mouseleave(function(){ag.icons_div.hide()})}}(aj)}make_popupmenu(this.action_icons.mode_icon,ai)}},hide_contents:function(){this.content_div.children().remove();this.content_div.hide();this.container_div.find(".yaxislabel, .track-resize").hide()},show_contents:function(){this.content_div.show();this.container_div.find(".yaxislabel, .track-resize").show();this.request_draw()},get_type:function(){if(this instanceof ab){return"LabelTrack"}else{if(this instanceof z){return"ReferenceTrack"}else{if(this instanceof j){return"LineTrack"}else{if(this instanceof W){return"ReadTrack"}else{if(this instanceof U){return"VcfTrack"}else{if(this instanceof h){return"CompositeTrack"}else{if(this instanceof d){return"FeatureTrack"}}}}}}}return""},init:function(){var af=this;af.enabled=false;af.tile_cache.clear();af.data_manager.clear();af.content_div.css("height","auto");af.content_div.children().remove();af.container_div.removeClass("nodata error pending");if(!af.dataset_id){return}$.getJSON(converted_datasets_state_url,{hda_ldda:af.hda_ldda,dataset_id:af.dataset_id,chrom:af.view.chrom},function(ag){if(!ag||ag==="error"||ag.kind==="error"){af.container_div.addClass("error");af.content_div.text(o);if(ag.message){var ah=$(" <a href='javascript:void(0);'></a>").text("View error").click(function(){show_modal("Trackster Error","<pre>"+ag.message+"</pre>",{Close:hide_modal})});af.content_div.append(ah)}}else{if(ag==="no converter"){af.container_div.addClass("error");af.content_div.text(J)}else{if(ag==="no data"||(ag.data!==undefined&&(ag.data===null||ag.data.length===0))){af.container_div.addClass("nodata");af.content_div.text(D)}else{if(ag==="pending"){af.container_div.addClass("pending");af.content_div.text(t);setTimeout(function(){af.init()},af.data_query_wait)}else{if(ag.status==="data"){if(ag.valid_chroms){af.valid_chroms=ag.valid_chroms;af.update_icons()}af.content_div.text(Y);if(af.view.chrom){af.content_div.text("");af.content_div.css("height",af.height_px+"px");af.enabled=true;$.when(af.predraw_init()).done(function(){af.container_div.removeClass("nodata error pending");af.request_draw()})}}}}}}});this.update_icons()},predraw_init:function(){}});var M=function(aj,ah,ag,ai,am,al,ak){i.call(this,aj,ah,ag,ai,ak);var af=this,ah=af.view;m(af.container_div,af.drag_handle_class,".group",af);this.filters_manager=new aa(this,(am!==undefined?am:{}));this.filters_available=false;this.filters_visible=false;this.tool=(al!==undefined&&obj_length(al)>0?new r(this,al):undefined);this.tile_cache=new c(R);if(this.header_div){if(this.filters_manager){this.filters_div=this.filters_manager.parent_div;this.header_div.after(this.filters_div)}if(this.tool){this.dynamic_tool_div=this.tool.parent_div;this.header_div.after(this.dynamic_tool_div)}}};p(M.prototype,q.prototype,i.prototype,{copy:function(af){var ag=new this.constructor(this.name,this.view,af,this.hda_ldda,this.dataset_id,this.prefs,this.filters,this.tool,this.data_manager);ag.change_mode(this.mode);ag.enabled=this.enabled;return ag},to_dict:function(){return{track_type:this.get_type(),name:this.name,hda_ldda:this.hda_ldda,dataset_id:this.dataset_id,prefs:this.prefs,mode:this.mode,}},from_dict:function(ah,ag){var af=new this.constructor(ah.name,view,ag,ah.hda_ldda,ah.dataset_id,ah.prefs,ah.filters,ah.tool);if(ah.mode){af.change_mode(ah.mode)}return af},change_mode:function(ag){var af=this;af.mode=ag;af.config.values.mode=ag;af.tile_cache.clear();af.request_draw();this.action_icons.mode_icon.attr("title","Set display mode (now: "+af.mode+")");return af},update_icons:function(){var af=this;if(af.filters_available){af.action_icons.filters_icon.show()}else{af.action_icons.filters_icon.hide()}if(af.tool){af.action_icons.tools_icon.show()}else{af.action_icons.tools_icon.hide()}},_gen_tile_cache_key:function(ag,ah,af){return ag+"_"+ah+"_"+af},request_draw:function(ag,af){this.view.request_redraw(false,ag,af,this)},_draw:function(ah,ar){if(!this.can_draw()){return}var ap=this.view.low,al=this.view.high,an=al-ap,ai=this.view.container.width(),av=ai/an,ak=this.view.resolution,au=this.content_div;if(this.is_overview){ap=this.view.max_low;al=this.view.max_high;ak=Math.pow(A,Math.ceil(Math.log((view.max_high-view.max_low)/Q)/Math.log(A)));av=ai/(view.max_high-view.max_low)}if(!ar){this.content_div.children().addClass("remove")}this.max_height=0;var ag=Math.floor(ap/ak/Q);var ao=true;var at=[];var af=0;var am=function(aw){return(aw&&"track" in aw)};while((ag*Q*ak)<al){var aq=this.draw_helper(ah,ai,ag,ak,au,av);if(am(aq)){at.push(aq)}else{ao=false}ag+=1;af++}if(!ar){this.content_div.children(".remove").remove()}var aj=this;if(ao){aj.postdraw_actions(at,ai,av,ar)}},postdraw_actions:function(ai,aj,al,af){var ah=this;var ak=false;for(var ag=0;ag<ai.length;ag++){if(ai[ag].has_icons){ak=true;break}}if(ak){for(var ag=0;ag<ai.length;ag++){tile=ai[ag];if(!tile.has_icons){tile.html_elt.css("padding-top",C)}}}},draw_helper:function(af,ar,ax,av,ak,al,at){var aq=this,aA=this._gen_tile_cache_key(ar,al,ax),ay=ax*Q*av,ag=ay+Q*av;if(!at){at={}}var az=(af?undefined:aq.tile_cache.get(aA));if(az){aq.show_tile(az,ak,al);return az}var ao=true;var aw=aq.data_manager.get_data(ay,ag,aq.mode,av,aq.data_url_extra_params);if(is_deferred(aw)){ao=false}var am;if(view.reference_track&&al>view.canvas_manager.char_width_px){am=view.reference_track.data_manager.get_data(ay,ag,aq.mode,av,view.reference_track.data_url_extra_params);if(is_deferred(am)){ao=false}}if(ao){p(aw,at.more_tile_data);var an=aq.mode;if(an==="Auto"){an=aq.get_mode(aw);aq.update_auto_mode(an)}var ah=aq.view.canvas_manager.new_canvas(),ai=aq._get_tile_bounds(ax,av),ay=ai[0],ag=ai[1],ar=Math.ceil((ag-ay)*al)+aq.left_offset,ap=aq.get_canvas_height(aw,an,al,ar);ah.width=ar;ah.height=ap;var au=ah.getContext("2d");au.translate(this.left_offset,0);var az=aq.draw_tile(aw,au,an,av,ax,al,am);if(az!==undefined){aq.tile_cache.set(aA,az);aq.show_tile(az,ak,al)}return az}var aj=$.Deferred();$.when(aw,am).then(function(){view.request_redraw(false,false,false,aq);aj.resolve()});return aj},get_canvas_height:function(af,ah,ai,ag){return this.height_px},draw_tile:function(af,ah,ak,aj,ag,al,ai){console.log("Warning: TiledTrack.draw_tile() not implemented.")},show_tile:function(ah,aj,ak){var ag=this,af=ah.html_elt;ah.predisplay_actions();var ai=(ah.low-(this.is_overview?this.view.max_low:this.view.low))*ak;if(this.left_offset){ai-=this.left_offset}af.css({position:"absolute",top:0,left:ai,height:""});if(af.hasClass("remove")){af.removeClass("remove")}else{aj.append(af)}ag.max_height=Math.max(ag.max_height,af.height());ag.content_div.css("height",ag.max_height+"px");aj.children().css("height",ag.max_height+"px")},_get_tile_bounds:function(af,ag){var ai=af*Q*ag,aj=Q*ag,ah=(ai+aj<=this.view.max_high?ai+aj:this.view.max_high);return[ai,ah]},tool_region_and_parameters_str:function(ah,af,ai){var ag=this,aj=(ah!==undefined&&af!==undefined&&ai!==undefined?ah+":"+af+"-"+ai:"all");return" - region=["+aj+"], parameters=["+ag.tool.get_param_values().join(", ")+"]"},data_and_mode_compatible:function(af,ag){return true},init_for_tool_data:function(){this.data_url=raw_data_url;this.data_query_wait=1000;this.dataset_check_url=dataset_state_url;this.predraw_init=function(){var ag=this;var af=function(){if(ag.data_manager.size()===0){setTimeout(af,300)}else{ag.data_url=default_data_url;ag.data_query_wait=K;ag.dataset_state_url=converted_datasets_state_url;$.getJSON(ag.dataset_state_url,{dataset_id:ag.dataset_id,hda_ldda:ag.hda_ldda},function(ah){})}};af()}}});var ab=function(ag,af){i.call(this,"label",ag,af,false,{});this.container_div.addClass("label-track")};p(ab.prototype,i.prototype,{build_header_div:function(){},init:function(){this.enabled=true},_draw:function(){var ah=this.view,ai=ah.high-ah.low,al=Math.floor(Math.pow(10,Math.floor(Math.log(ai)/Math.log(10)))),af=Math.floor(ah.low/al)*al,aj=this.view.container.width(),ag=$("<div style='position: relative; height: 1.3em;'></div>");while(af<ah.high){var ak=(af-ah.low)/ai*aj;ag.append($("<div class='label'>"+commatize(af)+"</div>").css({position:"absolute",left:ak-1}));af+=al}this.content_div.children(":first").remove();this.content_div.append(ag)}});var h=function(ai,ah,ag,af){this.display_modes=af[0].display_modes;M.call(this,ai,ah,ag);this.drawables=[];this.left_offset=0;if(af){var al=[],ak;for(var aj=0;aj<af.length;aj++){ak=af[aj];al.push(ak.dataset_id);this.drawables[aj]=ak.copy();if(ak.left_offset>this.left_offset){this.left_offset=ak.left_offset}}this.enabled=true}this.update_icons();this.obj_type="CompositeTrack"};p(h.prototype,M.prototype,{to_dict:x.prototype.to_dict,add_drawable:x.prototype.add_drawable,from_dict:function(al,af){var ak=new this.constructor(al.name,view,af,al.prefs,view.viewport_container,view);var ag,aj,ai;for(var ah=0;ah<al.drawables.length;ah++){ag=al.drawables[ah];aj=ag.obj_type;if(!aj){aj=ag.track_type}ai=addable_objects[aj].prototype.from_dict(ag);ak.add_drawable(ai)}return ak},change_mode:function(af){M.prototype.change_mode.call(this,af);for(var ag=0;ag<this.drawables.length;ag++){this.drawables[ag].change_mode(af)}},init:function(){this.enabled=true;this.request_draw()},update_icons:function(){this.action_icons.filters_icon.hide();this.action_icons.tools_icon.hide()},can_draw:q.prototype.can_draw,draw_helper:function(ag,av,aB,ay,am,ao,aw){var au=this,aF=this._gen_tile_cache_key(av,ao,aB),aC=aB*Q*ay,ah=aC+Q*ay;if(!aw){aw={}}var aE=(ag?undefined:au.tile_cache.get(aF));if(aE){au.show_tile(aE,am,ao);return aE}var an=[],au,ar=true,az,ap;for(var aA=0;aA<this.drawables.length;aA++){au=this.drawables[aA];az=au.data_manager.get_data(aC,ah,au.mode,ay,au.data_url_extra_params);if(is_deferred(az)){ar=false}an.push(az);ap=null;if(view.reference_track&&ao>view.canvas_manager.char_width_px){ap=view.reference_track.data_manager.get_data(aC,ah,au.mode,ay,view.reference_track.data_url_extra_params);if(is_deferred(ap)){ar=false}}an.push(ap)}if(ar){p(az,aw.more_tile_data);this.tile_predraw_init();var aj=au.view.canvas_manager.new_canvas(),ak=au._get_tile_bounds(aB,ay),aC=ak[0],ah=ak[1],aD=0,av=Math.ceil((ah-aC)*ao)+this.left_offset,at=0,ai=[];var af=0;for(var aA=0;aA<this.drawables.length;aA++,aD+=2){au=this.drawables[aA];az=an[aD];var aq=au.mode;if(aq==="Auto"){aq=au.get_mode(az);au.update_auto_mode(aq)}ai.push(aq);af=au.get_canvas_height(az,aq,ao,av);if(af>at){at=af}}aj.width=av;aj.height=(aw.height?aw.height:at);aD=0;var ax=aj.getContext("2d");ax.translate(this.left_offset,0);ax.globalAlpha=0.5;ax.globalCompositeOperation="source-over";for(var aA=0;aA<this.drawables.length;aA++,aD+=2){au=this.drawables[aA];az=an[aD];ap=an[aD+1];aE=au.draw_tile(az,ax,ai[aA],ay,aB,ao,ap)}this.tile_cache.set(aF,aE);this.show_tile(aE,am,ao);return aE}var al=$.Deferred(),au=this;$.when.apply($,an).then(function(){view.request_redraw(false,false,false,au);al.resolve()});return al},tile_predraw_init:function(){var ai=Number.MAX_VALUE,af=-ai,ag;for(var ah=0;ah<this.drawables.length;ah++){ag=this.drawables[ah];if(ag instanceof j){if(ag.prefs.min_value<ai){ai=ag.prefs.min_value}if(ag.prefs.max_value>af){af=ag.prefs.max_value}}}for(var ah=0;ah<this.drawables.length;ah++){ag=this.drawables[ah];ag.prefs.min_value=ai;ag.prefs.max_value=af}},postdraw_actions:function(ah,ak,am,ag){M.prototype.postdraw_actions.call(this,ah,ak,am,ag);var aj=-1;for(var ai=0;ai<ah.length;ai++){var af=ah[ai].html_elt.find("canvas").height();if(af>aj){aj=af}}for(var ai=0;ai<ah.length;ai++){var al=ah[ai];if(al.html_elt.find("canvas").height()!==aj){this.draw_helper(true,ak,al.index,al.resolution,al.html_elt.parent(),am,{height:aj});al.html_elt.remove()}}}});var z=function(af){M.call(this,"reference",af,{content_div:af.top_labeltrack},{});af.reference_track=this;this.left_offset=200;this.height_px=12;this.container_div.addClass("reference-track");this.content_div.css("background","none");this.content_div.css("min-height","0px");this.content_div.css("border","none");this.data_url=reference_url;this.data_url_extra_params={dbkey:af.dbkey};this.data_manager=new G(H,this,false)};p(z.prototype,q.prototype,M.prototype,{build_header_div:function(){},init:function(){this.enabled=true},can_draw:q.prototype.can_draw,draw_tile:function(an,ao,ak,aj,ag,ap){var ai=this;if(ap>this.view.canvas_manager.char_width_px){if(an.data===null){ai.content_div.css("height","0px");return}var ah=ao.canvas;ao.font=ao.canvas.manager.default_font;ao.textAlign="center";an=an.data;for(var al=0,am=an.length;al<am;al++){var af=Math.round(al*ap);ao.fillText(an[al],af,10)}return new b(ai,ag,aj,ah,an)}this.content_div.css("height","0px")}});var j=function(af,am,ag,al,ao,an,aj,ak,ah){var ai=this;this.display_modes=["Histogram","Line","Filled","Intensity"];this.mode="Histogram";M.call(this,af,am,ag,an,aj,ak,ah);this.min_height_px=16;this.max_height_px=400;this.height_px=32;this.hda_ldda=al;this.dataset_id=ao;this.original_dataset_id=ao;this.left_offset=0;this.config=new E({track:this,params:[{key:"name",label:"Name",type:"text",default_value:af},{key:"color",label:"Color",type:"color",default_value:get_random_color()},{key:"min_value",label:"Min Value",type:"float",default_value:undefined},{key:"max_value",label:"Max Value",type:"float",default_value:undefined},{key:"mode",type:"string",default_value:this.mode,hidden:true},{key:"height",type:"int",default_value:this.height_px,hidden:true}],saved_values:an,onchange:function(){ai.set_name(ai.prefs.name);ai.vertical_range=ai.prefs.max_value-ai.prefs.min_value;$("#linetrack_"+ai.dataset_id+"_minval").text(ai.prefs.min_value);$("#linetrack_"+ai.dataset_id+"_maxval").text(ai.prefs.max_value);ai.tile_cache.clear();ai.request_draw()}});this.prefs=this.config.values;this.height_px=this.config.values.height;this.vertical_range=this.config.values.max_value-this.config.values.min_value;this.add_resize_handle()};p(j.prototype,q.prototype,M.prototype,{add_resize_handle:function(){var af=this;var ai=false;var ah=false;var ag=$("<div class='track-resize'>");$(af.container_div).hover(function(){if(af.content_visible){ai=true;ag.show()}},function(){ai=false;if(!ah){ag.hide()}});ag.hide().bind("dragstart",function(aj,ak){ah=true;ak.original_height=$(af.content_div).height()}).bind("drag",function(ak,al){var aj=Math.min(Math.max(al.original_height+al.deltaY,af.min_height_px),af.max_height_px);$(af.content_div).css("height",aj);af.height_px=aj;af.request_draw(true)}).bind("dragend",function(aj,ak){af.tile_cache.clear();ah=false;if(!ai){ag.hide()}af.config.values.height=af.height_px}).appendTo(af.container_div)},predraw_init:function(){var af=this;af.vertical_range=undefined;return $.getJSON(af.data_url,{stats:true,chrom:af.view.chrom,low:null,high:null,hda_ldda:af.hda_ldda,dataset_id:af.dataset_id},function(ag){af.container_div.addClass("line-track");var aj=ag.data;if(isNaN(parseFloat(af.prefs.min_value))||isNaN(parseFloat(af.prefs.max_value))){var ah=aj.min;var al=aj.max;ah=Math.floor(Math.min(0,Math.max(ah,aj.mean-2*aj.sd)));al=Math.ceil(Math.max(0,Math.min(al,aj.mean+2*aj.sd)));af.prefs.min_value=ah;af.prefs.max_value=al;$("#track_"+af.dataset_id+"_minval").val(af.prefs.min_value);$("#track_"+af.dataset_id+"_maxval").val(af.prefs.max_value)}af.vertical_range=af.prefs.max_value-af.prefs.min_value;af.total_frequency=aj.total_frequency;af.container_div.find(".yaxislabel").remove();var ak=$("<div />").addClass("yaxislabel").attr("id","linetrack_"+af.dataset_id+"_minval").text(Z(af.prefs.min_value,3));var ai=$("<div />").addClass("yaxislabel").attr("id","linetrack_"+af.dataset_id+"_maxval").text(Z(af.prefs.max_value,3));ai.css({position:"absolute",top:"24px",left:"10px"});ai.prependTo(af.container_div);ak.css({position:"absolute",bottom:"2px",left:"10px"});ak.prependTo(af.container_div)})},draw_tile:function(ap,an,ak,ai,ag,ao){if(this.vertical_range===undefined){return}var ah=an.canvas,af=this._get_tile_bounds(ag,ai),aj=af[0],am=af[1],al=new L.LinePainter(ap.data,aj,am,this.prefs,ak);al.draw(an,ah.width,ah.height,ao);return new b(this.track,ag,ai,ah,ap.data)}});var d=function(af,am,ag,al,ao,an,aj,ak,ah){var ai=this;this.display_modes=["Auto","Histogram","Dense","Squish","Pack"];M.call(this,af,am,ag,an,aj,ak,ah);this.config=new E({track:this,params:[{key:"name",label:"Name",type:"text",default_value:af},{key:"block_color",label:"Block color",type:"color",default_value:get_random_color()},{key:"label_color",label:"Label color",type:"color",default_value:"black"},{key:"show_counts",label:"Show summary counts",type:"bool",default_value:true,help:"Show the number of items in each bin when drawing summary histogram"},{key:"connector_style",label:"Connector style",type:"select",default_value:"fishbones",options:[{label:"Line with arrows",value:"fishbone"},{label:"Arcs",value:"arcs"}]},{key:"mode",type:"string",default_value:this.mode,hidden:true},],saved_values:an,onchange:function(){ai.set_name(ai.prefs.name);ai.tile_cache.clear();ai.set_painter_from_config();ai.request_draw()}});this.prefs=this.config.values;this.height_px=0;this.container_div.addClass("feature-track");this.hda_ldda=al;this.dataset_id=ao;this.original_dataset_id=ao;this.show_labels_scale=0.001;this.showing_details=false;this.summary_draw_height=30;this.slotters={};this.start_end_dct={};this.left_offset=200;this.set_painter_from_config()};p(d.prototype,q.prototype,M.prototype,{set_painter_from_config:function(){if(this.config.values.connector_style=="arcs"){this.painter=L.ArcLinkedFeaturePainter}else{this.painter=L.LinkedFeaturePainter}},postdraw_actions:function(at,an,aj,ah){M.prototype.postdraw_actions.call(this,at,ah);var am=this;if(ah){var ax=am.content_div.children();var aw=false;for(var ap=ax.length-1,aq=0;ap>=aq;ap--){var ai=$(ax[ap]);if(aw){ai.remove()}else{if(ai.children().length!==0){aw=true}}}}if(am.mode=="Histogram"){var ag=-1;for(var ap=0;ap<at.length;ap++){var ao=at[ap].max_val;if(ao>ag){ag=ao}}for(var ap=0;ap<at.length;ap++){var av=at[ap];if(av.max_val!==ag){av.html_elt.remove();am.draw_helper(true,an,av.index,av.resolution,av.html_elt.parent(),aj,{more_tile_data:{max:ag}})}}}if(am.filters_manager){var ak=am.filters_manager.filters;for(var ar=0;ar<ak.length;ar++){ak[ar].update_ui_elt()}var au=false,af,al;for(var ap=0;ap<at.length;ap++){if(at[ap].data.length){af=at[ap].data[0];for(var ar=0;ar<ak.length;ar++){al=ak[ar];if(al.applies_to(af)&&al.min!==al.max){au=true;break}}}}if(am.filters_available!==au){am.filters_available=au;if(!am.filters_available){am.filters_div.hide()}am.update_icons()}}},update_auto_mode:function(af){var af;if(this.mode=="Auto"){if(af=="no_detail"){af="feature spans"}else{if(af=="summary_tree"){af="coverage histogram"}}this.action_icons.mode_icon.attr("title","Set display mode (now: Auto/"+af+")")}},incremental_slots:function(aj,af,ai){var ag=this.view.canvas_manager.dummy_context,ah=this.slotters[aj];if(!ah||(ah.mode!==ai)){ah=new (s.FeatureSlotter)(aj,ai,y,function(ak){return ag.measureText(ak)});this.slotters[aj]=ah}return ah.slot_features(af)},get_summary_tree_data:function(aj,am,ah,av){if(av>ah-am){av=ah-am}var aq=Math.floor((ah-am)/av),au=[],ai=0;var ak=0,al=0,ap,at=0,an=[],ar,ao;var ag=function(ay,ax,az,aw){ay[0]=ax+az*aw;ay[1]=ax+(az+1)*aw};while(at<av&&ak!==aj.length){var af=false;for(;at<av&&!af;at++){ag(an,am,at,aq);for(al=ak;al<aj.length;al++){ap=aj[al].slice(1,3);if(is_overlap(ap,an)){af=true;break}}if(af){break}}data_start_index=al;au[au.length]=ar=[an[0],0];for(;al<aj.length;al++){ap=aj[al].slice(1,3);if(is_overlap(ap,an)){ar[1]++}else{break}}if(ar[1]>ai){ai=ar[1]}at++}return{max:ai,delta:aq,data:au}},get_mode:function(af){if(af.dataset_type==="summary_tree"){mode="summary_tree"}else{if(af.extra_info==="no_detail"||this.is_overview){mode="no_detail"}else{if(this.view.high-this.view.low>I){mode="Squish"}else{mode="Pack"}}}return mode},get_canvas_height:function(af,aj,ak,ag){if(aj==="summary_tree"||aj==="Histogram"){return this.summary_draw_height+T}else{var ai=this.incremental_slots(ak,af.data,aj);var ah=new (this.painter)(null,null,null,this.prefs,aj);return Math.max(ad,ah.get_required_height(ai,ag))}},draw_tile:function(ar,aw,au,ax,aB,an,ai){var av=this,ah=aw.canvas,ak=this._get_tile_bounds(aB,ax),aE=ak[0],ag=ak[1],aJ=25,aj=this.left_offset;if(au==="summary_tree"||au==="Histogram"){this.container_div.find(".yaxislabel").remove();var af=$("<div />").addClass("yaxislabel");af.text(ar.max);af.css({position:"absolute",top:"24px",left:"10px",color:this.prefs.label_color});af.prependTo(this.container_div);if(ar.dataset_type!="summary_tree"){var ao=this.get_summary_tree_data(ar.data,aE,ag,200);if(ar.max){ao.max=ar.max}ar=ao}var aG=new L.SummaryTreePainter(ar,aE,ag,this.prefs);aw.translate(0,T);aG.draw(aw,ah.width,ah.height,an);return new k(av,aB,ax,ah,ar.data,ar.max)}var am=[],at=this.slotters[an].slots;all_slotted=true;if(ar.data){var ap=this.filters_manager.filters;for(var ay=0,aA=ar.data.length;ay<aA;ay++){var al=ar.data[ay];var az=false;var aq;for(var aD=0,aI=ap.length;aD<aI;aD++){aq=ap[aD];aq.update_attrs(al);if(!aq.keep(al)){az=true;break}}if(!az){am.push(al);if(!(al[0] in at)){all_slotted=false}}}}var aH=(this.filters_manager.alpha_filter?new B(this.filters_manager.alpha_filter):null);var aF=(this.filters_manager.height_filter?new B(this.filters_manager.height_filter):null);var aG=new (this.painter)(am,aE,ag,this.prefs,au,aH,aF,ai);var aC=null;aw.fillStyle=this.prefs.block_color;aw.font=aw.canvas.manager.default_font;aw.textAlign="right";this.container_div.find(".yaxislabel").remove();if(ar.data){aC=aG.draw(aw,ah.width,ah.height,an,at);aC.translation=-aj}return new O(av,aB,ax,ah,ar.data,an,au,ar.message,all_slotted,aC)},data_and_mode_compatible:function(af,ag){if(ag==="Auto"){return true}else{if(af.extra_info==="no_detail"||af.dataset_type==="summary_tree"){return false}else{return true}}},});var U=function(af,al,ag,ak,an,am,ai,aj,ah){d.call(this,af,al,ag,ak,an,am,ai,aj,ah);this.config=new E({track:this,params:[{key:"name",label:"Name",type:"text",default_value:af},{key:"block_color",label:"Block color",type:"color",default_value:get_random_color()},{key:"label_color",label:"Label color",type:"color",default_value:"black"},{key:"show_insertions",label:"Show insertions",type:"bool",default_value:false},{key:"show_counts",label:"Show summary counts",type:"bool",default_value:true},{key:"mode",type:"string",default_value:this.mode,hidden:true},],saved_values:am,onchange:function(){this.track.set_name(this.track.prefs.name);this.track.tile_cache.clear();this.track.request_draw()}});this.prefs=this.config.values;this.painter=L.ReadPainter};p(U.prototype,q.prototype,M.prototype,d.prototype);var W=function(af,al,ag,ak,ao,an,ai,ah){d.call(this,af,al,ag,ak,ao,an,ai,ah);var aj=get_random_color(),am=get_random_color([aj,"#ffffff"]);this.config=new E({track:this,params:[{key:"name",label:"Name",type:"text",default_value:af},{key:"block_color",label:"Block and sense strand color",type:"color",default_value:aj},{key:"reverse_strand_color",label:"Antisense strand color",type:"color",default_value:am},{key:"label_color",label:"Label color",type:"color",default_value:"black"},{key:"show_insertions",label:"Show insertions",type:"bool",default_value:false},{key:"show_differences",label:"Show differences only",type:"bool",default_value:true},{key:"show_counts",label:"Show summary counts",type:"bool",default_value:true},{key:"mode",type:"string",default_value:this.mode,hidden:true},],saved_values:an,onchange:function(){this.track.set_name(this.track.prefs.name);this.track.tile_cache.clear();this.track.request_draw()}});this.prefs=this.config.values;this.painter=L.ReadPainter;this.update_icons()};p(W.prototype,q.prototype,M.prototype,d.prototype);X.View=ac;X.DrawableGroup=P;X.LineTrack=j;X.FeatureTrack=d;X.ReadTrack=W;X.VcfTrack=U;X.CompositeTrack=h};var slotting_module=function(c,b){var e=c("class").extend;var d=2,a=5;b.FeatureSlotter=function(i,h,f,g){this.slots={};this.start_end_dct={};this.w_scale=i;this.mode=h;this.include_label=(h==="Pack");this.max_rows=f;this.measureText=g};e(b.FeatureSlotter.prototype,{slot_features:function(m){var p=this.w_scale,h=this.start_end_dct,x=[],z=[],n=0,y=this.max_rows;for(var v=0,w=m.length;v<w;v++){var k=m[v],o=k[0];if(this.slots[o]!==undefined){n=Math.max(n,this.slots[o]);z.push(this.slots[o])}else{x.push(v)}}var q=function(E,F){for(var D=0;D<=y;D++){var B=false,G=h[D];if(G!==undefined){for(var A=0,C=G.length;A<C;A++){var i=G[A];if(F>i[0]&&E<i[1]){B=true;break}}}if(!B){return D}}return -1};for(var v=0,w=x.length;v<w;v++){var k=m[x[v]],o=k[0],t=k[1],f=k[2],r=k[3],g=Math.floor(t*p),l=Math.ceil(f*p),u=this.measureText(r).width,j;if(r!==undefined&&this.include_label){u+=(d+a);if(g-u>=0){g-=u;j="left"}else{l+=u;j="right"}}var s=q(g,l);if(s>=0){if(h[s]===undefined){h[s]=[]}h[s].push([g,l]);this.slots[o]=s;n=Math.max(n,s)}else{}}return n+1}})};var painters_module=function(i,x){var u=i("class").extend;var p=function(I,A,G,z,F,D){if(D===undefined){D=4}var C=z-A;var B=F-G;var E=Math.floor(Math.sqrt(C*C+B*B)/D);var J=C/E;var H=B/E;var y;for(y=0;y<E;y++,A+=J,G+=H){if(y%2!==0){continue}I.fillRect(A,G,D,1)}};var q=function(B,A,z,E){var D=A-E/2,C=A+E/2,F=z-Math.sqrt(E*3/2);B.beginPath();B.moveTo(D,F);B.lineTo(C,F);B.lineTo(A,z);B.lineTo(D,F);B.strokeStyle=this.fillStyle;B.fill();B.stroke();B.closePath()};var d=function(y){this.default_val=(y?y:1)};d.prototype.gen_val=function(y){return this.default_val};var l=function(A,C,y,z,B){this.data=A;this.view_start=C;this.view_end=y;this.prefs=u({},this.default_prefs,z);this.mode=B};l.prototype.default_prefs={};l.prototype.draw=function(z,A,y,B){};var v=function(A,C,y,z,B){l.call(this,A,C,y,z,B)};v.prototype.default_prefs={show_counts:false};v.prototype.draw=function(M,z,L,N){var E=this.view_start,O=this.view_end-this.view_start;var J=this.data.data,I=this.data.delta,G=this.data.max,B=L;delta_x_px=Math.ceil(I*N);M.save();for(var C=0,D=J.length;C<D;C++){var H=Math.floor((J[C][0]-E)*N);var F=J[C][1];if(!F){continue}var K=F/G*L;if(F!==0&&K<1){K=1}M.fillStyle=this.prefs.block_color;M.fillRect(H,B-K,delta_x_px,K);var A=4;if(this.prefs.show_counts&&(M.measureText(F).width+A)<delta_x_px){M.fillStyle=this.prefs.label_color;M.textAlign="center";M.fillText(F,H+(delta_x_px/2),10)}}M.restore()};var b=function(y,C,E,F,A){l.call(this,y,C,E,F,A);if(this.prefs.min_value===undefined){var G=Infinity;for(var z=0,B=this.data.length;z<B;z++){G=Math.min(G,this.data[z][1])}this.prefs.min_value=G}if(this.prefs.max_value===undefined){var D=-Infinity;for(var z=0,B=this.data.length;z<B;z++){D=Math.max(D,this.data[z][1])}this.prefs.max_value=D}};b.prototype.default_prefs={min_value:undefined,max_value:undefined,mode:"Histogram",color:"#000",overflow_color:"#F66"};b.prototype.draw=function(S,Q,N,D){var I=false,K=this.prefs.min_value,F=this.prefs.max_value,M=F-K,B=N,C=this.view_start,P=this.view_end-this.view_start,L=this.mode,aa=this.data;S.save();var ac=Math.round(N+K/M*N);if(L!=="Intensity"){S.fillStyle="#aaa";S.fillRect(0,ac,Q,1)}S.beginPath();var Y,G,E;if(aa.length>1){E=Math.ceil((aa[1][0]-aa[0][0])*D)}else{E=10}var A=parseInt(this.prefs.color.slice(1),16),H=(A&16711680)>>16,R=(A&65280)>>8,V=A&255;for(var T=0,U=aa.length;T<U;T++){S.fillStyle=S.strokeStyle=this.prefs.color;Y=Math.round((aa[T][0]-C)*D);G=aa[T][1];var W=false,J=false;if(G===null){if(I&&L==="Filled"){S.lineTo(Y,B)}I=false;continue}if(G<K){J=true;G=K}else{if(G>F){W=true;G=F}}if(L==="Histogram"){G=Math.round(G/M*B);S.fillRect(Y,ac,E,-G)}else{if(L==="Intensity"){var z=(G-K)/M,O=Math.round(H+(255-H)*(1-z)),X=Math.round(R+(255-R)*(1-z)),ab=Math.round(V+(255-V)*(1-z));S.fillStyle="rgb("+O+","+X+","+ab+")";S.fillRect(Y,0,E,B)}else{G=Math.round(B-(G-K)/M*B);if(I){S.lineTo(Y,G)}else{I=true;if(L==="Filled"){S.moveTo(Y,B);S.lineTo(Y,G)}else{S.moveTo(Y,G)}}}}S.fillStyle=this.prefs.overflow_color;if(W||J){var Z;if(L==="Histogram"||L==="Intensity"){Z=E}else{Y-=2;Z=4}if(W){S.fillRect(Y,0,Z,3)}if(J){S.fillRect(Y,B-3,Z,3)}}S.fillStyle=this.prefs.color}if(L==="Filled"){if(I){S.lineTo(Y,ac);S.lineTo(0,ac)}S.fill()}else{S.stroke()}S.restore()};var m=function(y){this.feature_positions={};this.slot_height=y;this.translation=0;this.y_translation=0};m.prototype.map_feature_data=function(z,B,y,A){if(!this.feature_positions[B]){this.feature_positions[B]=[]}this.feature_positions[B].push({data:z,x_start:y,x_end:A})};m.prototype.get_feature_data=function(z,D){var C=Math.floor((D-this.y_translation)/this.slot_height),B;if(!this.feature_positions[C]){return null}z+=this.translation;for(var A=0;A<this.feature_positions[C].length;A++){B=this.feature_positions[C][A];if(z>=B.x_start&&z<=B.x_end){return B.data}}};var o=function(A,D,y,z,C,E,B){l.call(this,A,D,y,z,C);this.alpha_scaler=(E?E:new d());this.height_scaler=(B?B:new d())};o.prototype.default_prefs={block_color:"#FFF",connector_color:"#FFF"};u(o.prototype,{get_required_height:function(A,z){var y=y_scale=this.get_row_height(),B=this.mode;if(B==="no_detail"||B==="Squish"||B==="Pack"){y=A*y_scale}return y+this.get_top_padding(z)+this.get_bottom_padding(z)},get_top_padding:function(y){return 0},get_bottom_padding:function(y){return Math.max(Math.round(this.get_row_height()/2),5)},draw:function(K,I,G,E,F){var Q=this.data,D=this.view_start,M=this.view_end;K.save();K.fillStyle=this.prefs.block_color;K.textAlign="right";var H=this.view_end-this.view_start,L=this.get_row_height(),P=new m(L),B;for(var N=0,O=Q.length;N<O;N++){var A=Q[N],C=A[0],J=A[1],y=A[2],z=(F&&F[C]!==undefined?F[C]:null);if((J<M&&y>D)&&(this.mode=="Dense"||z!==null)){B=this.draw_element(K,this.mode,A,z,D,M,E,L,I);P.map_feature_data(A,z,B[0],B[1])}}K.restore();P.y_translation=this.get_top_padding(I);return P},draw_element:function(E,A,G,C,B,D,F,z,y){console.log("WARNING: Unimplemented function.");return[0,0]}});var c=10,h=3,k=5,w=10,f=1,s=9,e=3,a=9,j=2,g="#ccc";var r=function(A,D,y,z,C,E,B){o.call(this,A,D,y,z,C,E,B);this.draw_background_connector=true;this.draw_individual_connectors=false};u(r.prototype,o.prototype,{get_row_height:function(){var z=this.mode,y;if(z==="Dense"){y=c}else{if(z==="no_detail"){y=h}else{if(z==="Squish"){y=k}else{y=w}}}return y},draw_element:function(M,D,X,H,O,aj,an,ap,y){var T=X[0],al=X[1],ad=X[2]-1,Q=X[3],ae=Math.floor(Math.max(0,(al-O)*an)),N=Math.ceil(Math.min(y,Math.max(0,(ad-O)*an))),ac=ae,ao=N,aa=(D==="Dense"?0:(0+H))*ap+this.get_top_padding(y),L,ah,R=null,ar=null,B=this.prefs.block_color,ag=this.prefs.label_color;M.globalAlpha=this.alpha_scaler.gen_val(X);if(D==="Dense"){H=1}if(D==="no_detail"){M.fillStyle=B;M.fillRect(ae,aa+5,N-ae,f)}else{var K=X[4],Z=X[5],af=X[6],C=X[7],V=true;if(Z&&af){R=Math.floor(Math.max(0,(Z-O)*an));ar=Math.ceil(Math.min(y,Math.max(0,(af-O)*an)))}var am,U;if(D==="Squish"){am=1;U=e;V=false}else{if(D==="Dense"){am=5;U=s}else{am=5;U=a}}if(!C){M.fillStyle=B;M.fillRect(ae,aa+1,N-ae,U);if(K&&V){if(K==="+"){M.fillStyle=M.canvas.manager.get_pattern("right_strand_inv")}else{if(K==="-"){M.fillStyle=M.canvas.manager.get_pattern("left_strand_inv")}}M.fillRect(ae,aa+1,N-ae,U)}}else{var J,W;if(D==="Squish"||D==="Dense"){J=aa+Math.floor(e/2)+1;W=1}else{if(K){J=aa;W=U}else{J+=(e/2)+1;W=1}}if(this.draw_background_connector){if(D==="Squish"||D==="Dense"){M.fillStyle=g}else{if(K){if(K==="+"){M.fillStyle=M.canvas.manager.get_pattern("right_strand")}else{if(K==="-"){M.fillStyle=M.canvas.manager.get_pattern("left_strand")}}}else{M.fillStyle=g}}M.fillRect(ae,J,N-ae,W)}var E;for(var ak=0,A=C.length;ak<A;ak++){var F=C[ak],z=Math.floor(Math.max(0,(F[0]-O)*an)),Y=Math.ceil(Math.min(y,Math.max((F[1]-1-O)*an))),S,ab;if(z>Y){continue}M.fillStyle=B;M.fillRect(z,aa+(U-am)/2+1,Y-z,am);if(R!==undefined&&af>Z&&!(z>ar||Y<R)){var ai=Math.max(z,R),I=Math.min(Y,ar);M.fillRect(ai,aa+1,I-ai,U);if(C.length==1&&D=="Pack"){if(K==="+"){M.fillStyle=M.canvas.manager.get_pattern("right_strand_inv")}else{if(K==="-"){M.fillStyle=M.canvas.manager.get_pattern("left_strand_inv")}}if(ai+14<I){ai+=2;I-=2}M.fillRect(ai,aa+1,I-ai,U)}}if(this.draw_individual_connectors&&S){this.draw_connector(M,S,ab,z,Y,aa)}S=z;ab=Y}if(D==="Pack"){M.globalAlpha=1;M.fillStyle="white";var G=this.height_scaler.gen_val(X),P=Math.ceil(U*G),aq=Math.round((U-P)/2);if(G!==1){M.fillRect(ae,J+1,N-ae,aq);M.fillRect(ae,J+U-aq+1,N-ae,aq)}}}M.globalAlpha=1;if(D==="Pack"&&al>O){M.fillStyle=ag;if(O===0&&ae-M.measureText(Q).width<0){M.textAlign="left";M.fillText(Q,N+j,aa+8);ao+=M.measureText(Q).width+j}else{M.textAlign="right";M.fillText(Q,ae-j,aa+8);ac-=M.measureText(Q).width+j}}}M.globalAlpha=1;return[ac,ao]}});var t=function(B,E,y,A,D,F,C,z){o.call(this,B,E,y,A,D,F,C);this.ref_seq=(z?z.data:null)};u(t.prototype,o.prototype,{get_row_height:function(){var y,z=this.mode;if(z==="Dense"){y=c}else{if(z==="Squish"){y=k}else{y=w;if(this.prefs.show_insertions){y*=2}}}return y},draw_read:function(K,A,ag,V,L,aa,ad,C,B,M){K.textAlign="center";var J=this,R=[L,aa],Z=0,W=0,D=0,F=K.canvas.manager.char_width_px,y=(B==="+"?this.prefs.block_color:this.prefs.reverse_strand_color);var O=[];if((A==="Pack"||this.mode==="Auto")&&M!==undefined&&ag>F){D=Math.round(ag/2)}if(!C){C=[[0,M.length]]}for(var G=0,I=C.length;G<I;G++){var z=C[G],E="MIDNSHP=X"[z[0]],S=z[1];if(E==="H"||E==="S"){Z-=S}var U=ad+Z,Y=Math.floor(Math.max(0,(U-L)*ag)),ab=Math.floor(Math.max(0,(U+S-L)*ag));if(Y===ab){ab+=1}switch(E){case"H":break;case"S":case"M":case"=":if(is_overlap([U,U+S],R)){var N=M.slice(W,W+S);if(D>0){K.fillStyle=y;K.fillRect(Y-D,V+1,ab-Y,9);K.fillStyle=g;for(var af=0,H=N.length;af<H;af++){if(this.prefs.show_differences&&this.ref_seq){var P=this.ref_seq[U-L+af];if(!P||P.toLowerCase()===N[af].toLowerCase()){continue}}if(U+af>=L&&U+af<=aa){var X=Math.floor(Math.max(0,(U+af-L)*ag));K.fillText(N[af],X,V+9)}}}else{K.fillStyle=y;K.fillRect(Y,V+4,ab-Y,e)}}W+=S;Z+=S;break;case"N":K.fillStyle=g;K.fillRect(Y-D,V+5,ab-Y,1);Z+=S;break;case"D":K.fillStyle="red";K.fillRect(Y-D,V+4,ab-Y,3);Z+=S;break;case"P":break;case"I":var ah=Y-D;if(is_overlap([U,U+S],R)){var N=M.slice(W,W+S);if(this.prefs.show_insertions){var T=Y-(ab-Y)/2;if((A==="Pack"||this.mode==="Auto")&&M!==undefined&&ag>F){K.fillStyle="yellow";K.fillRect(T-D,V-9,ab-Y,9);O[O.length]={type:"triangle",data:[ah,V+4,5]};K.fillStyle=g;switch(compute_overlap([U,U+S],R)){case (OVERLAP_START):N=N.slice(L-U);break;case (OVERLAP_END):N=N.slice(0,U-aa);break;case (CONTAINED_BY):break;case (CONTAINS):N=N.slice(L-U,U-aa);break}for(var af=0,H=N.length;af<H;af++){var X=Math.floor(Math.max(0,(U+af-L)*ag));K.fillText(N[af],X-(ab-Y)/2,V)}}else{K.fillStyle="yellow";K.fillRect(T,V+(this.mode!=="Dense"?2:5),ab-Y,(A!=="Dense"?e:s))}}else{if((A==="Pack"||this.mode==="Auto")&&M!==undefined&&ag>F){O.push({type:"text",data:[N.length,ah,V+9]})}else{}}}W+=S;break;case"X":W+=S;break}}K.fillStyle="yellow";var Q,ai,ae;for(var ac=0;ac<O.length;ac++){Q=O[ac];ai=Q.type;ae=Q.data;if(ai==="text"){K.save();K.font="bold "+K.font;K.fillText(ae[0],ae[1],ae[2]);K.restore()}else{if(ai=="triangle"){q(K,ae[0],ae[1],ae[2])}}}},draw_element:function(R,M,E,B,U,z,I,S,P){var H=E[0],Q=E[1],A=E[2],J=E[3],D=Math.floor(Math.max(0,(Q-U)*I)),F=Math.ceil(Math.min(P,Math.max(0,(A-U)*I))),C=(M==="Dense"?0:(0+B))*S,G=this.prefs.label_color,O=0;if((M==="Pack"||this.mode==="Auto")&&I>R.canvas.manager.char_width_px){var O=Math.round(I/2)}if(E[5] instanceof Array){var N=Math.floor(Math.max(0,(E[4][0]-U)*I)),L=Math.ceil(Math.min(P,Math.max(0,(E[4][1]-U)*I))),K=Math.floor(Math.max(0,(E[5][0]-U)*I)),y=Math.ceil(Math.min(P,Math.max(0,(E[5][1]-U)*I)));if(E[4][1]>=U&&E[4][0]<=z&&E[4][2]){this.draw_read(R,M,I,C,U,z,E[4][0],E[4][2],E[4][3],E[4][4])}if(E[5][1]>=U&&E[5][0]<=z&&E[5][2]){this.draw_read(R,M,I,C,U,z,E[5][0],E[5][2],E[5][3],E[5][4])}if(K>L){R.fillStyle=g;p(R,L-O,C+5,K-O,C+5)}}else{this.draw_read(R,M,I,C,U,z,Q,E[4],E[5],E[6])}if(M==="Pack"&&Q>U&&J!=="."){R.fillStyle=this.prefs.label_color;var T=1;if(T===0&&D-R.measureText(J).width<0){R.textAlign="left";R.fillText(J,F+j-O,C+8)}else{R.textAlign="right";R.fillText(J,D-j-O,C+8)}}return[0,0]}});var n=function(A,D,y,z,C,E,B){r.call(this,A,D,y,z,C,E,B);this.longest_feature_length=this.calculate_longest_feature_length();this.draw_background_connector=false;this.draw_individual_connectors=true};u(n.prototype,o.prototype,r.prototype,{calculate_longest_feature_length:function(){var z=0;for(var C=0,y=this.data.length;C<y;C++){var B=this.data[C],A=B[1],D=B[2];z=Math.max(z,D-A)}return z},get_top_padding:function(z){var y=this.view_end-this.view_start,A=z/y;return Math.min(128,Math.ceil((this.longest_feature_length/2)*A))},draw_connector:function(G,B,F,H,E,D){var y=(F+H)/2,C=H-y;var A=Math.PI,z=0;if(C>0){G.beginPath();G.arc(y,D,H-y,Math.PI,0);G.stroke()}}});x.Scaler=d;x.SummaryTreePainter=v;x.LinePainter=b;x.LinkedFeaturePainter=r;x.ReadPainter=t;x.ArcLinkedFeaturePainter=n};(function(d){var c={};var b=function(e){return c[e]};var a=function(f,g){var e={};g(b,e);c[f]=e};a("class",class_module);a("slotting",slotting_module);a("painters",painters_module);a("trackster",trackster_module);for(key in c.trackster){d[key]=c.trackster[key]}})(window);
\ No newline at end of file
+var class_module=function(b,a){var c=function(){var f=arguments[0];for(var e=1;e<arguments.length;e++){var d=arguments[e];for(key in d){f[key]=d[key]}}return f};a.extend=c};var requestAnimationFrame=(function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(b,a){window.setTimeout(b,1000/60)}})();var BEFORE=1001,CONTAINS=1002,OVERLAP_START=1003,OVERLAP_END=1004,CONTAINED_BY=1005,AFTER=1006;var compute_overlap=function(e,b){var g=e[0],f=e[1],d=b[0],c=b[1],a;if(g<d){if(f<d){a=BEFORE}else{if(f<=c){a=OVERLAP_START}else{a=CONTAINS}}}else{if(g>c){a=AFTER}else{if(f<=c){a=CONTAINED_BY}else{a=OVERLAP_END}}}return a};var is_overlap=function(c,b){var a=compute_overlap(c,b);return(a!==BEFORE&&a!==AFTER)};var is_deferred=function(a){return("isResolved" in a)};var get_random_color=function(a){if(!a){a="#ffffff"}if(typeof(a)==="string"){a=[a]}for(var j=0;j<a.length;j++){a[j]=parseInt(a[j].slice(1),16)}var n=function(t,s,i){return((t*299)+(s*587)+(i*114))/1000};var e=function(v,u,w,s,i,t){return(Math.max(v,s)-Math.min(v,s))+(Math.max(u,i)-Math.min(u,i))+(Math.max(w,t)-Math.min(w,t))};var g,o,f,k,q,h,r,c,d,b,p,m=false,l=0;do{g=Math.round(Math.random()*16777215);o=(g&16711680)>>16;f=(g&65280)>>8;k=g&255;d=n(o,f,k);m=true;for(var j=0;j<a.length;j++){q=a[j];h=(q&16711680)>>16;r=(q&65280)>>8;c=q&255;b=n(h,r,c);p=e(o,f,k,h,r,c);if((Math.abs(d-b)<40)||(p<200)){m=false;break}}l++}while(!m&&l<=10);return"#"+(16777216+g).toString(16).substr(1,6)};var create_action_icon=function(c,b,a){return $("<a/>").attr("href","javascript:void(0);").attr("title",c).addClass("icon-button").addClass(b).tipsy({gravity:"s"}).click(a)};var trackster_module=function(e,W){var p=e("class").extend,s=e("slotting"),L=e("painters");var ad=function(ae,af){this.document=ae;this.default_font=af!==undefined?af:"9px Monaco, Lucida Console, monospace";this.dummy_canvas=this.new_canvas();this.dummy_context=this.dummy_canvas.getContext("2d");this.dummy_context.font=this.default_font;this.char_width_px=this.dummy_context.measureText("A").width;this.patterns={};this.load_pattern("right_strand","/visualization/strand_right.png");this.load_pattern("left_strand","/visualization/strand_left.png");this.load_pattern("right_strand_inv","/visualization/strand_right_inv.png");this.load_pattern("left_strand_inv","/visualization/strand_left_inv.png")};p(ad.prototype,{load_pattern:function(ae,ai){var af=this.patterns,ag=this.dummy_context,ah=new Image();ah.src=image_path+ai;ah.onload=function(){af[ae]=ag.createPattern(ah,"repeat")}},get_pattern:function(ae){return this.patterns[ae]},new_canvas:function(){var ae=this.document.createElement("canvas");if(window.G_vmlCanvasManager){G_vmlCanvasManager.initElement(ae)}ae.manager=this;return ae}});var n={};var l=function(ae,af){n[ae.attr("id")]=af};var m=function(ae,ag,ai,ah){ai=".group";var af={};n[ae.attr("id")]=ah;ae.bind("drag",{handle:"."+ag,relative:true},function(aq,ar){var ap=$(this);var av=$(this).parent(),am=av.children(),ao=n[$(this).attr("id")],al,ak,at,aj,an;ak=$(this).parents(ai);if(ak.length!==0){at=ak.position().top;aj=at+ak.outerHeight();if(ar.offsetY<at){$(this).insertBefore(ak);var au=n[ak.attr("id")];au.remove_drawable(ao);au.container.add_drawable_before(ao,au);return}else{if(ar.offsetY>aj){$(this).insertAfter(ak);var au=n[ak.attr("id")];au.remove_drawable(ao);au.container.add_drawable(ao);return}}}ak=null;for(an=0;an<am.length;an++){al=$(am.get(an));at=al.position().top;aj=at+al.outerHeight();if(al.is(ai)&&this!==al.get(0)&&ar.offsetY>=at&&ar.offsetY<=aj){if(ar.offsetY-at<aj-ar.offsetY){al.find(".content-div").prepend(this)}else{al.find(".content-div").append(this)}if(ao.container){ao.container.remove_drawable(ao)}n[al.attr("id")].add_drawable(ao);return}}for(an=0;an<am.length;an++){if(ar.offsetY<$(am.get(an)).position().top){break}}if(an===am.length){if(this!==am.get(an-1)){av.append(this);n[av.attr("id")].move_drawable(ao,an)}}else{if(this!==am.get(an)){$(this).insertBefore(am.get(an));n[av.attr("id")].move_drawable(ao,(ar.deltaY>0?an-1:an))}}}).bind("dragstart",function(){af["border-top"]=ae.css("border-top");af["border-bottom"]=ae.css("border-bottom");$(this).css({"border-top":"1px solid blue","border-bottom":"1px solid blue"})}).bind("dragend",function(){$(this).css(af)})};W.moveable=m;var ac=16,F=9,C=20,y=100,I=12000,Q=200,A=5,u=10,K=5000,v=100,o="There was an error in indexing this dataset. ",J="A converter for this dataset is not installed. Please check your datatypes_conf.xml file.",D="No data for this chrom/contig.",t="Currently indexing... please wait",w="Tool cannot be rerun: ",a="Loading data...",X="Ready for display",R=10,H=20;function Y(af,ae){if(!ae){ae=0}var ag=Math.pow(10,ae);return Math.round(af*ag)/ag}var c=function(ae){this.num_elements=ae;this.clear()};p(c.prototype,{get:function(af){var ae=this.key_ary.indexOf(af);if(ae!==-1){if(this.obj_cache[af].stale){this.key_ary.splice(ae,1);delete this.obj_cache[af]}else{this.move_key_to_end(af,ae)}}return this.obj_cache[af]},set:function(af,ag){if(!this.obj_cache[af]){if(this.key_ary.length>=this.num_elements){var ae=this.key_ary.shift();delete this.obj_cache[ae]}this.key_ary.push(af)}this.obj_cache[af]=ag;return ag},move_key_to_end:function(af,ae){this.key_ary.splice(ae,1);this.key_ary.push(af)},clear:function(){this.obj_cache={};this.key_ary=[]},size:function(){return this.key_ary.length}});var S=function(af,ae,ag){c.call(this,af);this.track=ae;this.subset=(ag!==undefined?ag:true)};p(S.prototype,c.prototype,{load_data:function(an,ai,al,af,ak){var am=this.track.view.chrom,ah={chrom:am,low:an,high:ai,mode:al,resolution:af,dataset_id:this.track.dataset_id,hda_ldda:this.track.hda_ldda};$.extend(ah,ak);if(this.track.filters_manager){var ao=[];var ae=this.track.filters_manager.filters;for(var aj=0;aj<ae.length;aj++){ao[ao.length]=ae[aj].name}ah.filter_cols=JSON.stringify(ao)}var ag=this;return $.getJSON(this.track.data_url,ah,function(ap){ag.set_data(an,ai,ap)})},get_data:function(ae,ai,aj,af,ah){var ag=this.get(ae,ai);if(ag&&(is_deferred(ag)||this.track.data_and_mode_compatible(ag,aj))){return ag}ag=this.load_data(ae,ai,aj,af,ah);this.set_data(ae,ai,ag);return ag},DEEP_DATA_REQ:"deep",BROAD_DATA_REQ:"breadth",get_more_data:function(am,ah,al,ag,ak,ai){var an=this.get(am,ah);if(!(an&&this.track.data_and_mode_compatible(an,al))){console.log("ERROR: no current data for: ",this.track,am,ah,al,ag,ak);return}an.stale=true;var af=am;if(ai===this.DEEP_DATA_REQ){$.extend(ak,{start_val:an.data.length+1})}else{if(ai===this.BROAD_DATA_REQ){af=(an.max_high?an.max_high:an.data[an.data.length-1][2])+1}}var ae=this,aj=this.load_data(af,ah,al,ag,ak);new_data_available=$.Deferred();this.set_data(am,ah,new_data_available);$.when(aj).then(function(ao){if(ao.data){ao.data=an.data.concat(ao.data);if(ao.max_low){ao.max_low=an.max_low}if(ao.message){ao.message=ao.message.replace(/[0-9]+/,ao.data.length)}}ae.set_data(am,ah,ao);new_data_available.resolve(ao)});return new_data_available},get:function(ae,af){return c.prototype.get.call(this,this.gen_key(ae,af))},set_data:function(af,ag,ae){return this.set(this.gen_key(af,ag),ae)},gen_key:function(ae,ag){var af=ae+"_"+ag;return af},split_key:function(ae){return ae.split("_")}});var G=function(af,ae,ag){S.call(this,af,ae,ag)};p(G.prototype,S.prototype,c.prototype,{get:S.prototype.get,load_data:function(ae,ah,ai,af,ag){if(af>1){return{data:null}}return S.prototype.load_data.call(this,ae,ah,ai,af,ag)}});var q=function(ah,af,ae,ag,aj){if(!q.id_counter){q.id_counter=0}this.id=q.id_counter++;this.name=ah;this.view=af;this.container=ae;this.config=new E({track:this,params:[{key:"name",label:"Name",type:"text",default_value:ah}],saved_values:ag,onchange:function(){this.track.set_name(this.track.config.values.name)}});this.prefs=this.config.values;this.drag_handle_class=aj;this.is_overview=false;this.action_icons={};this.content_visible=true;this.container_div=this.build_container_div();this.header_div=this.build_header_div();if(this.header_div){this.container_div.append(this.header_div);this.icons_div=$("<div/>").css("float","left").hide().appendTo(this.header_div);this.build_action_icons(this.action_icons_def);this.header_div.append($("<div style='clear: both'/>"));this.header_div.dblclick(function(ak){ak.stopPropagation()});var ai=this;this.container_div.hover(function(){ai.icons_div.show()},function(){ai.icons_div.hide()});$("<div style='clear: both'/>").appendTo(this.container_div)}};q.prototype.action_icons_def=[{name:"toggle_icon",title:"Hide/show content",css_class:"toggle",on_click_fn:function(ae){if(ae.content_visible){ae.action_icons.toggle_icon.addClass("toggle-expand").removeClass("toggle");ae.hide_contents();ae.content_visible=false}else{ae.action_icons.toggle_icon.addClass("toggle").removeClass("toggle-expand");ae.content_visible=true;ae.show_contents()}}},{name:"settings_icon",title:"Edit settings",css_class:"settings-icon",on_click_fn:function(af){var ah=function(){hide_modal();$(window).unbind("keypress.check_enter_esc")},ae=function(){af.config.update_from_form($(".dialog-box"));hide_modal();$(window).unbind("keypress.check_enter_esc")},ag=function(ai){if((ai.keyCode||ai.which)===27){ah()}else{if((ai.keyCode||ai.which)===13){ae()}}};$(window).bind("keypress.check_enter_esc",ag);show_modal("Configure",af.config.build_form(),{Cancel:ah,OK:ae})}},{name:"remove_icon",title:"Remove",css_class:"remove-icon",on_click_fn:function(ae){$(".tipsy").remove();ae.remove()}}];p(q.prototype,{init:function(){},can_draw:function(){if(this.enabled&&this.content_visible){return true}return false},request_draw:function(){},_draw:function(){},to_dict:function(){},from_dict:function(ae){},update_icons:function(){},set_name:function(ae){this.old_name=this.name;this.name=ae;this.name_div.text(this.name)},revert_name:function(){this.name=this.old_name;this.name_div.text(this.name)},remove:function(){this.container.remove_drawable(this);this.container_div.hide(0,function(){$(this).remove();view.update_intro_div();view.has_changes=true})},build_container_div:function(){},build_header_div:function(){},add_action_icon:function(af,aj,ai,ah,ae){var ag=this;this.action_icons[af]=$("<a/>").attr("href","javascript:void(0);").attr("title",aj).addClass("icon-button").addClass(ai).tipsy({gravity:"s"}).click(function(){ah(ag)}).appendTo(this.icons_div)},build_action_icons:function(ae){var ag;for(var af=0;af<ae.length;af++){ag=ae[af];this.add_action_icon(ag.name,ag.title,ag.css_class,ag.on_click_fn,ag.prepend)}},update_icons:function(){},hide_contents:function(){},show_contents:function(){}});var x=function(ai,ah,af,ae,ag,aj){q.call(this,ah,af,ae,ag,aj);this.obj_type=ai;this.drawables=[]};p(x.prototype,q.prototype,{init:function(){for(var ae=0;ae<this.drawables.length;ae++){this.drawables[ae].init()}},_draw:function(){for(var ae=0;ae<this.drawables.length;ae++){this.drawables[ae]._draw()}},to_dict:function(){var af=[];for(var ae=0;ae<this.drawables.length;ae++){af.push(this.drawables[ae].to_dict())}return{name:this.name,prefs:this.prefs,obj_type:this.obj_type,drawables:af}},from_dict:function(ak,ae){var aj=new this.constructor(ak.name,view,ae,ak.prefs,view.viewport_container,view);var af,ai,ah;for(var ag=0;ag<ak.drawables.length;ag++){af=ak.drawables[ag];ai=af.obj_type;if(!ai){ai=af.track_type}ah=addable_objects[ai].prototype.from_dict(af,aj);aj.add_drawable(ah)}return aj},add_drawable:function(ae){this.drawables.push(ae);ae.container=this},add_drawable_before:function(ag,ae){var af=this.drawables.indexOf(ae);if(af!=-1){this.drawables.splice(af,0,ag);return true}return false},replace_drawable:function(ag,ae,af){var ah=this.drawables.indexOf(ag);if(ah!==-1){this.drawables[ah]=ae;if(af){ag.container_div.replaceWith(ae.container_div)}}return ah},remove_drawable:function(af){var ae=this.drawables.indexOf(af);if(ae!=-1){this.drawables.splice(ae,1);af.container=null;return true}return false},move_drawable:function(af,ag){var ae=this.drawables.indexOf(af);if(ae!=-1){this.drawables.splice(ae,1);this.drawables.splice(ag,0,af);return true}return false}});var P=function(ah,af,ae,ag){x.call(this,"DrawableGroup",ah,af,ae,ag,"group-handle");this.content_div=$("<div/>").addClass("content-div").attr("id","group_"+this.id+"_content_div").appendTo(this.container_div);l(this.container_div,this);l(this.content_div,this);m(this.container_div,this.drag_handle_class,".group",this)};p(P.prototype,q.prototype,x.prototype,{action_icons_def:[{name:"composite_icon",title:"Show composite track",css_class:"layers-stack",on_click_fn:function(ae){ae.show_composite_track()}}].concat(q.prototype.action_icons_def),build_container_div:function(){var ae=$("<div/>").addClass("group").attr("id","group_"+this.id);if(this.container){this.container.content_div.append(ae)}return ae},build_header_div:function(){var ae=$("<div/>").addClass("track-header");ae.append($("<div/>").addClass(this.drag_handle_class));this.name_div=$("<div/>").addClass("track-name").text(this.name).appendTo(ae);return ae},hide_contents:function(){this.content_div.hide()},show_contents:function(){this.content_div.show();this.request_draw()},update_icons:function(){var ag,ai=true,ah=this.drawables[0].get_type(),ae=0;for(var af=0;af<this.drawables.length;af++){ag=this.drawables[af];if(ag.get_type()!==ah){can_composite=false;break}if(ag instanceof d){ae++}}if(ai||ae===1){this.action_icons.composite_icon.show()}else{this.action_icons.composite_icon.hide();$(".tipsy").remove()}},show_composite_track:function(){var ae=new h("Composite Track",this.view,this,this.drawables);this.add_drawable(ae);ae.request_draw()},add_drawable:function(ae){x.prototype.add_drawable.call(this,ae);this.update_icons()},remove_drawable:function(ae){x.prototype.remove_drawable.call(this,ae);this.update_icons()},from_dict:function(ah,ae){var ag=x.prototype.from_dict.call(this,ah,ae);for(var af=0;af<ag.drawables.length;af++){ag.content_div.append(ag.drawables[af].container_div)}return ag}});var ab=function(ae,ah,ag,af){x.call(this,"View");this.container=ae;this.chrom=null;this.vis_id=ag;this.dbkey=af;this.title=ah;this.label_tracks=[];this.tracks_to_be_redrawn=[];this.max_low=0;this.max_high=0;this.zoom_factor=3;this.min_separation=30;this.has_changes=false;this.load_chroms_deferred=null;this.init();this.canvas_manager=new ad(ae.get(0).ownerDocument);this.reset()};p(ab.prototype,x.prototype,{init:function(){var ag=this.container,ae=this;this.top_container=$("<div/>").addClass("top-container").appendTo(ag);this.browser_content_div=$("<div/>").addClass("content").css("position","relative").appendTo(ag);this.bottom_container=$("<div/>").addClass("bottom-container").appendTo(ag);this.top_labeltrack=$("<div/>").addClass("top-labeltrack").appendTo(this.top_container);this.viewport_container=$("<div/>").addClass("viewport-container").attr("id","viewport-container").appendTo(this.browser_content_div);this.content_div=this.viewport_container;l(this.viewport_container,ae);this.intro_div=$("<div/>").addClass("intro").appendTo(this.viewport_container).hide();var ah=$("<div/>").text("Add Datasets to Visualization").addClass("action-button").appendTo(this.intro_div).click(function(){add_tracks()});this.nav_labeltrack=$("<div/>").addClass("nav-labeltrack").appendTo(this.bottom_container);this.nav_container=$("<div/>").addClass("nav-container").prependTo(this.top_container);this.nav=$("<div/>").addClass("nav").appendTo(this.nav_container);this.overview=$("<div/>").addClass("overview").appendTo(this.bottom_container);this.overview_viewport=$("<div/>").addClass("overview-viewport").appendTo(this.overview);this.overview_close=$("<a/>").attr("href","javascript:void(0);").attr("title","Close overview").addClass("icon-button overview-close tooltip").hide().appendTo(this.overview_viewport);this.overview_highlight=$("<div/>").addClass("overview-highlight").hide().appendTo(this.overview_viewport);this.overview_box_background=$("<div/>").addClass("overview-boxback").appendTo(this.overview_viewport);this.overview_box=$("<div/>").addClass("overview-box").appendTo(this.overview_viewport);this.default_overview_height=this.overview_box.height();this.nav_controls=$("<div/>").addClass("nav-controls").appendTo(this.nav);this.chrom_select=$("<select/>").attr({name:"chrom"}).css("width","15em").addClass("no-autocomplete").append("<option value=''>Loading</option>").appendTo(this.nav_controls);var af=function(ai){if(ai.type==="focusout"||(ai.keyCode||ai.which)===13||(ai.keyCode||ai.which)===27){if((ai.keyCode||ai.which)!==27){ae.go_to($(this).val())}$(this).hide();$(this).val("");ae.location_span.show();ae.chrom_select.show()}};this.nav_input=$("<input/>").addClass("nav-input").hide().bind("keyup focusout",af).appendTo(this.nav_controls);this.location_span=$("<span/>").addClass("location").attr("original-title","Click to change location").tipsy({gravity:"n"}).appendTo(this.nav_controls);this.location_span.click(function(){ae.location_span.hide();ae.chrom_select.hide();ae.nav_input.val(ae.chrom+":"+ae.low+"-"+ae.high);ae.nav_input.css("display","inline-block");ae.nav_input.select();ae.nav_input.focus()});if(this.vis_id!==undefined){this.hidden_input=$("<input/>").attr("type","hidden").val(this.vis_id).appendTo(this.nav_controls)}this.zo_link=$("<a/>").attr("id","zoom-out").attr("title","Zoom out").tipsy({gravity:"n"}).click(function(){ae.zoom_out();ae.request_redraw()}).appendTo(this.nav_controls);this.zi_link=$("<a/>").attr("id","zoom-in").attr("title","Zoom in").tipsy({gravity:"n"}).click(function(){ae.zoom_in();ae.request_redraw()}).appendTo(this.nav_controls);this.load_chroms_deferred=this.load_chroms({low:0});this.chrom_select.bind("change",function(){ae.change_chrom(ae.chrom_select.val())});this.browser_content_div.click(function(ai){$(this).find("input").trigger("blur")});this.browser_content_div.bind("dblclick",function(ai){ae.zoom_in(ai.pageX,this.viewport_container)});this.overview_box.bind("dragstart",function(ai,aj){this.current_x=aj.offsetX}).bind("drag",function(ai,ak){var al=ak.offsetX-this.current_x;this.current_x=ak.offsetX;var aj=Math.round(al/ae.viewport_container.width()*(ae.max_high-ae.max_low));ae.move_delta(-aj)});this.overview_close.click(function(){ae.reset_overview()});this.viewport_container.bind("draginit",function(ai,aj){if(ai.clientX>ae.viewport_container.width()-16){return false}}).bind("dragstart",function(ai,aj){aj.original_low=ae.low;aj.current_height=ai.clientY;aj.current_x=aj.offsetX}).bind("drag",function(ak,am){var ai=$(this);var an=am.offsetX-am.current_x;var aj=ai.scrollTop()-(ak.clientY-am.current_height);ai.scrollTop(aj);am.current_height=ak.clientY;am.current_x=am.offsetX;var al=Math.round(an/ae.viewport_container.width()*(ae.high-ae.low));ae.move_delta(al)}).bind("mousewheel",function(ak,am,aj,ai){if(aj){aj*=50;var al=Math.round(-aj/ae.viewport_container.width()*(ae.high-ae.low));ae.move_delta(al)}});this.top_labeltrack.bind("dragstart",function(ai,aj){return $("<div />").css({height:ae.browser_content_div.height()+ae.top_labeltrack.height()+ae.nav_labeltrack.height()+1,top:"0px",position:"absolute","background-color":"#ccf",opacity:0.5,"z-index":1000}).appendTo($(this))}).bind("drag",function(am,an){$(an.proxy).css({left:Math.min(am.pageX,an.startX),width:Math.abs(am.pageX-an.startX)});var aj=Math.min(am.pageX,an.startX)-ae.container.offset().left,ai=Math.max(am.pageX,an.startX)-ae.container.offset().left,al=(ae.high-ae.low),ak=ae.viewport_container.width();ae.update_location(Math.round(aj/ak*al)+ae.low,Math.round(ai/ak*al)+ae.low)}).bind("dragend",function(an,ao){var aj=Math.min(an.pageX,ao.startX),ai=Math.max(an.pageX,ao.startX),al=(ae.high-ae.low),ak=ae.viewport_container.width(),am=ae.low;ae.low=Math.round(aj/ak*al)+am;ae.high=Math.round(ai/ak*al)+am;$(ao.proxy).remove();ae.request_redraw()});this.add_label_track(new aa(this,{content_div:this.top_labeltrack}));this.add_label_track(new aa(this,{content_div:this.nav_labeltrack}));$(window).bind("resize",function(){ae.resize_window()});$(document).bind("redraw",function(){ae.redraw()});this.reset();$(window).trigger("resize")},update_intro_div:function(){if(this.drawables.length===0){this.intro_div.show()}else{this.intro_div.hide()}},update_location:function(ae,af){this.location_span.text(commatize(ae)+" - "+commatize(af));this.nav_input.val(this.chrom+":"+commatize(ae)+"-"+commatize(af))},load_chroms:function(ag){ag.num=v;ag.dbkey=this.dbkey;var ae=this,af=$.Deferred();$.ajax({url:chrom_url,data:ag,dataType:"json",success:function(ai){if(ai.chrom_info.length===0){alert("Invalid chromosome: "+ag.chrom);return}if(ai.reference){ae.add_label_track(new z(ae))}ae.chrom_data=ai.chrom_info;var al='<option value="">Select Chrom/Contig</option>';for(var ak=0,ah=ae.chrom_data.length;ak<ah;ak++){var aj=ae.chrom_data[ak].chrom;al+='<option value="'+aj+'">'+aj+"</option>"}if(ai.prev_chroms){al+='<option value="previous">Previous '+v+"</option>"}if(ai.next_chroms){al+='<option value="next">Next '+v+"</option>"}ae.chrom_select.html(al);ae.chrom_start_index=ai.start_index;af.resolve(ai)},error:function(){alert("Could not load chroms for this dbkey:",ae.dbkey)}});return af},change_chrom:function(aj,af,al){if(!aj||aj==="None"){return}var ag=this;if(aj==="previous"){ag.load_chroms({low:this.chrom_start_index-v});return}if(aj==="next"){ag.load_chroms({low:this.chrom_start_index+v});return}var ak=$.grep(ag.chrom_data,function(am,an){return am.chrom===aj})[0];if(ak===undefined){ag.load_chroms({chrom:aj},function(){ag.change_chrom(aj,af,al)});return}else{if(aj!==ag.chrom){ag.chrom=aj;ag.chrom_select.val(ag.chrom);ag.max_high=ak.len-1;ag.reset();ag.request_redraw(true);for(var ai=0,ae=ag.drawables.length;ai<ae;ai++){var ah=ag.drawables[ai];if(ah.init){ah.init()}}}if(af!==undefined&&al!==undefined){ag.low=Math.max(af,0);ag.high=Math.min(al,ag.max_high)}ag.reset_overview();ag.request_redraw()}},go_to:function(ai){ai=ai.replace(/ |,/g,"");var am=this,ae,ah,af=ai.split(":"),ak=af[0],al=af[1];if(al!==undefined){try{var aj=al.split("-");ae=parseInt(aj[0],10);ah=parseInt(aj[1],10)}catch(ag){return false}}am.change_chrom(ak,ae,ah)},move_fraction:function(ag){var ae=this;var af=ae.high-ae.low;this.move_delta(ag*af)},move_delta:function(ag){var ae=this;var af=ae.high-ae.low;if(ae.low-ag<ae.max_low){ae.low=ae.max_low;ae.high=ae.max_low+af}else{if(ae.high-ag>ae.max_high){ae.high=ae.max_high;ae.low=ae.max_high-af}else{ae.high-=ag;ae.low-=ag}}ae.request_redraw()},add_drawable:function(ae){x.prototype.add_drawable.call(this,ae);ae.init();this.has_changes=true;this.update_intro_div()},add_label_track:function(ae){ae.view=this;ae.init();this.label_tracks.push(ae)},remove_drawable:function(ag,af){x.prototype.remove_drawable.call(this,ag);if(af){var ae=this;ag.container_div.hide(0,function(){$(this).remove();ae.update_intro_div()});this.has_changes=true}},reset:function(){this.low=this.max_low;this.high=this.max_high;this.viewport_container.find(".yaxislabel").remove()},request_redraw:function(am,ae,al,af){var ak=this,ai=(af?[af]:ak.drawables),ag;var af;for(var aj=0;aj<ai.length;aj++){af=ai[aj];ag=-1;for(var ah=0;ah<ak.tracks_to_be_redrawn.length;ah++){if(ak.tracks_to_be_redrawn[ah][0]===af){ag=ah;break}}if(ag<0){ak.tracks_to_be_redrawn.push([af,ae,al])}else{ak.tracks_to_be_redrawn[aj][1]=ae;ak.tracks_to_be_redrawn[aj][2]=al}}requestAnimationFrame(function(){ak._redraw(am)})},_redraw:function(ao){var al=this.low,ah=this.high;if(al<this.max_low){al=this.max_low}if(ah>this.max_high){ah=this.max_high}var an=this.high-this.low;if(this.high!==0&&an<this.min_separation){ah=al+this.min_separation}this.low=Math.floor(al);this.high=Math.ceil(ah);this.resolution=Math.pow(A,Math.ceil(Math.log((this.high-this.low)/Q)/Math.log(A)));this.zoom_res=Math.pow(u,Math.max(0,Math.ceil(Math.log(this.resolution,u)/Math.log(u))));var ae=(this.low/(this.max_high-this.max_low)*this.overview_viewport.width())||0;var ak=((this.high-this.low)/(this.max_high-this.max_low)*this.overview_viewport.width())||0;var ap=13;this.overview_box.css({left:ae,width:Math.max(ap,ak)}).show();if(ak<ap){this.overview_box.css("left",ae-(ap-ak)/2)}if(this.overview_highlight){this.overview_highlight.css({left:ae,width:ak})}this.update_location(this.low,this.high);if(!ao){var ag,af,am;for(var ai=0,aj=this.tracks_to_be_redrawn.length;ai<aj;ai++){ag=this.tracks_to_be_redrawn[ai][0];af=this.tracks_to_be_redrawn[ai][1];am=this.tracks_to_be_redrawn[ai][2];if(ag){ag._draw(af,am)}}this.tracks_to_be_redrawn=[];for(ai=0,aj=this.label_tracks.length;ai<aj;ai++){this.label_tracks[ai]._draw()}}},zoom_in:function(af,ag){if(this.max_high===0||this.high-this.low<this.min_separation){return}var ah=this.high-this.low,ai=ah/2+this.low,ae=(ah/this.zoom_factor)/2;if(af){ai=af/this.viewport_container.width()*(this.high-this.low)+this.low}this.low=Math.round(ai-ae);this.high=Math.round(ai+ae);this.request_redraw()},zoom_out:function(){if(this.max_high===0){return}var af=this.high-this.low,ag=af/2+this.low,ae=(af*this.zoom_factor)/2;this.low=Math.round(ag-ae);this.high=Math.round(ag+ae);this.request_redraw()},resize_window:function(){this.viewport_container.height(this.container.height()-this.top_container.height()-this.bottom_container.height());this.request_redraw()},set_overview:function(ag){if(this.overview_drawable){if(this.overview_drawable.dataset_id===ag.dataset_id){return}this.overview_viewport.find(".track").remove()}var af=ag.copy({content_div:this.overview_viewport}),ae=this;af.header_div.hide();af.is_overview=true;ae.overview_drawable=af;this.overview_drawable.postdraw_actions=function(){ae.overview_highlight.show().height(ae.overview_drawable.content_div.height());ae.overview_viewport.height(ae.overview_drawable.content_div.height()+ae.overview_box.outerHeight());ae.overview_close.show();ae.resize_window()};ae.overview_drawable.request_draw();ae.has_changes=true},reset_overview:function(){$(".tipsy").remove();this.overview_viewport.find(".track-tile").remove();this.overview_viewport.height(this.default_overview_height);this.overview_box.height(this.default_overview_height);this.overview_close.hide();this.overview_highlight.hide();view.resize_window();view.overview_drawable=null}});var r=function(ag,ak){this.track=ag;this.name=ak.name;this.params=[];var ar=ak.params;for(var ah=0;ah<ar.length;ah++){var am=ar[ah],af=am.name,aq=am.label,ai=unescape(am.html),at=am.value,ao=am.type;if(ao==="number"){this.params[this.params.length]=new f(af,aq,ai,at,am.min,am.max)}else{if(ao=="select"){this.params[this.params.length]=new N(af,aq,ai,at)}else{console.log("WARNING: unrecognized tool parameter type:",af,ao)}}}this.parent_div=$("<div/>").addClass("dynamic-tool").hide();this.parent_div.bind("drag",function(av){av.stopPropagation()}).click(function(av){av.stopPropagation()}).bind("dblclick",function(av){av.stopPropagation()});var ap=$("<div class='tool-name'>").appendTo(this.parent_div).text(this.name);var an=this.params;var al=this;$.each(this.params,function(aw,az){var ay=$("<div>").addClass("param-row").appendTo(al.parent_div);var av=$("<div>").addClass("param-label").text(az.label).appendTo(ay);var ax=$("<div/>").addClass("param-input").html(az.html).appendTo(ay);ax.find(":input").val(az.value);$("<div style='clear: both;'/>").appendTo(ay)});this.parent_div.find("input").click(function(){$(this).select()});var au=$("<div>").addClass("param-row").appendTo(this.parent_div);var aj=$("<input type='submit'>").attr("value","Run on complete dataset").appendTo(au);var ae=$("<input type='submit'>").attr("value","Run on visible region").css("margin-left","3em").appendTo(au);var al=this;ae.click(function(){al.run_on_region()});aj.click(function(){al.run_on_dataset()})};p(r.prototype,{get_param_values_dict:function(){var ae={};this.parent_div.find(":input").each(function(){var af=$(this).attr("name"),ag=$(this).val();ae[af]=JSON.stringify(ag)});return ae},get_param_values:function(){var af=[];var ae={};this.parent_div.find(":input").each(function(){var ag=$(this).attr("name"),ah=$(this).val();if(ag){af[af.length]=ah}});return af},run_on_dataset:function(){var ae=this;ae.run({dataset_id:this.track.original_dataset_id,tool_id:ae.name},null,function(af){show_modal(ae.name+" is Running",ae.name+" is running on the complete dataset. Tool outputs are in dataset's history.",{Close:hide_modal})})},run_on_region:function(){var af={dataset_id:this.track.original_dataset_id,chrom:this.track.view.chrom,low:this.track.view.low,high:this.track.view.high,tool_id:this.name},aj=this.track,ag=af.tool_id+aj.tool_region_and_parameters_str(af.chrom,af.low,af.high),ae;if(aj.container===view){var ai=new P(this.name,this.track.view);var ah=aj.container.replace_drawable(aj,ai,false);ai.container_div.insertBefore(aj.view.content_div.children()[ah]);ai.add_drawable(aj);aj.container_div.appendTo(ai.content_div);ae=ai}else{ae=aj.container}var ak=new aj.constructor(ag,view,ae,"hda");ak.init_for_tool_data();ak.change_mode(aj.mode);ae.add_drawable(ak);ak.content_div.text("Starting job.");this.run(af,ak,function(al){ak.dataset_id=al.dataset_id;ak.content_div.text("Running job.");ak.init()})},run:function(af,ag,ah){$.extend(af,this.get_param_values_dict());var ae=function(){$.getJSON(rerun_tool_url,af,function(ai){if(ai==="no converter"){ag.container_div.addClass("error");ag.content_div.text(J)}else{if(ai.error){ag.container_div.addClass("error");ag.content_div.text(w+ai.message)}else{if(ai==="pending"){ag.container_div.addClass("pending");ag.content_div.text("Converting input data so that it can be used quickly with tool.");setTimeout(ae,2000)}else{ah(ai)}}}})};ae()}});var N=function(af,ae,ag,ah){this.name=af;this.label=ae;this.html=ag;this.value=ah};var f=function(ag,af,ai,aj,ah,ae){N.call(this,ag,af,ai,aj);this.min=ah;this.max=ae};var g=function(af,ae,ag,ah){this.name=af;this.index=ae;this.tool_id=ag;this.tool_exp_name=ah};var U=function(af,ae,ag,ah){g.call(this,af,ae,ag,ah);this.low=-Number.MAX_VALUE;this.high=Number.MAX_VALUE;this.min=Number.MAX_VALUE;this.max=-Number.MAX_VALUE;this.container=null;this.slider=null;this.slider_label=null};p(U.prototype,{applies_to:function(ae){if(ae.length>this.index){return true}return false},keep:function(ae){if(!this.applies_to(ae)){return true}var af=ae[this.index];return(isNaN(af)||(af>=this.low&&af<=this.high))},update_attrs:function(af){var ae=false;if(!this.applies_to(af)){return ae}if(af[this.index]<this.min){this.min=Math.floor(af[this.index]);ae=true}if(af[this.index]>this.max){this.max=Math.ceil(af[this.index]);ae=true}return ae},update_ui_elt:function(){if(this.min!=this.max){this.container.show()}else{this.container.hide()}var ag=function(aj,ah){var ai=ah-aj;return(ai<=2?0.01:1)};var af=this.slider.slider("option","min"),ae=this.slider.slider("option","max");if(this.min<af||this.max>ae){this.slider.slider("option","min",this.min);this.slider.slider("option","max",this.max);this.slider.slider("option","step",ag(this.min,this.max));this.slider.slider("option","values",[this.min,this.max])}}});var Z=function(ag,ap){this.track=ag;this.filters=[];for(var ak=0;ak<ap.length;ak++){var ae=ap[ak],af=ae.name,ao=ae.type,am=ae.index,ar=ae.tool_id,ah=ae.tool_exp_name;if(ao==="int"||ao==="float"){this.filters[ak]=new U(af,am,ar,ah)}else{console.log("ERROR: unsupported filter: ",af,ao)}}var an=function(at,au,av){at.click(function(){var aw=au.text();max=parseFloat(av.slider("option","max")),input_size=(max<=1?4:max<=1000000?max.toString().length:6),multi_value=false;if(av.slider("option","values")){input_size=2*input_size+1;multi_value=true}au.text("");$("<input type='text'/>").attr("size",input_size).attr("maxlength",input_size).attr("value",aw).appendTo(au).focus().select().click(function(ax){ax.stopPropagation()}).blur(function(){$(this).remove();au.text(aw)}).keyup(function(aB){if(aB.keyCode===27){$(this).trigger("blur")}else{if(aB.keyCode===13){var az=av.slider("option","min"),ax=av.slider("option","max"),aA=function(aC){return(isNaN(aC)||aC>ax||aC<az)},ay=$(this).val();if(!multi_value){ay=parseFloat(ay);if(aA(ay)){alert("Parameter value must be in the range ["+az+"-"+ax+"]");return $(this)}}else{ay=ay.split("-");ay=[parseFloat(ay[0]),parseFloat(ay[1])];if(aA(ay[0])||aA(ay[1])){alert("Parameter value must be in the range ["+az+"-"+ax+"]");return $(this)}}av.slider((multi_value?"values":"value"),ay)}}})})};this.parent_div=$("<div/>").addClass("filters").hide();this.parent_div.bind("drag",function(at){at.stopPropagation()}).click(function(at){at.stopPropagation()}).bind("dblclick",function(at){at.stopPropagation()}).bind("keydown",function(at){at.stopPropagation()});var ai=this;$.each(this.filters,function(az,au){au.container=$("<div/>").addClass("filter-row slider-row").appendTo(ai.parent_div);var at=$("<div/>").addClass("elt-label").appendTo(au.container);var aC=$("<span/>").addClass("slider-name").text(au.name+" ").appendTo(at);var av=$("<span/>");var aw=$("<span/>").addClass("slider-value").appendTo(at).append("[").append(av).append("]");var aB=$("<div/>").addClass("slider").appendTo(au.container);au.control_element=$("<div/>").attr("id",au.name+"-filter-control").appendTo(aB);var ax=[0,0];au.control_element.slider({range:true,min:Number.MAX_VALUE,max:-Number.MIN_VALUE,values:[0,0],slide:function(aF,aG){var aE=aG.values;av.text(aE[0]+"-"+aE[1]);au.low=aE[0];au.high=aE[1];ai.track.request_draw(true,true)},change:function(aE,aF){au.control_element.slider("option","slide").call(au.control_element,aE,aF)}});au.slider=au.control_element;au.slider_label=av;an(aw,av,au.control_element);var aD=$("<div/>").addClass("display-controls").appendTo(au.container),ay=create_action_icon("Use filter for data transparency","layer-transparent",function(){if(ai.alpha_filter!==au){ai.alpha_filter=au;$(".layer-transparent").removeClass("active").hide();ay.addClass("active").show()}else{ai.alpha_filter=null;ay.removeClass("active")}ai.track.request_draw(true,true)}).appendTo(aD).hide(),aA=create_action_icon("Use filter for data height","arrow-resize-090",function(){if(ai.height_filter!==au){ai.height_filter=au;$(".arrow-resize-090").removeClass("active").hide();aA.addClass("active").show()}else{ai.height_filter=null;aA.removeClass("active")}ai.track.request_draw(true,true)}).appendTo(aD).hide();au.container.hover(function(){ay.show();aA.show()},function(){if(ai.alpha_filter!==au){ay.hide()}if(ai.height_filter!==au){aA.hide()}});$("<div style='clear: both;'/>").appendTo(au.container)});if(this.filters.length!==0){var aq=$("<div/>").addClass("param-row").appendTo(this.parent_div);var al=$("<input type='submit'/>").attr("value","Run on complete dataset").appendTo(aq);var aj=this;al.click(function(){aj.run_on_dataset()})}};p(Z.prototype,{reset_filters:function(){for(var ae=0;ae<this.filters.length;ae++){filter=this.filters[ae];filter.slider.slider("option","values",[filter.min,filter.max])}this.alpha_filter=null;this.height_filter=null},run_on_dataset:function(){var am=function(aq,ao,ap){if(!(ao in aq)){aq[ao]=ap}return aq[ao]};var ag={},ae,af,ah;for(var ai=0;ai<this.filters.length;ai++){ae=this.filters[ai];if(ae.tool_id){if(ae.min!=ae.low){af=am(ag,ae.tool_id,[]);af[af.length]=ae.tool_exp_name+" >= "+ae.low}if(ae.max!=ae.high){af=am(ag,ae.tool_id,[]);af[af.length]=ae.tool_exp_name+" <= "+ae.high}}}var ak=[];for(var an in ag){ak[ak.length]=[an,ag[an]]}var al=ak.length;(function aj(av,ar){var ap=ar[0],aq=ap[0],au=ap[1],at="("+au.join(") and (")+")",ao={cond:at,input:av,target_dataset_id:av,tool_id:aq},ar=ar.slice(1);$.getJSON(run_tool_url,ao,function(aw){if(aw.error){show_modal("Filter Dataset","Error running tool "+aq,{Close:hide_modal})}else{if(ar.length===0){show_modal("Filtering Dataset","Filter(s) are running on the complete dataset. Outputs are in dataset's history.",{Close:hide_modal})}else{aj(aw.dataset_id,ar)}}})})(this.track.dataset_id,ak)}});var B=function(ae,af){L.Scaler.call(this,af);this.filter=ae};B.prototype.gen_val=function(ae){if(this.filter.high===Number.MAX_VALUE||this.filter.low===-Number.MAX_VALUE||this.filter.low===this.filter.high){return this.default_val}return((parseFloat(ae[this.filter.index])-this.filter.low)/(this.filter.high-this.filter.low))};var E=function(ae){this.track=ae.track;this.params=ae.params;this.values={};this.restore_values((ae.saved_values?ae.saved_values:{}));this.onchange=ae.onchange};p(E.prototype,{restore_values:function(ae){var af=this;$.each(this.params,function(ag,ah){if(ae[ah.key]!==undefined){af.values[ah.key]=ae[ah.key]}else{af.values[ah.key]=ah.default_value}})},build_form:function(){var ah=this;var ae=$("<div />");var ag;function af(ak,ai){for(var am=0;am<ak.length;am++){ag=ak[am];if(ag.hidden){continue}var aj="param_"+am;var aq=ah.values[ag.key];var ar=$("<div class='form-row' />").appendTo(ai);ar.append($("<label />").attr("for",aj).text(ag.label+":"));if(ag.type==="bool"){ar.append($('<input type="checkbox" />').attr("id",aj).attr("name",aj).attr("checked",aq))}else{if(ag.type==="text"){ar.append($('<input type="text"/>').attr("id",aj).val(aq).click(function(){$(this).select()}))}else{if(ag.type=="select"){var ao=$("<select />").attr("id",aj);for(var al=0;al<ag.options.length;al++){$("<option/>").text(ag.options[al].label).attr("value",ag.options[al].value).appendTo(ao)}ao.val(aq);ar.append(ao)}else{if(ag.type==="color"){var an=$("<input />").attr("id",aj).attr("name",aj).val(aq);var ap=$("<div class='tipsy tipsy-west' style='position: absolute;' />").hide();(function(at,au){var aw=$("<div style='background-color: black; padding: 10px;'></div>").appendTo(au);var av=$("<div/>").appendTo(aw).farbtastic({width:100,height:100,callback:at,color:aq});$("<div />").append(at).append(au).appendTo(ar).bind("click",function(ax){$(".tipsy").hide();au.css({left:$(this).position().left+$(at).width()+5,top:$(this).position().top-($(au).height()/2)+($(at).height()/2)}).show();$(document).bind("click.color-picker",function(){au.hide();$(document).unbind("click.color-picker")});ax.stopPropagation()})})(an,ap)}else{ar.append($("<input />").attr("id",aj).attr("name",aj).val(aq))}}}}if(ag.help){ar.append($("<div class='help'/>").text(ag.help))}}}af(this.params,ae);return ae},update_from_form:function(ae){var ag=this;var af=false;$.each(this.params,function(ah,aj){if(!aj.hidden){var ak="param_"+ah;var ai=ae.find("#"+ak).val();if(aj.type==="float"){ai=parseFloat(ai)}else{if(aj.type==="int"){ai=parseInt(ai)}else{if(aj.type==="bool"){ai=ae.find("#"+ak).is(":checked")}}}if(ai!==ag.values[aj.key]){ag.values[aj.key]=ai;af=true}}});if(af){this.onchange()}}});var b=function(ae,ah,ag,af,ai){this.track=ae;this.index=ah;this.low=ah*Q*ag;this.high=(ah+1)*Q*ag;this.resolution=ag;this.html_elt=$("<div class='track-tile'/>").append(af);this.data=ai;this.stale=false};b.prototype.predisplay_actions=function(){};var k=function(ae,ah,ag,af,ai,aj){b.call(this,ae,ah,ag,af,ai);this.max_val=aj};p(k.prototype,b.prototype);var O=function(ah,am,ai,ag,ak,ar,al,at,af,ap){b.call(this,ah,am,ai,ag,ak);this.mode=al;this.feature_mapper=ap;this.has_icons=false;if(at||!af){this.has_icons=true;var an=this;ag=this.html_elt.children()[0],message_div=$("<div/>").addClass("tile-message").css({height:C-1,width:ag.width}).prependTo(this.html_elt);if(!af){var ao=$("<a href='javascript:void(0);'/>").addClass("icon exclamation").attr("title","To minimize track height, not all features in this region are displayed. Click to display more.").tipsy({gravity:"s"}).appendTo(message_div).click(function(){$(".tipsy").hide();an.track.slotters[ar].max_rows*=2;an.track.request_draw(true)})}if(at){var aq=ak.length,aj=$("<a href='javascript:void(0);'/>").addClass("icon more-down").attr("title","For speed, only the first "+aq+" features in this region were obtained from server. Click to get more data including depth").tipsy({gravity:"s"}).appendTo(message_div),ae=$("<a href='javascript:void(0);'/>").addClass("icon more-across").attr("title","For speed, only the first "+aq+" features in this region were obtained from server. Click to get more data excluding depth").tipsy({gravity:"s"}).appendTo(message_div);aj.click(function(){an.stale=true;ah.data_manager.get_more_data(an.low,an.high,ah.mode,an.resolution,{},ah.data_manager.DEEP_DATA_REQ);$(".tipsy").hide();ah.request_draw()}).dblclick(function(au){au.stopPropagation()});ae.click(function(){an.stale=true;ah.data_manager.get_more_data(an.low,an.high,ah.mode,an.resolution,{},ah.data_manager.BROAD_DATA_REQ);$(".tipsy").hide();ah.request_draw()}).dblclick(function(au){au.stopPropagation()})}}};p(O.prototype,b.prototype);O.prototype.predisplay_actions=function(){var af=this,ae={};if(af.mode!=="Pack"){return}$(this.html_elt).hover(function(){this.hovered=true;$(this).mousemove()},function(){this.hovered=false;$(this).siblings(".feature-popup").remove()}).mousemove(function(aq){if(!this.hovered){return}var al=$(this).offset(),ap=aq.pageX-al.left,ao=aq.pageY-al.top,av=af.feature_mapper.get_feature_data(ap,ao),am=(av?av[0]:null);$(this).siblings(".feature-popup").each(function(){if(!am||$(this).attr("id")!==am.toString()){$(this).remove()}});if(av){var ah=ae[am];if(!ah){var am=av[0],ar={name:av[3],start:av[1],end:av[2],strand:av[4]},ak=af.track.filters_manager.filters,aj;for(var an=0;an<ak.length;an++){aj=ak[an];ar[aj.name]=av[aj.index]}var ah=$("<div/>").attr("id",am).addClass("feature-popup"),aw=$("<table/>"),au,at,ax;for(au in ar){at=ar[au];ax=$("<tr/>").appendTo(aw);$("<th/>").appendTo(ax).text(au);$("<td/>").attr("align","left").appendTo(ax).text(typeof(at)=="number"?Y(at,2):at)}ah.append($("<div class='feature-popup-inner'>").append(aw));ae[am]=ah}ah.appendTo($(af.html_elt).parent());var ai=ap+parseInt(af.html_elt.css("left"))-ah.width()/2,ag=ao+parseInt(af.html_elt.css("top"))+7;ah.css("left",ai+"px").css("top",ag+"px")}else{if(!aq.isPropagationStopped()){aq.stopPropagation();$(this).siblings().each(function(){$(this).trigger(aq)})}}}).mouseleave(function(){$(this).siblings(".feature-popup").remove()})};var i=function(ah,af,ae,ag,aj,ai,ak){q.call(this,ah,af,ae,{},"draghandle");this.data_url=(ai?ai:default_data_url);this.data_url_extra_params={};this.data_query_wait=(ak?ak:K);this.dataset_check_url=converted_datasets_state_url;this.data_manager=(aj?aj:new S(H,this));this.content_div=$("<div class='track-content'>").appendTo(this.container_div);if(this.container){this.container.content_div.append(this.container_div)}};p(i.prototype,q.prototype,{action_icons_def:[{name:"mode_icon",title:"Set display mode",css_class:"chevron-expand",on_click_fn:function(){}},q.prototype.action_icons_def[0],{name:"overview_icon",title:"Set as overview",css_class:"overview-icon",on_click_fn:function(ae){ae.view.set_overview(ae)}},q.prototype.action_icons_def[1],{name:"filters_icon",title:"Filters",css_class:"filters-icon",on_click_fn:function(ae){ae.filters_div.toggle();ae.filters_manager.reset_filters()}},{name:"tools_icon",title:"Tools",css_class:"tools-icon",on_click_fn:function(ae){ae.dynamic_tool_div.toggle();if(ae.dynamic_tool_div.is(":visible")){ae.set_name(ae.name+ae.tool_region_and_parameters_str())}else{ae.revert_name()}$(".tipsy").remove()}},q.prototype.action_icons_def[2]],can_draw:function(){if(this.dataset_id&&q.prototype.can_draw.call(this)){return true}return false},build_container_div:function(){return $("<div/>").addClass("track").attr("id","track_"+this.id).css("position","relative")},build_header_div:function(){var ae=$("<div class='track-header'/>");if(this.view.editor){this.drag_div=$("<div/>").addClass(this.drag_handle_class).appendTo(ae)}this.name_div=$("<div/>").addClass("track-name").appendTo(ae).text(this.name).attr("id",this.name.replace(/\s+/g,"-").replace(/[^a-zA-Z0-9\-]/g,"").toLowerCase());return ae},build_action_icons:function(){q.prototype.build_action_icons.call(this,this.action_icons_def);var af=this;if(af.display_modes!==undefined){var aj=(af.config&&af.config.values.mode?af.config.values.mode:af.display_modes[0]);af.mode=aj;this.action_icons.mode_icon.attr("title","Set display mode (now: "+af.mode+")");var ah={};for(var ag=0,ae=af.display_modes.length;ag<ae;ag++){var ai=af.display_modes[ag];ah[ai]=function(ak){return function(){af.change_mode(ak);af.icons_div.show();af.container_div.mouseleave(function(){af.icons_div.hide()})}}(ai)}make_popupmenu(this.action_icons.mode_icon,ah)}},hide_contents:function(){this.content_div.children().remove();this.content_div.hide();this.container_div.find(".yaxislabel, .track-resize").hide()},show_contents:function(){this.content_div.show();this.container_div.find(".yaxislabel, .track-resize").show();this.request_draw()},get_type:function(){if(this instanceof aa){return"LabelTrack"}else{if(this instanceof z){return"ReferenceTrack"}else{if(this instanceof j){return"LineTrack"}else{if(this instanceof V){return"ReadTrack"}else{if(this instanceof T){return"VcfTrack"}else{if(this instanceof h){return"CompositeTrack"}else{if(this instanceof d){return"FeatureTrack"}}}}}}}return""},init:function(){var ae=this;ae.enabled=false;ae.tile_cache.clear();ae.data_manager.clear();ae.content_div.css("height","auto");ae.content_div.children().remove();ae.container_div.removeClass("nodata error pending");if(!ae.dataset_id){return}$.getJSON(converted_datasets_state_url,{hda_ldda:ae.hda_ldda,dataset_id:ae.dataset_id,chrom:ae.view.chrom},function(af){if(!af||af==="error"||af.kind==="error"){ae.container_div.addClass("error");ae.content_div.text(o);if(af.message){var ag=$(" <a href='javascript:void(0);'></a>").text("View error").click(function(){show_modal("Trackster Error","<pre>"+af.message+"</pre>",{Close:hide_modal})});ae.content_div.append(ag)}}else{if(af==="no converter"){ae.container_div.addClass("error");ae.content_div.text(J)}else{if(af==="no data"||(af.data!==undefined&&(af.data===null||af.data.length===0))){ae.container_div.addClass("nodata");ae.content_div.text(D)}else{if(af==="pending"){ae.container_div.addClass("pending");ae.content_div.text(t);setTimeout(function(){ae.init()},ae.data_query_wait)}else{if(af.status==="data"){if(af.valid_chroms){ae.valid_chroms=af.valid_chroms;ae.update_icons()}ae.content_div.text(X);if(ae.view.chrom){ae.content_div.text("");ae.content_div.css("height",ae.height_px+"px");ae.enabled=true;$.when(ae.predraw_init()).done(function(){ae.container_div.removeClass("nodata error pending");ae.request_draw()})}}}}}}});this.update_icons()},predraw_init:function(){}});var M=function(ai,ag,af,ah,al,ak,aj){i.call(this,ai,ag,af,ah,aj);var ae=this,ag=ae.view;m(ae.container_div,ae.drag_handle_class,".group",ae);this.filters_manager=new Z(this,(al!==undefined?al:{}));this.filters_available=false;this.filters_visible=false;this.tool=(ak!==undefined&&obj_length(ak)>0?new r(this,ak):undefined);this.tile_cache=new c(R);if(this.header_div){if(this.filters_manager){this.filters_div=this.filters_manager.parent_div;this.header_div.after(this.filters_div)}if(this.tool){this.dynamic_tool_div=this.tool.parent_div;this.header_div.after(this.dynamic_tool_div)}}};p(M.prototype,q.prototype,i.prototype,{copy:function(ae){var af=new this.constructor(this.name,this.view,ae,this.hda_ldda,this.dataset_id,this.prefs,this.filters,this.tool,this.data_manager);af.change_mode(this.mode);af.enabled=this.enabled;return af},to_dict:function(){return{track_type:this.get_type(),name:this.name,hda_ldda:this.hda_ldda,dataset_id:this.dataset_id,prefs:this.prefs,mode:this.mode,}},from_dict:function(ag,af){var ae=new this.constructor(ag.name,view,af,ag.hda_ldda,ag.dataset_id,ag.prefs,ag.filters,ag.tool);if(ag.mode){ae.change_mode(ag.mode)}return ae},change_mode:function(af){var ae=this;ae.mode=af;ae.config.values.mode=af;ae.tile_cache.clear();ae.request_draw();this.action_icons.mode_icon.attr("title","Set display mode (now: "+ae.mode+")");return ae},update_icons:function(){var ae=this;if(ae.filters_available){ae.action_icons.filters_icon.show()}else{ae.action_icons.filters_icon.hide()}if(ae.tool){ae.action_icons.tools_icon.show()}else{ae.action_icons.tools_icon.hide()}},_gen_tile_cache_key:function(af,ag,ae){return af+"_"+ag+"_"+ae},request_draw:function(af,ae){this.view.request_redraw(false,af,ae,this)},_draw:function(ag,aq){if(!this.can_draw()){return}var ao=this.view.low,ak=this.view.high,am=ak-ao,ah=this.view.container.width(),au=ah/am,aj=this.view.resolution,at=this.content_div;if(this.is_overview){ao=this.view.max_low;ak=this.view.max_high;aj=Math.pow(A,Math.ceil(Math.log((view.max_high-view.max_low)/Q)/Math.log(A)));au=ah/(view.max_high-view.max_low)}if(!aq){this.content_div.children().addClass("remove")}this.max_height=0;var af=Math.floor(ao/aj/Q);var an=true;var ar=[];var ae=0;var al=function(av){return(av&&"track" in av)};while((af*Q*aj)<ak){var ap=this.draw_helper(ag,ah,af,aj,at,au);if(al(ap)){ar.push(ap)}else{an=false}af+=1;ae++}if(!aq){this.content_div.children(".remove").remove()}var ai=this;if(an){ai.postdraw_actions(ar,ah,au,aq)}},postdraw_actions:function(ah,ai,ak,ae){var ag=this;var aj=false;for(var af=0;af<ah.length;af++){if(ah[af].has_icons){aj=true;break}}if(aj){for(var af=0;af<ah.length;af++){tile=ah[af];if(!tile.has_icons){tile.html_elt.css("padding-top",C)}}}},draw_helper:function(ae,aq,aw,au,aj,ak,ar){var ap=this,az=this._gen_tile_cache_key(aq,ak,aw),ax=aw*Q*au,af=ax+Q*au;if(!ar){ar={}}var ay=(ae?undefined:ap.tile_cache.get(az));if(ay){ap.show_tile(ay,aj,ak);return ay}var an=true;var av=ap.data_manager.get_data(ax,af,ap.mode,au,ap.data_url_extra_params);if(is_deferred(av)){an=false}var al;if(view.reference_track&&ak>view.canvas_manager.char_width_px){al=view.reference_track.data_manager.get_data(ax,af,ap.mode,au,view.reference_track.data_url_extra_params);if(is_deferred(al)){an=false}}if(an){p(av,ar.more_tile_data);var am=ap.mode;if(am==="Auto"){am=ap.get_mode(av);ap.update_auto_mode(am)}var ag=ap.view.canvas_manager.new_canvas(),ah=ap._get_tile_bounds(aw,au),ax=ah[0],af=ah[1],aq=Math.ceil((af-ax)*ak)+ap.left_offset,ao=ap.get_canvas_height(av,am,ak,aq);ag.width=aq;ag.height=ao;var at=ag.getContext("2d");at.translate(this.left_offset,0);var ay=ap.draw_tile(av,at,am,au,aw,ak,al);if(ay!==undefined){ap.tile_cache.set(az,ay);ap.show_tile(ay,aj,ak)}return ay}var ai=$.Deferred();$.when(av,al).then(function(){view.request_redraw(false,false,false,ap);ai.resolve()});return ai},get_canvas_height:function(ae,ag,ah,af){return this.height_px},draw_tile:function(ae,ag,aj,ai,af,ak,ah){console.log("Warning: TiledTrack.draw_tile() not implemented.")},show_tile:function(ag,ai,aj){var af=this,ae=ag.html_elt;ag.predisplay_actions();var ah=(ag.low-(this.is_overview?this.view.max_low:this.view.low))*aj;if(this.left_offset){ah-=this.left_offset}ae.css({position:"absolute",top:0,left:ah,height:""});if(ae.hasClass("remove")){ae.removeClass("remove")}else{ai.append(ae)}af.max_height=Math.max(af.max_height,ae.height());af.content_div.css("height",af.max_height+"px");ai.children().css("height",af.max_height+"px")},_get_tile_bounds:function(ae,af){var ah=ae*Q*af,ai=Q*af,ag=(ah+ai<=this.view.max_high?ah+ai:this.view.max_high);return[ah,ag]},tool_region_and_parameters_str:function(ag,ae,ah){var af=this,ai=(ag!==undefined&&ae!==undefined&&ah!==undefined?ag+":"+ae+"-"+ah:"all");return" - region=["+ai+"], parameters=["+af.tool.get_param_values().join(", ")+"]"},data_and_mode_compatible:function(ae,af){return true},init_for_tool_data:function(){this.data_url=raw_data_url;this.data_query_wait=1000;this.dataset_check_url=dataset_state_url;this.predraw_init=function(){var af=this;var ae=function(){if(af.data_manager.size()===0){setTimeout(ae,300)}else{af.data_url=default_data_url;af.data_query_wait=K;af.dataset_state_url=converted_datasets_state_url;$.getJSON(af.dataset_state_url,{dataset_id:af.dataset_id,hda_ldda:af.hda_ldda},function(ag){})}};ae()}}});var aa=function(af,ae){i.call(this,"label",af,ae,false,{});this.container_div.addClass("label-track")};p(aa.prototype,i.prototype,{build_header_div:function(){},init:function(){this.enabled=true},_draw:function(){var ag=this.view,ah=ag.high-ag.low,ak=Math.floor(Math.pow(10,Math.floor(Math.log(ah)/Math.log(10)))),ae=Math.floor(ag.low/ak)*ak,ai=this.view.container.width(),af=$("<div style='position: relative; height: 1.3em;'></div>");while(ae<ag.high){var aj=(ae-ag.low)/ah*ai;af.append($("<div class='label'>"+commatize(ae)+"</div>").css({position:"absolute",left:aj-1}));ae+=ak}this.content_div.children(":first").remove();this.content_div.append(af)}});var h=function(ah,ag,af,ae){this.display_modes=ae[0].display_modes;M.call(this,ah,ag,af);this.drawables=[];this.left_offset=0;if(ae){var ak=[],aj;for(var ai=0;ai<ae.length;ai++){aj=ae[ai];ak.push(aj.dataset_id);this.drawables[ai]=aj.copy();if(aj.left_offset>this.left_offset){this.left_offset=aj.left_offset}}this.enabled=true}this.update_icons();this.obj_type="CompositeTrack"};p(h.prototype,M.prototype,{to_dict:x.prototype.to_dict,add_drawable:x.prototype.add_drawable,from_dict:function(ak,ae){var aj=new this.constructor(ak.name,view,ae,ak.prefs,view.viewport_container,view);var af,ai,ah;for(var ag=0;ag<ak.drawables.length;ag++){af=ak.drawables[ag];ai=af.obj_type;if(!ai){ai=af.track_type}ah=addable_objects[ai].prototype.from_dict(af);aj.add_drawable(ah)}return aj},change_mode:function(ae){M.prototype.change_mode.call(this,ae);for(var af=0;af<this.drawables.length;af++){this.drawables[af].change_mode(ae)}},init:function(){this.enabled=true;this.request_draw()},update_icons:function(){this.action_icons.filters_icon.hide();this.action_icons.tools_icon.hide()},can_draw:q.prototype.can_draw,draw_helper:function(af,au,aA,ax,al,an,av){var at=this,aE=this._gen_tile_cache_key(au,an,aA),aB=aA*Q*ax,ag=aB+Q*ax;if(!av){av={}}var aD=(af?undefined:at.tile_cache.get(aE));if(aD){at.show_tile(aD,al,an);return aD}var am=[],at,aq=true,ay,ao;for(var az=0;az<this.drawables.length;az++){at=this.drawables[az];ay=at.data_manager.get_data(aB,ag,at.mode,ax,at.data_url_extra_params);if(is_deferred(ay)){aq=false}am.push(ay);ao=null;if(view.reference_track&&an>view.canvas_manager.char_width_px){ao=view.reference_track.data_manager.get_data(aB,ag,at.mode,ax,view.reference_track.data_url_extra_params);if(is_deferred(ao)){aq=false}}am.push(ao)}if(aq){p(ay,av.more_tile_data);this.tile_predraw_init();var ai=at.view.canvas_manager.new_canvas(),aj=at._get_tile_bounds(aA,ax),aB=aj[0],ag=aj[1],aC=0,au=Math.ceil((ag-aB)*an)+this.left_offset,ar=0,ah=[];var ae=0;for(var az=0;az<this.drawables.length;az++,aC+=2){at=this.drawables[az];ay=am[aC];var ap=at.mode;if(ap==="Auto"){ap=at.get_mode(ay);at.update_auto_mode(ap)}ah.push(ap);ae=at.get_canvas_height(ay,ap,an,au);if(ae>ar){ar=ae}}ai.width=au;ai.height=(av.height?av.height:ar);aC=0;var aw=ai.getContext("2d");aw.translate(this.left_offset,0);aw.globalAlpha=0.5;aw.globalCompositeOperation="source-over";for(var az=0;az<this.drawables.length;az++,aC+=2){at=this.drawables[az];ay=am[aC];ao=am[aC+1];aD=at.draw_tile(ay,aw,ah[az],ax,aA,an,ao)}this.tile_cache.set(aE,aD);this.show_tile(aD,al,an);return aD}var ak=$.Deferred(),at=this;$.when.apply($,am).then(function(){view.request_redraw(false,false,false,at);ak.resolve()});return ak},tile_predraw_init:function(){var ah=Number.MAX_VALUE,ae=-ah,af;for(var ag=0;ag<this.drawables.length;ag++){af=this.drawables[ag];if(af instanceof j){if(af.prefs.min_value<ah){ah=af.prefs.min_value}if(af.prefs.max_value>ae){ae=af.prefs.max_value}}}for(var ag=0;ag<this.drawables.length;ag++){af=this.drawables[ag];af.prefs.min_value=ah;af.prefs.max_value=ae}},postdraw_actions:function(ag,aj,al,af){M.prototype.postdraw_actions.call(this,ag,aj,al,af);var ai=-1;for(var ah=0;ah<ag.length;ah++){var ae=ag[ah].html_elt.find("canvas").height();if(ae>ai){ai=ae}}for(var ah=0;ah<ag.length;ah++){var ak=ag[ah];if(ak.html_elt.find("canvas").height()!==ai){this.draw_helper(true,aj,ak.index,ak.resolution,ak.html_elt.parent(),al,{height:ai});ak.html_elt.remove()}}}});var z=function(ae){M.call(this,"reference",ae,{content_div:ae.top_labeltrack},{});ae.reference_track=this;this.left_offset=200;this.height_px=12;this.container_div.addClass("reference-track");this.content_div.css("background","none");this.content_div.css("min-height","0px");this.content_div.css("border","none");this.data_url=reference_url;this.data_url_extra_params={dbkey:ae.dbkey};this.data_manager=new G(H,this,false)};p(z.prototype,q.prototype,M.prototype,{build_header_div:function(){},init:function(){this.enabled=true},can_draw:q.prototype.can_draw,draw_tile:function(am,an,aj,ai,af,ao){var ah=this;if(ao>this.view.canvas_manager.char_width_px){if(am.data===null){ah.content_div.css("height","0px");return}var ag=an.canvas;an.font=an.canvas.manager.default_font;an.textAlign="center";am=am.data;for(var ak=0,al=am.length;ak<al;ak++){var ae=Math.round(ak*ao);an.fillText(am[ak],ae,10)}return new b(ah,af,ai,ag,am)}this.content_div.css("height","0px")}});var j=function(ae,al,af,ak,an,am,ai,aj,ag){var ah=this;this.display_modes=["Histogram","Line","Filled","Intensity"];this.mode="Histogram";M.call(this,ae,al,af,am,ai,aj,ag);this.min_height_px=16;this.max_height_px=400;this.height_px=32;this.hda_ldda=ak;this.dataset_id=an;this.original_dataset_id=an;this.left_offset=0;this.config=new E({track:this,params:[{key:"name",label:"Name",type:"text",default_value:ae},{key:"color",label:"Color",type:"color",default_value:get_random_color()},{key:"min_value",label:"Min Value",type:"float",default_value:undefined},{key:"max_value",label:"Max Value",type:"float",default_value:undefined},{key:"mode",type:"string",default_value:this.mode,hidden:true},{key:"height",type:"int",default_value:this.height_px,hidden:true}],saved_values:am,onchange:function(){ah.set_name(ah.prefs.name);ah.vertical_range=ah.prefs.max_value-ah.prefs.min_value;$("#linetrack_"+ah.dataset_id+"_minval").text(ah.prefs.min_value);$("#linetrack_"+ah.dataset_id+"_maxval").text(ah.prefs.max_value);ah.tile_cache.clear();ah.request_draw()}});this.prefs=this.config.values;this.height_px=this.config.values.height;this.vertical_range=this.config.values.max_value-this.config.values.min_value;this.add_resize_handle()};p(j.prototype,q.prototype,M.prototype,{add_resize_handle:function(){var ae=this;var ah=false;var ag=false;var af=$("<div class='track-resize'>");$(ae.container_div).hover(function(){if(ae.content_visible){ah=true;af.show()}},function(){ah=false;if(!ag){af.hide()}});af.hide().bind("dragstart",function(ai,aj){ag=true;aj.original_height=$(ae.content_div).height()}).bind("drag",function(aj,ak){var ai=Math.min(Math.max(ak.original_height+ak.deltaY,ae.min_height_px),ae.max_height_px);$(ae.content_div).css("height",ai);ae.height_px=ai;ae.request_draw(true)}).bind("dragend",function(ai,aj){ae.tile_cache.clear();ag=false;if(!ah){af.hide()}ae.config.values.height=ae.height_px}).appendTo(ae.container_div)},predraw_init:function(){var ae=this;ae.vertical_range=undefined;return $.getJSON(ae.data_url,{stats:true,chrom:ae.view.chrom,low:null,high:null,hda_ldda:ae.hda_ldda,dataset_id:ae.dataset_id},function(af){ae.container_div.addClass("line-track");var ai=af.data;if(isNaN(parseFloat(ae.prefs.min_value))||isNaN(parseFloat(ae.prefs.max_value))){var ag=ai.min;var ak=ai.max;ag=Math.floor(Math.min(0,Math.max(ag,ai.mean-2*ai.sd)));ak=Math.ceil(Math.max(0,Math.min(ak,ai.mean+2*ai.sd)));ae.prefs.min_value=ag;ae.prefs.max_value=ak;$("#track_"+ae.dataset_id+"_minval").val(ae.prefs.min_value);$("#track_"+ae.dataset_id+"_maxval").val(ae.prefs.max_value)}ae.vertical_range=ae.prefs.max_value-ae.prefs.min_value;ae.total_frequency=ai.total_frequency;ae.container_div.find(".yaxislabel").remove();var aj=$("<div />").addClass("yaxislabel").attr("id","linetrack_"+ae.dataset_id+"_minval").text(Y(ae.prefs.min_value,3));var ah=$("<div />").addClass("yaxislabel").attr("id","linetrack_"+ae.dataset_id+"_maxval").text(Y(ae.prefs.max_value,3));ah.css({position:"absolute",top:"24px",left:"10px"});ah.prependTo(ae.container_div);aj.css({position:"absolute",bottom:"2px",left:"10px"});aj.prependTo(ae.container_div)})},draw_tile:function(ao,am,aj,ah,af,an){if(this.vertical_range===undefined){return}var ag=am.canvas,ae=this._get_tile_bounds(af,ah),ai=ae[0],al=ae[1],ak=new L.LinePainter(ao.data,ai,al,this.prefs,aj);ak.draw(am,ag.width,ag.height,an);return new b(this.track,af,ah,ag,ao.data)}});var d=function(ae,al,af,ak,an,am,ai,aj,ag){var ah=this;this.display_modes=["Auto","Histogram","Dense","Squish","Pack"];M.call(this,ae,al,af,am,ai,aj,ag);this.config=new E({track:this,params:[{key:"name",label:"Name",type:"text",default_value:ae},{key:"block_color",label:"Block color",type:"color",default_value:get_random_color()},{key:"label_color",label:"Label color",type:"color",default_value:"black"},{key:"show_counts",label:"Show summary counts",type:"bool",default_value:true,help:"Show the number of items in each bin when drawing summary histogram"},{key:"connector_style",label:"Connector style",type:"select",default_value:"fishbones",options:[{label:"Line with arrows",value:"fishbone"},{label:"Arcs",value:"arcs"}]},{key:"mode",type:"string",default_value:this.mode,hidden:true},],saved_values:am,onchange:function(){ah.set_name(ah.prefs.name);ah.tile_cache.clear();ah.set_painter_from_config();ah.request_draw()}});this.prefs=this.config.values;this.height_px=0;this.container_div.addClass("feature-track");this.hda_ldda=ak;this.dataset_id=an;this.original_dataset_id=an;this.show_labels_scale=0.001;this.showing_details=false;this.summary_draw_height=30;this.slotters={};this.start_end_dct={};this.left_offset=200;this.set_painter_from_config()};p(d.prototype,q.prototype,M.prototype,{set_painter_from_config:function(){if(this.config.values.connector_style=="arcs"){this.painter=L.ArcLinkedFeaturePainter}else{this.painter=L.LinkedFeaturePainter}},postdraw_actions:function(ar,am,ai,ag){M.prototype.postdraw_actions.call(this,ar,ag);var al=this;if(ag){var aw=al.content_div.children();var av=false;for(var ao=aw.length-1,ap=0;ao>=ap;ao--){var ah=$(aw[ao]);if(av){ah.remove()}else{if(ah.children().length!==0){av=true}}}}if(al.mode=="Histogram"){var af=-1;for(var ao=0;ao<ar.length;ao++){var an=ar[ao].max_val;if(an>af){af=an}}for(var ao=0;ao<ar.length;ao++){var au=ar[ao];if(au.max_val!==af){au.html_elt.remove();al.draw_helper(true,am,au.index,au.resolution,au.html_elt.parent(),ai,{more_tile_data:{max:af}})}}}if(al.filters_manager){var aj=al.filters_manager.filters;for(var aq=0;aq<aj.length;aq++){aj[aq].update_ui_elt()}var at=false,ae,ak;for(var ao=0;ao<ar.length;ao++){if(ar[ao].data.length){ae=ar[ao].data[0];for(var aq=0;aq<aj.length;aq++){ak=aj[aq];if(ak.applies_to(ae)&&ak.min!==ak.max){at=true;break}}}}if(al.filters_available!==at){al.filters_available=at;if(!al.filters_available){al.filters_div.hide()}al.update_icons()}}},update_auto_mode:function(ae){var ae;if(this.mode=="Auto"){if(ae=="no_detail"){ae="feature spans"}else{if(ae=="summary_tree"){ae="coverage histogram"}}this.action_icons.mode_icon.attr("title","Set display mode (now: Auto/"+ae+")")}},incremental_slots:function(ai,ae,ah){var af=this.view.canvas_manager.dummy_context,ag=this.slotters[ai];if(!ag||(ag.mode!==ah)){ag=new (s.FeatureSlotter)(ai,ah,y,function(aj){return af.measureText(aj)});this.slotters[ai]=ag}return ag.slot_features(ae)},get_summary_tree_data:function(ai,al,ag,au){if(au>ag-al){au=ag-al}var ap=Math.floor((ag-al)/au),at=[],ah=0;var aj=0,ak=0,ao,ar=0,am=[],aq,an;var af=function(ax,aw,ay,av){ax[0]=aw+ay*av;ax[1]=aw+(ay+1)*av};while(ar<au&&aj!==ai.length){var ae=false;for(;ar<au&&!ae;ar++){af(am,al,ar,ap);for(ak=aj;ak<ai.length;ak++){ao=ai[ak].slice(1,3);if(is_overlap(ao,am)){ae=true;break}}if(ae){break}}data_start_index=ak;at[at.length]=aq=[am[0],0];for(;ak<ai.length;ak++){ao=ai[ak].slice(1,3);if(is_overlap(ao,am)){aq[1]++}else{break}}if(aq[1]>ah){ah=aq[1]}ar++}return{max:ah,delta:ap,data:at}},get_mode:function(ae){if(ae.dataset_type==="summary_tree"){mode="summary_tree"}else{if(ae.extra_info==="no_detail"||this.is_overview){mode="no_detail"}else{if(this.view.high-this.view.low>I){mode="Squish"}else{mode="Pack"}}}return mode},get_canvas_height:function(ae,ai,aj,af){if(ai==="summary_tree"||ai==="Histogram"){return this.summary_draw_height}else{var ah=this.incremental_slots(aj,ae.data,ai);var ag=new (this.painter)(null,null,null,this.prefs,ai);return Math.max(ac,ag.get_required_height(ah,af))}},draw_tile:function(aq,av,at,aw,aA,am,ah){var au=this,ag=av.canvas,aj=this._get_tile_bounds(aA,aw),aD=aj[0],af=aj[1],aI=25,ai=this.left_offset;if(at==="summary_tree"||at==="Histogram"){this.container_div.find(".yaxislabel").remove();var ae=$("<div />").addClass("yaxislabel");ae.text(aq.max);ae.css({position:"absolute",top:"24px",left:"10px",color:this.prefs.label_color});ae.prependTo(this.container_div);if(aq.dataset_type!="summary_tree"){var an=this.get_summary_tree_data(aq.data,aD,af,200);if(aq.max){an.max=aq.max}aq=an}var aF=new L.SummaryTreePainter(aq,aD,af,this.prefs);aF.draw(av,ag.width,ag.height,am);return new k(au,aA,aw,ag,aq.data,aq.max)}var al=[],ar=this.slotters[am].slots;all_slotted=true;if(aq.data){var ao=this.filters_manager.filters;for(var ax=0,az=aq.data.length;ax<az;ax++){var ak=aq.data[ax];var ay=false;var ap;for(var aC=0,aH=ao.length;aC<aH;aC++){ap=ao[aC];ap.update_attrs(ak);if(!ap.keep(ak)){ay=true;break}}if(!ay){al.push(ak);if(!(ak[0] in ar)){all_slotted=false}}}}var aG=(this.filters_manager.alpha_filter?new B(this.filters_manager.alpha_filter):null);var aE=(this.filters_manager.height_filter?new B(this.filters_manager.height_filter):null);var aF=new (this.painter)(al,aD,af,this.prefs,at,aG,aE,ah);var aB=null;av.fillStyle=this.prefs.block_color;av.font=av.canvas.manager.default_font;av.textAlign="right";this.container_div.find(".yaxislabel").remove();if(aq.data){aB=aF.draw(av,ag.width,ag.height,am,ar);aB.translation=-ai}return new O(au,aA,aw,ag,aq.data,am,at,aq.message,all_slotted,aB)},data_and_mode_compatible:function(ae,af){if(af==="Auto"){return true}else{if(ae.extra_info==="no_detail"||ae.dataset_type==="summary_tree"){return false}else{return true}}},});var T=function(ae,ak,af,aj,am,al,ah,ai,ag){d.call(this,ae,ak,af,aj,am,al,ah,ai,ag);this.config=new E({track:this,params:[{key:"name",label:"Name",type:"text",default_value:ae},{key:"block_color",label:"Block color",type:"color",default_value:get_random_color()},{key:"label_color",label:"Label color",type:"color",default_value:"black"},{key:"show_insertions",label:"Show insertions",type:"bool",default_value:false},{key:"show_counts",label:"Show summary counts",type:"bool",default_value:true},{key:"mode",type:"string",default_value:this.mode,hidden:true},],saved_values:al,onchange:function(){this.track.set_name(this.track.prefs.name);this.track.tile_cache.clear();this.track.request_draw()}});this.prefs=this.config.values;this.painter=L.ReadPainter};p(T.prototype,q.prototype,M.prototype,d.prototype);var V=function(ae,ak,af,aj,an,am,ah,ag){d.call(this,ae,ak,af,aj,an,am,ah,ag);var ai=get_random_color(),al=get_random_color([ai,"#ffffff"]);this.config=new E({track:this,params:[{key:"name",label:"Name",type:"text",default_value:ae},{key:"block_color",label:"Block and sense strand color",type:"color",default_value:ai},{key:"reverse_strand_color",label:"Antisense strand color",type:"color",default_value:al},{key:"label_color",label:"Label color",type:"color",default_value:"black"},{key:"show_insertions",label:"Show insertions",type:"bool",default_value:false},{key:"show_differences",label:"Show differences only",type:"bool",default_value:true},{key:"show_counts",label:"Show summary counts",type:"bool",default_value:true},{key:"mode",type:"string",default_value:this.mode,hidden:true},],saved_values:am,onchange:function(){this.track.set_name(this.track.prefs.name);this.track.tile_cache.clear();this.track.request_draw()}});this.prefs=this.config.values;this.painter=L.ReadPainter;this.update_icons()};p(V.prototype,q.prototype,M.prototype,d.prototype);W.View=ab;W.DrawableGroup=P;W.LineTrack=j;W.FeatureTrack=d;W.ReadTrack=V;W.VcfTrack=T;W.CompositeTrack=h};var slotting_module=function(c,b){var e=c("class").extend;var d=2,a=5;b.FeatureSlotter=function(i,h,f,g){this.slots={};this.start_end_dct={};this.w_scale=i;this.mode=h;this.include_label=(h==="Pack");this.max_rows=f;this.measureText=g};e(b.FeatureSlotter.prototype,{slot_features:function(m){var p=this.w_scale,h=this.start_end_dct,x=[],z=[],n=0,y=this.max_rows;for(var v=0,w=m.length;v<w;v++){var k=m[v],o=k[0];if(this.slots[o]!==undefined){n=Math.max(n,this.slots[o]);z.push(this.slots[o])}else{x.push(v)}}var q=function(E,F){for(var D=0;D<=y;D++){var B=false,G=h[D];if(G!==undefined){for(var A=0,C=G.length;A<C;A++){var i=G[A];if(F>i[0]&&E<i[1]){B=true;break}}}if(!B){return D}}return -1};for(var v=0,w=x.length;v<w;v++){var k=m[x[v]],o=k[0],t=k[1],f=k[2],r=k[3],g=Math.floor(t*p),l=Math.ceil(f*p),u=this.measureText(r).width,j;if(r!==undefined&&this.include_label){u+=(d+a);if(g-u>=0){g-=u;j="left"}else{l+=u;j="right"}}var s=q(g,l);if(s>=0){if(h[s]===undefined){h[s]=[]}h[s].push([g,l]);this.slots[o]=s;n=Math.max(n,s)}else{}}return n+1}})};var painters_module=function(i,x){var u=i("class").extend;var p=function(I,A,G,z,F,D){if(D===undefined){D=4}var C=z-A;var B=F-G;var E=Math.floor(Math.sqrt(C*C+B*B)/D);var J=C/E;var H=B/E;var y;for(y=0;y<E;y++,A+=J,G+=H){if(y%2!==0){continue}I.fillRect(A,G,D,1)}};var q=function(B,A,z,E){var D=A-E/2,C=A+E/2,F=z-Math.sqrt(E*3/2);B.beginPath();B.moveTo(D,F);B.lineTo(C,F);B.lineTo(A,z);B.lineTo(D,F);B.strokeStyle=this.fillStyle;B.fill();B.stroke();B.closePath()};var d=function(y){this.default_val=(y?y:1)};d.prototype.gen_val=function(y){return this.default_val};var l=function(A,C,y,z,B){this.data=A;this.view_start=C;this.view_end=y;this.prefs=u({},this.default_prefs,z);this.mode=B};l.prototype.default_prefs={};l.prototype.draw=function(z,A,y,B){};var v=function(A,C,y,z,B){l.call(this,A,C,y,z,B)};v.prototype.default_prefs={show_counts:false};v.prototype.draw=function(L,z,K,M){var E=this.view_start,N=this.view_end-this.view_start,I=this.data.data,G=this.data.max,B=K;delta_x_px=Math.ceil(this.data.delta*M);L.save();for(var C=0,D=I.length;C<D;C++){var H=Math.floor((I[C][0]-E)*M);var F=I[C][1];if(!F){continue}var J=F/G*K;if(F!==0&&J<1){J=1}L.fillStyle=this.prefs.block_color;L.fillRect(H,B-J,delta_x_px,J);var A=4;if(this.prefs.show_counts&&(L.measureText(F).width+A)<delta_x_px){L.fillStyle=this.prefs.label_color;L.textAlign="center";L.fillText(F,H+(delta_x_px/2),10)}}L.restore()};var b=function(y,C,E,F,A){l.call(this,y,C,E,F,A);if(this.prefs.min_value===undefined){var G=Infinity;for(var z=0,B=this.data.length;z<B;z++){G=Math.min(G,this.data[z][1])}this.prefs.min_value=G}if(this.prefs.max_value===undefined){var D=-Infinity;for(var z=0,B=this.data.length;z<B;z++){D=Math.max(D,this.data[z][1])}this.prefs.max_value=D}};b.prototype.default_prefs={min_value:undefined,max_value:undefined,mode:"Histogram",color:"#000",overflow_color:"#F66"};b.prototype.draw=function(S,Q,N,D){var I=false,K=this.prefs.min_value,F=this.prefs.max_value,M=F-K,B=N,C=this.view_start,P=this.view_end-this.view_start,L=this.mode,aa=this.data;S.save();var ac=Math.round(N+K/M*N);if(L!=="Intensity"){S.fillStyle="#aaa";S.fillRect(0,ac,Q,1)}S.beginPath();var Y,G,E;if(aa.length>1){E=Math.ceil((aa[1][0]-aa[0][0])*D)}else{E=10}var A=parseInt(this.prefs.color.slice(1),16),H=(A&16711680)>>16,R=(A&65280)>>8,V=A&255;for(var T=0,U=aa.length;T<U;T++){S.fillStyle=S.strokeStyle=this.prefs.color;Y=Math.round((aa[T][0]-C)*D);G=aa[T][1];var W=false,J=false;if(G===null){if(I&&L==="Filled"){S.lineTo(Y,B)}I=false;continue}if(G<K){J=true;G=K}else{if(G>F){W=true;G=F}}if(L==="Histogram"){G=Math.round(G/M*B);S.fillRect(Y,ac,E,-G)}else{if(L==="Intensity"){var z=(G-K)/M,O=Math.round(H+(255-H)*(1-z)),X=Math.round(R+(255-R)*(1-z)),ab=Math.round(V+(255-V)*(1-z));S.fillStyle="rgb("+O+","+X+","+ab+")";S.fillRect(Y,0,E,B)}else{G=Math.round(B-(G-K)/M*B);if(I){S.lineTo(Y,G)}else{I=true;if(L==="Filled"){S.moveTo(Y,B);S.lineTo(Y,G)}else{S.moveTo(Y,G)}}}}S.fillStyle=this.prefs.overflow_color;if(W||J){var Z;if(L==="Histogram"||L==="Intensity"){Z=E}else{Y-=2;Z=4}if(W){S.fillRect(Y,0,Z,3)}if(J){S.fillRect(Y,B-3,Z,3)}}S.fillStyle=this.prefs.color}if(L==="Filled"){if(I){S.lineTo(Y,ac);S.lineTo(0,ac)}S.fill()}else{S.stroke()}S.restore()};var m=function(y){this.feature_positions={};this.slot_height=y;this.translation=0;this.y_translation=0};m.prototype.map_feature_data=function(z,B,y,A){if(!this.feature_positions[B]){this.feature_positions[B]=[]}this.feature_positions[B].push({data:z,x_start:y,x_end:A})};m.prototype.get_feature_data=function(z,D){var C=Math.floor((D-this.y_translation)/this.slot_height),B;if(!this.feature_positions[C]){return null}z+=this.translation;for(var A=0;A<this.feature_positions[C].length;A++){B=this.feature_positions[C][A];if(z>=B.x_start&&z<=B.x_end){return B.data}}};var o=function(A,D,y,z,C,E,B){l.call(this,A,D,y,z,C);this.alpha_scaler=(E?E:new d());this.height_scaler=(B?B:new d())};o.prototype.default_prefs={block_color:"#FFF",connector_color:"#FFF"};u(o.prototype,{get_required_height:function(A,z){var y=y_scale=this.get_row_height(),B=this.mode;if(B==="no_detail"||B==="Squish"||B==="Pack"){y=A*y_scale}return y+this.get_top_padding(z)+this.get_bottom_padding(z)},get_top_padding:function(y){return 0},get_bottom_padding:function(y){return Math.max(Math.round(this.get_row_height()/2),5)},draw:function(K,I,G,E,F){var Q=this.data,D=this.view_start,M=this.view_end;K.save();K.fillStyle=this.prefs.block_color;K.textAlign="right";var H=this.view_end-this.view_start,L=this.get_row_height(),P=new m(L),B;for(var N=0,O=Q.length;N<O;N++){var A=Q[N],C=A[0],J=A[1],y=A[2],z=(F&&F[C]!==undefined?F[C]:null);if((J<M&&y>D)&&(this.mode=="Dense"||z!==null)){B=this.draw_element(K,this.mode,A,z,D,M,E,L,I);P.map_feature_data(A,z,B[0],B[1])}}K.restore();P.y_translation=this.get_top_padding(I);return P},draw_element:function(E,A,G,C,B,D,F,z,y){console.log("WARNING: Unimplemented function.");return[0,0]}});var c=10,h=3,k=5,w=10,f=1,s=9,e=3,a=9,j=2,g="#ccc";var r=function(A,D,y,z,C,E,B){o.call(this,A,D,y,z,C,E,B);this.draw_background_connector=true;this.draw_individual_connectors=false};u(r.prototype,o.prototype,{get_row_height:function(){var z=this.mode,y;if(z==="Dense"){y=c}else{if(z==="no_detail"){y=h}else{if(z==="Squish"){y=k}else{y=w}}}return y},draw_element:function(M,D,X,H,O,aj,an,ap,y){var T=X[0],al=X[1],ad=X[2]-1,Q=X[3],ae=Math.floor(Math.max(0,(al-O)*an)),N=Math.ceil(Math.min(y,Math.max(0,(ad-O)*an))),ac=ae,ao=N,aa=(D==="Dense"?0:(0+H))*ap+this.get_top_padding(y),L,ah,R=null,ar=null,B=this.prefs.block_color,ag=this.prefs.label_color;M.globalAlpha=this.alpha_scaler.gen_val(X);if(D==="Dense"){H=1}if(D==="no_detail"){M.fillStyle=B;M.fillRect(ae,aa+5,N-ae,f)}else{var K=X[4],Z=X[5],af=X[6],C=X[7],V=true;if(Z&&af){R=Math.floor(Math.max(0,(Z-O)*an));ar=Math.ceil(Math.min(y,Math.max(0,(af-O)*an)))}var am,U;if(D==="Squish"){am=1;U=e;V=false}else{if(D==="Dense"){am=5;U=s}else{am=5;U=a}}if(!C){M.fillStyle=B;M.fillRect(ae,aa+1,N-ae,U);if(K&&V){if(K==="+"){M.fillStyle=M.canvas.manager.get_pattern("right_strand_inv")}else{if(K==="-"){M.fillStyle=M.canvas.manager.get_pattern("left_strand_inv")}}M.fillRect(ae,aa+1,N-ae,U)}}else{var J,W;if(D==="Squish"||D==="Dense"){J=aa+Math.floor(e/2)+1;W=1}else{if(K){J=aa;W=U}else{J+=(e/2)+1;W=1}}if(this.draw_background_connector){if(D==="Squish"||D==="Dense"){M.fillStyle=g}else{if(K){if(K==="+"){M.fillStyle=M.canvas.manager.get_pattern("right_strand")}else{if(K==="-"){M.fillStyle=M.canvas.manager.get_pattern("left_strand")}}}else{M.fillStyle=g}}M.fillRect(ae,J,N-ae,W)}var E;for(var ak=0,A=C.length;ak<A;ak++){var F=C[ak],z=Math.floor(Math.max(0,(F[0]-O)*an)),Y=Math.ceil(Math.min(y,Math.max((F[1]-1-O)*an))),S,ab;if(z>Y){continue}M.fillStyle=B;M.fillRect(z,aa+(U-am)/2+1,Y-z,am);if(R!==undefined&&af>Z&&!(z>ar||Y<R)){var ai=Math.max(z,R),I=Math.min(Y,ar);M.fillRect(ai,aa+1,I-ai,U);if(C.length==1&&D=="Pack"){if(K==="+"){M.fillStyle=M.canvas.manager.get_pattern("right_strand_inv")}else{if(K==="-"){M.fillStyle=M.canvas.manager.get_pattern("left_strand_inv")}}if(ai+14<I){ai+=2;I-=2}M.fillRect(ai,aa+1,I-ai,U)}}if(this.draw_individual_connectors&&S){this.draw_connector(M,S,ab,z,Y,aa)}S=z;ab=Y}if(D==="Pack"){M.globalAlpha=1;M.fillStyle="white";var G=this.height_scaler.gen_val(X),P=Math.ceil(U*G),aq=Math.round((U-P)/2);if(G!==1){M.fillRect(ae,J+1,N-ae,aq);M.fillRect(ae,J+U-aq+1,N-ae,aq)}}}M.globalAlpha=1;if(D==="Pack"&&al>O){M.fillStyle=ag;if(O===0&&ae-M.measureText(Q).width<0){M.textAlign="left";M.fillText(Q,N+j,aa+8);ao+=M.measureText(Q).width+j}else{M.textAlign="right";M.fillText(Q,ae-j,aa+8);ac-=M.measureText(Q).width+j}}}M.globalAlpha=1;return[ac,ao]}});var t=function(B,E,y,A,D,F,C,z){o.call(this,B,E,y,A,D,F,C);this.ref_seq=(z?z.data:null)};u(t.prototype,o.prototype,{get_row_height:function(){var y,z=this.mode;if(z==="Dense"){y=c}else{if(z==="Squish"){y=k}else{y=w;if(this.prefs.show_insertions){y*=2}}}return y},draw_read:function(K,A,ag,V,L,aa,ad,C,B,M){K.textAlign="center";var J=this,R=[L,aa],Z=0,W=0,D=0,F=K.canvas.manager.char_width_px,y=(B==="+"?this.prefs.block_color:this.prefs.reverse_strand_color);var O=[];if((A==="Pack"||this.mode==="Auto")&&M!==undefined&&ag>F){D=Math.round(ag/2)}if(!C){C=[[0,M.length]]}for(var G=0,I=C.length;G<I;G++){var z=C[G],E="MIDNSHP=X"[z[0]],S=z[1];if(E==="H"||E==="S"){Z-=S}var U=ad+Z,Y=Math.floor(Math.max(0,(U-L)*ag)),ab=Math.floor(Math.max(0,(U+S-L)*ag));if(Y===ab){ab+=1}switch(E){case"H":break;case"S":case"M":case"=":if(is_overlap([U,U+S],R)){var N=M.slice(W,W+S);if(D>0){K.fillStyle=y;K.fillRect(Y-D,V+1,ab-Y,9);K.fillStyle=g;for(var af=0,H=N.length;af<H;af++){if(this.prefs.show_differences&&this.ref_seq){var P=this.ref_seq[U-L+af];if(!P||P.toLowerCase()===N[af].toLowerCase()){continue}}if(U+af>=L&&U+af<=aa){var X=Math.floor(Math.max(0,(U+af-L)*ag));K.fillText(N[af],X,V+9)}}}else{K.fillStyle=y;K.fillRect(Y,V+4,ab-Y,e)}}W+=S;Z+=S;break;case"N":K.fillStyle=g;K.fillRect(Y-D,V+5,ab-Y,1);Z+=S;break;case"D":K.fillStyle="red";K.fillRect(Y-D,V+4,ab-Y,3);Z+=S;break;case"P":break;case"I":var ah=Y-D;if(is_overlap([U,U+S],R)){var N=M.slice(W,W+S);if(this.prefs.show_insertions){var T=Y-(ab-Y)/2;if((A==="Pack"||this.mode==="Auto")&&M!==undefined&&ag>F){K.fillStyle="yellow";K.fillRect(T-D,V-9,ab-Y,9);O[O.length]={type:"triangle",data:[ah,V+4,5]};K.fillStyle=g;switch(compute_overlap([U,U+S],R)){case (OVERLAP_START):N=N.slice(L-U);break;case (OVERLAP_END):N=N.slice(0,U-aa);break;case (CONTAINED_BY):break;case (CONTAINS):N=N.slice(L-U,U-aa);break}for(var af=0,H=N.length;af<H;af++){var X=Math.floor(Math.max(0,(U+af-L)*ag));K.fillText(N[af],X-(ab-Y)/2,V)}}else{K.fillStyle="yellow";K.fillRect(T,V+(this.mode!=="Dense"?2:5),ab-Y,(A!=="Dense"?e:s))}}else{if((A==="Pack"||this.mode==="Auto")&&M!==undefined&&ag>F){O.push({type:"text",data:[N.length,ah,V+9]})}else{}}}W+=S;break;case"X":W+=S;break}}K.fillStyle="yellow";var Q,ai,ae;for(var ac=0;ac<O.length;ac++){Q=O[ac];ai=Q.type;ae=Q.data;if(ai==="text"){K.save();K.font="bold "+K.font;K.fillText(ae[0],ae[1],ae[2]);K.restore()}else{if(ai=="triangle"){q(K,ae[0],ae[1],ae[2])}}}},draw_element:function(R,M,E,B,U,z,I,S,P){var H=E[0],Q=E[1],A=E[2],J=E[3],D=Math.floor(Math.max(0,(Q-U)*I)),F=Math.ceil(Math.min(P,Math.max(0,(A-U)*I))),C=(M==="Dense"?0:(0+B))*S,G=this.prefs.label_color,O=0;if((M==="Pack"||this.mode==="Auto")&&I>R.canvas.manager.char_width_px){var O=Math.round(I/2)}if(E[5] instanceof Array){var N=Math.floor(Math.max(0,(E[4][0]-U)*I)),L=Math.ceil(Math.min(P,Math.max(0,(E[4][1]-U)*I))),K=Math.floor(Math.max(0,(E[5][0]-U)*I)),y=Math.ceil(Math.min(P,Math.max(0,(E[5][1]-U)*I)));if(E[4][1]>=U&&E[4][0]<=z&&E[4][2]){this.draw_read(R,M,I,C,U,z,E[4][0],E[4][2],E[4][3],E[4][4])}if(E[5][1]>=U&&E[5][0]<=z&&E[5][2]){this.draw_read(R,M,I,C,U,z,E[5][0],E[5][2],E[5][3],E[5][4])}if(K>L){R.fillStyle=g;p(R,L-O,C+5,K-O,C+5)}}else{this.draw_read(R,M,I,C,U,z,Q,E[4],E[5],E[6])}if(M==="Pack"&&Q>U&&J!=="."){R.fillStyle=this.prefs.label_color;var T=1;if(T===0&&D-R.measureText(J).width<0){R.textAlign="left";R.fillText(J,F+j-O,C+8)}else{R.textAlign="right";R.fillText(J,D-j-O,C+8)}}return[0,0]}});var n=function(A,D,y,z,C,E,B){r.call(this,A,D,y,z,C,E,B);this.longest_feature_length=this.calculate_longest_feature_length();this.draw_background_connector=false;this.draw_individual_connectors=true};u(n.prototype,o.prototype,r.prototype,{calculate_longest_feature_length:function(){var z=0;for(var C=0,y=this.data.length;C<y;C++){var B=this.data[C],A=B[1],D=B[2];z=Math.max(z,D-A)}return z},get_top_padding:function(z){var y=this.view_end-this.view_start,A=z/y;return Math.min(128,Math.ceil((this.longest_feature_length/2)*A))},draw_connector:function(G,B,F,H,E,D){var y=(F+H)/2,C=H-y;var A=Math.PI,z=0;if(C>0){G.beginPath();G.arc(y,D,H-y,Math.PI,0);G.stroke()}}});x.Scaler=d;x.SummaryTreePainter=v;x.LinePainter=b;x.LinkedFeaturePainter=r;x.ReadPainter=t;x.ArcLinkedFeaturePainter=n};(function(d){var c={};var b=function(e){return c[e]};var a=function(f,g){var e={};g(b,e);c[f]=e};a("class",class_module);a("slotting",slotting_module);a("painters",painters_module);a("trackster",trackster_module);for(key in c.trackster){d[key]=c.trackster[key]}})(window);
\ No newline at end of file
diff -r 34db794299d3b79e1c9a92fff65e6222c70f4031 -r 9b7a615b39648a2911c483f8d3b693931ca5c1b4 static/scripts/trackster.js
--- a/static/scripts/trackster.js
+++ b/static/scripts/trackster.js
@@ -373,7 +373,6 @@
CHAR_HEIGHT_PX = 9,
// Padding at the top of tracks for error messages
ERROR_PADDING = 20,
- SUMMARY_TREE_TOP_PADDING = CHAR_HEIGHT_PX + 2,
// Maximum number of rows un a slotted track
MAX_FEATURE_DEPTH = 100,
// Minimum width for window for squish to be used.
@@ -4149,7 +4148,7 @@
get_canvas_height: function(result, mode, w_scale, canvas_width) {
if (mode === "summary_tree" || mode === "Histogram") {
// Extra padding at top of summary tree so label does not overlap data.
- return this.summary_draw_height + SUMMARY_TREE_TOP_PADDING;
+ return this.summary_draw_height;
}
else {
// All other modes require slotting.
@@ -4199,8 +4198,6 @@
}
// Paint summary tree into canvas
var painter = new painters.SummaryTreePainter(result, tile_low, tile_high, this.prefs);
- // FIXME: it shouldn't be necessary to build in padding.
- ctx.translate(0, SUMMARY_TREE_TOP_PADDING);
painter.draw(ctx, canvas.width, canvas.height, w_scale);
return new SummaryTreeTile(track, tile_index, resolution, canvas, result.data, result.max);
}
@@ -4623,16 +4620,15 @@
SummaryTreePainter.prototype.default_prefs = { show_counts: false };
SummaryTreePainter.prototype.draw = function(ctx, width, height, w_scale) {
-
var view_start = this.view_start,
- view_range = this.view_end - this.view_start;
-
- var points = this.data.data, delta = this.data.delta, max = this.data.max,
+ view_range = this.view_end - this.view_start,
+ points = this.data.data,
+ max = this.data.max,
// Set base Y so that max label and data do not overlap. Base Y is where rectangle bases
// start. However, height of each rectangle is relative to required_height; hence, the
// max rectangle is required_height.
base_y = height;
- delta_x_px = Math.ceil(delta * w_scale);
+ delta_x_px = Math.ceil(this.data.delta * w_scale);
ctx.save();
for (var i = 0, len = points.length; i < len; i++) {
@@ -4640,10 +4636,10 @@
var y = points[i][1];
if (!y) { continue; }
- var y_px = y / max * height
+ var y_px = y / max * height;
if (y !== 0 && y_px < 1) { y_px = 1; }
- ctx.fillStyle = this.prefs.block_color;
+ ctx.fillStyle = this.prefs.block_color;
ctx.fillRect( x, base_y - y_px, delta_x_px, y_px );
// Draw number count if it can fit the number with some padding, otherwise things clump up
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0
4 new commits in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/changeset/6345c9c5f79e/
changeset: 6345c9c5f79e
user: jgoecks
date: 2012-01-22 20:06:18
summary: Update test data for cufflinks v1.3.0
affected #: 3 files
diff -r ef0a2b1c879b51c215afd445c248eb604645b29f -r 6345c9c5f79e80706a6466ae24b5480e56a26062 test-data/cufflinks_out1.gtf
--- a/test-data/cufflinks_out1.gtf
+++ b/test-data/cufflinks_out1.gtf
@@ -1,4 +1,4 @@
-test_chromosome Cufflinks transcript 53 550 1000 + . gene_id "CUFF.1"; transcript_id "CUFF.1.1"; FPKM "10465551.7182135005"; frac "1.000000"; conf_lo "8351190.978554"; conf_hi "12579912.457873"; cov "142.854781";
-test_chromosome Cufflinks exon 53 250 1000 + . gene_id "CUFF.1"; transcript_id "CUFF.1.1"; exon_number "1"; FPKM "10465551.7182135005"; frac "1.000000"; conf_lo "8351190.978554"; conf_hi "12579912.457873"; cov "142.854781";
-test_chromosome Cufflinks exon 351 400 1000 + . gene_id "CUFF.1"; transcript_id "CUFF.1.1"; exon_number "2"; FPKM "10465551.7182135005"; frac "1.000000"; conf_lo "8351190.978554"; conf_hi "12579912.457873"; cov "142.854781";
-test_chromosome Cufflinks exon 501 550 1000 + . gene_id "CUFF.1"; transcript_id "CUFF.1.1"; exon_number "3"; FPKM "10465551.7182135005"; frac "1.000000"; conf_lo "8351190.978554"; conf_hi "12579912.457873"; cov "142.854781";
+test_chromosome Cufflinks transcript 53 550 1000 + . gene_id "CUFF.1"; transcript_id "CUFF.1.1"; FPKM "10679134.4063403048"; frac "1.000000"; conf_lo "8543307.525072"; conf_hi "12814961.287608"; cov "145.770185";
+test_chromosome Cufflinks exon 53 250 1000 + . gene_id "CUFF.1"; transcript_id "CUFF.1.1"; exon_number "1"; FPKM "10679134.4063403048"; frac "1.000000"; conf_lo "8543307.525072"; conf_hi "12814961.287608"; cov "145.770185";
+test_chromosome Cufflinks exon 351 400 1000 + . gene_id "CUFF.1"; transcript_id "CUFF.1.1"; exon_number "2"; FPKM "10679134.4063403048"; frac "1.000000"; conf_lo "8543307.525072"; conf_hi "12814961.287608"; cov "145.770185";
+test_chromosome Cufflinks exon 501 550 1000 + . gene_id "CUFF.1"; transcript_id "CUFF.1.1"; exon_number "3"; FPKM "10679134.4063403048"; frac "1.000000"; conf_lo "8543307.525072"; conf_hi "12814961.287608"; cov "145.770185";
diff -r ef0a2b1c879b51c215afd445c248eb604645b29f -r 6345c9c5f79e80706a6466ae24b5480e56a26062 test-data/cufflinks_out4.txt
--- /dev/null
+++ b/test-data/cufflinks_out4.txt
@@ -0,0 +1,1 @@
+100.000000
diff -r ef0a2b1c879b51c215afd445c248eb604645b29f -r 6345c9c5f79e80706a6466ae24b5480e56a26062 tools/ngs_rna/cufflinks_wrapper.xml
--- a/tools/ngs_rna/cufflinks_wrapper.xml
+++ b/tools/ngs_rna/cufflinks_wrapper.xml
@@ -132,6 +132,7 @@
<output name="genes_expression" format="tabular" lines_diff="2" file="cufflinks_out3.fpkm_tracking"/><output name="transcripts_expression" format="tabular" lines_diff="2" file="cufflinks_out2.fpkm_tracking"/><output name="assembled_isoforms" file="cufflinks_out1.gtf"/>
+ <output name="global_model" file="cufflinks_out4.txt"/></test></tests>
https://bitbucket.org/galaxy/galaxy-central/changeset/a533f050b897/
changeset: a533f050b897
user: jgoecks
date: 2012-01-22 20:19:46
summary: Update test-data for cuffcompare v1.3.0
affected #: 2 files
diff -r 6345c9c5f79e80706a6466ae24b5480e56a26062 -r a533f050b897cb68359b4e5d8974cfdcc60d1cfc test-data/cuffcompare_out5.gtf
--- a/test-data/cuffcompare_out5.gtf
+++ b/test-data/cuffcompare_out5.gtf
@@ -5,86 +5,86 @@
chr1 Cufflinks exon 3187402 3187428 . . . gene_id "XLOC_000005"; transcript_id "TCONS_00000052"; exon_number "1"; oId "CUFF.3.1"; class_code "u"; tss_id "TSS5";
chr1 Cufflinks exon 3188522 3188548 . . . gene_id "XLOC_000006"; transcript_id "TCONS_00000053"; exon_number "1"; oId "CUFF.5.1"; class_code "u"; tss_id "TSS6";
chr1 Cufflinks exon 3189811 3190789 . . . gene_id "XLOC_000007"; transcript_id "TCONS_00000054"; exon_number "1"; oId "CUFF.11.1"; class_code "u"; tss_id "TSS7";
-chr1 Cufflinks exon 3190859 3191434 . . . gene_id "XLOC_000008"; transcript_id "TCONS_00000055"; exon_number "1"; oId "CUFF.7.1"; class_code "u"; tss_id "TSS11";
-chr1 Cufflinks exon 3191513 3192077 . . . gene_id "XLOC_000009"; transcript_id "TCONS_00000056"; exon_number "1"; oId "CUFF.9.1"; class_code "u"; tss_id "TSS12";
-chr1 Cufflinks exon 3192251 3192336 . . . gene_id "XLOC_000010"; transcript_id "TCONS_00000057"; exon_number "1"; oId "CUFF.13.1"; class_code "u"; tss_id "TSS15";
-chr1 Cufflinks exon 3192442 3192494 . . . gene_id "XLOC_000011"; transcript_id "TCONS_00000009"; exon_number "1"; oId "CUFF.39.1"; class_code "u"; tss_id "TSS16";
-chr1 Cufflinks exon 3192551 3192629 . . . gene_id "XLOC_000012"; transcript_id "TCONS_00000010"; exon_number "1"; oId "CUFF.41.1"; class_code "u"; tss_id "TSS17";
-chr1 Cufflinks exon 3192650 3192676 . . . gene_id "XLOC_000013"; transcript_id "TCONS_00000058"; exon_number "1"; oId "CUFF.15.1"; class_code "u"; tss_id "TSS18";
-chr1 Cufflinks exon 3192732 3192811 . . . gene_id "XLOC_000014"; transcript_id "TCONS_00000011"; exon_number "1"; oId "CUFF.43.1"; class_code "u"; tss_id "TSS19";
-chr1 Cufflinks exon 3192941 3193042 . . . gene_id "XLOC_000015"; transcript_id "TCONS_00000012"; exon_number "1"; oId "CUFF.45.1"; class_code "u"; tss_id "TSS20";
-chr1 Cufflinks exon 3194186 3194226 . . . gene_id "XLOC_000016"; transcript_id "TCONS_00000013"; exon_number "1"; oId "CUFF.47.1"; class_code "u"; tss_id "TSS21";
-chr1 Cufflinks exon 3194303 3194329 . . . gene_id "XLOC_000017"; transcript_id "TCONS_00000014"; exon_number "1"; oId "CUFF.49.1"; class_code "u"; tss_id "TSS22";
-chr1 Cufflinks exon 3194707 3194733 . . . gene_id "XLOC_000018"; transcript_id "TCONS_00000059"; exon_number "1"; oId "CUFF.17.1"; class_code "u"; tss_id "TSS23";
-chr1 Cufflinks exon 3195084 3195110 . . . gene_id "XLOC_000019"; transcript_id "TCONS_00000015"; exon_number "1"; oId "CUFF.51.1"; class_code "u"; tss_id "TSS24";
-chr1 Cufflinks exon 3195451 3195477 . . . gene_id "XLOC_000020"; transcript_id "TCONS_00000016"; exon_number "1"; oId "CUFF.53.1"; class_code "u"; tss_id "TSS25";
-chr1 Cufflinks exon 3197090 3197116 . . . gene_id "XLOC_000021"; transcript_id "TCONS_00000017"; exon_number "1"; oId "CUFF.55.1"; class_code "u"; tss_id "TSS26";
-chr1 Cufflinks exon 3197247 3197273 . . . gene_id "XLOC_000022"; transcript_id "TCONS_00000018"; exon_number "1"; oId "CUFF.57.1"; class_code "u"; tss_id "TSS27";
-chr1 Cufflinks exon 3197347 3197373 . . . gene_id "XLOC_000023"; transcript_id "TCONS_00000019"; exon_number "1"; oId "CUFF.59.1"; class_code "u"; tss_id "TSS28";
-chr1 Cufflinks exon 3197426 3197452 . . . gene_id "XLOC_000024"; transcript_id "TCONS_00000060"; exon_number "1"; oId "CUFF.19.1"; class_code "u"; tss_id "TSS29";
-chr1 Cufflinks exon 3200023 3200191 . . . gene_id "XLOC_000025"; transcript_id "TCONS_00000020"; exon_number "1"; oId "CUFF.7.1"; class_code "u"; tss_id "TSS30";
-chr1 Cufflinks exon 3200326 3200352 . . . gene_id "XLOC_000026"; transcript_id "TCONS_00000021"; exon_number "1"; oId "CUFF.5.1"; class_code "u"; tss_id "TSS32";
-chr1 Cufflinks exon 3200431 3200457 . . . gene_id "XLOC_000027"; transcript_id "TCONS_00000062"; exon_number "1"; oId "CUFF.21.1"; class_code "u"; tss_id "TSS33";
-chr1 Cufflinks exon 3201008 3201039 . . . gene_id "XLOC_000028"; transcript_id "TCONS_00000063"; exon_number "1"; oId "CUFF.26.1"; class_code "u"; tss_id "TSS34";
-chr1 Cufflinks exon 3201078 3201481 . . . gene_id "XLOC_000029"; transcript_id "TCONS_00000022"; exon_number "1"; oId "CUFF.9.1"; class_code "u"; tss_id "TSS35";
-chr1 Cufflinks exon 3201597 3201666 . . . gene_id "XLOC_000030"; transcript_id "TCONS_00000065"; exon_number "1"; oId "CUFF.29.1"; class_code "u"; tss_id "TSS37";
-chr1 Cufflinks exon 3201673 3201699 . . . gene_id "XLOC_000031"; transcript_id "TCONS_00000023"; exon_number "1"; oId "CUFF.11.1"; class_code "u"; tss_id "TSS38";
-chr1 Cufflinks exon 3201726 3201809 . . . gene_id "XLOC_000032"; transcript_id "TCONS_00000066"; exon_number "1"; oId "CUFF.31.1"; class_code "u"; tss_id "TSS39";
-chr1 Cufflinks exon 3211522 3211561 . . . gene_id "XLOC_000033"; transcript_id "TCONS_00000067"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.33.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS40";
-chr1 Cufflinks exon 3212214 3212292 . . . gene_id "XLOC_000034"; transcript_id "TCONS_00000024"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.15.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS41";
-chr1 Cufflinks exon 3212368 3212439 . . . gene_id "XLOC_000035"; transcript_id "TCONS_00000025"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.19.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS42";
-chr1 Cufflinks exon 3212718 3212801 . . . gene_id "XLOC_000036"; transcript_id "TCONS_00000068"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.35.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS43";
-chr1 Cufflinks exon 3213096 3213192 . . . gene_id "XLOC_000037"; transcript_id "TCONS_00000026"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.17.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS44";
-chr1 Cufflinks exon 3213119 3213242 . . . gene_id "XLOC_000037"; transcript_id "TCONS_00000069"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.37.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS45";
-chr1 Cufflinks exon 3240607 3240633 . . . gene_id "XLOC_000038"; transcript_id "TCONS_00000070"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.39.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS46";
-chr1 Cufflinks exon 3242480 3242512 . . . gene_id "XLOC_000039"; transcript_id "TCONS_00000071"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.41.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS47";
-chr1 Cufflinks exon 3242634 3242923 . . . gene_id "XLOC_000040"; transcript_id "TCONS_00000027"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.25.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS48";
-chr1 Cufflinks exon 3242925 3243005 . . . gene_id "XLOC_000041"; transcript_id "TCONS_00000072"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.43.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS49";
-chr1 Cufflinks exon 3243019 3243079 . . . gene_id "XLOC_000042"; transcript_id "TCONS_00000028"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.21.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS50";
-chr1 Cufflinks exon 3243109 3243154 . . . gene_id "XLOC_000043"; transcript_id "TCONS_00000073"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.45.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS51";
-chr1 Cufflinks exon 3243348 3243401 . . . gene_id "XLOC_000044"; transcript_id "TCONS_00000029"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.23.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS52";
-chr1 Cufflinks exon 3254080 3254106 . . . gene_id "XLOC_000045"; transcript_id "TCONS_00000074"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.47.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS53";
-chr1 Cufflinks exon 3256975 3257011 . . . gene_id "XLOC_000046"; transcript_id "TCONS_00000030"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.27.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS54";
-chr1 Cufflinks exon 3277156 3277182 . . . gene_id "XLOC_000047"; transcript_id "TCONS_00000075"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.49.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS55";
-chr1 Cufflinks exon 3277191 3277218 . . . gene_id "XLOC_000048"; transcript_id "TCONS_00000031"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.61.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS56";
-chr1 Cufflinks exon 3277914 3278390 . . . gene_id "XLOC_000049"; transcript_id "TCONS_00000076"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.51.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS57";
-chr1 Cufflinks exon 3280118 3280144 . . . gene_id "XLOC_000050"; transcript_id "TCONS_00000077"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.53.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS59";
-chr1 Cufflinks exon 3280499 3280525 . . . gene_id "XLOC_000051"; transcript_id "TCONS_00000078"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.55.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS60";
-chr1 Cufflinks exon 3280687 3280741 . . . gene_id "XLOC_000052"; transcript_id "TCONS_00000033"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.65.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS61";
-chr1 Cufflinks exon 3282505 3282531 . . . gene_id "XLOC_000053"; transcript_id "TCONS_00000079"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.57.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS62";
-chr1 Cufflinks exon 3282651 3282677 . . . gene_id "XLOC_000054"; transcript_id "TCONS_00000080"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.59.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS63";
-chr1 Cufflinks exon 3282761 3282832 . . . gene_id "XLOC_000055"; transcript_id "TCONS_00000081"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.61.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS64";
-chr1 Cufflinks exon 3284967 3284993 . . . gene_id "XLOC_000056"; transcript_id "TCONS_00000082"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.63.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS65";
-chr1 Cufflinks exon 3290489 3290553 . . . gene_id "XLOC_000057"; transcript_id "TCONS_00000034"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.67.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS66";
-chr1 Cufflinks exon 3290799 3290859 . . . gene_id "XLOC_000058"; transcript_id "TCONS_00000083"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.65.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS67";
-chr1 Cufflinks exon 3290920 3291273 . . . gene_id "XLOC_000059"; transcript_id "TCONS_00000084"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.69.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS68";
-chr1 Cufflinks exon 3299444 3299640 . . . gene_id "XLOC_000060"; transcript_id "TCONS_00000085"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.67.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS70";
-chr1 Cufflinks exon 3299610 3299664 . . . gene_id "XLOC_000060"; transcript_id "TCONS_00000037"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.73.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS71";
-chr1 Cufflinks exon 3299692 3299733 . . . gene_id "XLOC_000061"; transcript_id "TCONS_00000086"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.71.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS72";
-chr1 Cufflinks exon 3300052 3300078 . . . gene_id "XLOC_000062"; transcript_id "TCONS_00000038"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.75.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS73";
-chr1 Cufflinks exon 3307749 3307775 . . . gene_id "XLOC_000063"; transcript_id "TCONS_00000087"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.73.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS74";
-chr1 Cufflinks exon 3318621 3318647 . . . gene_id "XLOC_000064"; transcript_id "TCONS_00000088"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.75.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS75";
-chr1 Cufflinks exon 3319000 3319051 . . . gene_id "XLOC_000065"; transcript_id "TCONS_00000039"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.77.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS76";
-chr1 Cufflinks exon 3330528 3330554 . . . gene_id "XLOC_000066"; transcript_id "TCONS_00000089"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.77.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS77";
-chr1 Cufflinks exon 3351241 3351311 . . . gene_id "XLOC_000067"; transcript_id "TCONS_00000090"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.79.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS78";
-chr1 Cufflinks exon 3355888 3355914 . . . gene_id "XLOC_000068"; transcript_id "TCONS_00000040"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.79.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS79";
-chr1 Cufflinks exon 3355908 3356119 . . . gene_id "XLOC_000068"; transcript_id "TCONS_00000091"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.81.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS80";
-chr1 Cufflinks exon 3356181 3356225 . . . gene_id "XLOC_000069"; transcript_id "TCONS_00000092"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.83.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS81";
-chr1 Cufflinks exon 3363077 3363176 . . . gene_id "XLOC_000070"; transcript_id "TCONS_00000093"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.85.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS82";
-chr1 Cufflinks exon 3363215 3363278 . . . gene_id "XLOC_000071"; transcript_id "TCONS_00000041"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.81.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS83";
-chr1 Cufflinks exon 3363388 3363446 . . . gene_id "XLOC_000072"; transcript_id "TCONS_00000094"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.87.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS84";
-chr1 Cufflinks exon 3363754 3363849 . . . gene_id "XLOC_000073"; transcript_id "TCONS_00000042"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.83.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS85";
-chr1 Cufflinks exon 3364872 3364919 . . . gene_id "XLOC_000074"; transcript_id "TCONS_00000095"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.89.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS86";
-chr1 Cufflinks exon 3367136 3367162 . . . gene_id "XLOC_000075"; transcript_id "TCONS_00000043"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.85.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS87";
-chr1 Cufflinks exon 3367211 3367237 . . . gene_id "XLOC_000076"; transcript_id "TCONS_00000096"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.91.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS88";
-chr1 Cufflinks exon 3367334 3367382 . . . gene_id "XLOC_000077"; transcript_id "TCONS_00000044"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.87.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS89";
-chr1 Cufflinks exon 3369581 3369607 . . . gene_id "XLOC_000078"; transcript_id "TCONS_00000097"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.93.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS90";
-chr1 Cufflinks exon 3375002 3375028 . . . gene_id "XLOC_000079"; transcript_id "TCONS_00000098"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.95.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS91";
-chr1 Cufflinks exon 3377212 3377262 . . . gene_id "XLOC_000080"; transcript_id "TCONS_00000045"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.89.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS92";
-chr1 Cufflinks exon 3379889 3379915 . . . gene_id "XLOC_000081"; transcript_id "TCONS_00000099"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.97.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS93";
-chr1 Cufflinks exon 3386740 3386836 . . . gene_id "XLOC_000082"; transcript_id "TCONS_00000100"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.99.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS94";
-chr1 Cufflinks exon 3391326 3391352 . . . gene_id "XLOC_000083"; transcript_id "TCONS_00000046"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.91.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS95";
-chr1 Cufflinks exon 3435842 3435880 . . . gene_id "XLOC_000084"; transcript_id "TCONS_00000047"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.93.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS96";
-chr1 Cufflinks exon 3447762 3447788 . . . gene_id "XLOC_000085"; transcript_id "TCONS_00000048"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.95.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS97";
-chr1 Cufflinks exon 3450907 3450965 . . . gene_id "XLOC_000086"; transcript_id "TCONS_00000049"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.97.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS98";
-chr1 Cufflinks exon 3451052 3451109 . . . gene_id "XLOC_000087"; transcript_id "TCONS_00000050"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.99.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS99";
+chr1 Cufflinks exon 3190859 3191434 . . . gene_id "XLOC_000008"; transcript_id "TCONS_00000055"; exon_number "1"; oId "CUFF.7.1"; class_code "u"; tss_id "TSS10";
+chr1 Cufflinks exon 3191513 3192077 . . . gene_id "XLOC_000009"; transcript_id "TCONS_00000056"; exon_number "1"; oId "CUFF.9.1"; class_code "u"; tss_id "TSS11";
+chr1 Cufflinks exon 3192251 3192336 . . . gene_id "XLOC_000010"; transcript_id "TCONS_00000057"; exon_number "1"; oId "CUFF.13.1"; class_code "u"; tss_id "TSS13";
+chr1 Cufflinks exon 3192442 3192494 . . . gene_id "XLOC_000011"; transcript_id "TCONS_00000009"; exon_number "1"; oId "CUFF.39.1"; class_code "u"; tss_id "TSS14";
+chr1 Cufflinks exon 3192551 3192629 . . . gene_id "XLOC_000012"; transcript_id "TCONS_00000010"; exon_number "1"; oId "CUFF.41.1"; class_code "u"; tss_id "TSS15";
+chr1 Cufflinks exon 3192650 3192676 . . . gene_id "XLOC_000013"; transcript_id "TCONS_00000058"; exon_number "1"; oId "CUFF.15.1"; class_code "u"; tss_id "TSS16";
+chr1 Cufflinks exon 3192732 3192811 . . . gene_id "XLOC_000014"; transcript_id "TCONS_00000011"; exon_number "1"; oId "CUFF.43.1"; class_code "u"; tss_id "TSS17";
+chr1 Cufflinks exon 3192941 3193042 . . . gene_id "XLOC_000015"; transcript_id "TCONS_00000012"; exon_number "1"; oId "CUFF.45.1"; class_code "u"; tss_id "TSS18";
+chr1 Cufflinks exon 3194186 3194226 . . . gene_id "XLOC_000016"; transcript_id "TCONS_00000013"; exon_number "1"; oId "CUFF.47.1"; class_code "u"; tss_id "TSS19";
+chr1 Cufflinks exon 3194303 3194329 . . . gene_id "XLOC_000017"; transcript_id "TCONS_00000014"; exon_number "1"; oId "CUFF.49.1"; class_code "u"; tss_id "TSS20";
+chr1 Cufflinks exon 3194707 3194733 . . . gene_id "XLOC_000018"; transcript_id "TCONS_00000059"; exon_number "1"; oId "CUFF.17.1"; class_code "u"; tss_id "TSS21";
+chr1 Cufflinks exon 3195084 3195110 . . . gene_id "XLOC_000019"; transcript_id "TCONS_00000015"; exon_number "1"; oId "CUFF.51.1"; class_code "u"; tss_id "TSS22";
+chr1 Cufflinks exon 3195451 3195477 . . . gene_id "XLOC_000020"; transcript_id "TCONS_00000016"; exon_number "1"; oId "CUFF.53.1"; class_code "u"; tss_id "TSS23";
+chr1 Cufflinks exon 3197090 3197116 . . . gene_id "XLOC_000021"; transcript_id "TCONS_00000017"; exon_number "1"; oId "CUFF.55.1"; class_code "u"; tss_id "TSS24";
+chr1 Cufflinks exon 3197247 3197273 . . . gene_id "XLOC_000022"; transcript_id "TCONS_00000018"; exon_number "1"; oId "CUFF.57.1"; class_code "u"; tss_id "TSS25";
+chr1 Cufflinks exon 3197347 3197373 . . . gene_id "XLOC_000023"; transcript_id "TCONS_00000019"; exon_number "1"; oId "CUFF.59.1"; class_code "u"; tss_id "TSS26";
+chr1 Cufflinks exon 3197426 3197452 . . . gene_id "XLOC_000024"; transcript_id "TCONS_00000060"; exon_number "1"; oId "CUFF.19.1"; class_code "u"; tss_id "TSS27";
+chr1 Cufflinks exon 3200023 3200191 . . . gene_id "XLOC_000025"; transcript_id "TCONS_00000020"; exon_number "1"; oId "CUFF.7.1"; class_code "u"; tss_id "TSS28";
+chr1 Cufflinks exon 3200326 3200352 . . . gene_id "XLOC_000026"; transcript_id "TCONS_00000021"; exon_number "1"; oId "CUFF.5.1"; class_code "u"; tss_id "TSS29";
+chr1 Cufflinks exon 3200431 3200457 . . . gene_id "XLOC_000027"; transcript_id "TCONS_00000062"; exon_number "1"; oId "CUFF.21.1"; class_code "u"; tss_id "TSS30";
+chr1 Cufflinks exon 3201008 3201039 . . . gene_id "XLOC_000028"; transcript_id "TCONS_00000063"; exon_number "1"; oId "CUFF.26.1"; class_code "u"; tss_id "TSS31";
+chr1 Cufflinks exon 3201078 3201481 . . . gene_id "XLOC_000029"; transcript_id "TCONS_00000022"; exon_number "1"; oId "CUFF.9.1"; class_code "u"; tss_id "TSS32";
+chr1 Cufflinks exon 3201597 3201666 . . . gene_id "XLOC_000030"; transcript_id "TCONS_00000065"; exon_number "1"; oId "CUFF.29.1"; class_code "u"; tss_id "TSS33";
+chr1 Cufflinks exon 3201673 3201699 . . . gene_id "XLOC_000031"; transcript_id "TCONS_00000023"; exon_number "1"; oId "CUFF.11.1"; class_code "u"; tss_id "TSS34";
+chr1 Cufflinks exon 3201726 3201809 . . . gene_id "XLOC_000032"; transcript_id "TCONS_00000066"; exon_number "1"; oId "CUFF.31.1"; class_code "u"; tss_id "TSS35";
+chr1 Cufflinks exon 3211522 3211561 . . . gene_id "XLOC_000033"; transcript_id "TCONS_00000067"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.33.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS36";
+chr1 Cufflinks exon 3212214 3212292 . . . gene_id "XLOC_000034"; transcript_id "TCONS_00000024"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.15.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS37";
+chr1 Cufflinks exon 3212368 3212439 . . . gene_id "XLOC_000035"; transcript_id "TCONS_00000025"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.19.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS38";
+chr1 Cufflinks exon 3212718 3212801 . . . gene_id "XLOC_000036"; transcript_id "TCONS_00000068"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.35.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS39";
+chr1 Cufflinks exon 3213096 3213192 . . . gene_id "XLOC_000037"; transcript_id "TCONS_00000026"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.17.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS40";
+chr1 Cufflinks exon 3213119 3213242 . . . gene_id "XLOC_000037"; transcript_id "TCONS_00000069"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.37.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS40";
+chr1 Cufflinks exon 3240607 3240633 . . . gene_id "XLOC_000038"; transcript_id "TCONS_00000070"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.39.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS41";
+chr1 Cufflinks exon 3242480 3242512 . . . gene_id "XLOC_000039"; transcript_id "TCONS_00000071"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.41.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS42";
+chr1 Cufflinks exon 3242634 3242923 . . . gene_id "XLOC_000040"; transcript_id "TCONS_00000027"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.25.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS43";
+chr1 Cufflinks exon 3242925 3243005 . . . gene_id "XLOC_000041"; transcript_id "TCONS_00000072"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.43.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS44";
+chr1 Cufflinks exon 3243019 3243079 . . . gene_id "XLOC_000042"; transcript_id "TCONS_00000028"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.21.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS45";
+chr1 Cufflinks exon 3243109 3243154 . . . gene_id "XLOC_000043"; transcript_id "TCONS_00000073"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.45.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS46";
+chr1 Cufflinks exon 3243348 3243401 . . . gene_id "XLOC_000044"; transcript_id "TCONS_00000029"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.23.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS47";
+chr1 Cufflinks exon 3254080 3254106 . . . gene_id "XLOC_000045"; transcript_id "TCONS_00000074"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.47.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS48";
+chr1 Cufflinks exon 3256975 3257011 . . . gene_id "XLOC_000046"; transcript_id "TCONS_00000030"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.27.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS49";
+chr1 Cufflinks exon 3277156 3277182 . . . gene_id "XLOC_000047"; transcript_id "TCONS_00000075"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.49.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS50";
+chr1 Cufflinks exon 3277191 3277218 . . . gene_id "XLOC_000048"; transcript_id "TCONS_00000031"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.61.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS51";
+chr1 Cufflinks exon 3277914 3278390 . . . gene_id "XLOC_000049"; transcript_id "TCONS_00000076"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.51.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS52";
+chr1 Cufflinks exon 3280118 3280144 . . . gene_id "XLOC_000050"; transcript_id "TCONS_00000077"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.53.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS54";
+chr1 Cufflinks exon 3280499 3280525 . . . gene_id "XLOC_000051"; transcript_id "TCONS_00000078"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.55.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS55";
+chr1 Cufflinks exon 3280687 3280741 . . . gene_id "XLOC_000052"; transcript_id "TCONS_00000033"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.65.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS56";
+chr1 Cufflinks exon 3282505 3282531 . . . gene_id "XLOC_000053"; transcript_id "TCONS_00000079"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.57.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS57";
+chr1 Cufflinks exon 3282651 3282677 . . . gene_id "XLOC_000054"; transcript_id "TCONS_00000080"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.59.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS58";
+chr1 Cufflinks exon 3282761 3282832 . . . gene_id "XLOC_000055"; transcript_id "TCONS_00000081"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.61.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS59";
+chr1 Cufflinks exon 3284967 3284993 . . . gene_id "XLOC_000056"; transcript_id "TCONS_00000082"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.63.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS60";
+chr1 Cufflinks exon 3290489 3290553 . . . gene_id "XLOC_000057"; transcript_id "TCONS_00000034"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.67.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS61";
+chr1 Cufflinks exon 3290799 3290859 . . . gene_id "XLOC_000058"; transcript_id "TCONS_00000083"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.65.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS62";
+chr1 Cufflinks exon 3290920 3291273 . . . gene_id "XLOC_000059"; transcript_id "TCONS_00000084"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.69.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS63";
+chr1 Cufflinks exon 3299444 3299640 . . . gene_id "XLOC_000060"; transcript_id "TCONS_00000085"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.67.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS65";
+chr1 Cufflinks exon 3299610 3299664 . . . gene_id "XLOC_000060"; transcript_id "TCONS_00000037"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.73.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS66";
+chr1 Cufflinks exon 3299692 3299733 . . . gene_id "XLOC_000061"; transcript_id "TCONS_00000086"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.71.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS67";
+chr1 Cufflinks exon 3300052 3300078 . . . gene_id "XLOC_000062"; transcript_id "TCONS_00000038"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.75.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS68";
+chr1 Cufflinks exon 3307749 3307775 . . . gene_id "XLOC_000063"; transcript_id "TCONS_00000087"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.73.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS69";
+chr1 Cufflinks exon 3318621 3318647 . . . gene_id "XLOC_000064"; transcript_id "TCONS_00000088"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.75.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS70";
+chr1 Cufflinks exon 3319000 3319051 . . . gene_id "XLOC_000065"; transcript_id "TCONS_00000039"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.77.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS71";
+chr1 Cufflinks exon 3330528 3330554 . . . gene_id "XLOC_000066"; transcript_id "TCONS_00000089"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.77.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS72";
+chr1 Cufflinks exon 3351241 3351311 . . . gene_id "XLOC_000067"; transcript_id "TCONS_00000090"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.79.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS73";
+chr1 Cufflinks exon 3355888 3355914 . . . gene_id "XLOC_000068"; transcript_id "TCONS_00000040"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.79.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS74";
+chr1 Cufflinks exon 3355908 3356119 . . . gene_id "XLOC_000068"; transcript_id "TCONS_00000091"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.81.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS74";
+chr1 Cufflinks exon 3356181 3356225 . . . gene_id "XLOC_000069"; transcript_id "TCONS_00000092"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.83.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS75";
+chr1 Cufflinks exon 3363077 3363176 . . . gene_id "XLOC_000070"; transcript_id "TCONS_00000093"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.85.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS76";
+chr1 Cufflinks exon 3363215 3363278 . . . gene_id "XLOC_000071"; transcript_id "TCONS_00000041"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.81.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS77";
+chr1 Cufflinks exon 3363388 3363446 . . . gene_id "XLOC_000072"; transcript_id "TCONS_00000094"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.87.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS78";
+chr1 Cufflinks exon 3363754 3363849 . . . gene_id "XLOC_000073"; transcript_id "TCONS_00000042"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.83.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS79";
+chr1 Cufflinks exon 3364872 3364919 . . . gene_id "XLOC_000074"; transcript_id "TCONS_00000095"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.89.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS80";
+chr1 Cufflinks exon 3367136 3367162 . . . gene_id "XLOC_000075"; transcript_id "TCONS_00000043"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.85.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS81";
+chr1 Cufflinks exon 3367211 3367237 . . . gene_id "XLOC_000076"; transcript_id "TCONS_00000096"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.91.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS82";
+chr1 Cufflinks exon 3367334 3367382 . . . gene_id "XLOC_000077"; transcript_id "TCONS_00000044"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.87.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS83";
+chr1 Cufflinks exon 3369581 3369607 . . . gene_id "XLOC_000078"; transcript_id "TCONS_00000097"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.93.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS84";
+chr1 Cufflinks exon 3375002 3375028 . . . gene_id "XLOC_000079"; transcript_id "TCONS_00000098"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.95.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS85";
+chr1 Cufflinks exon 3377212 3377262 . . . gene_id "XLOC_000080"; transcript_id "TCONS_00000045"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.89.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS86";
+chr1 Cufflinks exon 3379889 3379915 . . . gene_id "XLOC_000081"; transcript_id "TCONS_00000099"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.97.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS87";
+chr1 Cufflinks exon 3386740 3386836 . . . gene_id "XLOC_000082"; transcript_id "TCONS_00000100"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.99.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS88";
+chr1 Cufflinks exon 3391326 3391352 . . . gene_id "XLOC_000083"; transcript_id "TCONS_00000046"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.91.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS89";
+chr1 Cufflinks exon 3435842 3435880 . . . gene_id "XLOC_000084"; transcript_id "TCONS_00000047"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.93.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS90";
+chr1 Cufflinks exon 3447762 3447788 . . . gene_id "XLOC_000085"; transcript_id "TCONS_00000048"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.95.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS91";
+chr1 Cufflinks exon 3450907 3450965 . . . gene_id "XLOC_000086"; transcript_id "TCONS_00000049"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.97.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS92";
+chr1 Cufflinks exon 3451052 3451109 . . . gene_id "XLOC_000087"; transcript_id "TCONS_00000050"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.99.1"; nearest_ref "Xkr4"; class_code "i"; tss_id "TSS93";
diff -r 6345c9c5f79e80706a6466ae24b5480e56a26062 -r a533f050b897cb68359b4e5d8974cfdcc60d1cfc test-data/cuffcompare_out7.txt
--- a/test-data/cuffcompare_out7.txt
+++ b/test-data/cuffcompare_out7.txt
@@ -1,5 +1,5 @@
-# Cuffcompare v1.1.0 | Command line was:
-#cuffcompare -o cc_output -r /Users/jeremy/projects/galaxy-central/database/files/010/dataset_10115.dat -R ./input1 ./input2
+# Cuffcompare v1.3.0 | Command line was:
+#cuffcompare -o cc_output -r /Users/jeremy/projects/galaxy-central/database/files/010/dataset_10703.dat -R ./input1 ./input2
#
#= Summary for dataset: ./input1 :
@@ -14,11 +14,15 @@
Intron chain level: 0.0 nan 0.0 nan
Transcript level: 0.0 0.0 0.0 0.0
Locus level: 0.0 0.0 0.0 0.0
- Missed exons: 2/3 ( 66.7%)
- Wrong exons: 49/50 ( 98.0%)
- Missed introns: 2/2 (100.0%)
- Missed loci: 0/1 ( 0.0%)
- Wrong loci: 49/50 ( 98.0%)
+
+Matching intron chains: 0
+ Matching loci: 0
+
+ Missed exons: 2/3 ( 66.7%)
+ Novel exons: 49/50 ( 98.0%)
+ Missed introns: 2/2 (100.0%)
+ Missed loci: 0/1 ( 0.0%)
+ Novel loci: 49/50 ( 98.0%)
#= Summary for dataset: ./input2 :
# Query mRNAs : 50 in 50 loci (0 multi-exon transcripts)
https://bitbucket.org/galaxy/galaxy-central/changeset/e5c37f9787b7/
changeset: e5c37f9787b7
user: jgoecks
date: 2012-01-22 20:35:13
summary: Update cuffdiff test data for v1.3.0
affected #: 4 files
diff -r a533f050b897cb68359b4e5d8974cfdcc60d1cfc -r e5c37f9787b72231f31782e9e41f9e379afdb04c test-data/cuffdiff_out10.txt
--- a/test-data/cuffdiff_out10.txt
+++ b/test-data/cuffdiff_out10.txt
@@ -5,10 +5,10 @@
XLOC_000004 XLOC_000004 - chr1:3174765-3174792 q1 q2 NOTEST 0 0 0 0 0 1 no
XLOC_000005 XLOC_000005 - chr1:3187401-3187428 q1 q2 NOTEST 0 0 0 0 0 1 no
XLOC_000006 XLOC_000006 - chr1:3188521-3188548 q1 q2 NOTEST 0 0 0 0 0 1 no
-XLOC_000007 XLOC_000007 - chr1:3189810-3190789 q1 q2 NOTEST 0 0 0 0 1 1 no
-XLOC_000008 XLOC_000008 - chr1:3190858-3191434 q1 q2 NOTEST 0 0 0 0 1 1 no
-XLOC_000009 XLOC_000009 - chr1:3191512-3192077 q1 q2 NOTEST 0 0 0 0 1 1 no
-XLOC_000010 XLOC_000010 - chr1:3192250-3192336 q1 q2 NOTEST 0 0 0 0 1 1 no
+XLOC_000007 XLOC_000007 - chr1:3189810-3190789 q1 q2 NOTEST 0 0 0 0 0 1 no
+XLOC_000008 XLOC_000008 - chr1:3190858-3191434 q1 q2 NOTEST 0 0 0 0 0 1 no
+XLOC_000009 XLOC_000009 - chr1:3191512-3192077 q1 q2 NOTEST 0 0 0 0 0 1 no
+XLOC_000010 XLOC_000010 - chr1:3192250-3192336 q1 q2 NOTEST 0 0 0 0 0 1 no
XLOC_000011 XLOC_000011 - chr1:3192441-3192494 q1 q2 NOTEST 0 0 0 0 0 1 no
XLOC_000012 XLOC_000012 - chr1:3192550-3192629 q1 q2 NOTEST 0 0 0 0 0 1 no
XLOC_000013 XLOC_000013 - chr1:3192649-3192676 q1 q2 NOTEST 0 0 0 0 0 1 no
@@ -23,11 +23,11 @@
XLOC_000022 XLOC_000022 - chr1:3197246-3197273 q1 q2 NOTEST 0 0 0 0 0 1 no
XLOC_000023 XLOC_000023 - chr1:3197346-3197373 q1 q2 NOTEST 0 0 0 0 0 1 no
XLOC_000024 XLOC_000024 - chr1:3197425-3197452 q1 q2 NOTEST 0 0 0 0 0 1 no
-XLOC_000025 XLOC_000025 - chr1:3200022-3200191 q1 q2 NOTEST 0 0 0 0 1 1 no
+XLOC_000025 XLOC_000025 - chr1:3200022-3200191 q1 q2 NOTEST 0 0 0 0 0 1 no
XLOC_000026 XLOC_000026 - chr1:3200325-3200352 q1 q2 NOTEST 0 0 0 0 0 1 no
XLOC_000027 XLOC_000027 - chr1:3200430-3200457 q1 q2 NOTEST 0 0 0 0 0 1 no
XLOC_000028 XLOC_000028 - chr1:3201007-3201039 q1 q2 NOTEST 0 0 0 0 0 1 no
-XLOC_000029 XLOC_000029 - chr1:3201077-3201481 q1 q2 NOTEST 0 0 0 0 1 1 no
+XLOC_000029 XLOC_000029 - chr1:3201077-3201481 q1 q2 NOTEST 0 0 0 0 0 1 no
XLOC_000030 XLOC_000030 - chr1:3201596-3201666 q1 q2 NOTEST 0 0 0 0 0 1 no
XLOC_000031 XLOC_000031 - chr1:3201672-3201699 q1 q2 NOTEST 0 0 0 0 0 1 no
XLOC_000032 XLOC_000032 - chr1:3201725-3201809 q1 q2 NOTEST 0 0 0 0 0 1 no
@@ -35,10 +35,10 @@
XLOC_000034 XLOC_000034 Xkr4 chr1:3212213-3212292 q1 q2 NOTEST 0 0 0 0 0 1 no
XLOC_000035 XLOC_000035 Xkr4 chr1:3212367-3212439 q1 q2 NOTEST 0 0 0 0 0 1 no
XLOC_000036 XLOC_000036 Xkr4 chr1:3212717-3212801 q1 q2 NOTEST 0 0 0 0 0 1 no
-XLOC_000037 XLOC_000037 Xkr4 chr1:3213095-3213242 q1 q2 FAIL 0 0 0 0 0 1 no
+XLOC_000037 XLOC_000037 Xkr4 chr1:3213095-3213242 q1 q2 NOTEST 0 0 0 0 0 1 no
XLOC_000038 XLOC_000038 Xkr4 chr1:3240606-3240633 q1 q2 NOTEST 0 0 0 0 0 1 no
XLOC_000039 XLOC_000039 Xkr4 chr1:3242479-3242512 q1 q2 NOTEST 0 0 0 0 0 1 no
-XLOC_000040 XLOC_000040 Xkr4 chr1:3242633-3242923 q1 q2 NOTEST 0 0 0 0 1 1 no
+XLOC_000040 XLOC_000040 Xkr4 chr1:3242633-3242923 q1 q2 NOTEST 0 0 0 0 0 1 no
XLOC_000041 XLOC_000041 Xkr4 chr1:3242924-3243005 q1 q2 NOTEST 0 0 0 0 0 1 no
XLOC_000042 XLOC_000042 Xkr4 chr1:3243018-3243079 q1 q2 NOTEST 0 0 0 0 0 1 no
XLOC_000043 XLOC_000043 Xkr4 chr1:3243108-3243154 q1 q2 NOTEST 0 0 0 0 0 1 no
@@ -47,7 +47,7 @@
XLOC_000046 XLOC_000046 Xkr4 chr1:3256974-3257011 q1 q2 NOTEST 0 0 0 0 0 1 no
XLOC_000047 XLOC_000047 Xkr4 chr1:3277155-3277182 q1 q2 NOTEST 0 0 0 0 0 1 no
XLOC_000048 XLOC_000048 Xkr4 chr1:3277190-3277218 q1 q2 NOTEST 0 0 0 0 0 1 no
-XLOC_000049 XLOC_000049 Xkr4 chr1:3277913-3278390 q1 q2 NOTEST 0 0 0 0 1 1 no
+XLOC_000049 XLOC_000049 Xkr4 chr1:3277913-3278390 q1 q2 NOTEST 0 0 0 0 0 1 no
XLOC_000050 XLOC_000050 Xkr4 chr1:3280117-3280144 q1 q2 NOTEST 0 0 0 0 0 1 no
XLOC_000051 XLOC_000051 Xkr4 chr1:3280498-3280525 q1 q2 NOTEST 0 0 0 0 0 1 no
XLOC_000052 XLOC_000052 Xkr4 chr1:3280686-3280741 q1 q2 NOTEST 0 0 0 0 0 1 no
@@ -57,8 +57,8 @@
XLOC_000056 XLOC_000056 Xkr4 chr1:3284966-3284993 q1 q2 NOTEST 0 0 0 0 0 1 no
XLOC_000057 XLOC_000057 Xkr4 chr1:3290488-3290553 q1 q2 NOTEST 0 0 0 0 0 1 no
XLOC_000058 XLOC_000058 Xkr4 chr1:3290798-3290859 q1 q2 NOTEST 0 0 0 0 0 1 no
-XLOC_000059 XLOC_000059 Xkr4 chr1:3290919-3291273 q1 q2 NOTEST 0 0 0 0 1 1 no
-XLOC_000060 XLOC_000060 Xkr4 chr1:3299443-3299664 q1 q2 NOTEST 0 0 0 0 1 1 no
+XLOC_000059 XLOC_000059 Xkr4 chr1:3290919-3291273 q1 q2 NOTEST 0 0 0 0 0 1 no
+XLOC_000060 XLOC_000060 Xkr4 chr1:3299443-3299664 q1 q2 NOTEST 0 0 0 0 0 1 no
XLOC_000061 XLOC_000061 Xkr4 chr1:3299691-3299733 q1 q2 NOTEST 0 0 0 0 0 1 no
XLOC_000062 XLOC_000062 Xkr4 chr1:3300051-3300078 q1 q2 NOTEST 0 0 0 0 0 1 no
XLOC_000063 XLOC_000063 Xkr4 chr1:3307748-3307775 q1 q2 NOTEST 0 0 0 0 0 1 no
diff -r a533f050b897cb68359b4e5d8974cfdcc60d1cfc -r e5c37f9787b72231f31782e9e41f9e379afdb04c test-data/cuffdiff_out7.txt
--- a/test-data/cuffdiff_out7.txt
+++ b/test-data/cuffdiff_out7.txt
@@ -1,91 +1,89 @@
tracking_id class_code nearest_ref_id gene_id gene_short_name tss_id locus length coverage q1_FPKM q1_conf_lo q1_conf_hi q1_status q2_FPKM q2_conf_lo q2_conf_hi q2_status
TSS1 - - XLOC_000001 Xkr4 TSS1 chr1:3204754-3204833 - - 0 0 0 OK 8.3103e+06 0 2.00628e+07 OK
-TSS11 - - XLOC_000008 - TSS11 chr1:3190858-3191434 - - 404373 101434 707312 OK 338500 95761.5 581239 OK
-TSS12 - - XLOC_000009 - TSS12 chr1:3191512-3192077 - - 402276 96829.4 707722 OK 686974 410563 963384 OK
-TSS15 - - XLOC_000010 - TSS15 chr1:3192250-3192336 - - 3.994e+06 0 1.1982e+07 OK 2.93812e+06 0 8.81435e+06 OK
-TSS16 - - XLOC_000011 - TSS16 chr1:3192441-3192494 - - 0 0 0 OK 5.68095e+07 0 1.3715e+08 OK
-TSS17 - - XLOC_000012 - TSS17 chr1:3192550-3192629 - - 0 0 0 OK 4.15515e+06 0 1.24654e+07 OK
-TSS18 - - XLOC_000013 - TSS18 chr1:3192649-3192676 - - 0 0 0 OK 0 0 0 OK
-TSS19 - - XLOC_000014 - TSS19 chr1:3192731-3192811 - - 0 0 0 OK 0 0 0 OK
+TSS10 - - XLOC_000008 - TSS10 chr1:3190858-3191434 - - 474092 138279 809906 OK 369273 113039 625507 OK
+TSS11 - - XLOC_000009 - TSS11 chr1:3191512-3192077 - - 502845 149756 855934 OK 739818 487934 991702 OK
+TSS13 - - XLOC_000010 - TSS13 chr1:3192250-3192336 - - 3.994e+06 0 1.1982e+07 OK 2.93812e+06 0 8.81435e+06 OK
+TSS14 - - XLOC_000011 - TSS14 chr1:3192441-3192494 - - 0 0 0 OK 8.52143e+07 0 1.83611e+08 OK
+TSS15 - - XLOC_000012 - TSS15 chr1:3192550-3192629 - - 0 0 0 OK 4.15515e+06 0 1.24654e+07 OK
+TSS16 - - XLOC_000013 - TSS16 chr1:3192649-3192676 - - 0 0 0 OK 0 0 0 OK
+TSS17 - - XLOC_000014 - TSS17 chr1:3192731-3192811 - - 0 0 0 OK 0 0 0 OK
+TSS18 - - XLOC_000015 - TSS18 chr1:3192940-3193042 - - 0 0 0 OK 6.02976e+06 0 1.34147e+07 OK
+TSS19 - - XLOC_000016 - TSS19 chr1:3194185-3194226 - - 0 0 0 OK 2.1403e+08 0 6.42089e+08 OK
TSS2 - - XLOC_000002 - TSS2 chr1:3111449-3111490 - - 0 0 0 OK 2.1403e+08 0 6.42089e+08 OK
-TSS20 - - XLOC_000015 - TSS20 chr1:3192940-3193042 - - 0 0 0 OK 6.02976e+06 0 1.34147e+07 OK
-TSS21 - - XLOC_000016 - TSS21 chr1:3194185-3194226 - - 0 0 0 OK 2.1403e+08 0 6.42089e+08 OK
-TSS22 - - XLOC_000017 - TSS22 chr1:3194302-3194329 - - 0 0 0 OK 0 0 0 OK
-TSS23 - - XLOC_000018 - TSS23 chr1:3194706-3194733 - - 0 0 0 OK 0 0 0 OK
-TSS24 - - XLOC_000019 - TSS24 chr1:3195083-3195110 - - 0 0 0 OK 0 0 0 OK
-TSS25 - - XLOC_000020 - TSS25 chr1:3195450-3195477 - - 0 0 0 OK 0 0 0 OK
-TSS26 - - XLOC_000021 - TSS26 chr1:3197089-3197116 - - 0 0 0 OK 0 0 0 OK
-TSS27 - - XLOC_000022 - TSS27 chr1:3197246-3197273 - - 0 0 0 OK 0 0 0 OK
-TSS28 - - XLOC_000023 - TSS28 chr1:3197346-3197373 - - 0 0 0 OK 0 0 0 OK
-TSS29 - - XLOC_000024 - TSS29 chr1:3197425-3197452 - - 0 0 0 OK 0 0 0 OK
+TSS20 - - XLOC_000017 - TSS20 chr1:3194302-3194329 - - 0 0 0 OK 0 0 0 OK
+TSS21 - - XLOC_000018 - TSS21 chr1:3194706-3194733 - - 0 0 0 OK 0 0 0 OK
+TSS22 - - XLOC_000019 - TSS22 chr1:3195083-3195110 - - 0 0 0 OK 0 0 0 OK
+TSS23 - - XLOC_000020 - TSS23 chr1:3195450-3195477 - - 0 0 0 OK 0 0 0 OK
+TSS24 - - XLOC_000021 - TSS24 chr1:3197089-3197116 - - 0 0 0 OK 0 0 0 OK
+TSS25 - - XLOC_000022 - TSS25 chr1:3197246-3197273 - - 0 0 0 OK 0 0 0 OK
+TSS26 - - XLOC_000023 - TSS26 chr1:3197346-3197373 - - 0 0 0 OK 0 0 0 OK
+TSS27 - - XLOC_000024 - TSS27 chr1:3197425-3197452 - - 0 0 0 OK 0 0 0 OK
+TSS28 - - XLOC_000025 - TSS28 chr1:3200022-3200191 - - 959058 0 2.06648e+06 OK 705514 0 1.52017e+06 OK
+TSS29 - - XLOC_000026 - TSS29 chr1:3200325-3200352 - - 0 0 0 OK 0 0 0 OK
TSS3 - - XLOC_000003 - TSS3 chr1:3111545-3111576 - - 0 0 0 OK 0 0 0 OK
-TSS30 - - XLOC_000025 - TSS30 chr1:3200022-3200191 - - 959058 0 2.06648e+06 OK 705514 0 1.52017e+06 OK
-TSS32 - - XLOC_000026 - TSS32 chr1:3200325-3200352 - - 0 0 0 OK 0 0 0 OK
-TSS33 - - XLOC_000027 - TSS33 chr1:3200430-3200457 - - 0 0 0 OK 0 0 0 OK
-TSS34 - - XLOC_000028 - TSS34 chr1:3201007-3201039 - - 0 0 0 OK 0 0 0 OK
-TSS35 - - XLOC_000029 - TSS35 chr1:3201077-3201481 - - 77513.9 0 167019 OK 285108 21736.5 548480 OK
-TSS37 - - XLOC_000030 - TSS37 chr1:3201596-3201666 - - 1.89853e+07 0 4.58345e+07 OK 0 0 0 OK
-TSS38 - - XLOC_000031 - TSS38 chr1:3201672-3201699 - - 0 0 0 OK 0 0 0 OK
-TSS39 - - XLOC_000032 - TSS39 chr1:3201725-3201809 - - 1.31744e+07 0 2.83869e+07 OK 0 0 0 OK
+TSS30 - - XLOC_000027 - TSS30 chr1:3200430-3200457 - - 0 0 0 OK 0 0 0 OK
+TSS31 - - XLOC_000028 - TSS31 chr1:3201007-3201039 - - 0 0 0 OK 0 0 0 OK
+TSS32 - - XLOC_000029 - TSS32 chr1:3201077-3201481 - - 77513.9 0 167019 OK 285108 21736.5 548480 OK
+TSS33 - - XLOC_000030 - TSS33 chr1:3201596-3201666 - - 1.89853e+07 0 4.58345e+07 OK 0 0 0 OK
+TSS34 - - XLOC_000031 - TSS34 chr1:3201672-3201699 - - 0 0 0 OK 0 0 0 OK
+TSS35 - - XLOC_000032 - TSS35 chr1:3201725-3201809 - - 1.75659e+07 0 3.90796e+07 OK 0 0 0 OK
+TSS36 - - XLOC_000033 Xkr4 TSS36 chr1:3211521-3211561 - - 0 0 0 OK 0 0 0 OK
+TSS37 - - XLOC_000034 Xkr4 TSS37 chr1:3212213-3212292 - - 0 0 0 OK 8.3103e+06 0 2.00628e+07 OK
+TSS38 - - XLOC_000035 Xkr4 TSS38 chr1:3212367-3212439 - - 0 0 0 OK 2.4671e+07 0 5.48867e+07 OK
+TSS39 - - XLOC_000036 Xkr4 TSS39 chr1:3212717-3212801 - - 4.39147e+06 0 1.31744e+07 OK 0 0 0 OK
TSS4 - - XLOC_000004 - TSS4 chr1:3174765-3174792 - - 0 0 0 OK 0 0 0 OK
-TSS40 - - XLOC_000033 Xkr4 TSS40 chr1:3211521-3211561 - - 0 0 0 OK 0 0 0 OK
-TSS41 - - XLOC_000034 Xkr4 TSS41 chr1:3212213-3212292 - - 0 0 0 OK 8.3103e+06 0 2.00628e+07 OK
-TSS42 - - XLOC_000035 Xkr4 TSS42 chr1:3212367-3212439 - - 0 0 0 OK 2.4671e+07 0 5.48867e+07 OK
-TSS43 - - XLOC_000036 Xkr4 TSS43 chr1:3212717-3212801 - - 4.39147e+06 0 1.31744e+07 OK 0 0 0 OK
-TSS44 - - XLOC_000037 Xkr4 TSS44 chr1:3213095-3213242 - - 3.99739e+06 0 1.3943e+07 LOWDATA 1.82908e+06 0 5.48723e+06 OK
-TSS45 - - XLOC_000037 Xkr4 TSS45 chr1:3213095-3213242 - - 1.36901e+06 0 5.30211e+06 LOWDATA 0 0 0 OK
-TSS46 - - XLOC_000038 Xkr4 TSS46 chr1:3240606-3240633 - - 0 0 0 OK 0 0 0 OK
-TSS47 - - XLOC_000039 Xkr4 TSS47 chr1:3242479-3242512 - - 0 0 0 OK 0 0 0 OK
-TSS48 - - XLOC_000040 Xkr4 TSS48 chr1:3242633-3242923 - - 56312.4 0 168937 OK 372827 0 761430 OK
-TSS49 - - XLOC_000041 Xkr4 TSS49 chr1:3242924-3243005 - - 0 0 0 OK 0 0 0 OK
+TSS40 - - XLOC_000037 Xkr4 TSS40 chr1:3213095-3213242 - - 8.89174e+06 0 2.05036e+07 OK 1.82908e+06 0 5.48723e+06 OK
+TSS41 - - XLOC_000038 Xkr4 TSS41 chr1:3240606-3240633 - - 0 0 0 OK 0 0 0 OK
+TSS42 - - XLOC_000039 Xkr4 TSS42 chr1:3242479-3242512 - - 0 0 0 OK 0 0 0 OK
+TSS43 - - XLOC_000040 Xkr4 TSS43 chr1:3242633-3242923 - - 56312.4 0 168937 OK 372827 0 761430 OK
+TSS44 - - XLOC_000041 Xkr4 TSS44 chr1:3242924-3243005 - - 0 0 0 OK 0 0 0 OK
+TSS45 - - XLOC_000042 Xkr4 TSS45 chr1:3243018-3243079 - - 0 0 0 OK 2.66226e+07 0 6.42725e+07 OK
+TSS46 - - XLOC_000043 Xkr4 TSS46 chr1:3243108-3243154 - - 9.99919e+07 0 2.99976e+08 OK 0 0 0 OK
+TSS47 - - XLOC_000044 Xkr4 TSS47 chr1:3243347-3243401 - - 0 0 0 OK 5.0951e+07 0 1.23007e+08 OK
+TSS48 - - XLOC_000045 Xkr4 TSS48 chr1:3254079-3254106 - - 0 0 0 OK 0 0 0 OK
+TSS49 - - XLOC_000046 Xkr4 TSS49 chr1:3256974-3257011 - - 0 0 0 OK 2.06814e+09 0 4.99293e+09 OK
TSS5 - - XLOC_000005 - TSS5 chr1:3187401-3187428 - - 0 0 0 OK 0 0 0 OK
-TSS50 - - XLOC_000042 Xkr4 TSS50 chr1:3243018-3243079 - - 0 0 0 OK 2.66226e+07 0 6.42725e+07 OK
-TSS51 - - XLOC_000043 Xkr4 TSS51 chr1:3243108-3243154 - - 9.99919e+07 0 2.99976e+08 OK 0 0 0 OK
-TSS52 - - XLOC_000044 Xkr4 TSS52 chr1:3243347-3243401 - - 0 0 0 OK 5.0951e+07 0 1.23007e+08 OK
-TSS53 - - XLOC_000045 Xkr4 TSS53 chr1:3254079-3254106 - - 0 0 0 OK 0 0 0 OK
-TSS54 - - XLOC_000046 Xkr4 TSS54 chr1:3256974-3257011 - - 0 0 0 OK 2.06814e+09 0 4.99293e+09 OK
-TSS55 - - XLOC_000047 Xkr4 TSS55 chr1:3277155-3277182 - - 0 0 0 OK 0 0 0 OK
-TSS56 - - XLOC_000048 Xkr4 TSS56 chr1:3277190-3277218 - - 0 0 0 OK 0 0 0 OK
-TSS57 - - XLOC_000049 Xkr4 TSS57 chr1:3277913-3278390 - - 265614 16793 514436 OK 41870.3 0 90217.9 OK
-TSS59 - - XLOC_000050 Xkr4 TSS59 chr1:3280117-3280144 - - 0 0 0 OK 0 0 0 OK
+TSS50 - - XLOC_000047 Xkr4 TSS50 chr1:3277155-3277182 - - 0 0 0 OK 0 0 0 OK
+TSS51 - - XLOC_000048 Xkr4 TSS51 chr1:3277190-3277218 - - 0 0 0 OK 0 0 0 OK
+TSS52 - - XLOC_000049 Xkr4 TSS52 chr1:3277913-3278390 - - 265614 16793 514436 OK 41870.3 0 90217.9 OK
+TSS54 - - XLOC_000050 Xkr4 TSS54 chr1:3280117-3280144 - - 0 0 0 OK 0 0 0 OK
+TSS55 - - XLOC_000051 Xkr4 TSS55 chr1:3280498-3280525 - - 0 0 0 OK 0 0 0 OK
+TSS56 - - XLOC_000052 Xkr4 TSS56 chr1:3280686-3280741 - - 0 0 0 OK 2.29576e+07 0 6.88728e+07 OK
+TSS57 - - XLOC_000053 Xkr4 TSS57 chr1:3282504-3282531 - - 0 0 0 OK 0 0 0 OK
+TSS58 - - XLOC_000054 Xkr4 TSS58 chr1:3282650-3282677 - - 0 0 0 OK 0 0 0 OK
+TSS59 - - XLOC_000055 Xkr4 TSS59 chr1:3282760-3282832 - - 0 0 0 OK 0 0 0 OK
TSS6 - - XLOC_000006 - TSS6 chr1:3188521-3188548 - - 0 0 0 OK 0 0 0 OK
-TSS60 - - XLOC_000051 Xkr4 TSS60 chr1:3280498-3280525 - - 0 0 0 OK 0 0 0 OK
-TSS61 - - XLOC_000052 Xkr4 TSS61 chr1:3280686-3280741 - - 0 0 0 OK 2.29576e+07 0 6.88728e+07 OK
-TSS62 - - XLOC_000053 Xkr4 TSS62 chr1:3282504-3282531 - - 0 0 0 OK 0 0 0 OK
-TSS63 - - XLOC_000054 Xkr4 TSS63 chr1:3282650-3282677 - - 0 0 0 OK 0 0 0 OK
-TSS64 - - XLOC_000055 Xkr4 TSS64 chr1:3282760-3282832 - - 0 0 0 OK 0 0 0 OK
-TSS65 - - XLOC_000056 Xkr4 TSS65 chr1:3284966-3284993 - - 0 0 0 OK 0 0 0 OK
-TSS66 - - XLOC_000057 Xkr4 TSS66 chr1:3290488-3290553 - - 0 0 0 OK 9.79535e+06 0 2.9386e+07 OK
-TSS67 - - XLOC_000058 Xkr4 TSS67 chr1:3290798-3290859 - - 1.8095e+07 0 5.4285e+07 OK 0 0 0 OK
-TSS68 - - XLOC_000059 Xkr4 TSS68 chr1:3290919-3291273 - - 342218 0 691214 OK 75524 0 162732 OK
-TSS7 - - XLOC_000007 - TSS7 chr1:3189810-3190789 - - 368900 151353 586447 OK 429265 337221 521309 OK
-TSS70 - - XLOC_000060 Xkr4 TSS70 chr1:3299443-3299664 - - 937403 0 1.99795e+06 OK 137917 0 413751 OK
-TSS71 - - XLOC_000060 Xkr4 TSS71 chr1:3299443-3299664 - - 0 0 0 OK 0 0 0 OK
-TSS72 - - XLOC_000061 Xkr4 TSS72 chr1:3299691-3299733 - - 0 0 0 OK 0 0 0 OK
-TSS73 - - XLOC_000062 Xkr4 TSS73 chr1:3300051-3300078 - - 0 0 0 OK 0 0 0 OK
-TSS74 - - XLOC_000063 Xkr4 TSS74 chr1:3307748-3307775 - - 0 0 0 OK 0 0 0 OK
-TSS75 - - XLOC_000064 Xkr4 TSS75 chr1:3318620-3318647 - - 0 0 0 OK 0 0 0 OK
-TSS76 - - XLOC_000065 Xkr4 TSS76 chr1:3318999-3319051 - - 0 0 0 OK 0 0 0 OK
-TSS77 - - XLOC_000066 Xkr4 TSS77 chr1:3330527-3330554 - - 0 0 0 OK 0 0 0 OK
-TSS78 - - XLOC_000067 Xkr4 TSS78 chr1:3351240-3351311 - - 8.91489e+06 0 2.67447e+07 OK 0 0 0 OK
-TSS79 - - XLOC_000068 Xkr4 TSS79 chr1:3355887-3356119 - - 0 0 0 OK 0 0 0 OK
-TSS80 - - XLOC_000068 Xkr4 TSS80 chr1:3355887-3356119 - - 585828 0 1.30332e+06 OK 0 0 0 OK
-TSS81 - - XLOC_000069 Xkr4 TSS81 chr1:3356180-3356225 - - 1.19208e+08 0 3.57623e+08 OK 0 0 0 OK
-TSS82 - - XLOC_000070 Xkr4 TSS82 chr1:3363076-3363176 - - 4.42166e+06 0 1.06748e+07 OK 0 0 0 OK
-TSS83 - - XLOC_000071 Xkr4 TSS83 chr1:3363214-3363278 - - 0 0 0 OK 0 0 0 OK
-TSS84 - - XLOC_000072 Xkr4 TSS84 chr1:3363387-3363446 - - 4.28358e+07 0 1.03415e+08 OK 0 0 0 OK
-TSS85 - - XLOC_000073 Xkr4 TSS85 chr1:3363753-3363849 - - 0 0 0 OK 0 0 0 OK
-TSS86 - - XLOC_000074 Xkr4 TSS86 chr1:3364871-3364919 - - 7.29939e+07 0 2.18982e+08 OK 0 0 0 OK
-TSS87 - - XLOC_000075 Xkr4 TSS87 chr1:3367135-3367162 - - 0 0 0 OK 0 0 0 OK
-TSS88 - - XLOC_000076 Xkr4 TSS88 chr1:3367210-3367237 - - 0 0 0 OK 0 0 0 OK
-TSS89 - - XLOC_000077 Xkr4 TSS89 chr1:3367333-3367382 - - 0 0 0 OK 0 0 0 OK
-TSS90 - - XLOC_000078 Xkr4 TSS90 chr1:3369580-3369607 - - 0 0 0 OK 0 0 0 OK
-TSS91 - - XLOC_000079 Xkr4 TSS91 chr1:3375001-3375028 - - 0 0 0 OK 0 0 0 OK
-TSS92 - - XLOC_000080 Xkr4 TSS92 chr1:3377211-3377262 - - 0 0 0 OK 0 0 0 OK
-TSS93 - - XLOC_000081 Xkr4 TSS93 chr1:3379888-3379915 - - 0 0 0 OK 0 0 0 OK
-TSS94 - - XLOC_000082 Xkr4 TSS94 chr1:3386739-3386836 - - 0 0 0 OK 0 0 0 OK
-TSS95 - - XLOC_000083 Xkr4 TSS95 chr1:3391325-3391352 - - 0 0 0 OK 0 0 0 OK
-TSS96 - - XLOC_000084 Xkr4 TSS96 chr1:3435841-3435880 - - 0 0 0 OK 0 0 0 OK
-TSS97 - - XLOC_000085 Xkr4 TSS97 chr1:3447761-3447788 - - 0 0 0 OK 0 0 0 OK
-TSS98 - - XLOC_000086 Xkr4 TSS98 chr1:3450906-3450965 - - 0 0 0 OK 0 0 0 OK
-TSS99 - - XLOC_000087 Xkr4 TSS99 chr1:3451051-3451109 - - 0 0 0 OK 0 0 0 OK
+TSS60 - - XLOC_000056 Xkr4 TSS60 chr1:3284966-3284993 - - 0 0 0 OK 0 0 0 OK
+TSS61 - - XLOC_000057 Xkr4 TSS61 chr1:3290488-3290553 - - 0 0 0 OK 9.79535e+06 0 2.9386e+07 OK
+TSS62 - - XLOC_000058 Xkr4 TSS62 chr1:3290798-3290859 - - 1.8095e+07 0 5.4285e+07 OK 0 0 0 OK
+TSS63 - - XLOC_000059 Xkr4 TSS63 chr1:3290919-3291273 - - 342218 0 691214 OK 75524 0 162732 OK
+TSS65 - - XLOC_000060 Xkr4 TSS65 chr1:3299443-3299664 - - 937403 0 1.99795e+06 OK 137917 0 413751 OK
+TSS66 - - XLOC_000060 Xkr4 TSS66 chr1:3299443-3299664 - - 0 0 0 OK 0 0 0 OK
+TSS67 - - XLOC_000061 Xkr4 TSS67 chr1:3299691-3299733 - - 0 0 0 OK 0 0 0 OK
+TSS68 - - XLOC_000062 Xkr4 TSS68 chr1:3300051-3300078 - - 0 0 0 OK 0 0 0 OK
+TSS69 - - XLOC_000063 Xkr4 TSS69 chr1:3307748-3307775 - - 0 0 0 OK 0 0 0 OK
+TSS7 - - XLOC_000007 - TSS7 chr1:3189810-3190789 - - 415851 231920 599782 OK 458870 363705 554035 OK
+TSS70 - - XLOC_000064 Xkr4 TSS70 chr1:3318620-3318647 - - 0 0 0 OK 0 0 0 OK
+TSS71 - - XLOC_000065 Xkr4 TSS71 chr1:3318999-3319051 - - 0 0 0 OK 0 0 0 OK
+TSS72 - - XLOC_000066 Xkr4 TSS72 chr1:3330527-3330554 - - 0 0 0 OK 0 0 0 OK
+TSS73 - - XLOC_000067 Xkr4 TSS73 chr1:3351240-3351311 - - 8.91489e+06 0 2.67447e+07 OK 0 0 0 OK
+TSS74 - - XLOC_000068 Xkr4 TSS74 chr1:3355887-3356119 - - 585828 0 1.30332e+06 OK 0 0 0 OK
+TSS75 - - XLOC_000069 Xkr4 TSS75 chr1:3356180-3356225 - - 1.19208e+08 0 3.57623e+08 OK 0 0 0 OK
+TSS76 - - XLOC_000070 Xkr4 TSS76 chr1:3363076-3363176 - - 4.42166e+06 0 1.06748e+07 OK 0 0 0 OK
+TSS77 - - XLOC_000071 Xkr4 TSS77 chr1:3363214-3363278 - - 0 0 0 OK 0 0 0 OK
+TSS78 - - XLOC_000072 Xkr4 TSS78 chr1:3363387-3363446 - - 6.42536e+07 0 1.38447e+08 OK 0 0 0 OK
+TSS79 - - XLOC_000073 Xkr4 TSS79 chr1:3363753-3363849 - - 0 0 0 OK 0 0 0 OK
+TSS80 - - XLOC_000074 Xkr4 TSS80 chr1:3364871-3364919 - - 7.29939e+07 0 2.18982e+08 OK 0 0 0 OK
+TSS81 - - XLOC_000075 Xkr4 TSS81 chr1:3367135-3367162 - - 0 0 0 OK 0 0 0 OK
+TSS82 - - XLOC_000076 Xkr4 TSS82 chr1:3367210-3367237 - - 0 0 0 OK 0 0 0 OK
+TSS83 - - XLOC_000077 Xkr4 TSS83 chr1:3367333-3367382 - - 0 0 0 OK 0 0 0 OK
+TSS84 - - XLOC_000078 Xkr4 TSS84 chr1:3369580-3369607 - - 0 0 0 OK 0 0 0 OK
+TSS85 - - XLOC_000079 Xkr4 TSS85 chr1:3375001-3375028 - - 0 0 0 OK 0 0 0 OK
+TSS86 - - XLOC_000080 Xkr4 TSS86 chr1:3377211-3377262 - - 0 0 0 OK 0 0 0 OK
+TSS87 - - XLOC_000081 Xkr4 TSS87 chr1:3379888-3379915 - - 0 0 0 OK 0 0 0 OK
+TSS88 - - XLOC_000082 Xkr4 TSS88 chr1:3386739-3386836 - - 0 0 0 OK 0 0 0 OK
+TSS89 - - XLOC_000083 Xkr4 TSS89 chr1:3391325-3391352 - - 0 0 0 OK 0 0 0 OK
+TSS90 - - XLOC_000084 Xkr4 TSS90 chr1:3435841-3435880 - - 0 0 0 OK 0 0 0 OK
+TSS91 - - XLOC_000085 Xkr4 TSS91 chr1:3447761-3447788 - - 0 0 0 OK 0 0 0 OK
+TSS92 - - XLOC_000086 Xkr4 TSS92 chr1:3450906-3450965 - - 0 0 0 OK 0 0 0 OK
+TSS93 - - XLOC_000087 Xkr4 TSS93 chr1:3451051-3451109 - - 0 0 0 OK 0 0 0 OK
diff -r a533f050b897cb68359b4e5d8974cfdcc60d1cfc -r e5c37f9787b72231f31782e9e41f9e379afdb04c test-data/cuffdiff_out9.txt
--- a/test-data/cuffdiff_out9.txt
+++ b/test-data/cuffdiff_out9.txt
@@ -1,91 +1,89 @@
test_id gene_id gene locus sample_1 sample_2 status value_1 value_2 sqrt(JS) test_stat p_value q_value significant
TSS1 XLOC_000001 Xkr4 chr1:3204754-3204833 q1 q2 NOTEST 0 0 0 0 0 1 no
-TSS11 XLOC_000008 - chr1:3190858-3191434 q1 q2 NOTEST 0 0 0 0 1 1 no
-TSS12 XLOC_000009 - chr1:3191512-3192077 q1 q2 NOTEST 0 0 0 0 1 1 no
-TSS15 XLOC_000010 - chr1:3192250-3192336 q1 q2 NOTEST 0 0 0 0 1 1 no
-TSS16 XLOC_000011 - chr1:3192441-3192494 q1 q2 NOTEST 0 0 0 0 0 1 no
-TSS17 XLOC_000012 - chr1:3192550-3192629 q1 q2 NOTEST 0 0 0 0 0 1 no
-TSS18 XLOC_000013 - chr1:3192649-3192676 q1 q2 NOTEST 0 0 0 0 0 1 no
-TSS19 XLOC_000014 - chr1:3192731-3192811 q1 q2 NOTEST 0 0 0 0 0 1 no
+TSS10 XLOC_000008 - chr1:3190858-3191434 q1 q2 NOTEST 0 0 0 0 0 1 no
+TSS11 XLOC_000009 - chr1:3191512-3192077 q1 q2 NOTEST 0 0 0 0 0 1 no
+TSS13 XLOC_000010 - chr1:3192250-3192336 q1 q2 NOTEST 0 0 0 0 0 1 no
+TSS14 XLOC_000011 - chr1:3192441-3192494 q1 q2 NOTEST 0 0 0 0 0 1 no
+TSS15 XLOC_000012 - chr1:3192550-3192629 q1 q2 NOTEST 0 0 0 0 0 1 no
+TSS16 XLOC_000013 - chr1:3192649-3192676 q1 q2 NOTEST 0 0 0 0 0 1 no
+TSS17 XLOC_000014 - chr1:3192731-3192811 q1 q2 NOTEST 0 0 0 0 0 1 no
+TSS18 XLOC_000015 - chr1:3192940-3193042 q1 q2 NOTEST 0 0 0 0 0 1 no
+TSS19 XLOC_000016 - chr1:3194185-3194226 q1 q2 NOTEST 0 0 0 0 0 1 no
TSS2 XLOC_000002 - chr1:3111449-3111490 q1 q2 NOTEST 0 0 0 0 0 1 no
-TSS20 XLOC_000015 - chr1:3192940-3193042 q1 q2 NOTEST 0 0 0 0 0 1 no
-TSS21 XLOC_000016 - chr1:3194185-3194226 q1 q2 NOTEST 0 0 0 0 0 1 no
-TSS22 XLOC_000017 - chr1:3194302-3194329 q1 q2 NOTEST 0 0 0 0 0 1 no
-TSS23 XLOC_000018 - chr1:3194706-3194733 q1 q2 NOTEST 0 0 0 0 0 1 no
-TSS24 XLOC_000019 - chr1:3195083-3195110 q1 q2 NOTEST 0 0 0 0 0 1 no
-TSS25 XLOC_000020 - chr1:3195450-3195477 q1 q2 NOTEST 0 0 0 0 0 1 no
-TSS26 XLOC_000021 - chr1:3197089-3197116 q1 q2 NOTEST 0 0 0 0 0 1 no
-TSS27 XLOC_000022 - chr1:3197246-3197273 q1 q2 NOTEST 0 0 0 0 0 1 no
-TSS28 XLOC_000023 - chr1:3197346-3197373 q1 q2 NOTEST 0 0 0 0 0 1 no
-TSS29 XLOC_000024 - chr1:3197425-3197452 q1 q2 NOTEST 0 0 0 0 0 1 no
+TSS20 XLOC_000017 - chr1:3194302-3194329 q1 q2 NOTEST 0 0 0 0 0 1 no
+TSS21 XLOC_000018 - chr1:3194706-3194733 q1 q2 NOTEST 0 0 0 0 0 1 no
+TSS22 XLOC_000019 - chr1:3195083-3195110 q1 q2 NOTEST 0 0 0 0 0 1 no
+TSS23 XLOC_000020 - chr1:3195450-3195477 q1 q2 NOTEST 0 0 0 0 0 1 no
+TSS24 XLOC_000021 - chr1:3197089-3197116 q1 q2 NOTEST 0 0 0 0 0 1 no
+TSS25 XLOC_000022 - chr1:3197246-3197273 q1 q2 NOTEST 0 0 0 0 0 1 no
+TSS26 XLOC_000023 - chr1:3197346-3197373 q1 q2 NOTEST 0 0 0 0 0 1 no
+TSS27 XLOC_000024 - chr1:3197425-3197452 q1 q2 NOTEST 0 0 0 0 0 1 no
+TSS28 XLOC_000025 - chr1:3200022-3200191 q1 q2 NOTEST 0 0 0 0 0 1 no
+TSS29 XLOC_000026 - chr1:3200325-3200352 q1 q2 NOTEST 0 0 0 0 0 1 no
TSS3 XLOC_000003 - chr1:3111545-3111576 q1 q2 NOTEST 0 0 0 0 0 1 no
-TSS30 XLOC_000025 - chr1:3200022-3200191 q1 q2 NOTEST 0 0 0 0 1 1 no
-TSS32 XLOC_000026 - chr1:3200325-3200352 q1 q2 NOTEST 0 0 0 0 0 1 no
-TSS33 XLOC_000027 - chr1:3200430-3200457 q1 q2 NOTEST 0 0 0 0 0 1 no
-TSS34 XLOC_000028 - chr1:3201007-3201039 q1 q2 NOTEST 0 0 0 0 0 1 no
-TSS35 XLOC_000029 - chr1:3201077-3201481 q1 q2 NOTEST 0 0 0 0 1 1 no
-TSS37 XLOC_000030 - chr1:3201596-3201666 q1 q2 NOTEST 0 0 0 0 0 1 no
-TSS38 XLOC_000031 - chr1:3201672-3201699 q1 q2 NOTEST 0 0 0 0 0 1 no
-TSS39 XLOC_000032 - chr1:3201725-3201809 q1 q2 NOTEST 0 0 0 0 0 1 no
+TSS30 XLOC_000027 - chr1:3200430-3200457 q1 q2 NOTEST 0 0 0 0 0 1 no
+TSS31 XLOC_000028 - chr1:3201007-3201039 q1 q2 NOTEST 0 0 0 0 0 1 no
+TSS32 XLOC_000029 - chr1:3201077-3201481 q1 q2 NOTEST 0 0 0 0 0 1 no
+TSS33 XLOC_000030 - chr1:3201596-3201666 q1 q2 NOTEST 0 0 0 0 0 1 no
+TSS34 XLOC_000031 - chr1:3201672-3201699 q1 q2 NOTEST 0 0 0 0 0 1 no
+TSS35 XLOC_000032 - chr1:3201725-3201809 q1 q2 NOTEST 0 0 0 0 0 1 no
+TSS36 XLOC_000033 Xkr4 chr1:3211521-3211561 q1 q2 NOTEST 0 0 0 0 0 1 no
+TSS37 XLOC_000034 Xkr4 chr1:3212213-3212292 q1 q2 NOTEST 0 0 0 0 0 1 no
+TSS38 XLOC_000035 Xkr4 chr1:3212367-3212439 q1 q2 NOTEST 0 0 0 0 0 1 no
+TSS39 XLOC_000036 Xkr4 chr1:3212717-3212801 q1 q2 NOTEST 0 0 0 0 0 1 no
TSS4 XLOC_000004 - chr1:3174765-3174792 q1 q2 NOTEST 0 0 0 0 0 1 no
-TSS40 XLOC_000033 Xkr4 chr1:3211521-3211561 q1 q2 NOTEST 0 0 0 0 0 1 no
-TSS41 XLOC_000034 Xkr4 chr1:3212213-3212292 q1 q2 NOTEST 0 0 0 0 0 1 no
-TSS42 XLOC_000035 Xkr4 chr1:3212367-3212439 q1 q2 NOTEST 0 0 0 0 0 1 no
-TSS43 XLOC_000036 Xkr4 chr1:3212717-3212801 q1 q2 NOTEST 0 0 0 0 0 1 no
-TSS44 XLOC_000037 Xkr4 chr1:3213095-3213242 q1 q2 FAIL 0 0 0 0 0 1 no
-TSS45 XLOC_000037 Xkr4 chr1:3213095-3213242 q1 q2 FAIL 0 0 0 0 0 1 no
-TSS46 XLOC_000038 Xkr4 chr1:3240606-3240633 q1 q2 NOTEST 0 0 0 0 0 1 no
-TSS47 XLOC_000039 Xkr4 chr1:3242479-3242512 q1 q2 NOTEST 0 0 0 0 0 1 no
-TSS48 XLOC_000040 Xkr4 chr1:3242633-3242923 q1 q2 NOTEST 0 0 0 0 1 1 no
-TSS49 XLOC_000041 Xkr4 chr1:3242924-3243005 q1 q2 NOTEST 0 0 0 0 0 1 no
+TSS40 XLOC_000037 Xkr4 chr1:3213095-3213242 q1 q2 OK 0 0 0.249945 0.143447 0.135175 0.135175 no
+TSS41 XLOC_000038 Xkr4 chr1:3240606-3240633 q1 q2 NOTEST 0 0 0 0 0 1 no
+TSS42 XLOC_000039 Xkr4 chr1:3242479-3242512 q1 q2 NOTEST 0 0 0 0 0 1 no
+TSS43 XLOC_000040 Xkr4 chr1:3242633-3242923 q1 q2 NOTEST 0 0 0 0 0 1 no
+TSS44 XLOC_000041 Xkr4 chr1:3242924-3243005 q1 q2 NOTEST 0 0 0 0 0 1 no
+TSS45 XLOC_000042 Xkr4 chr1:3243018-3243079 q1 q2 NOTEST 0 0 0 0 0 1 no
+TSS46 XLOC_000043 Xkr4 chr1:3243108-3243154 q1 q2 NOTEST 0 0 0 0 0 1 no
+TSS47 XLOC_000044 Xkr4 chr1:3243347-3243401 q1 q2 NOTEST 0 0 0 0 0 1 no
+TSS48 XLOC_000045 Xkr4 chr1:3254079-3254106 q1 q2 NOTEST 0 0 0 0 0 1 no
+TSS49 XLOC_000046 Xkr4 chr1:3256974-3257011 q1 q2 NOTEST 0 0 0 0 0 1 no
TSS5 XLOC_000005 - chr1:3187401-3187428 q1 q2 NOTEST 0 0 0 0 0 1 no
-TSS50 XLOC_000042 Xkr4 chr1:3243018-3243079 q1 q2 NOTEST 0 0 0 0 0 1 no
-TSS51 XLOC_000043 Xkr4 chr1:3243108-3243154 q1 q2 NOTEST 0 0 0 0 0 1 no
-TSS52 XLOC_000044 Xkr4 chr1:3243347-3243401 q1 q2 NOTEST 0 0 0 0 0 1 no
-TSS53 XLOC_000045 Xkr4 chr1:3254079-3254106 q1 q2 NOTEST 0 0 0 0 0 1 no
-TSS54 XLOC_000046 Xkr4 chr1:3256974-3257011 q1 q2 NOTEST 0 0 0 0 0 1 no
-TSS55 XLOC_000047 Xkr4 chr1:3277155-3277182 q1 q2 NOTEST 0 0 0 0 0 1 no
-TSS56 XLOC_000048 Xkr4 chr1:3277190-3277218 q1 q2 NOTEST 0 0 0 0 0 1 no
-TSS57 XLOC_000049 Xkr4 chr1:3277913-3278390 q1 q2 NOTEST 0 0 0 0 1 1 no
-TSS59 XLOC_000050 Xkr4 chr1:3280117-3280144 q1 q2 NOTEST 0 0 0 0 0 1 no
+TSS50 XLOC_000047 Xkr4 chr1:3277155-3277182 q1 q2 NOTEST 0 0 0 0 0 1 no
+TSS51 XLOC_000048 Xkr4 chr1:3277190-3277218 q1 q2 NOTEST 0 0 0 0 0 1 no
+TSS52 XLOC_000049 Xkr4 chr1:3277913-3278390 q1 q2 NOTEST 0 0 0 0 0 1 no
+TSS54 XLOC_000050 Xkr4 chr1:3280117-3280144 q1 q2 NOTEST 0 0 0 0 0 1 no
+TSS55 XLOC_000051 Xkr4 chr1:3280498-3280525 q1 q2 NOTEST 0 0 0 0 0 1 no
+TSS56 XLOC_000052 Xkr4 chr1:3280686-3280741 q1 q2 NOTEST 0 0 0 0 0 1 no
+TSS57 XLOC_000053 Xkr4 chr1:3282504-3282531 q1 q2 NOTEST 0 0 0 0 0 1 no
+TSS58 XLOC_000054 Xkr4 chr1:3282650-3282677 q1 q2 NOTEST 0 0 0 0 0 1 no
+TSS59 XLOC_000055 Xkr4 chr1:3282760-3282832 q1 q2 NOTEST 0 0 0 0 0 1 no
TSS6 XLOC_000006 - chr1:3188521-3188548 q1 q2 NOTEST 0 0 0 0 0 1 no
-TSS60 XLOC_000051 Xkr4 chr1:3280498-3280525 q1 q2 NOTEST 0 0 0 0 0 1 no
-TSS61 XLOC_000052 Xkr4 chr1:3280686-3280741 q1 q2 NOTEST 0 0 0 0 0 1 no
-TSS62 XLOC_000053 Xkr4 chr1:3282504-3282531 q1 q2 NOTEST 0 0 0 0 0 1 no
-TSS63 XLOC_000054 Xkr4 chr1:3282650-3282677 q1 q2 NOTEST 0 0 0 0 0 1 no
-TSS64 XLOC_000055 Xkr4 chr1:3282760-3282832 q1 q2 NOTEST 0 0 0 0 0 1 no
-TSS65 XLOC_000056 Xkr4 chr1:3284966-3284993 q1 q2 NOTEST 0 0 0 0 0 1 no
-TSS66 XLOC_000057 Xkr4 chr1:3290488-3290553 q1 q2 NOTEST 0 0 0 0 0 1 no
-TSS67 XLOC_000058 Xkr4 chr1:3290798-3290859 q1 q2 NOTEST 0 0 0 0 0 1 no
-TSS68 XLOC_000059 Xkr4 chr1:3290919-3291273 q1 q2 NOTEST 0 0 0 0 1 1 no
-TSS7 XLOC_000007 - chr1:3189810-3190789 q1 q2 NOTEST 0 0 0 0 1 1 no
-TSS70 XLOC_000060 Xkr4 chr1:3299443-3299664 q1 q2 NOTEST 0 0 0 0 1 1 no
-TSS71 XLOC_000060 Xkr4 chr1:3299443-3299664 q1 q2 NOTEST 0 0 0 0 0 1 no
-TSS72 XLOC_000061 Xkr4 chr1:3299691-3299733 q1 q2 NOTEST 0 0 0 0 0 1 no
-TSS73 XLOC_000062 Xkr4 chr1:3300051-3300078 q1 q2 NOTEST 0 0 0 0 0 1 no
-TSS74 XLOC_000063 Xkr4 chr1:3307748-3307775 q1 q2 NOTEST 0 0 0 0 0 1 no
-TSS75 XLOC_000064 Xkr4 chr1:3318620-3318647 q1 q2 NOTEST 0 0 0 0 0 1 no
-TSS76 XLOC_000065 Xkr4 chr1:3318999-3319051 q1 q2 NOTEST 0 0 0 0 0 1 no
-TSS77 XLOC_000066 Xkr4 chr1:3330527-3330554 q1 q2 NOTEST 0 0 0 0 0 1 no
-TSS78 XLOC_000067 Xkr4 chr1:3351240-3351311 q1 q2 NOTEST 0 0 0 0 0 1 no
-TSS79 XLOC_000068 Xkr4 chr1:3355887-3356119 q1 q2 NOTEST 0 0 0 0 0 1 no
-TSS80 XLOC_000068 Xkr4 chr1:3355887-3356119 q1 q2 NOTEST 0 0 0 0 0 1 no
-TSS81 XLOC_000069 Xkr4 chr1:3356180-3356225 q1 q2 NOTEST 0 0 0 0 0 1 no
-TSS82 XLOC_000070 Xkr4 chr1:3363076-3363176 q1 q2 NOTEST 0 0 0 0 0 1 no
-TSS83 XLOC_000071 Xkr4 chr1:3363214-3363278 q1 q2 NOTEST 0 0 0 0 0 1 no
-TSS84 XLOC_000072 Xkr4 chr1:3363387-3363446 q1 q2 NOTEST 0 0 0 0 0 1 no
-TSS85 XLOC_000073 Xkr4 chr1:3363753-3363849 q1 q2 NOTEST 0 0 0 0 0 1 no
-TSS86 XLOC_000074 Xkr4 chr1:3364871-3364919 q1 q2 NOTEST 0 0 0 0 0 1 no
-TSS87 XLOC_000075 Xkr4 chr1:3367135-3367162 q1 q2 NOTEST 0 0 0 0 0 1 no
-TSS88 XLOC_000076 Xkr4 chr1:3367210-3367237 q1 q2 NOTEST 0 0 0 0 0 1 no
-TSS89 XLOC_000077 Xkr4 chr1:3367333-3367382 q1 q2 NOTEST 0 0 0 0 0 1 no
-TSS90 XLOC_000078 Xkr4 chr1:3369580-3369607 q1 q2 NOTEST 0 0 0 0 0 1 no
-TSS91 XLOC_000079 Xkr4 chr1:3375001-3375028 q1 q2 NOTEST 0 0 0 0 0 1 no
-TSS92 XLOC_000080 Xkr4 chr1:3377211-3377262 q1 q2 NOTEST 0 0 0 0 0 1 no
-TSS93 XLOC_000081 Xkr4 chr1:3379888-3379915 q1 q2 NOTEST 0 0 0 0 0 1 no
-TSS94 XLOC_000082 Xkr4 chr1:3386739-3386836 q1 q2 NOTEST 0 0 0 0 0 1 no
-TSS95 XLOC_000083 Xkr4 chr1:3391325-3391352 q1 q2 NOTEST 0 0 0 0 0 1 no
-TSS96 XLOC_000084 Xkr4 chr1:3435841-3435880 q1 q2 NOTEST 0 0 0 0 0 1 no
-TSS97 XLOC_000085 Xkr4 chr1:3447761-3447788 q1 q2 NOTEST 0 0 0 0 0 1 no
-TSS98 XLOC_000086 Xkr4 chr1:3450906-3450965 q1 q2 NOTEST 0 0 0 0 0 1 no
-TSS99 XLOC_000087 Xkr4 chr1:3451051-3451109 q1 q2 NOTEST 0 0 0 0 0 1 no
+TSS60 XLOC_000056 Xkr4 chr1:3284966-3284993 q1 q2 NOTEST 0 0 0 0 0 1 no
+TSS61 XLOC_000057 Xkr4 chr1:3290488-3290553 q1 q2 NOTEST 0 0 0 0 0 1 no
+TSS62 XLOC_000058 Xkr4 chr1:3290798-3290859 q1 q2 NOTEST 0 0 0 0 0 1 no
+TSS63 XLOC_000059 Xkr4 chr1:3290919-3291273 q1 q2 NOTEST 0 0 0 0 0 1 no
+TSS65 XLOC_000060 Xkr4 chr1:3299443-3299664 q1 q2 NOTEST 0 0 0 0 0 1 no
+TSS66 XLOC_000060 Xkr4 chr1:3299443-3299664 q1 q2 NOTEST 0 0 0 0 0 1 no
+TSS67 XLOC_000061 Xkr4 chr1:3299691-3299733 q1 q2 NOTEST 0 0 0 0 0 1 no
+TSS68 XLOC_000062 Xkr4 chr1:3300051-3300078 q1 q2 NOTEST 0 0 0 0 0 1 no
+TSS69 XLOC_000063 Xkr4 chr1:3307748-3307775 q1 q2 NOTEST 0 0 0 0 0 1 no
+TSS7 XLOC_000007 - chr1:3189810-3190789 q1 q2 NOTEST 0 0 0 0 0 1 no
+TSS70 XLOC_000064 Xkr4 chr1:3318620-3318647 q1 q2 NOTEST 0 0 0 0 0 1 no
+TSS71 XLOC_000065 Xkr4 chr1:3318999-3319051 q1 q2 NOTEST 0 0 0 0 0 1 no
+TSS72 XLOC_000066 Xkr4 chr1:3330527-3330554 q1 q2 NOTEST 0 0 0 0 0 1 no
+TSS73 XLOC_000067 Xkr4 chr1:3351240-3351311 q1 q2 NOTEST 0 0 0 0 0 1 no
+TSS74 XLOC_000068 Xkr4 chr1:3355887-3356119 q1 q2 NOTEST 0 0 0 0 0 1 no
+TSS75 XLOC_000069 Xkr4 chr1:3356180-3356225 q1 q2 NOTEST 0 0 0 0 0 1 no
+TSS76 XLOC_000070 Xkr4 chr1:3363076-3363176 q1 q2 NOTEST 0 0 0 0 0 1 no
+TSS77 XLOC_000071 Xkr4 chr1:3363214-3363278 q1 q2 NOTEST 0 0 0 0 0 1 no
+TSS78 XLOC_000072 Xkr4 chr1:3363387-3363446 q1 q2 NOTEST 0 0 0 0 0 1 no
+TSS79 XLOC_000073 Xkr4 chr1:3363753-3363849 q1 q2 NOTEST 0 0 0 0 0 1 no
+TSS80 XLOC_000074 Xkr4 chr1:3364871-3364919 q1 q2 NOTEST 0 0 0 0 0 1 no
+TSS81 XLOC_000075 Xkr4 chr1:3367135-3367162 q1 q2 NOTEST 0 0 0 0 0 1 no
+TSS82 XLOC_000076 Xkr4 chr1:3367210-3367237 q1 q2 NOTEST 0 0 0 0 0 1 no
+TSS83 XLOC_000077 Xkr4 chr1:3367333-3367382 q1 q2 NOTEST 0 0 0 0 0 1 no
+TSS84 XLOC_000078 Xkr4 chr1:3369580-3369607 q1 q2 NOTEST 0 0 0 0 0 1 no
+TSS85 XLOC_000079 Xkr4 chr1:3375001-3375028 q1 q2 NOTEST 0 0 0 0 0 1 no
+TSS86 XLOC_000080 Xkr4 chr1:3377211-3377262 q1 q2 NOTEST 0 0 0 0 0 1 no
+TSS87 XLOC_000081 Xkr4 chr1:3379888-3379915 q1 q2 NOTEST 0 0 0 0 0 1 no
+TSS88 XLOC_000082 Xkr4 chr1:3386739-3386836 q1 q2 NOTEST 0 0 0 0 0 1 no
+TSS89 XLOC_000083 Xkr4 chr1:3391325-3391352 q1 q2 NOTEST 0 0 0 0 0 1 no
+TSS90 XLOC_000084 Xkr4 chr1:3435841-3435880 q1 q2 NOTEST 0 0 0 0 0 1 no
+TSS91 XLOC_000085 Xkr4 chr1:3447761-3447788 q1 q2 NOTEST 0 0 0 0 0 1 no
+TSS92 XLOC_000086 Xkr4 chr1:3450906-3450965 q1 q2 NOTEST 0 0 0 0 0 1 no
+TSS93 XLOC_000087 Xkr4 chr1:3451051-3451109 q1 q2 NOTEST 0 0 0 0 0 1 no
diff -r a533f050b897cb68359b4e5d8974cfdcc60d1cfc -r e5c37f9787b72231f31782e9e41f9e379afdb04c tools/ngs_rna/cuffdiff_wrapper.xml
--- a/tools/ngs_rna/cuffdiff_wrapper.xml
+++ b/tools/ngs_rna/cuffdiff_wrapper.xml
@@ -151,7 +151,7 @@
<param name="aligned_reads2" value="cuffdiff_in2.sam" ftype="sam" /><!-- Defaults. --><param name="fdr" value="0.05" />
- <param name="min_alignment_count" value="0" ftype="sam" />
+ <param name="min_alignment_count" value="0" /><param name="do_bias_correction" value="No" /><param name="do_normalization" value="No" /><param name="sPaired" value="single" ftype="sam" />
https://bitbucket.org/galaxy/galaxy-central/changeset/34db794299d3/
changeset: 34db794299d3
user: jgoecks
date: 2012-01-22 20:39:19
summary: Remove unneeded ftype attribute.
affected #: 1 file
diff -r e5c37f9787b72231f31782e9e41f9e379afdb04c -r 34db794299d3b79e1c9a92fff65e6222c70f4031 tools/ngs_rna/cuffdiff_wrapper.xml
--- a/tools/ngs_rna/cuffdiff_wrapper.xml
+++ b/tools/ngs_rna/cuffdiff_wrapper.xml
@@ -154,7 +154,7 @@
<param name="min_alignment_count" value="0" /><param name="do_bias_correction" value="No" /><param name="do_normalization" value="No" />
- <param name="sPaired" value="single" ftype="sam" />
+ <param name="sPaired" value="single"/><!--
Line diffs are needed because cuffdiff does not produce deterministic output.
TODO: can we find datasets that lead to deterministic behavior?
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0
commit/galaxy-central: dan: Fix for setting up column assignments for dynamic options wrt tool data tables when the index file is missing.
by Bitbucket 20 Jan '12
by Bitbucket 20 Jan '12
20 Jan '12
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/changeset/ef0a2b1c879b/
changeset: ef0a2b1c879b
user: dan
date: 2012-01-20 22:40:34
summary: Fix for setting up column assignments for dynamic options wrt tool data tables when the index file is missing.
affected #: 1 file
diff -r 8a597b83448f66523531c782b027dd000e277644 -r ef0a2b1c879b51c215afd445c248eb604645b29f lib/galaxy/tools/parameters/dynamic_options.py
--- a/lib/galaxy/tools/parameters/dynamic_options.py
+++ b/lib/galaxy/tools/parameters/dynamic_options.py
@@ -411,16 +411,15 @@
app = tool_param.tool.app
if tool_data_table_name in app.tool_data_tables:
self.tool_data_table = app.tool_data_tables[ tool_data_table_name ]
+ # Column definitions are optional, but if provided override those from the table
+ if elem.find( "column" ) is not None:
+ self.parse_column_definitions( elem )
+ else:
+ self.columns = self.tool_data_table.columns
# Set self.missing_index_file if the index file to
# which the tool_data_table refers does not exist.
if self.tool_data_table.missing_index_file:
self.missing_index_file = self.tool_data_table.missing_index_file
- else:
- # Column definitions are optional, but if provided override those from the table
- if elem.find( "column" ) is not None:
- self.parse_column_definitions( elem )
- else:
- self.columns = self.tool_data_table.columns
else:
self.missing_tool_data_table_name = tool_data_table_name
log.warn( "Data table named '%s' is required by tool but not configured" % tool_data_table_name )
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0
20 Jan '12
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/changeset/8a597b83448f/
changeset: 8a597b83448f
user: natefoo
date: 2012-01-20 22:20:13
summary: Fix for the object store doctest.
affected #: 1 file
diff -r ea34f05c3c212754ba79bdfb4959233cea2837b3 -r 8a597b83448f66523531c782b027dd000e277644 lib/galaxy/objectstore/__init__.py
--- a/lib/galaxy/objectstore/__init__.py
+++ b/lib/galaxy/objectstore/__init__.py
@@ -195,11 +195,12 @@
>>> from galaxy.util.bunch import Bunch
>>> import tempfile
>>> file_path=tempfile.mkdtemp()
- >>> s = DiskObjectStore(Bunch(umask=077), file_path=file_path)
- >>> s.create(1)
- >>> s.exists(1)
+ >>> obj = Bunch(id=1)
+ >>> s = DiskObjectStore(Bunch(umask=077, job_working_directory=file_path, new_file_path=file_path), file_path=file_path)
+ >>> s.create(obj)
+ >>> s.exists(obj)
True
- >>> assert s.get_filename(1) == file_path + '/000/dataset_1.dat'
+ >>> assert s.get_filename(obj) == file_path + '/000/dataset_1.dat'
"""
def __init__(self, config, file_path=None, extra_dirs=None):
super(DiskObjectStore, self).__init__()
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0