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
November 2011
- 1 participants
- 121 discussions
18 Nov '11
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/changeset/07df6866125a/
changeset: 07df6866125a
user: richard_burhans
date: 2011-11-18 22:15:11
summary: Bug fixes for the ctd tool
affected #: 2 files
diff -r 511941e1aea7bcb24a1e30b1e8ac59bf0ba6a3d6 -r 07df6866125adb6f3723aec8303e9300338e4cdc tools/human_genome_variation/ctd.pl
--- a/tools/human_genome_variation/ctd.pl
+++ b/tools/human_genome_variation/ctd.pl
@@ -38,8 +38,8 @@
}
close FH or die "Couldn't close $in, $!\n";
-my $url = 'http://ctd.mdibl.org/tools/batchQuery.go';
-#my $url = 'http://globin.bx.psu.edu/cgi-bin/print-query';
+my $url = 'http://ctdbase.org/tools/batchQuery.go';
+#my $url = 'http://ctd.mdibl.org/tools/batchQuery.go';
my $d = join("\n", @data);
#list maintains order, where hash doesn't
#order matters at ctd
diff -r 511941e1aea7bcb24a1e30b1e8ac59bf0ba6a3d6 -r 07df6866125adb6f3723aec8303e9300338e4cdc tools/human_genome_variation/ctd.xml
--- a/tools/human_genome_variation/ctd.xml
+++ b/tools/human_genome_variation/ctd.xml
@@ -29,13 +29,10 @@
<when value="genes"><!-- do nothing --></when>
- <when value="pathways">
+ <when value="pathways_inferred"><!-- do nothing --></when>
- <when value="pathways_curated">
- <!-- do nothing -->
- </when>
- <when value="pathways_inferred">
+ <when value="pathways_enriched"><!-- do nothing --></when><when value="diseases">
@@ -247,7 +244,7 @@
start with '-' are a subset of a choice above them; you can chose
either the general interaction type or a more specific one.
-Home page: http://ctd.mdibl.org/
+Home page: http://ctdbase.org
.. _tabular: ./static/formatHelp.html#tab
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: Update Cuffdiff test data to be compatible with v1.1.0
by Bitbucket 18 Nov '11
by Bitbucket 18 Nov '11
18 Nov '11
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/changeset/511941e1aea7/
changeset: 511941e1aea7
user: jgoecks
date: 2011-11-18 21:14:39
summary: Update Cuffdiff test data to be compatible with v1.1.0
affected #: 11 files
diff -r 277403d31907d71e5e77694c0c97c16772f23e27 -r 511941e1aea7bcb24a1e30b1e8ac59bf0ba6a3d6 test-data/cuffdiff_out1.txt
--- a/test-data/cuffdiff_out1.txt
+++ b/test-data/cuffdiff_out1.txt
@@ -1,99 +1,91 @@
-test_id gene_id gene locus sample_1 sample_2 status value_1 value_2 ln(fold_change) test_stat p_value q_value significant
-TCONS_00000001 XLOC_000001 - chr1:3204754-3204833 q1 q2 OK 0 5.42247e+06 1.79769e+308 1.79769e+308 0.0786496 0.550547 no
-TCONS_00000002 XLOC_000002 - chr1:3111449-3111490 q1 q2 OK 0 1.39654e+08 1.79769e+308 1.79769e+308 0.158655 0.777411 no
-TCONS_00000003 XLOC_000003 - chr1:3111545-3111576 q1 q2 OK 0 0 0 0 1 1.24051 no
-TCONS_00000004 XLOC_000007 - chr1:3189810-3190789 q1 q2 OK 2.49256e+06 5.29759e+06 0.753941 -1.11223 0.266041 0.790061 no
-TCONS_00000005 XLOC_000007 - chr1:3189810-3190789 q1 q2 OK 0 0 0 0 1 1.25641 no
-TCONS_00000006 XLOC_000007 - chr1:3189810-3190789 q1 q2 OK 0 0 0 0 1 1.27273 no
-TCONS_00000007 XLOC_000009 - chr1:3191512-3192077 q1 q2 OK 2.77423e+06 6.7156e+06 0.88406 -1.27269 0.203128 0.663553 no
-TCONS_00000008 XLOC_000009 - chr1:3191512-3192077 q1 q2 OK 1.11098e+07 3.03942e+07 1.00642 -0.806752 0.419809 1.17547 no
-TCONS_00000009 XLOC_000011 - chr1:3192441-3192494 q1 q2 OK 0 5.56023e+07 1.79769e+308 1.79769e+308 0.0416323 0.582852 no
-TCONS_00000010 XLOC_000012 - chr1:3192550-3192629 q1 q2 OK 0 2.71123e+06 1.79769e+308 1.79769e+308 0.158655 0.598008 no
-TCONS_00000011 XLOC_000014 - chr1:3192731-3192811 q1 q2 OK 0 0 0 0 1 1.28947 no
-TCONS_00000012 XLOC_000015 - chr1:3192940-3193042 q1 q2 OK 0 3.93442e+06 1.79769e+308 1.79769e+308 0.0416319 0.679987 no
-TCONS_00000013 XLOC_000016 - chr1:3194185-3194226 q1 q2 OK 0 1.39654e+08 1.79769e+308 1.79769e+308 0.158655 0.818327 no
-TCONS_00000014 XLOC_000017 - chr1:3194302-3194329 q1 q2 OK 0 0 0 0 1 1.30667 no
-TCONS_00000015 XLOC_000019 - chr1:3195083-3195110 q1 q2 OK 0 0 0 0 1 1.32432 no
-TCONS_00000016 XLOC_000020 - chr1:3195450-3195477 q1 q2 OK 0 0 0 0 1 1.34247 no
-TCONS_00000017 XLOC_000021 - chr1:3197089-3197116 q1 q2 OK 0 0 0 0 1 1.36111 no
-TCONS_00000018 XLOC_000022 - chr1:3197246-3197273 q1 q2 OK 0 0 0 0 1 1.38028 no
-TCONS_00000019 XLOC_000023 - chr1:3197346-3197373 q1 q2 OK 0 0 0 0 1 1.4 no
-TCONS_00000020 XLOC_000025 - chr1:3200022-3200191 q1 q2 OK 460348 460348 0 0 1 1.42029 no
-TCONS_00000021 XLOC_000026 - chr1:3200325-3200352 q1 q2 OK 0 0 0 0 1 1.44118 no
-TCONS_00000022 XLOC_000029 - chr1:3201077-3201481 q1 q2 OK 37206.6 186033 1.60944 -2.18263 0.0290634 2.84821 no
-TCONS_00000023 XLOC_000031 - chr1:3201672-3201699 q1 q2 OK 0 0 0 0 1 1.46269 no
-TCONS_00000024 XLOC_000034 - chr1:3212213-3212292 q1 q2 OK 0 5.42247e+06 1.79769e+308 1.79769e+308 0.0786496 0.642305 no
-TCONS_00000025 XLOC_000035 - chr1:3212367-3212439 q1 q2 OK 0 1.60978e+07 1.79769e+308 1.79769e+308 0.0416319 1.35997 no
-TCONS_00000026 XLOC_000037 - chr1:3213095-3213192 q1 q2 OK 2.38694e+06 1.19347e+06 -0.693147 0.565952 0.571426 1.55555 no
-TCONS_00000027 XLOC_000040 - chr1:3242633-3242923 q1 q2 OK 27029.9 243269 2.19722 -1.95282 0.0508409 0.553601 no
-TCONS_00000028 XLOC_000042 - chr1:3243018-3243079 q1 q2 OK 0 1.73712e+07 1.79769e+308 1.79769e+308 0.0786496 0.700696 no
-TCONS_00000029 XLOC_000044 - chr1:3243347-3243401 q1 q2 OK 0 3.32455e+07 1.79769e+308 1.79769e+308 0.0786496 0.770766 no
-TCONS_00000030 XLOC_000046 - chr1:3256974-3257011 q1 q2 OK 0 1.34946e+09 1.79769e+308 1.79769e+308 0.0786496 0.481729 no
-TCONS_00000031 XLOC_000048 - chr1:3277190-3277218 q1 q2 OK 0 0 0 0 1 1.48485 no
-TCONS_00000032 XLOC_000049 - chr1:3277913-3278390 q1 q2 OK 0 0 0 0 1 1.50769 no
-TCONS_00000033 XLOC_000052 - chr1:3280686-3280741 q1 q2 OK 0 1.49798e+07 1.79769e+308 1.79769e+308 0.158655 0.86379 no
-TCONS_00000034 XLOC_000057 - chr1:3290488-3290553 q1 q2 OK 0 6.39146e+06 1.79769e+308 1.79769e+308 0.158655 0.676009 no
-TCONS_00000035 XLOC_000059 - chr1:3290919-3291273 q1 q2 OK 6.40392e+06 0 -1.79769e+308 -1.79769e+308 0.0814259 0.469396 no
-TCONS_00000036 XLOC_000059 - chr1:3290919-3291273 q1 q2 OK 1.2964e+06 1.46758e+06 0.124018 -0.0764318 0.939076 2.42183 no
-TCONS_00000037 XLOC_000060 - chr1:3299443-3299664 q1 q2 OK 0 0 0 0 1 1.53125 no
-TCONS_00000038 XLOC_000062 - chr1:3300051-3300078 q1 q2 OK 0 0 0 0 1 1.55556 no
-TCONS_00000039 XLOC_000065 - chr1:3318999-3319051 q1 q2 OK 0 0 0 0 1 1.58065 no
-TCONS_00000040 XLOC_000068 - chr1:3355887-3356119 q1 q2 OK 0 0 0 0 1 1 no
-TCONS_00000041 XLOC_000071 - chr1:3363214-3363278 q1 q2 OK 0 0 0 0 1 1.01031 no
-TCONS_00000042 XLOC_000073 - chr1:3363753-3363849 q1 q2 OK 0 0 0 0 1 1.02083 no
-TCONS_00000043 XLOC_000075 - chr1:3367135-3367162 q1 q2 OK 0 0 0 0 1 1.03158 no
-TCONS_00000044 XLOC_000077 - chr1:3367333-3367382 q1 q2 OK 0 0 0 0 1 1.04255 no
-TCONS_00000045 XLOC_000080 - chr1:3377211-3377262 q1 q2 OK 0 0 0 0 1 1.05376 no
-TCONS_00000046 XLOC_000083 - chr1:3391325-3391352 q1 q2 OK 0 0 0 0 1 1.06522 no
-TCONS_00000047 XLOC_000084 - chr1:3435841-3435880 q1 q2 OK 0 0 0 0 1 1.07692 no
-TCONS_00000048 XLOC_000085 - chr1:3447761-3447788 q1 q2 OK 0 0 0 0 1 1.08889 no
-TCONS_00000049 XLOC_000086 - chr1:3450906-3450965 q1 q2 OK 0 0 0 0 1 1.10112 no
-TCONS_00000050 XLOC_000087 - chr1:3451051-3451109 q1 q2 OK 0 0 0 0 1 1.11364 no
-TCONS_00000051 XLOC_000004 - chr1:3174765-3174792 q1 q2 OK 0 0 0 0 1 1.12644 no
-TCONS_00000052 XLOC_000005 - chr1:3187401-3187428 q1 q2 OK 0 0 0 0 1 1.13953 no
-TCONS_00000053 XLOC_000006 - chr1:3188521-3188548 q1 q2 OK 0 0 0 0 1 1.15294 no
-TCONS_00000054 XLOC_000007 - chr1:3189810-3190789 q1 q2 OK 171639 239968 0.335111 -1.01532 0.309956 0.893401 no
-TCONS_00000055 XLOC_000008 - chr1:3190858-3191434 q1 q2 OK 227564 240951 0.0571584 -0.115428 0.908106 2.40525 no
-TCONS_00000056 XLOC_000009 - chr1:3191512-3192077 q1 q2 OK 175955 319423 0.596288 -1.18662 0.235378 0.720847 no
-TCONS_00000057 XLOC_000010 - chr1:3192250-3192336 q1 q2 OK 1.91712e+06 1.91712e+06 0 0 1 1.16667 no
-TCONS_00000058 XLOC_000013 - chr1:3192649-3192676 q1 q2 OK 0 0 0 0 1 1.18072 no
-TCONS_00000059 XLOC_000018 - chr1:3194706-3194733 q1 q2 OK 0 0 0 0 1 1.19512 no
-TCONS_00000060 XLOC_000024 - chr1:3197425-3197452 q1 q2 OK 0 0 0 0 1 1.20988 no
-TCONS_00000061 XLOC_000027 - chr1:3200430-3200457 q1 q2 OK 0 0 0 0 1 1.225 no
-TCONS_00000062 XLOC_000028 - chr1:3201007-3201039 q1 q2 OK 0 0 0 0 1 2.27907 no
-TCONS_00000063 XLOC_000029 - chr1:3201077-3201481 q1 q2 OK 0 0 0 0 1 2.51282 no
-TCONS_00000064 XLOC_000030 - chr1:3201596-3201666 q1 q2 OK 9.11292e+06 0 -1.79769e+308 -1.79769e+308 0.0786496 0.513844 no
-TCONS_00000065 XLOC_000032 - chr1:3201725-3201809 q1 q2 OK 8.43162e+06 0 -1.79769e+308 -1.79769e+308 0.0416319 0.815985 no
-TCONS_00000066 XLOC_000033 - chr1:3211521-3211561 q1 q2 OK 0 0 0 0 1 2.13043 no
-TCONS_00000067 XLOC_000036 - chr1:3212717-3212801 q1 q2 OK 2.10791e+06 0 -1.79769e+308 -1.79769e+308 0.158655 0.647842 no
-TCONS_00000068 XLOC_000038 - chr1:3240606-3240633 q1 q2 OK 0 0 0 0 1 2.45 no
-TCONS_00000069 XLOC_000039 - chr1:3242479-3242512 q1 q2 OK 0 0 0 0 1 2.39024 no
-TCONS_00000070 XLOC_000041 - chr1:3242924-3243005 q1 q2 OK 0 0 0 0 1 2.33333 no
-TCONS_00000071 XLOC_000043 - chr1:3243108-3243154 q1 q2 OK 4.79961e+07 0 -1.79769e+308 -1.79769e+308 0.158655 0.740391 no
-TCONS_00000072 XLOC_000045 - chr1:3254079-3254106 q1 q2 OK 0 0 0 0 1 2.22727 no
-TCONS_00000073 XLOC_000047 - chr1:3277155-3277182 q1 q2 OK 0 0 0 0 1 2.17778 no
-TCONS_00000074 XLOC_000049 - chr1:3277913-3278390 q1 q2 OK 127495 27320.3 -1.54045 2.07809 0.037701 1.84735 no
-TCONS_00000075 XLOC_000050 - chr1:3280117-3280144 q1 q2 OK 0 0 0 0 1 2.08511 no
-TCONS_00000076 XLOC_000051 - chr1:3280498-3280525 q1 q2 OK 0 0 0 0 1 2.04167 no
-TCONS_00000077 XLOC_000053 - chr1:3282504-3282531 q1 q2 OK 0 0 0 0 1 2 no
-TCONS_00000078 XLOC_000054 - chr1:3282650-3282677 q1 q2 OK 0 0 0 0 1 1.96 no
-TCONS_00000079 XLOC_000055 - chr1:3282760-3282832 q1 q2 OK 0 0 0 0 1 1.92157 no
-TCONS_00000080 XLOC_000056 - chr1:3284966-3284993 q1 q2 OK 0 0 0 0 1 1.88462 no
-TCONS_00000081 XLOC_000058 - chr1:3290798-3290859 q1 q2 OK 8.68561e+06 0 -1.79769e+308 -1.79769e+308 0.158655 0.706737 no
-TCONS_00000082 XLOC_000059 - chr1:3290919-3291273 q1 q2 OK 95795.4 28263.3 -1.22065 1.20083 0.229815 0.726513 no
-TCONS_00000083 XLOC_000060 - chr1:3299443-3299664 q1 q2 OK 449954 89990.7 -1.60944 1.40539 0.159905 0.540368 no
-TCONS_00000084 XLOC_000061 - chr1:3299691-3299733 q1 q2 OK 0 0 0 0 1 1.84906 no
-TCONS_00000085 XLOC_000063 - chr1:3307748-3307775 q1 q2 OK 0 0 0 0 1 1.81481 no
-TCONS_00000086 XLOC_000064 - chr1:3318620-3318647 q1 q2 OK 0 0 0 0 1 1.78182 no
-TCONS_00000087 XLOC_000066 - chr1:3330527-3330554 q1 q2 OK 0 0 0 0 1 1.75 no
-TCONS_00000088 XLOC_000067 - chr1:3351240-3351311 q1 q2 OK 4.27915e+06 0 -1.79769e+308 -1.79769e+308 0.158655 0.555293 no
-TCONS_00000089 XLOC_000068 - chr1:3355887-3356119 q1 q2 OK 281197 0 -1.79769e+308 -1.79769e+308 0.0416319 1.01998 no
-TCONS_00000090 XLOC_000069 - chr1:3356180-3356225 q1 q2 OK 5.72196e+07 0 -1.79769e+308 -1.79769e+308 0.158655 0.57586 no
-TCONS_00000091 XLOC_000070 - chr1:3363076-3363176 q1 q2 OK 2.1224e+06 0 -1.79769e+308 -1.79769e+308 0.0786496 0.592897 no
-TCONS_00000092 XLOC_000072 - chr1:3363387-3363446 q1 q2 OK 3.08417e+07 0 -1.79769e+308 -1.79769e+308 0.0416323 0.509995 no
-TCONS_00000093 XLOC_000074 - chr1:3364871-3364919 q1 q2 OK 3.50371e+07 0 -1.79769e+308 -1.79769e+308 0.158655 0.621929 no
-TCONS_00000094 XLOC_000076 - chr1:3367210-3367237 q1 q2 OK 0 0 0 0 1 1.7193 no
-TCONS_00000095 XLOC_000078 - chr1:3369580-3369607 q1 q2 OK 0 0 0 0 1 1.68966 no
-TCONS_00000096 XLOC_000079 - chr1:3375001-3375028 q1 q2 OK 0 0 0 0 1 1.66102 no
-TCONS_00000097 XLOC_000081 - chr1:3379888-3379915 q1 q2 OK 0 0 0 0 1 1.63333 no
-TCONS_00000098 XLOC_000082 - chr1:3386739-3386836 q1 q2 OK 0 0 0 0 1 1.60656 no
+test_id gene_id gene locus sample_1 sample_2 status value_1 value_2 log2(fold_change) test_stat p_value q_value significant
+TCONS_00000001 XLOC_000001 Xkr4 chr1:3204754-3204833 q1 q2 OK 0 8.3103e+06 1.79769e+308 1.79769e+308 0.0786496 0.150149 no
+TCONS_00000002 XLOC_000002 - chr1:3111449-3111490 q1 q2 OK 0 2.1403e+08 1.79769e+308 1.79769e+308 0.158655 0.158655 no
+TCONS_00000003 XLOC_000003 - chr1:3111545-3111576 q1 q2 NOTEST 0 0 0 0 1 1 no
+TCONS_00000009 XLOC_000011 - chr1:3192441-3192494 q1 q2 OK 0 5.68095e+07 1.79769e+308 1.79769e+308 0.0786496 0.150149 no
+TCONS_00000010 XLOC_000012 - chr1:3192550-3192629 q1 q2 OK 0 4.15515e+06 1.79769e+308 1.79769e+308 0.158655 0.158655 no
+TCONS_00000011 XLOC_000014 - chr1:3192731-3192811 q1 q2 NOTEST 0 0 0 0 1 1 no
+TCONS_00000012 XLOC_000015 - chr1:3192940-3193042 q1 q2 OK 0 6.02976e+06 1.79769e+308 1.79769e+308 0.0512352 0.150149 no
+TCONS_00000013 XLOC_000016 - chr1:3194185-3194226 q1 q2 OK 0 2.1403e+08 1.79769e+308 1.79769e+308 0.158655 0.158655 no
+TCONS_00000014 XLOC_000017 - chr1:3194302-3194329 q1 q2 NOTEST 0 0 0 0 1 1 no
+TCONS_00000015 XLOC_000019 - chr1:3195083-3195110 q1 q2 NOTEST 0 0 0 0 1 1 no
+TCONS_00000016 XLOC_000020 - chr1:3195450-3195477 q1 q2 NOTEST 0 0 0 0 1 1 no
+TCONS_00000017 XLOC_000021 - chr1:3197089-3197116 q1 q2 NOTEST 0 0 0 0 1 1 no
+TCONS_00000018 XLOC_000022 - chr1:3197246-3197273 q1 q2 NOTEST 0 0 0 0 1 1 no
+TCONS_00000019 XLOC_000023 - chr1:3197346-3197373 q1 q2 NOTEST 0 0 0 0 1 1 no
+TCONS_00000020 XLOC_000025 - chr1:3200022-3200191 q1 q2 NOTEST 959058 705514 -0.442943 0.376027 0.706897 1 no
+TCONS_00000021 XLOC_000026 - chr1:3200325-3200352 q1 q2 NOTEST 0 0 0 0 1 1 no
+TCONS_00000022 XLOC_000029 - chr1:3201077-3201481 q1 q2 NOTEST 77513.9 285108 1.87898 -1.76152 0.0781506 1 no
+TCONS_00000023 XLOC_000031 - chr1:3201672-3201699 q1 q2 NOTEST 0 0 0 0 1 1 no
+TCONS_00000024 XLOC_000034 Xkr4 chr1:3212213-3212292 q1 q2 OK 0 8.3103e+06 1.79769e+308 1.79769e+308 0.0786496 0.150149 no
+TCONS_00000025 XLOC_000035 Xkr4 chr1:3212367-3212439 q1 q2 OK 0 2.4671e+07 1.79769e+308 1.79769e+308 0.0512352 0.150149 no
+TCONS_00000026 XLOC_000037 Xkr4 chr1:3213095-3213242 q1 q2 NOTEST 3.99739e+06 1.82908e+06 -1.12794 0.781831 0.434314 1 no
+TCONS_00000027 XLOC_000040 Xkr4 chr1:3242633-3242923 q1 q2 NOTEST 56312.4 372827 2.72698 -1.67622 0.0936947 1 no
+TCONS_00000028 XLOC_000042 Xkr4 chr1:3243018-3243079 q1 q2 OK 0 2.66226e+07 1.79769e+308 1.79769e+308 0.0786496 0.150149 no
+TCONS_00000029 XLOC_000044 Xkr4 chr1:3243347-3243401 q1 q2 OK 0 5.0951e+07 1.79769e+308 1.79769e+308 0.0786496 0.150149 no
+TCONS_00000030 XLOC_000046 Xkr4 chr1:3256974-3257011 q1 q2 OK 0 2.06814e+09 1.79769e+308 1.79769e+308 0.0786496 0.150149 no
+TCONS_00000031 XLOC_000048 Xkr4 chr1:3277190-3277218 q1 q2 NOTEST 0 0 0 0 1 1 no
+TCONS_00000033 XLOC_000052 Xkr4 chr1:3280686-3280741 q1 q2 OK 0 2.29576e+07 1.79769e+308 1.79769e+308 0.158655 0.158655 no
+TCONS_00000034 XLOC_000057 Xkr4 chr1:3290488-3290553 q1 q2 OK 0 9.79535e+06 1.79769e+308 1.79769e+308 0.158655 0.158655 no
+TCONS_00000037 XLOC_000060 Xkr4 chr1:3299443-3299664 q1 q2 NOTEST 0 0 0 0 1 1 no
+TCONS_00000038 XLOC_000062 Xkr4 chr1:3300051-3300078 q1 q2 NOTEST 0 0 0 0 1 1 no
+TCONS_00000039 XLOC_000065 Xkr4 chr1:3318999-3319051 q1 q2 NOTEST 0 0 0 0 1 1 no
+TCONS_00000040 XLOC_000068 Xkr4 chr1:3355887-3356119 q1 q2 NOTEST 0 0 0 0 1 1 no
+TCONS_00000041 XLOC_000071 Xkr4 chr1:3363214-3363278 q1 q2 NOTEST 0 0 0 0 1 1 no
+TCONS_00000042 XLOC_000073 Xkr4 chr1:3363753-3363849 q1 q2 NOTEST 0 0 0 0 1 1 no
+TCONS_00000043 XLOC_000075 Xkr4 chr1:3367135-3367162 q1 q2 NOTEST 0 0 0 0 1 1 no
+TCONS_00000044 XLOC_000077 Xkr4 chr1:3367333-3367382 q1 q2 NOTEST 0 0 0 0 1 1 no
+TCONS_00000045 XLOC_000080 Xkr4 chr1:3377211-3377262 q1 q2 NOTEST 0 0 0 0 1 1 no
+TCONS_00000046 XLOC_000083 Xkr4 chr1:3391325-3391352 q1 q2 NOTEST 0 0 0 0 1 1 no
+TCONS_00000047 XLOC_000084 Xkr4 chr1:3435841-3435880 q1 q2 NOTEST 0 0 0 0 1 1 no
+TCONS_00000048 XLOC_000085 Xkr4 chr1:3447761-3447788 q1 q2 NOTEST 0 0 0 0 1 1 no
+TCONS_00000049 XLOC_000086 Xkr4 chr1:3450906-3450965 q1 q2 NOTEST 0 0 0 0 1 1 no
+TCONS_00000050 XLOC_000087 Xkr4 chr1:3451051-3451109 q1 q2 NOTEST 0 0 0 0 1 1 no
+TCONS_00000051 XLOC_000004 - chr1:3174765-3174792 q1 q2 NOTEST 0 0 0 0 1 1 no
+TCONS_00000052 XLOC_000005 - chr1:3187401-3187428 q1 q2 NOTEST 0 0 0 0 1 1 no
+TCONS_00000053 XLOC_000006 - chr1:3188521-3188548 q1 q2 NOTEST 0 0 0 0 1 1 no
+TCONS_00000054 XLOC_000007 - chr1:3189810-3190789 q1 q2 NOTEST 368900 429265 0.21864 -0.483034 0.629072 1 no
+TCONS_00000055 XLOC_000008 - chr1:3190858-3191434 q1 q2 NOTEST 404373 338500 -0.25653 0.342922 0.731657 1 no
+TCONS_00000056 XLOC_000009 - chr1:3191512-3192077 q1 q2 NOTEST 402276 686974 0.772069 -1.24554 0.212932 1 no
+TCONS_00000057 XLOC_000010 - chr1:3192250-3192336 q1 q2 NOTEST 3.994e+06 2.93812e+06 -0.442943 0.217099 0.828131 1 no
+TCONS_00000058 XLOC_000013 - chr1:3192649-3192676 q1 q2 NOTEST 0 0 0 0 1 1 no
+TCONS_00000059 XLOC_000018 - chr1:3194706-3194733 q1 q2 NOTEST 0 0 0 0 1 1 no
+TCONS_00000060 XLOC_000024 - chr1:3197425-3197452 q1 q2 NOTEST 0 0 0 0 1 1 no
+TCONS_00000062 XLOC_000027 - chr1:3200430-3200457 q1 q2 NOTEST 0 0 0 0 1 1 no
+TCONS_00000063 XLOC_000028 - chr1:3201007-3201039 q1 q2 NOTEST 0 0 0 0 1 1 no
+TCONS_00000065 XLOC_000030 - chr1:3201596-3201666 q1 q2 OK 1.89853e+07 0 -1.79769e+308 -1.79769e+308 0.0786496 0.150149 no
+TCONS_00000066 XLOC_000032 - chr1:3201725-3201809 q1 q2 OK 1.31744e+07 0 -1.79769e+308 -1.79769e+308 0.0416323 0.150149 no
+TCONS_00000067 XLOC_000033 Xkr4 chr1:3211521-3211561 q1 q2 NOTEST 0 0 0 0 1 1 no
+TCONS_00000068 XLOC_000036 Xkr4 chr1:3212717-3212801 q1 q2 NOTEST 4.39147e+06 0 -1.79769e+308 -1.79769e+308 0.158655 1 no
+TCONS_00000069 XLOC_000037 Xkr4 chr1:3213095-3213242 q1 q2 NOTEST 1.36901e+06 0 0 0 1 1 no
+TCONS_00000070 XLOC_000038 Xkr4 chr1:3240606-3240633 q1 q2 NOTEST 0 0 0 0 1 1 no
+TCONS_00000071 XLOC_000039 Xkr4 chr1:3242479-3242512 q1 q2 NOTEST 0 0 0 0 1 1 no
+TCONS_00000072 XLOC_000041 Xkr4 chr1:3242924-3243005 q1 q2 NOTEST 0 0 0 0 1 1 no
+TCONS_00000073 XLOC_000043 Xkr4 chr1:3243108-3243154 q1 q2 OK 9.99919e+07 0 -1.79769e+308 -1.79769e+308 0.158655 0.158655 no
+TCONS_00000074 XLOC_000045 Xkr4 chr1:3254079-3254106 q1 q2 NOTEST 0 0 0 0 1 1 no
+TCONS_00000075 XLOC_000047 Xkr4 chr1:3277155-3277182 q1 q2 NOTEST 0 0 0 0 1 1 no
+TCONS_00000076 XLOC_000049 Xkr4 chr1:3277913-3278390 q1 q2 NOTEST 265614 41870.3 -2.66534 2.48499 0.0129556 1 no
+TCONS_00000077 XLOC_000050 Xkr4 chr1:3280117-3280144 q1 q2 NOTEST 0 0 0 0 1 1 no
+TCONS_00000078 XLOC_000051 Xkr4 chr1:3280498-3280525 q1 q2 NOTEST 0 0 0 0 1 1 no
+TCONS_00000079 XLOC_000053 Xkr4 chr1:3282504-3282531 q1 q2 NOTEST 0 0 0 0 1 1 no
+TCONS_00000080 XLOC_000054 Xkr4 chr1:3282650-3282677 q1 q2 NOTEST 0 0 0 0 1 1 no
+TCONS_00000081 XLOC_000055 Xkr4 chr1:3282760-3282832 q1 q2 NOTEST 0 0 0 0 1 1 no
+TCONS_00000082 XLOC_000056 Xkr4 chr1:3284966-3284993 q1 q2 NOTEST 0 0 0 0 1 1 no
+TCONS_00000083 XLOC_000058 Xkr4 chr1:3290798-3290859 q1 q2 OK 1.8095e+07 0 -1.79769e+308 -1.79769e+308 0.158655 0.158655 no
+TCONS_00000084 XLOC_000059 Xkr4 chr1:3290919-3291273 q1 q2 NOTEST 342218 75524 -2.17991 1.96162 0.049807 1 no
+TCONS_00000085 XLOC_000060 Xkr4 chr1:3299443-3299664 q1 q2 NOTEST 937403 137917 -2.76487 1.66807 0.0953024 1 no
+TCONS_00000086 XLOC_000061 Xkr4 chr1:3299691-3299733 q1 q2 NOTEST 0 0 0 0 1 1 no
+TCONS_00000087 XLOC_000063 Xkr4 chr1:3307748-3307775 q1 q2 NOTEST 0 0 0 0 1 1 no
+TCONS_00000088 XLOC_000064 Xkr4 chr1:3318620-3318647 q1 q2 NOTEST 0 0 0 0 1 1 no
+TCONS_00000089 XLOC_000066 Xkr4 chr1:3330527-3330554 q1 q2 NOTEST 0 0 0 0 1 1 no
+TCONS_00000090 XLOC_000067 Xkr4 chr1:3351240-3351311 q1 q2 OK 8.91489e+06 0 -1.79769e+308 -1.79769e+308 0.158655 0.158655 no
+TCONS_00000091 XLOC_000068 Xkr4 chr1:3355887-3356119 q1 q2 NOTEST 585828 0 -1.79769e+308 -1.79769e+308 0.0512352 1 no
+TCONS_00000092 XLOC_000069 Xkr4 chr1:3356180-3356225 q1 q2 OK 1.19208e+08 0 -1.79769e+308 -1.79769e+308 0.158655 0.158655 no
+TCONS_00000093 XLOC_000070 Xkr4 chr1:3363076-3363176 q1 q2 NOTEST 4.42166e+06 0 -1.79769e+308 -1.79769e+308 0.0786496 1 no
+TCONS_00000094 XLOC_000072 Xkr4 chr1:3363387-3363446 q1 q2 OK 4.28358e+07 0 -1.79769e+308 -1.79769e+308 0.0786496 0.150149 no
+TCONS_00000095 XLOC_000074 Xkr4 chr1:3364871-3364919 q1 q2 OK 7.29939e+07 0 -1.79769e+308 -1.79769e+308 0.158655 0.158655 no
+TCONS_00000096 XLOC_000076 Xkr4 chr1:3367210-3367237 q1 q2 NOTEST 0 0 0 0 1 1 no
+TCONS_00000097 XLOC_000078 Xkr4 chr1:3369580-3369607 q1 q2 NOTEST 0 0 0 0 1 1 no
+TCONS_00000098 XLOC_000079 Xkr4 chr1:3375001-3375028 q1 q2 NOTEST 0 0 0 0 1 1 no
+TCONS_00000099 XLOC_000081 Xkr4 chr1:3379888-3379915 q1 q2 NOTEST 0 0 0 0 1 1 no
+TCONS_00000100 XLOC_000082 Xkr4 chr1:3386739-3386836 q1 q2 NOTEST 0 0 0 0 1 1 no
diff -r 277403d31907d71e5e77694c0c97c16772f23e27 -r 511941e1aea7bcb24a1e30b1e8ac59bf0ba6a3d6 test-data/cuffdiff_out10.txt
--- a/test-data/cuffdiff_out10.txt
+++ b/test-data/cuffdiff_out10.txt
@@ -1,1 +1,88 @@
test_id gene_id gene locus sample_1 sample_2 status value_1 value_2 sqrt(JS) test_stat p_value q_value significant
+XLOC_000001 XLOC_000001 Xkr4 chr1:3204754-3204833 q1 q2 NOTEST 0 0 0 0 0 1 no
+XLOC_000002 XLOC_000002 - chr1:3111449-3111490 q1 q2 NOTEST 0 0 0 0 0 1 no
+XLOC_000003 XLOC_000003 - chr1:3111545-3111576 q1 q2 NOTEST 0 0 0 0 0 1 no
+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_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
+XLOC_000014 XLOC_000014 - chr1:3192731-3192811 q1 q2 NOTEST 0 0 0 0 0 1 no
+XLOC_000015 XLOC_000015 - chr1:3192940-3193042 q1 q2 NOTEST 0 0 0 0 0 1 no
+XLOC_000016 XLOC_000016 - chr1:3194185-3194226 q1 q2 NOTEST 0 0 0 0 0 1 no
+XLOC_000017 XLOC_000017 - chr1:3194302-3194329 q1 q2 NOTEST 0 0 0 0 0 1 no
+XLOC_000018 XLOC_000018 - chr1:3194706-3194733 q1 q2 NOTEST 0 0 0 0 0 1 no
+XLOC_000019 XLOC_000019 - chr1:3195083-3195110 q1 q2 NOTEST 0 0 0 0 0 1 no
+XLOC_000020 XLOC_000020 - chr1:3195450-3195477 q1 q2 NOTEST 0 0 0 0 0 1 no
+XLOC_000021 XLOC_000021 - chr1:3197089-3197116 q1 q2 NOTEST 0 0 0 0 0 1 no
+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_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_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
+XLOC_000033 XLOC_000033 Xkr4 chr1:3211521-3211561 q1 q2 NOTEST 0 0 0 0 0 1 no
+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_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_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
+XLOC_000044 XLOC_000044 Xkr4 chr1:3243347-3243401 q1 q2 NOTEST 0 0 0 0 0 1 no
+XLOC_000045 XLOC_000045 Xkr4 chr1:3254079-3254106 q1 q2 NOTEST 0 0 0 0 0 1 no
+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_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
+XLOC_000053 XLOC_000053 Xkr4 chr1:3282504-3282531 q1 q2 NOTEST 0 0 0 0 0 1 no
+XLOC_000054 XLOC_000054 Xkr4 chr1:3282650-3282677 q1 q2 NOTEST 0 0 0 0 0 1 no
+XLOC_000055 XLOC_000055 Xkr4 chr1:3282760-3282832 q1 q2 NOTEST 0 0 0 0 0 1 no
+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_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
+XLOC_000064 XLOC_000064 Xkr4 chr1:3318620-3318647 q1 q2 NOTEST 0 0 0 0 0 1 no
+XLOC_000065 XLOC_000065 Xkr4 chr1:3318999-3319051 q1 q2 NOTEST 0 0 0 0 0 1 no
+XLOC_000066 XLOC_000066 Xkr4 chr1:3330527-3330554 q1 q2 NOTEST 0 0 0 0 0 1 no
+XLOC_000067 XLOC_000067 Xkr4 chr1:3351240-3351311 q1 q2 NOTEST 0 0 0 0 0 1 no
+XLOC_000068 XLOC_000068 Xkr4 chr1:3355887-3356119 q1 q2 NOTEST 0 0 0 0 0 1 no
+XLOC_000069 XLOC_000069 Xkr4 chr1:3356180-3356225 q1 q2 NOTEST 0 0 0 0 0 1 no
+XLOC_000070 XLOC_000070 Xkr4 chr1:3363076-3363176 q1 q2 NOTEST 0 0 0 0 0 1 no
+XLOC_000071 XLOC_000071 Xkr4 chr1:3363214-3363278 q1 q2 NOTEST 0 0 0 0 0 1 no
+XLOC_000072 XLOC_000072 Xkr4 chr1:3363387-3363446 q1 q2 NOTEST 0 0 0 0 0 1 no
+XLOC_000073 XLOC_000073 Xkr4 chr1:3363753-3363849 q1 q2 NOTEST 0 0 0 0 0 1 no
+XLOC_000074 XLOC_000074 Xkr4 chr1:3364871-3364919 q1 q2 NOTEST 0 0 0 0 0 1 no
+XLOC_000075 XLOC_000075 Xkr4 chr1:3367135-3367162 q1 q2 NOTEST 0 0 0 0 0 1 no
+XLOC_000076 XLOC_000076 Xkr4 chr1:3367210-3367237 q1 q2 NOTEST 0 0 0 0 0 1 no
+XLOC_000077 XLOC_000077 Xkr4 chr1:3367333-3367382 q1 q2 NOTEST 0 0 0 0 0 1 no
+XLOC_000078 XLOC_000078 Xkr4 chr1:3369580-3369607 q1 q2 NOTEST 0 0 0 0 0 1 no
+XLOC_000079 XLOC_000079 Xkr4 chr1:3375001-3375028 q1 q2 NOTEST 0 0 0 0 0 1 no
+XLOC_000080 XLOC_000080 Xkr4 chr1:3377211-3377262 q1 q2 NOTEST 0 0 0 0 0 1 no
+XLOC_000081 XLOC_000081 Xkr4 chr1:3379888-3379915 q1 q2 NOTEST 0 0 0 0 0 1 no
+XLOC_000082 XLOC_000082 Xkr4 chr1:3386739-3386836 q1 q2 NOTEST 0 0 0 0 0 1 no
+XLOC_000083 XLOC_000083 Xkr4 chr1:3391325-3391352 q1 q2 NOTEST 0 0 0 0 0 1 no
+XLOC_000084 XLOC_000084 Xkr4 chr1:3435841-3435880 q1 q2 NOTEST 0 0 0 0 0 1 no
+XLOC_000085 XLOC_000085 Xkr4 chr1:3447761-3447788 q1 q2 NOTEST 0 0 0 0 0 1 no
+XLOC_000086 XLOC_000086 Xkr4 chr1:3450906-3450965 q1 q2 NOTEST 0 0 0 0 0 1 no
+XLOC_000087 XLOC_000087 Xkr4 chr1:3451051-3451109 q1 q2 NOTEST 0 0 0 0 0 1 no
diff -r 277403d31907d71e5e77694c0c97c16772f23e27 -r 511941e1aea7bcb24a1e30b1e8ac59bf0ba6a3d6 test-data/cuffdiff_out2.txt
--- a/test-data/cuffdiff_out2.txt
+++ b/test-data/cuffdiff_out2.txt
@@ -1,88 +1,88 @@
-test_id gene_id gene locus sample_1 sample_2 status value_1 value_2 ln(fold_change) test_stat p_value q_value significant
-XLOC_000001 XLOC_000001 - chr1:3204754-3204833 q1 q2 OK 0 5.42247e+06 1.79769e+308 1.79769e+308 0.0786496 0.456168 no
-XLOC_000002 XLOC_000002 - chr1:3111449-3111490 q1 q2 OK 0 1.39654e+08 1.79769e+308 1.79769e+308 0.158655 0.726474 no
-XLOC_000003 XLOC_000003 - chr1:3111545-3111576 q1 q2 OK 0 0 0 0 1 1.8125 no
-XLOC_000004 XLOC_000004 - chr1:3174765-3174792 q1 q2 OK 0 0 0 0 1 1.07407 no
-XLOC_000005 XLOC_000005 - chr1:3187401-3187428 q1 q2 OK 0 0 0 0 1 1.12987 no
-XLOC_000006 XLOC_000006 - chr1:3188521-3188548 q1 q2 OK 0 0 0 0 1 1.14474 no
-XLOC_000007 XLOC_000007 - chr1:3189810-3190789 q1 q2 OK 2.6642e+06 5.53756e+06 0.731649 -1.14241 0.253284 0.734525 no
-XLOC_000008 XLOC_000008 - chr1:3190858-3191434 q1 q2 OK 227564 240951 0.0571584 -0.115428 0.908106 2.3941 no
-XLOC_000009 XLOC_000009 - chr1:3191512-3192077 q1 q2 OK 1.406e+07 3.74293e+07 0.979119 -0.979283 0.32744 0.918944 no
-XLOC_000010 XLOC_000010 - chr1:3192250-3192336 q1 q2 OK 1.91712e+06 1.91712e+06 0 0 1 1.22535 no
-XLOC_000011 XLOC_000011 - chr1:3192441-3192494 q1 q2 OK 0 5.56023e+07 1.79769e+308 1.79769e+308 0.0416323 0.452751 no
-XLOC_000012 XLOC_000012 - chr1:3192550-3192629 q1 q2 OK 0 2.71123e+06 1.79769e+308 1.79769e+308 0.158655 0.55212 no
-XLOC_000013 XLOC_000013 - chr1:3192649-3192676 q1 q2 OK 0 0 0 0 1 1.26087 no
-XLOC_000014 XLOC_000014 - chr1:3192731-3192811 q1 q2 OK 0 0 0 0 1 1.55357 no
-XLOC_000015 XLOC_000015 - chr1:3192940-3193042 q1 q2 OK 0 3.93442e+06 1.79769e+308 1.79769e+308 0.0416319 0.603662 no
-XLOC_000016 XLOC_000016 - chr1:3194185-3194226 q1 q2 OK 0 1.39654e+08 1.79769e+308 1.79769e+308 0.158655 0.811942 no
-XLOC_000017 XLOC_000017 - chr1:3194302-3194329 q1 q2 OK 0 0 0 0 1 1.52632 no
-XLOC_000018 XLOC_000018 - chr1:3194706-3194733 q1 q2 OK 0 0 0 0 1 1.5 no
-XLOC_000019 XLOC_000019 - chr1:3195083-3195110 q1 q2 OK 0 0 0 0 1 1.47458 no
-XLOC_000020 XLOC_000020 - chr1:3195450-3195477 q1 q2 OK 0 0 0 0 1 1.45 no
-XLOC_000021 XLOC_000021 - chr1:3197089-3197116 q1 q2 OK 0 0 0 0 1 1.42623 no
-XLOC_000022 XLOC_000022 - chr1:3197246-3197273 q1 q2 OK 0 0 0 0 1 1.40323 no
-XLOC_000023 XLOC_000023 - chr1:3197346-3197373 q1 q2 OK 0 0 0 0 1 1.38095 no
-XLOC_000024 XLOC_000024 - chr1:3197425-3197452 q1 q2 OK 0 0 0 0 1 1.35938 no
-XLOC_000025 XLOC_000025 - chr1:3200022-3200191 q1 q2 OK 460348 460348 0 0 1 1.33846 no
-XLOC_000026 XLOC_000026 - chr1:3200325-3200352 q1 q2 OK 0 0 0 0 1 1.31818 no
-XLOC_000027 XLOC_000027 - chr1:3200430-3200457 q1 q2 OK 0 0 0 0 1 1.29851 no
-XLOC_000028 XLOC_000028 - chr1:3201007-3201039 q1 q2 OK 0 0 0 0 1 1.27941 no
-XLOC_000029 XLOC_000029 - chr1:3201077-3201481 q1 q2 OK 37206.6 186033 1.60944 -2.18263 0.0290634 2.52852 no
-XLOC_000030 XLOC_000030 - chr1:3201596-3201666 q1 q2 OK 9.11292e+06 0 -1.79769e+308 -1.79769e+308 0.0786496 0.488751 no
-XLOC_000031 XLOC_000031 - chr1:3201672-3201699 q1 q2 OK 0 0 0 0 1 1.24286 no
-XLOC_000032 XLOC_000032 - chr1:3201725-3201809 q1 q2 OK 8.43162e+06 0 -1.79769e+308 -1.79769e+308 0.0416319 0.724395 no
-XLOC_000033 XLOC_000033 - chr1:3211521-3211561 q1 q2 OK 0 0 0 0 1 1.20833 no
-XLOC_000034 XLOC_000034 - chr1:3212213-3212292 q1 q2 OK 0 5.42247e+06 1.79769e+308 1.79769e+308 0.0786496 0.526347 no
-XLOC_000035 XLOC_000035 - chr1:3212367-3212439 q1 q2 OK 0 1.60978e+07 1.79769e+308 1.79769e+308 0.0416319 0.905494 no
-XLOC_000036 XLOC_000036 - chr1:3212717-3212801 q1 q2 OK 2.10791e+06 0 -1.79769e+308 -1.79769e+308 0.158655 0.530885 no
-XLOC_000037 XLOC_000037 - chr1:3213095-3213192 q1 q2 OK 2.38694e+06 1.19347e+06 -0.693147 0.565952 0.571426 1.55356 no
-XLOC_000038 XLOC_000038 - chr1:3240606-3240633 q1 q2 OK 0 0 0 0 1 1.19178 no
-XLOC_000039 XLOC_000039 - chr1:3242479-3242512 q1 q2 OK 0 0 0 0 1 1.17568 no
-XLOC_000040 XLOC_000040 - chr1:3242633-3242923 q1 q2 OK 27029.9 243269 2.19722 -1.95282 0.0508409 0.491462 no
-XLOC_000041 XLOC_000041 - chr1:3242924-3243005 q1 q2 OK 0 0 0 0 1 1.16 no
-XLOC_000042 XLOC_000042 - chr1:3243018-3243079 q1 q2 OK 0 1.73712e+07 1.79769e+308 1.79769e+308 0.0786496 0.57021 no
-XLOC_000043 XLOC_000043 - chr1:3243108-3243154 q1 q2 OK 4.79961e+07 0 -1.79769e+308 -1.79769e+308 0.158655 0.627409 no
-XLOC_000044 XLOC_000044 - chr1:3243347-3243401 q1 q2 OK 0 3.32455e+07 1.79769e+308 1.79769e+308 0.0786496 0.622047 no
-XLOC_000045 XLOC_000045 - chr1:3254079-3254106 q1 q2 OK 0 0 0 0 1 1.11538 no
-XLOC_000046 XLOC_000046 - chr1:3256974-3257011 q1 q2 OK 0 1.34946e+09 1.79769e+308 1.79769e+308 0.0786496 0.427657 no
-XLOC_000047 XLOC_000047 - chr1:3277155-3277182 q1 q2 OK 0 0 0 0 1 1.10127 no
-XLOC_000048 XLOC_000048 - chr1:3277190-3277218 q1 q2 OK 0 0 0 0 1 1.0875 no
-XLOC_000049 XLOC_000049 - chr1:3277913-3278390 q1 q2 OK 127495 27320.3 -1.54045 2.07809 0.037701 1.63999 no
-XLOC_000050 XLOC_000050 - chr1:3280117-3280144 q1 q2 OK 0 0 0 0 1 1.06098 no
-XLOC_000051 XLOC_000051 - chr1:3280498-3280525 q1 q2 OK 0 0 0 0 1 1.04819 no
-XLOC_000052 XLOC_000052 - chr1:3280686-3280741 q1 q2 OK 0 1.49798e+07 1.79769e+308 1.79769e+308 0.158655 0.766834 no
-XLOC_000053 XLOC_000053 - chr1:3282504-3282531 q1 q2 OK 0 0 0 0 1 1.03571 no
-XLOC_000054 XLOC_000054 - chr1:3282650-3282677 q1 q2 OK 0 0 0 0 1 1.02353 no
-XLOC_000055 XLOC_000055 - chr1:3282760-3282832 q1 q2 OK 0 0 0 0 1 1.01163 no
-XLOC_000056 XLOC_000056 - chr1:3284966-3284993 q1 q2 OK 0 0 0 0 1 1 no
-XLOC_000057 XLOC_000057 - chr1:3290488-3290553 q1 q2 OK 0 6.39146e+06 1.79769e+308 1.79769e+308 0.158655 0.69015 no
-XLOC_000058 XLOC_000058 - chr1:3290798-3290859 q1 q2 OK 8.68561e+06 0 -1.79769e+308 -1.79769e+308 0.158655 0.657286 no
-XLOC_000059 XLOC_000059 - chr1:3290919-3291273 q1 q2 OK 7.79612e+06 1.49584e+06 -1.65094 1.39409 0.16329 0.48987 no
-XLOC_000060 XLOC_000060 - chr1:3299443-3299664 q1 q2 OK 449954 89990.7 -1.60944 1.40539 0.159905 0.496847 no
-XLOC_000061 XLOC_000061 - chr1:3299691-3299733 q1 q2 OK 0 0 0 0 1 2.23077 no
-XLOC_000062 XLOC_000062 - chr1:3300051-3300078 q1 q2 OK 0 0 0 0 1 2.175 no
-XLOC_000063 XLOC_000063 - chr1:3307748-3307775 q1 q2 OK 0 0 0 0 1 2.12195 no
-XLOC_000064 XLOC_000064 - chr1:3318620-3318647 q1 q2 OK 0 0 0 0 1 2.07143 no
-XLOC_000065 XLOC_000065 - chr1:3318999-3319051 q1 q2 OK 0 0 0 0 1 1.97727 no
-XLOC_000066 XLOC_000066 - chr1:3330527-3330554 q1 q2 OK 0 0 0 0 1 1.93333 no
-XLOC_000067 XLOC_000067 - chr1:3351240-3351311 q1 q2 OK 4.27915e+06 0 -1.79769e+308 -1.79769e+308 0.158655 0.600131 no
-XLOC_000068 XLOC_000068 - chr1:3355887-3356119 q1 q2 OK 281197 0 -1.79769e+308 -1.79769e+308 0.0416319 1.20732 no
-XLOC_000069 XLOC_000069 - chr1:3356180-3356225 q1 q2 OK 5.72196e+07 0 -1.79769e+308 -1.79769e+308 0.158655 0.575125 no
-XLOC_000070 XLOC_000070 - chr1:3363076-3363176 q1 q2 OK 2.1224e+06 0 -1.79769e+308 -1.79769e+308 0.0786496 0.684252 no
-XLOC_000071 XLOC_000071 - chr1:3363214-3363278 q1 q2 OK 0 0 0 0 1 1.58182 no
-XLOC_000072 XLOC_000072 - chr1:3363387-3363446 q1 q2 OK 3.08417e+07 0 -1.79769e+308 -1.79769e+308 0.0416323 0.517429 no
-XLOC_000073 XLOC_000073 - chr1:3363753-3363849 q1 q2 OK 0 0 0 0 1 1.61111 no
-XLOC_000074 XLOC_000074 - chr1:3364871-3364919 q1 q2 OK 3.50371e+07 0 -1.79769e+308 -1.79769e+308 0.158655 0.511222 no
-XLOC_000075 XLOC_000075 - chr1:3367135-3367162 q1 q2 OK 0 0 0 0 1 1.64151 no
-XLOC_000076 XLOC_000076 - chr1:3367210-3367237 q1 q2 OK 0 0 0 0 1 1.67308 no
-XLOC_000077 XLOC_000077 - chr1:3367333-3367382 q1 q2 OK 0 0 0 0 1 1.70588 no
-XLOC_000078 XLOC_000078 - chr1:3369580-3369607 q1 q2 OK 0 0 0 0 1 1.74 no
-XLOC_000079 XLOC_000079 - chr1:3375001-3375028 q1 q2 OK 0 0 0 0 1 1.77551 no
-XLOC_000080 XLOC_000080 - chr1:3377211-3377262 q1 q2 OK 0 0 0 0 1 1.85106 no
-XLOC_000081 XLOC_000081 - chr1:3379888-3379915 q1 q2 OK 0 0 0 0 1 1.8913 no
-XLOC_000082 XLOC_000082 - chr1:3386739-3386836 q1 q2 OK 0 0 0 0 1 2.02326 no
-XLOC_000083 XLOC_000083 - chr1:3391325-3391352 q1 q2 OK 0 0 0 0 1 2.28947 no
-XLOC_000084 XLOC_000084 - chr1:3435841-3435880 q1 q2 OK 0 0 0 0 1 2.35135 no
-XLOC_000085 XLOC_000085 - chr1:3447761-3447788 q1 q2 OK 0 0 0 0 1 2.41667 no
-XLOC_000086 XLOC_000086 - chr1:3450906-3450965 q1 q2 OK 0 0 0 0 1 2.48571 no
-XLOC_000087 XLOC_000087 - chr1:3451051-3451109 q1 q2 OK 0 0 0 0 1 2.55882 no
+test_id gene_id gene locus sample_1 sample_2 status value_1 value_2 log2(fold_change) test_stat p_value q_value significant
+XLOC_000001 XLOC_000001 Xkr4 chr1:3204754-3204833 q1 q2 OK 0 8.3103e+06 1.79769e+308 1.79769e+308 0.0786496 0.157299 no
+XLOC_000002 XLOC_000002 - chr1:3111449-3111490 q1 q2 OK 0 2.1403e+08 1.79769e+308 1.79769e+308 0.158655 0.16621 no
+XLOC_000003 XLOC_000003 - chr1:3111545-3111576 q1 q2 NOTEST 0 0 0 0 1 1 no
+XLOC_000004 XLOC_000004 - chr1:3174765-3174792 q1 q2 NOTEST 0 0 0 0 1 1 no
+XLOC_000005 XLOC_000005 - chr1:3187401-3187428 q1 q2 NOTEST 0 0 0 0 1 1 no
+XLOC_000006 XLOC_000006 - chr1:3188521-3188548 q1 q2 NOTEST 0 0 0 0 1 1 no
+XLOC_000007 XLOC_000007 - chr1:3189810-3190789 q1 q2 NOTEST 368900 429265 0.21864 -0.483034 0.629072 1 no
+XLOC_000008 XLOC_000008 - chr1:3190858-3191434 q1 q2 NOTEST 404373 338500 -0.25653 0.342922 0.731657 1 no
+XLOC_000009 XLOC_000009 - chr1:3191512-3192077 q1 q2 NOTEST 402276 686974 0.772069 -1.24554 0.212932 1 no
+XLOC_000010 XLOC_000010 - chr1:3192250-3192336 q1 q2 NOTEST 3.994e+06 2.93812e+06 -0.442943 0.217099 0.828131 1 no
+XLOC_000011 XLOC_000011 - chr1:3192441-3192494 q1 q2 OK 0 5.68095e+07 1.79769e+308 1.79769e+308 0.0786496 0.157299 no
+XLOC_000012 XLOC_000012 - chr1:3192550-3192629 q1 q2 OK 0 4.15515e+06 1.79769e+308 1.79769e+308 0.158655 0.16621 no
+XLOC_000013 XLOC_000013 - chr1:3192649-3192676 q1 q2 NOTEST 0 0 0 0 1 1 no
+XLOC_000014 XLOC_000014 - chr1:3192731-3192811 q1 q2 NOTEST 0 0 0 0 1 1 no
+XLOC_000015 XLOC_000015 - chr1:3192940-3193042 q1 q2 OK 0 6.02976e+06 1.79769e+308 1.79769e+308 0.0512352 0.157299 no
+XLOC_000016 XLOC_000016 - chr1:3194185-3194226 q1 q2 OK 0 2.1403e+08 1.79769e+308 1.79769e+308 0.158655 0.16621 no
+XLOC_000017 XLOC_000017 - chr1:3194302-3194329 q1 q2 NOTEST 0 0 0 0 1 1 no
+XLOC_000018 XLOC_000018 - chr1:3194706-3194733 q1 q2 NOTEST 0 0 0 0 1 1 no
+XLOC_000019 XLOC_000019 - chr1:3195083-3195110 q1 q2 NOTEST 0 0 0 0 1 1 no
+XLOC_000020 XLOC_000020 - chr1:3195450-3195477 q1 q2 NOTEST 0 0 0 0 1 1 no
+XLOC_000021 XLOC_000021 - chr1:3197089-3197116 q1 q2 NOTEST 0 0 0 0 1 1 no
+XLOC_000022 XLOC_000022 - chr1:3197246-3197273 q1 q2 NOTEST 0 0 0 0 1 1 no
+XLOC_000023 XLOC_000023 - chr1:3197346-3197373 q1 q2 NOTEST 0 0 0 0 1 1 no
+XLOC_000024 XLOC_000024 - chr1:3197425-3197452 q1 q2 NOTEST 0 0 0 0 1 1 no
+XLOC_000025 XLOC_000025 - chr1:3200022-3200191 q1 q2 NOTEST 959058 705514 -0.442943 0.376027 0.706897 1 no
+XLOC_000026 XLOC_000026 - chr1:3200325-3200352 q1 q2 NOTEST 0 0 0 0 1 1 no
+XLOC_000027 XLOC_000027 - chr1:3200430-3200457 q1 q2 NOTEST 0 0 0 0 1 1 no
+XLOC_000028 XLOC_000028 - chr1:3201007-3201039 q1 q2 NOTEST 0 0 0 0 1 1 no
+XLOC_000029 XLOC_000029 - chr1:3201077-3201481 q1 q2 NOTEST 77513.9 285108 1.87898 -1.76152 0.0781506 1 no
+XLOC_000030 XLOC_000030 - chr1:3201596-3201666 q1 q2 OK 1.89853e+07 0 -1.79769e+308 -1.79769e+308 0.0786496 0.157299 no
+XLOC_000031 XLOC_000031 - chr1:3201672-3201699 q1 q2 NOTEST 0 0 0 0 1 1 no
+XLOC_000032 XLOC_000032 - chr1:3201725-3201809 q1 q2 OK 1.31744e+07 0 -1.79769e+308 -1.79769e+308 0.0416323 0.157299 no
+XLOC_000033 XLOC_000033 Xkr4 chr1:3211521-3211561 q1 q2 NOTEST 0 0 0 0 1 1 no
+XLOC_000034 XLOC_000034 Xkr4 chr1:3212213-3212292 q1 q2 OK 0 8.3103e+06 1.79769e+308 1.79769e+308 0.0786496 0.157299 no
+XLOC_000035 XLOC_000035 Xkr4 chr1:3212367-3212439 q1 q2 OK 0 2.4671e+07 1.79769e+308 1.79769e+308 0.0512352 0.157299 no
+XLOC_000036 XLOC_000036 Xkr4 chr1:3212717-3212801 q1 q2 NOTEST 4.39147e+06 0 -1.79769e+308 -1.79769e+308 0.158655 1 no
+XLOC_000037 XLOC_000037 Xkr4 chr1:3213095-3213242 q1 q2 OK 5.3664e+06 1.82908e+06 -1.55284 0.839459 0.401212 0.401212 no
+XLOC_000038 XLOC_000038 Xkr4 chr1:3240606-3240633 q1 q2 NOTEST 0 0 0 0 1 1 no
+XLOC_000039 XLOC_000039 Xkr4 chr1:3242479-3242512 q1 q2 NOTEST 0 0 0 0 1 1 no
+XLOC_000040 XLOC_000040 Xkr4 chr1:3242633-3242923 q1 q2 NOTEST 56312.4 372827 2.72698 -1.67622 0.0936947 1 no
+XLOC_000041 XLOC_000041 Xkr4 chr1:3242924-3243005 q1 q2 NOTEST 0 0 0 0 1 1 no
+XLOC_000042 XLOC_000042 Xkr4 chr1:3243018-3243079 q1 q2 OK 0 2.66226e+07 1.79769e+308 1.79769e+308 0.0786496 0.157299 no
+XLOC_000043 XLOC_000043 Xkr4 chr1:3243108-3243154 q1 q2 OK 9.99919e+07 0 -1.79769e+308 -1.79769e+308 0.158655 0.16621 no
+XLOC_000044 XLOC_000044 Xkr4 chr1:3243347-3243401 q1 q2 OK 0 5.0951e+07 1.79769e+308 1.79769e+308 0.0786496 0.157299 no
+XLOC_000045 XLOC_000045 Xkr4 chr1:3254079-3254106 q1 q2 NOTEST 0 0 0 0 1 1 no
+XLOC_000046 XLOC_000046 Xkr4 chr1:3256974-3257011 q1 q2 OK 0 2.06814e+09 1.79769e+308 1.79769e+308 0.0786496 0.157299 no
+XLOC_000047 XLOC_000047 Xkr4 chr1:3277155-3277182 q1 q2 NOTEST 0 0 0 0 1 1 no
+XLOC_000048 XLOC_000048 Xkr4 chr1:3277190-3277218 q1 q2 NOTEST 0 0 0 0 1 1 no
+XLOC_000049 XLOC_000049 Xkr4 chr1:3277913-3278390 q1 q2 NOTEST 265614 41870.3 -2.66534 2.48499 0.0129556 1 no
+XLOC_000050 XLOC_000050 Xkr4 chr1:3280117-3280144 q1 q2 NOTEST 0 0 0 0 1 1 no
+XLOC_000051 XLOC_000051 Xkr4 chr1:3280498-3280525 q1 q2 NOTEST 0 0 0 0 1 1 no
+XLOC_000052 XLOC_000052 Xkr4 chr1:3280686-3280741 q1 q2 OK 0 2.29576e+07 1.79769e+308 1.79769e+308 0.158655 0.16621 no
+XLOC_000053 XLOC_000053 Xkr4 chr1:3282504-3282531 q1 q2 NOTEST 0 0 0 0 1 1 no
+XLOC_000054 XLOC_000054 Xkr4 chr1:3282650-3282677 q1 q2 NOTEST 0 0 0 0 1 1 no
+XLOC_000055 XLOC_000055 Xkr4 chr1:3282760-3282832 q1 q2 NOTEST 0 0 0 0 1 1 no
+XLOC_000056 XLOC_000056 Xkr4 chr1:3284966-3284993 q1 q2 NOTEST 0 0 0 0 1 1 no
+XLOC_000057 XLOC_000057 Xkr4 chr1:3290488-3290553 q1 q2 OK 0 9.79535e+06 1.79769e+308 1.79769e+308 0.158655 0.16621 no
+XLOC_000058 XLOC_000058 Xkr4 chr1:3290798-3290859 q1 q2 OK 1.8095e+07 0 -1.79769e+308 -1.79769e+308 0.158655 0.16621 no
+XLOC_000059 XLOC_000059 Xkr4 chr1:3290919-3291273 q1 q2 NOTEST 342218 75524 -2.17991 1.96162 0.049807 1 no
+XLOC_000060 XLOC_000060 Xkr4 chr1:3299443-3299664 q1 q2 NOTEST 937403 137917 -2.76487 1.66807 0.0953024 1 no
+XLOC_000061 XLOC_000061 Xkr4 chr1:3299691-3299733 q1 q2 NOTEST 0 0 0 0 1 1 no
+XLOC_000062 XLOC_000062 Xkr4 chr1:3300051-3300078 q1 q2 NOTEST 0 0 0 0 1 1 no
+XLOC_000063 XLOC_000063 Xkr4 chr1:3307748-3307775 q1 q2 NOTEST 0 0 0 0 1 1 no
+XLOC_000064 XLOC_000064 Xkr4 chr1:3318620-3318647 q1 q2 NOTEST 0 0 0 0 1 1 no
+XLOC_000065 XLOC_000065 Xkr4 chr1:3318999-3319051 q1 q2 NOTEST 0 0 0 0 1 1 no
+XLOC_000066 XLOC_000066 Xkr4 chr1:3330527-3330554 q1 q2 NOTEST 0 0 0 0 1 1 no
+XLOC_000067 XLOC_000067 Xkr4 chr1:3351240-3351311 q1 q2 OK 8.91489e+06 0 -1.79769e+308 -1.79769e+308 0.158655 0.16621 no
+XLOC_000068 XLOC_000068 Xkr4 chr1:3355887-3356119 q1 q2 NOTEST 585828 0 -1.79769e+308 -1.79769e+308 0.0512352 1 no
+XLOC_000069 XLOC_000069 Xkr4 chr1:3356180-3356225 q1 q2 OK 1.19208e+08 0 -1.79769e+308 -1.79769e+308 0.158655 0.16621 no
+XLOC_000070 XLOC_000070 Xkr4 chr1:3363076-3363176 q1 q2 NOTEST 4.42166e+06 0 -1.79769e+308 -1.79769e+308 0.0786496 1 no
+XLOC_000071 XLOC_000071 Xkr4 chr1:3363214-3363278 q1 q2 NOTEST 0 0 0 0 1 1 no
+XLOC_000072 XLOC_000072 Xkr4 chr1:3363387-3363446 q1 q2 OK 4.28358e+07 0 -1.79769e+308 -1.79769e+308 0.0786496 0.157299 no
+XLOC_000073 XLOC_000073 Xkr4 chr1:3363753-3363849 q1 q2 NOTEST 0 0 0 0 1 1 no
+XLOC_000074 XLOC_000074 Xkr4 chr1:3364871-3364919 q1 q2 OK 7.29939e+07 0 -1.79769e+308 -1.79769e+308 0.158655 0.16621 no
+XLOC_000075 XLOC_000075 Xkr4 chr1:3367135-3367162 q1 q2 NOTEST 0 0 0 0 1 1 no
+XLOC_000076 XLOC_000076 Xkr4 chr1:3367210-3367237 q1 q2 NOTEST 0 0 0 0 1 1 no
+XLOC_000077 XLOC_000077 Xkr4 chr1:3367333-3367382 q1 q2 NOTEST 0 0 0 0 1 1 no
+XLOC_000078 XLOC_000078 Xkr4 chr1:3369580-3369607 q1 q2 NOTEST 0 0 0 0 1 1 no
+XLOC_000079 XLOC_000079 Xkr4 chr1:3375001-3375028 q1 q2 NOTEST 0 0 0 0 1 1 no
+XLOC_000080 XLOC_000080 Xkr4 chr1:3377211-3377262 q1 q2 NOTEST 0 0 0 0 1 1 no
+XLOC_000081 XLOC_000081 Xkr4 chr1:3379888-3379915 q1 q2 NOTEST 0 0 0 0 1 1 no
+XLOC_000082 XLOC_000082 Xkr4 chr1:3386739-3386836 q1 q2 NOTEST 0 0 0 0 1 1 no
+XLOC_000083 XLOC_000083 Xkr4 chr1:3391325-3391352 q1 q2 NOTEST 0 0 0 0 1 1 no
+XLOC_000084 XLOC_000084 Xkr4 chr1:3435841-3435880 q1 q2 NOTEST 0 0 0 0 1 1 no
+XLOC_000085 XLOC_000085 Xkr4 chr1:3447761-3447788 q1 q2 NOTEST 0 0 0 0 1 1 no
+XLOC_000086 XLOC_000086 Xkr4 chr1:3450906-3450965 q1 q2 NOTEST 0 0 0 0 1 1 no
+XLOC_000087 XLOC_000087 Xkr4 chr1:3451051-3451109 q1 q2 NOTEST 0 0 0 0 1 1 no
diff -r 277403d31907d71e5e77694c0c97c16772f23e27 -r 511941e1aea7bcb24a1e30b1e8ac59bf0ba6a3d6 test-data/cuffdiff_out3.txt
--- a/test-data/cuffdiff_out3.txt
+++ b/test-data/cuffdiff_out3.txt
@@ -1,1 +1,91 @@
-test_id gene_id gene locus sample_1 sample_2 status value_1 value_2 ln(fold_change) test_stat p_value q_value significant
+test_id gene_id gene locus sample_1 sample_2 status value_1 value_2 log2(fold_change) test_stat p_value q_value significant
+TSS1 XLOC_000001 Xkr4 chr1:3204754-3204833 q1 q2 OK 0 8.3103e+06 1.79769e+308 1.79769e+308 0.0786496 0.150149 no
+TSS11 XLOC_000008 - chr1:3190858-3191434 q1 q2 NOTEST 404373 338500 -0.25653 0.342922 0.731657 1 no
+TSS12 XLOC_000009 - chr1:3191512-3192077 q1 q2 NOTEST 402276 686974 0.772069 -1.24554 0.212932 1 no
+TSS15 XLOC_000010 - chr1:3192250-3192336 q1 q2 NOTEST 3.994e+06 2.93812e+06 -0.442943 0.217099 0.828131 1 no
+TSS16 XLOC_000011 - chr1:3192441-3192494 q1 q2 OK 0 5.68095e+07 1.79769e+308 1.79769e+308 0.0786496 0.150149 no
+TSS17 XLOC_000012 - chr1:3192550-3192629 q1 q2 OK 0 4.15515e+06 1.79769e+308 1.79769e+308 0.158655 0.158655 no
+TSS18 XLOC_000013 - chr1:3192649-3192676 q1 q2 NOTEST 0 0 0 0 1 1 no
+TSS19 XLOC_000014 - chr1:3192731-3192811 q1 q2 NOTEST 0 0 0 0 1 1 no
+TSS2 XLOC_000002 - chr1:3111449-3111490 q1 q2 OK 0 2.1403e+08 1.79769e+308 1.79769e+308 0.158655 0.158655 no
+TSS20 XLOC_000015 - chr1:3192940-3193042 q1 q2 OK 0 6.02976e+06 1.79769e+308 1.79769e+308 0.0512352 0.150149 no
+TSS21 XLOC_000016 - chr1:3194185-3194226 q1 q2 OK 0 2.1403e+08 1.79769e+308 1.79769e+308 0.158655 0.158655 no
+TSS22 XLOC_000017 - chr1:3194302-3194329 q1 q2 NOTEST 0 0 0 0 1 1 no
+TSS23 XLOC_000018 - chr1:3194706-3194733 q1 q2 NOTEST 0 0 0 0 1 1 no
+TSS24 XLOC_000019 - chr1:3195083-3195110 q1 q2 NOTEST 0 0 0 0 1 1 no
+TSS25 XLOC_000020 - chr1:3195450-3195477 q1 q2 NOTEST 0 0 0 0 1 1 no
+TSS26 XLOC_000021 - chr1:3197089-3197116 q1 q2 NOTEST 0 0 0 0 1 1 no
+TSS27 XLOC_000022 - chr1:3197246-3197273 q1 q2 NOTEST 0 0 0 0 1 1 no
+TSS28 XLOC_000023 - chr1:3197346-3197373 q1 q2 NOTEST 0 0 0 0 1 1 no
+TSS29 XLOC_000024 - chr1:3197425-3197452 q1 q2 NOTEST 0 0 0 0 1 1 no
+TSS3 XLOC_000003 - chr1:3111545-3111576 q1 q2 NOTEST 0 0 0 0 1 1 no
+TSS30 XLOC_000025 - chr1:3200022-3200191 q1 q2 NOTEST 959058 705514 -0.442943 0.376027 0.706897 1 no
+TSS32 XLOC_000026 - chr1:3200325-3200352 q1 q2 NOTEST 0 0 0 0 1 1 no
+TSS33 XLOC_000027 - chr1:3200430-3200457 q1 q2 NOTEST 0 0 0 0 1 1 no
+TSS34 XLOC_000028 - chr1:3201007-3201039 q1 q2 NOTEST 0 0 0 0 1 1 no
+TSS35 XLOC_000029 - chr1:3201077-3201481 q1 q2 NOTEST 77513.9 285108 1.87898 -1.76152 0.0781506 1 no
+TSS37 XLOC_000030 - chr1:3201596-3201666 q1 q2 OK 1.89853e+07 0 -1.79769e+308 -1.79769e+308 0.0786496 0.150149 no
+TSS38 XLOC_000031 - chr1:3201672-3201699 q1 q2 NOTEST 0 0 0 0 1 1 no
+TSS39 XLOC_000032 - chr1:3201725-3201809 q1 q2 OK 1.31744e+07 0 -1.79769e+308 -1.79769e+308 0.0416323 0.150149 no
+TSS4 XLOC_000004 - chr1:3174765-3174792 q1 q2 NOTEST 0 0 0 0 1 1 no
+TSS40 XLOC_000033 Xkr4 chr1:3211521-3211561 q1 q2 NOTEST 0 0 0 0 1 1 no
+TSS41 XLOC_000034 Xkr4 chr1:3212213-3212292 q1 q2 OK 0 8.3103e+06 1.79769e+308 1.79769e+308 0.0786496 0.150149 no
+TSS42 XLOC_000035 Xkr4 chr1:3212367-3212439 q1 q2 OK 0 2.4671e+07 1.79769e+308 1.79769e+308 0.0512352 0.150149 no
+TSS43 XLOC_000036 Xkr4 chr1:3212717-3212801 q1 q2 NOTEST 4.39147e+06 0 -1.79769e+308 -1.79769e+308 0.158655 1 no
+TSS44 XLOC_000037 Xkr4 chr1:3213095-3213242 q1 q2 NOTEST 3.99739e+06 1.82908e+06 -1.12794 0.489836 0.62425 1 no
+TSS45 XLOC_000037 Xkr4 chr1:3213095-3213242 q1 q2 NOTEST 1.36901e+06 0 0 0 1 1 no
+TSS46 XLOC_000038 Xkr4 chr1:3240606-3240633 q1 q2 NOTEST 0 0 0 0 1 1 no
+TSS47 XLOC_000039 Xkr4 chr1:3242479-3242512 q1 q2 NOTEST 0 0 0 0 1 1 no
+TSS48 XLOC_000040 Xkr4 chr1:3242633-3242923 q1 q2 NOTEST 56312.4 372827 2.72698 -1.67622 0.0936947 1 no
+TSS49 XLOC_000041 Xkr4 chr1:3242924-3243005 q1 q2 NOTEST 0 0 0 0 1 1 no
+TSS5 XLOC_000005 - chr1:3187401-3187428 q1 q2 NOTEST 0 0 0 0 1 1 no
+TSS50 XLOC_000042 Xkr4 chr1:3243018-3243079 q1 q2 OK 0 2.66226e+07 1.79769e+308 1.79769e+308 0.0786496 0.150149 no
+TSS51 XLOC_000043 Xkr4 chr1:3243108-3243154 q1 q2 OK 9.99919e+07 0 -1.79769e+308 -1.79769e+308 0.158655 0.158655 no
+TSS52 XLOC_000044 Xkr4 chr1:3243347-3243401 q1 q2 OK 0 5.0951e+07 1.79769e+308 1.79769e+308 0.0786496 0.150149 no
+TSS53 XLOC_000045 Xkr4 chr1:3254079-3254106 q1 q2 NOTEST 0 0 0 0 1 1 no
+TSS54 XLOC_000046 Xkr4 chr1:3256974-3257011 q1 q2 OK 0 2.06814e+09 1.79769e+308 1.79769e+308 0.0786496 0.150149 no
+TSS55 XLOC_000047 Xkr4 chr1:3277155-3277182 q1 q2 NOTEST 0 0 0 0 1 1 no
+TSS56 XLOC_000048 Xkr4 chr1:3277190-3277218 q1 q2 NOTEST 0 0 0 0 1 1 no
+TSS57 XLOC_000049 Xkr4 chr1:3277913-3278390 q1 q2 NOTEST 265614 41870.3 -2.66534 2.48499 0.0129556 1 no
+TSS59 XLOC_000050 Xkr4 chr1:3280117-3280144 q1 q2 NOTEST 0 0 0 0 1 1 no
+TSS6 XLOC_000006 - chr1:3188521-3188548 q1 q2 NOTEST 0 0 0 0 1 1 no
+TSS60 XLOC_000051 Xkr4 chr1:3280498-3280525 q1 q2 NOTEST 0 0 0 0 1 1 no
+TSS61 XLOC_000052 Xkr4 chr1:3280686-3280741 q1 q2 OK 0 2.29576e+07 1.79769e+308 1.79769e+308 0.158655 0.158655 no
+TSS62 XLOC_000053 Xkr4 chr1:3282504-3282531 q1 q2 NOTEST 0 0 0 0 1 1 no
+TSS63 XLOC_000054 Xkr4 chr1:3282650-3282677 q1 q2 NOTEST 0 0 0 0 1 1 no
+TSS64 XLOC_000055 Xkr4 chr1:3282760-3282832 q1 q2 NOTEST 0 0 0 0 1 1 no
+TSS65 XLOC_000056 Xkr4 chr1:3284966-3284993 q1 q2 NOTEST 0 0 0 0 1 1 no
+TSS66 XLOC_000057 Xkr4 chr1:3290488-3290553 q1 q2 OK 0 9.79535e+06 1.79769e+308 1.79769e+308 0.158655 0.158655 no
+TSS67 XLOC_000058 Xkr4 chr1:3290798-3290859 q1 q2 OK 1.8095e+07 0 -1.79769e+308 -1.79769e+308 0.158655 0.158655 no
+TSS68 XLOC_000059 Xkr4 chr1:3290919-3291273 q1 q2 NOTEST 342218 75524 -2.17991 1.96162 0.049807 1 no
+TSS7 XLOC_000007 - chr1:3189810-3190789 q1 q2 NOTEST 368900 429265 0.21864 -0.483034 0.629072 1 no
+TSS70 XLOC_000060 Xkr4 chr1:3299443-3299664 q1 q2 NOTEST 937403 137917 -2.76487 1.66807 0.0953024 1 no
+TSS71 XLOC_000060 Xkr4 chr1:3299443-3299664 q1 q2 NOTEST 0 0 0 0 1 1 no
+TSS72 XLOC_000061 Xkr4 chr1:3299691-3299733 q1 q2 NOTEST 0 0 0 0 1 1 no
+TSS73 XLOC_000062 Xkr4 chr1:3300051-3300078 q1 q2 NOTEST 0 0 0 0 1 1 no
+TSS74 XLOC_000063 Xkr4 chr1:3307748-3307775 q1 q2 NOTEST 0 0 0 0 1 1 no
+TSS75 XLOC_000064 Xkr4 chr1:3318620-3318647 q1 q2 NOTEST 0 0 0 0 1 1 no
+TSS76 XLOC_000065 Xkr4 chr1:3318999-3319051 q1 q2 NOTEST 0 0 0 0 1 1 no
+TSS77 XLOC_000066 Xkr4 chr1:3330527-3330554 q1 q2 NOTEST 0 0 0 0 1 1 no
+TSS78 XLOC_000067 Xkr4 chr1:3351240-3351311 q1 q2 OK 8.91489e+06 0 -1.79769e+308 -1.79769e+308 0.158655 0.158655 no
+TSS79 XLOC_000068 Xkr4 chr1:3355887-3356119 q1 q2 NOTEST 0 0 0 0 1 1 no
+TSS80 XLOC_000068 Xkr4 chr1:3355887-3356119 q1 q2 NOTEST 585828 0 -1.79769e+308 -1.79769e+308 0.0512352 1 no
+TSS81 XLOC_000069 Xkr4 chr1:3356180-3356225 q1 q2 OK 1.19208e+08 0 -1.79769e+308 -1.79769e+308 0.158655 0.158655 no
+TSS82 XLOC_000070 Xkr4 chr1:3363076-3363176 q1 q2 NOTEST 4.42166e+06 0 -1.79769e+308 -1.79769e+308 0.0786496 1 no
+TSS83 XLOC_000071 Xkr4 chr1:3363214-3363278 q1 q2 NOTEST 0 0 0 0 1 1 no
+TSS84 XLOC_000072 Xkr4 chr1:3363387-3363446 q1 q2 OK 4.28358e+07 0 -1.79769e+308 -1.79769e+308 0.0786496 0.150149 no
+TSS85 XLOC_000073 Xkr4 chr1:3363753-3363849 q1 q2 NOTEST 0 0 0 0 1 1 no
+TSS86 XLOC_000074 Xkr4 chr1:3364871-3364919 q1 q2 OK 7.29939e+07 0 -1.79769e+308 -1.79769e+308 0.158655 0.158655 no
+TSS87 XLOC_000075 Xkr4 chr1:3367135-3367162 q1 q2 NOTEST 0 0 0 0 1 1 no
+TSS88 XLOC_000076 Xkr4 chr1:3367210-3367237 q1 q2 NOTEST 0 0 0 0 1 1 no
+TSS89 XLOC_000077 Xkr4 chr1:3367333-3367382 q1 q2 NOTEST 0 0 0 0 1 1 no
+TSS90 XLOC_000078 Xkr4 chr1:3369580-3369607 q1 q2 NOTEST 0 0 0 0 1 1 no
+TSS91 XLOC_000079 Xkr4 chr1:3375001-3375028 q1 q2 NOTEST 0 0 0 0 1 1 no
+TSS92 XLOC_000080 Xkr4 chr1:3377211-3377262 q1 q2 NOTEST 0 0 0 0 1 1 no
+TSS93 XLOC_000081 Xkr4 chr1:3379888-3379915 q1 q2 NOTEST 0 0 0 0 1 1 no
+TSS94 XLOC_000082 Xkr4 chr1:3386739-3386836 q1 q2 NOTEST 0 0 0 0 1 1 no
+TSS95 XLOC_000083 Xkr4 chr1:3391325-3391352 q1 q2 NOTEST 0 0 0 0 1 1 no
+TSS96 XLOC_000084 Xkr4 chr1:3435841-3435880 q1 q2 NOTEST 0 0 0 0 1 1 no
+TSS97 XLOC_000085 Xkr4 chr1:3447761-3447788 q1 q2 NOTEST 0 0 0 0 1 1 no
+TSS98 XLOC_000086 Xkr4 chr1:3450906-3450965 q1 q2 NOTEST 0 0 0 0 1 1 no
+TSS99 XLOC_000087 Xkr4 chr1:3451051-3451109 q1 q2 NOTEST 0 0 0 0 1 1 no
diff -r 277403d31907d71e5e77694c0c97c16772f23e27 -r 511941e1aea7bcb24a1e30b1e8ac59bf0ba6a3d6 test-data/cuffdiff_out4.txt
--- a/test-data/cuffdiff_out4.txt
+++ b/test-data/cuffdiff_out4.txt
@@ -1,1 +1,1 @@
-test_id gene_id gene locus sample_1 sample_2 status value_1 value_2 ln(fold_change) test_stat p_value q_value significant
+test_id gene_id gene locus sample_1 sample_2 status value_1 value_2 log2(fold_change) test_stat p_value q_value significant
diff -r 277403d31907d71e5e77694c0c97c16772f23e27 -r 511941e1aea7bcb24a1e30b1e8ac59bf0ba6a3d6 test-data/cuffdiff_out5.txt
--- a/test-data/cuffdiff_out5.txt
+++ b/test-data/cuffdiff_out5.txt
@@ -1,99 +1,91 @@
-tracking_id class_code nearest_ref_id gene_id gene_short_name tss_id locus length coverage status q1_FPKM q1_conf_lo q1_conf_hi q2_FPKM q2_conf_lo q2_conf_hi
-TCONS_00000001 c Xkr4 XLOC_000001 - - chr1:3204754-3204833 79 - OK 0 0 0 5.42247e+06 0 1.3091e+07
-TCONS_00000002 - - XLOC_000002 - - chr1:3111449-3111490 41 - OK 0 0 0 1.39654e+08 0 4.18963e+08
-TCONS_00000003 - - XLOC_000003 - - chr1:3111545-3111576 31 - OK 0 0 0 0 0 0
-TCONS_00000004 - - XLOC_000007 - - chr1:3189810-3190789 142 - OK 2.49256e+06 0 5.08341e+06 5.29759e+06 686576 9.90861e+06
-TCONS_00000005 - - XLOC_000007 - - chr1:3189810-3190789 31 - OK 0 0 0 0 0 0
-TCONS_00000006 - - XLOC_000007 - - chr1:3189810-3190789 27 - OK 0 0 0 0 0 0
-TCONS_00000007 - - XLOC_000009 - - chr1:3191512-3192077 131 - OK 2.77423e+06 0 5.7461e+06 6.7156e+06 774909 1.26563e+07
-TCONS_00000008 - - XLOC_000009 - - chr1:3191512-3192077 69 - OK 1.11098e+07 0 3.60229e+07 3.03942e+07 0 6.3641e+07
-TCONS_00000009 - - XLOC_000011 - - chr1:3192441-3192494 53 - OK 0 0 0 5.56023e+07 0 1.19806e+08
-TCONS_00000010 - - XLOC_000012 - - chr1:3192550-3192629 79 - OK 0 0 0 2.71123e+06 0 8.1337e+06
-TCONS_00000011 - - XLOC_000014 - - chr1:3192731-3192811 80 - OK 0 0 0 0 0 0
-TCONS_00000012 - - XLOC_000015 - - chr1:3192940-3193042 102 - OK 0 0 0 3.93442e+06 0 8.47748e+06
-TCONS_00000013 - - XLOC_000016 - - chr1:3194185-3194226 41 - OK 0 0 0 1.39654e+08 0 4.18963e+08
-TCONS_00000014 - - XLOC_000017 - - chr1:3194302-3194329 27 - OK 0 0 0 0 0 0
-TCONS_00000015 - - XLOC_000019 - - chr1:3195083-3195110 27 - OK 0 0 0 0 0 0
-TCONS_00000016 - - XLOC_000020 - - chr1:3195450-3195477 27 - OK 0 0 0 0 0 0
-TCONS_00000017 - - XLOC_000021 - - chr1:3197089-3197116 27 - OK 0 0 0 0 0 0
-TCONS_00000018 - - XLOC_000022 - - chr1:3197246-3197273 27 - OK 0 0 0 0 0 0
-TCONS_00000019 - - XLOC_000023 - - chr1:3197346-3197373 27 - OK 0 0 0 0 0 0
-TCONS_00000020 - - XLOC_000025 - - chr1:3200022-3200191 169 - OK 460348 0 991912 460348 0 991912
-TCONS_00000021 - - XLOC_000026 - - chr1:3200325-3200352 27 - OK 0 0 0 0 0 0
-TCONS_00000022 - - XLOC_000029 - - chr1:3201077-3201481 404 - OK 37206.6 0 80169.2 186033 15366.6 356700
-TCONS_00000023 - - XLOC_000031 - - chr1:3201672-3201699 27 - OK 0 0 0 0 0 0
-TCONS_00000024 i Xkr4 XLOC_000034 - - chr1:3212213-3212292 79 - OK 0 0 0 5.42247e+06 0 1.3091e+07
-TCONS_00000025 i Xkr4 XLOC_000035 - - chr1:3212367-3212439 72 - OK 0 0 0 1.60978e+07 0 3.46859e+07
-TCONS_00000026 i Xkr4 XLOC_000037 - - chr1:3213095-3213192 97 - OK 2.38694e+06 0 5.76259e+06 1.19347e+06 0 3.58042e+06
-TCONS_00000027 i Xkr4 XLOC_000040 - - chr1:3242633-3242923 290 - OK 27029.9 0 81089.8 243269 0 494190
-TCONS_00000028 i Xkr4 XLOC_000042 - - chr1:3243018-3243079 61 - OK 0 0 0 1.73712e+07 0 4.19378e+07
-TCONS_00000029 i Xkr4 XLOC_000044 - - chr1:3243347-3243401 54 - OK 0 0 0 3.32455e+07 0 8.02618e+07
-TCONS_00000030 i Xkr4 XLOC_000046 - - chr1:3256974-3257011 37 - OK 0 0 0 1.34946e+09 0 3.25789e+09
-TCONS_00000031 i Xkr4 XLOC_000048 - - chr1:3277190-3277218 28 - OK 0 0 0 0 0 0
-TCONS_00000032 i Xkr4 XLOC_000049 - - chr1:3277913-3278390 27 - OK 0 0 0 0 0 0
-TCONS_00000033 i Xkr4 XLOC_000052 - - chr1:3280686-3280741 55 - OK 0 0 0 1.49798e+07 0 4.49395e+07
-TCONS_00000034 i Xkr4 XLOC_000057 - - chr1:3290488-3290553 65 - OK 0 0 0 6.39146e+06 0 1.91744e+07
-TCONS_00000035 i Xkr4 XLOC_000059 - - chr1:3290919-3291273 84 - OK 6.40392e+06 0 1.55816e+07 0 0 0
-TCONS_00000036 i Xkr4 XLOC_000059 - - chr1:3290919-3291273 98 - OK 1.2964e+06 0 4.55711e+06 1.46758e+06 0 4.47705e+06
-TCONS_00000037 i Xkr4 XLOC_000060 - - chr1:3299443-3299664 55 - OK 0 0 0 0 0 0
-TCONS_00000038 i Xkr4 XLOC_000062 - - chr1:3300051-3300078 27 - OK 0 0 0 0 0 0
-TCONS_00000039 i Xkr4 XLOC_000065 - - chr1:3318999-3319051 52 - OK 0 0 0 0 0 0
-TCONS_00000040 i Xkr4 XLOC_000068 - - chr1:3355887-3356119 27 - OK 0 0 0 0 0 0
-TCONS_00000041 i Xkr4 XLOC_000071 - - chr1:3363214-3363278 64 - OK 0 0 0 0 0 0
-TCONS_00000042 i Xkr4 XLOC_000073 - - chr1:3363753-3363849 96 - OK 0 0 0 0 0 0
-TCONS_00000043 i Xkr4 XLOC_000075 - - chr1:3367135-3367162 27 - OK 0 0 0 0 0 0
-TCONS_00000044 i Xkr4 XLOC_000077 - - chr1:3367333-3367382 49 - OK 0 0 0 0 0 0
-TCONS_00000045 i Xkr4 XLOC_000080 - - chr1:3377211-3377262 51 - OK 0 0 0 0 0 0
-TCONS_00000046 i Xkr4 XLOC_000083 - - chr1:3391325-3391352 27 - OK 0 0 0 0 0 0
-TCONS_00000047 i Xkr4 XLOC_000084 - - chr1:3435841-3435880 39 - OK 0 0 0 0 0 0
-TCONS_00000048 i Xkr4 XLOC_000085 - - chr1:3447761-3447788 27 - OK 0 0 0 0 0 0
-TCONS_00000049 i Xkr4 XLOC_000086 - - chr1:3450906-3450965 59 - OK 0 0 0 0 0 0
-TCONS_00000050 i Xkr4 XLOC_000087 - - chr1:3451051-3451109 58 - OK 0 0 0 0 0 0
-TCONS_00000051 - - XLOC_000004 - - chr1:3174765-3174792 27 - OK 0 0 0 0 0 0
-TCONS_00000052 - - XLOC_000005 - - chr1:3187401-3187428 27 - OK 0 0 0 0 0 0
-TCONS_00000053 - - XLOC_000006 - - chr1:3188521-3188548 27 - OK 0 0 0 0 0 0
-TCONS_00000054 - - XLOC_000007 - - chr1:3189810-3190789 979 - OK 171639 69105.7 274173 239968 172568 307367
-TCONS_00000055 - - XLOC_000008 - - chr1:3190858-3191434 576 - OK 227564 66605.9 388523 240951 73918.5 407983
-TCONS_00000056 - - XLOC_000009 - - chr1:3191512-3192077 565 - OK 175955 38281.8 313628 319423 117942 520904
-TCONS_00000057 - - XLOC_000010 - - chr1:3192250-3192336 86 - OK 1.91712e+06 0 5.75136e+06 1.91712e+06 0 5.75136e+06
-TCONS_00000058 - - XLOC_000013 - - chr1:3192649-3192676 27 - OK 0 0 0 0 0 0
-TCONS_00000059 - - XLOC_000018 - - chr1:3194706-3194733 27 - OK 0 0 0 0 0 0
-TCONS_00000060 - - XLOC_000024 - - chr1:3197425-3197452 27 - OK 0 0 0 0 0 0
-TCONS_00000061 - - XLOC_000027 - - chr1:3200430-3200457 27 - OK 0 0 0 0 0 0
-TCONS_00000062 - - XLOC_000028 - - chr1:3201007-3201039 32 - OK 0 0 0 0 0 0
-TCONS_00000063 - - XLOC_000029 - - chr1:3201077-3201481 27 - OK 0 0 0 0 0 0
-TCONS_00000064 - - XLOC_000030 - - chr1:3201596-3201666 70 - OK 9.11292e+06 0 2.20005e+07 0 0 0
-TCONS_00000065 - - XLOC_000032 - - chr1:3201725-3201809 84 - OK 8.43162e+06 0 1.81676e+07 0 0 0
-TCONS_00000066 i Xkr4 XLOC_000033 - - chr1:3211521-3211561 40 - OK 0 0 0 0 0 0
-TCONS_00000067 i Xkr4 XLOC_000036 - - chr1:3212717-3212801 84 - OK 2.10791e+06 0 6.32372e+06 0 0 0
-TCONS_00000068 i Xkr4 XLOC_000038 - - chr1:3240606-3240633 27 - OK 0 0 0 0 0 0
-TCONS_00000069 i Xkr4 XLOC_000039 - - chr1:3242479-3242512 33 - OK 0 0 0 0 0 0
-TCONS_00000070 i Xkr4 XLOC_000041 - - chr1:3242924-3243005 81 - OK 0 0 0 0 0 0
-TCONS_00000071 i Xkr4 XLOC_000043 - - chr1:3243108-3243154 46 - OK 4.79961e+07 0 1.43988e+08 0 0 0
-TCONS_00000072 i Xkr4 XLOC_000045 - - chr1:3254079-3254106 27 - OK 0 0 0 0 0 0
-TCONS_00000073 i Xkr4 XLOC_000047 - - chr1:3277155-3277182 27 - OK 0 0 0 0 0 0
-TCONS_00000074 i Xkr4 XLOC_000049 - - chr1:3277913-3278390 477 - OK 127495 8942.18 246048 27320.3 0 58867.2
-TCONS_00000075 i Xkr4 XLOC_000050 - - chr1:3280117-3280144 27 - OK 0 0 0 0 0 0
-TCONS_00000076 i Xkr4 XLOC_000051 - - chr1:3280498-3280525 27 - OK 0 0 0 0 0 0
-TCONS_00000077 i Xkr4 XLOC_000053 - - chr1:3282504-3282531 27 - OK 0 0 0 0 0 0
-TCONS_00000078 i Xkr4 XLOC_000054 - - chr1:3282650-3282677 27 - OK 0 0 0 0 0 0
-TCONS_00000079 i Xkr4 XLOC_000055 - - chr1:3282760-3282832 72 - OK 0 0 0 0 0 0
-TCONS_00000080 i Xkr4 XLOC_000056 - - chr1:3284966-3284993 27 - OK 0 0 0 0 0 0
-TCONS_00000081 i Xkr4 XLOC_000058 - - chr1:3290798-3290859 61 - OK 8.68561e+06 0 2.60568e+07 0 0 0
-TCONS_00000082 i Xkr4 XLOC_000059 - - chr1:3290919-3291273 354 - OK 95795.4 0 201253 28263.3 0 76569.5
-TCONS_00000083 i Xkr4 XLOC_000060 - - chr1:3299443-3299664 197 - OK 449954 0 952175 89990.7 0 269972
-TCONS_00000084 i Xkr4 XLOC_000061 - - chr1:3299691-3299733 42 - OK 0 0 0 0 0 0
-TCONS_00000085 i Xkr4 XLOC_000063 - - chr1:3307748-3307775 27 - OK 0 0 0 0 0 0
-TCONS_00000086 i Xkr4 XLOC_000064 - - chr1:3318620-3318647 27 - OK 0 0 0 0 0 0
-TCONS_00000087 i Xkr4 XLOC_000066 - - chr1:3330527-3330554 27 - OK 0 0 0 0 0 0
-TCONS_00000088 i Xkr4 XLOC_000067 - - chr1:3351240-3351311 71 - OK 4.27915e+06 0 1.28374e+07 0 0 0
-TCONS_00000089 i Xkr4 XLOC_000068 - - chr1:3355887-3356119 212 - OK 281197 0 605895 0 0 0
-TCONS_00000090 i Xkr4 XLOC_000069 - - chr1:3356180-3356225 45 - OK 5.72196e+07 0 1.71659e+08 0 0 0
-TCONS_00000091 i Xkr4 XLOC_000070 - - chr1:3363076-3363176 100 - OK 2.1224e+06 0 5.12392e+06 0 0 0
-TCONS_00000092 i Xkr4 XLOC_000072 - - chr1:3363387-3363446 59 - OK 3.08417e+07 0 6.64547e+07 0 0 0
-TCONS_00000093 i Xkr4 XLOC_000074 - - chr1:3364871-3364919 48 - OK 3.50371e+07 0 1.05111e+08 0 0 0
-TCONS_00000094 i Xkr4 XLOC_000076 - - chr1:3367210-3367237 27 - OK 0 0 0 0 0 0
-TCONS_00000095 i Xkr4 XLOC_000078 - - chr1:3369580-3369607 27 - OK 0 0 0 0 0 0
-TCONS_00000096 i Xkr4 XLOC_000079 - - chr1:3375001-3375028 27 - OK 0 0 0 0 0 0
-TCONS_00000097 i Xkr4 XLOC_000081 - - chr1:3379888-3379915 27 - OK 0 0 0 0 0 0
-TCONS_00000098 i Xkr4 XLOC_000082 - - chr1:3386739-3386836 97 - OK 0 0 0 0 0 0
+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
+TCONS_00000001 c Xkr4 XLOC_000001 Xkr4 TSS1 chr1:3204754-3204833 79 - 0 0 0 OK 8.3103e+06 0 2.00628e+07 OK
+TCONS_00000002 - - XLOC_000002 - TSS2 chr1:3111449-3111490 41 - 0 0 0 OK 2.1403e+08 0 6.42089e+08 OK
+TCONS_00000003 - - XLOC_000003 - TSS3 chr1:3111545-3111576 31 - 0 0 0 OK 0 0 0 OK
+TCONS_00000009 - - XLOC_000011 - TSS16 chr1:3192441-3192494 53 - 0 0 0 OK 5.68095e+07 0 1.3715e+08 OK
+TCONS_00000010 - - XLOC_000012 - TSS17 chr1:3192550-3192629 79 - 0 0 0 OK 4.15515e+06 0 1.24654e+07 OK
+TCONS_00000011 - - XLOC_000014 - TSS19 chr1:3192731-3192811 80 - 0 0 0 OK 0 0 0 OK
+TCONS_00000012 - - XLOC_000015 - TSS20 chr1:3192940-3193042 102 - 0 0 0 OK 6.02976e+06 0 1.34147e+07 OK
+TCONS_00000013 - - XLOC_000016 - TSS21 chr1:3194185-3194226 41 - 0 0 0 OK 2.1403e+08 0 6.42089e+08 OK
+TCONS_00000014 - - XLOC_000017 - TSS22 chr1:3194302-3194329 27 - 0 0 0 OK 0 0 0 OK
+TCONS_00000015 - - XLOC_000019 - TSS24 chr1:3195083-3195110 27 - 0 0 0 OK 0 0 0 OK
+TCONS_00000016 - - XLOC_000020 - TSS25 chr1:3195450-3195477 27 - 0 0 0 OK 0 0 0 OK
+TCONS_00000017 - - XLOC_000021 - TSS26 chr1:3197089-3197116 27 - 0 0 0 OK 0 0 0 OK
+TCONS_00000018 - - XLOC_000022 - TSS27 chr1:3197246-3197273 27 - 0 0 0 OK 0 0 0 OK
+TCONS_00000019 - - XLOC_000023 - TSS28 chr1:3197346-3197373 27 - 0 0 0 OK 0 0 0 OK
+TCONS_00000020 - - XLOC_000025 - TSS30 chr1:3200022-3200191 169 - 959058 0 2.06648e+06 OK 705514 0 1.52017e+06 OK
+TCONS_00000021 - - XLOC_000026 - TSS32 chr1:3200325-3200352 27 - 0 0 0 OK 0 0 0 OK
+TCONS_00000022 - - XLOC_000029 - TSS35 chr1:3201077-3201481 404 - 77513.9 0 167019 OK 285108 21736.5 548480 OK
+TCONS_00000023 - - XLOC_000031 - TSS38 chr1:3201672-3201699 27 - 0 0 0 OK 0 0 0 OK
+TCONS_00000024 i Xkr4 XLOC_000034 Xkr4 TSS41 chr1:3212213-3212292 79 - 0 0 0 OK 8.3103e+06 0 2.00628e+07 OK
+TCONS_00000025 i Xkr4 XLOC_000035 Xkr4 TSS42 chr1:3212367-3212439 72 - 0 0 0 OK 2.4671e+07 0 5.48867e+07 OK
+TCONS_00000026 i Xkr4 XLOC_000037 Xkr4 TSS44 chr1:3213095-3213242 97 - 3.99739e+06 3.99339e+06 4.00139e+06 LOWDATA 1.82908e+06 0 5.48723e+06 OK
+TCONS_00000027 i Xkr4 XLOC_000040 Xkr4 TSS48 chr1:3242633-3242923 290 - 56312.4 0 168937 OK 372827 0 761430 OK
+TCONS_00000028 i Xkr4 XLOC_000042 Xkr4 TSS50 chr1:3243018-3243079 61 - 0 0 0 OK 2.66226e+07 0 6.42725e+07 OK
+TCONS_00000029 i Xkr4 XLOC_000044 Xkr4 TSS52 chr1:3243347-3243401 54 - 0 0 0 OK 5.0951e+07 0 1.23007e+08 OK
+TCONS_00000030 i Xkr4 XLOC_000046 Xkr4 TSS54 chr1:3256974-3257011 37 - 0 0 0 OK 2.06814e+09 0 4.99293e+09 OK
+TCONS_00000031 i Xkr4 XLOC_000048 Xkr4 TSS56 chr1:3277190-3277218 28 - 0 0 0 OK 0 0 0 OK
+TCONS_00000033 i Xkr4 XLOC_000052 Xkr4 TSS61 chr1:3280686-3280741 55 - 0 0 0 OK 2.29576e+07 0 6.88728e+07 OK
+TCONS_00000034 i Xkr4 XLOC_000057 Xkr4 TSS66 chr1:3290488-3290553 65 - 0 0 0 OK 9.79535e+06 0 2.9386e+07 OK
+TCONS_00000037 i Xkr4 XLOC_000060 Xkr4 TSS71 chr1:3299443-3299664 55 - 0 0 0 OK 0 0 0 OK
+TCONS_00000038 i Xkr4 XLOC_000062 Xkr4 TSS73 chr1:3300051-3300078 27 - 0 0 0 OK 0 0 0 OK
+TCONS_00000039 i Xkr4 XLOC_000065 Xkr4 TSS76 chr1:3318999-3319051 52 - 0 0 0 OK 0 0 0 OK
+TCONS_00000040 i Xkr4 XLOC_000068 Xkr4 TSS79 chr1:3355887-3356119 27 - 0 0 0 OK 0 0 0 OK
+TCONS_00000041 i Xkr4 XLOC_000071 Xkr4 TSS83 chr1:3363214-3363278 64 - 0 0 0 OK 0 0 0 OK
+TCONS_00000042 i Xkr4 XLOC_000073 Xkr4 TSS85 chr1:3363753-3363849 96 - 0 0 0 OK 0 0 0 OK
+TCONS_00000043 i Xkr4 XLOC_000075 Xkr4 TSS87 chr1:3367135-3367162 27 - 0 0 0 OK 0 0 0 OK
+TCONS_00000044 i Xkr4 XLOC_000077 Xkr4 TSS89 chr1:3367333-3367382 49 - 0 0 0 OK 0 0 0 OK
+TCONS_00000045 i Xkr4 XLOC_000080 Xkr4 TSS92 chr1:3377211-3377262 51 - 0 0 0 OK 0 0 0 OK
+TCONS_00000046 i Xkr4 XLOC_000083 Xkr4 TSS95 chr1:3391325-3391352 27 - 0 0 0 OK 0 0 0 OK
+TCONS_00000047 i Xkr4 XLOC_000084 Xkr4 TSS96 chr1:3435841-3435880 39 - 0 0 0 OK 0 0 0 OK
+TCONS_00000048 i Xkr4 XLOC_000085 Xkr4 TSS97 chr1:3447761-3447788 27 - 0 0 0 OK 0 0 0 OK
+TCONS_00000049 i Xkr4 XLOC_000086 Xkr4 TSS98 chr1:3450906-3450965 59 - 0 0 0 OK 0 0 0 OK
+TCONS_00000050 i Xkr4 XLOC_000087 Xkr4 TSS99 chr1:3451051-3451109 58 - 0 0 0 OK 0 0 0 OK
+TCONS_00000051 - - XLOC_000004 - TSS4 chr1:3174765-3174792 27 - 0 0 0 OK 0 0 0 OK
+TCONS_00000052 - - XLOC_000005 - TSS5 chr1:3187401-3187428 27 - 0 0 0 OK 0 0 0 OK
+TCONS_00000053 - - XLOC_000006 - TSS6 chr1:3188521-3188548 27 - 0 0 0 OK 0 0 0 OK
+TCONS_00000054 - - XLOC_000007 - TSS7 chr1:3189810-3190789 979 - 368900 151353 586447 OK 429265 337221 521309 OK
+TCONS_00000055 - - XLOC_000008 - TSS11 chr1:3190858-3191434 576 - 404373 101434 707312 OK 338500 95761.5 581239 OK
+TCONS_00000056 - - XLOC_000009 - TSS12 chr1:3191512-3192077 565 - 402276 96829.4 707722 OK 686974 410563 963384 OK
+TCONS_00000057 - - XLOC_000010 - TSS15 chr1:3192250-3192336 86 - 3.994e+06 0 1.1982e+07 OK 2.93812e+06 0 8.81435e+06 OK
+TCONS_00000058 - - XLOC_000013 - TSS18 chr1:3192649-3192676 27 - 0 0 0 OK 0 0 0 OK
+TCONS_00000059 - - XLOC_000018 - TSS23 chr1:3194706-3194733 27 - 0 0 0 OK 0 0 0 OK
+TCONS_00000060 - - XLOC_000024 - TSS29 chr1:3197425-3197452 27 - 0 0 0 OK 0 0 0 OK
+TCONS_00000062 - - XLOC_000027 - TSS33 chr1:3200430-3200457 27 - 0 0 0 OK 0 0 0 OK
+TCONS_00000063 - - XLOC_000028 - TSS34 chr1:3201007-3201039 32 - 0 0 0 OK 0 0 0 OK
+TCONS_00000065 - - XLOC_000030 - TSS37 chr1:3201596-3201666 70 - 1.89853e+07 0 4.58345e+07 OK 0 0 0 OK
+TCONS_00000066 - - XLOC_000032 - TSS39 chr1:3201725-3201809 84 - 1.31744e+07 0 2.83869e+07 OK 0 0 0 OK
+TCONS_00000067 i Xkr4 XLOC_000033 Xkr4 TSS40 chr1:3211521-3211561 40 - 0 0 0 OK 0 0 0 OK
+TCONS_00000068 i Xkr4 XLOC_000036 Xkr4 TSS43 chr1:3212717-3212801 84 - 4.39147e+06 0 1.31744e+07 OK 0 0 0 OK
+TCONS_00000069 i Xkr4 XLOC_000037 Xkr4 TSS45 chr1:3213095-3213242 124 - 1.36901e+06 1.36667e+06 1.37135e+06 LOWDATA 0 0 0 OK
+TCONS_00000070 i Xkr4 XLOC_000038 Xkr4 TSS46 chr1:3240606-3240633 27 - 0 0 0 OK 0 0 0 OK
+TCONS_00000071 i Xkr4 XLOC_000039 Xkr4 TSS47 chr1:3242479-3242512 33 - 0 0 0 OK 0 0 0 OK
+TCONS_00000072 i Xkr4 XLOC_000041 Xkr4 TSS49 chr1:3242924-3243005 81 - 0 0 0 OK 0 0 0 OK
+TCONS_00000073 i Xkr4 XLOC_000043 Xkr4 TSS51 chr1:3243108-3243154 46 - 9.99919e+07 0 2.99976e+08 OK 0 0 0 OK
+TCONS_00000074 i Xkr4 XLOC_000045 Xkr4 TSS53 chr1:3254079-3254106 27 - 0 0 0 OK 0 0 0 OK
+TCONS_00000075 i Xkr4 XLOC_000047 Xkr4 TSS55 chr1:3277155-3277182 27 - 0 0 0 OK 0 0 0 OK
+TCONS_00000076 i Xkr4 XLOC_000049 Xkr4 TSS57 chr1:3277913-3278390 477 - 265614 16793 514436 OK 41870.3 0 90217.9 OK
+TCONS_00000077 i Xkr4 XLOC_000050 Xkr4 TSS59 chr1:3280117-3280144 27 - 0 0 0 OK 0 0 0 OK
+TCONS_00000078 i Xkr4 XLOC_000051 Xkr4 TSS60 chr1:3280498-3280525 27 - 0 0 0 OK 0 0 0 OK
+TCONS_00000079 i Xkr4 XLOC_000053 Xkr4 TSS62 chr1:3282504-3282531 27 - 0 0 0 OK 0 0 0 OK
+TCONS_00000080 i Xkr4 XLOC_000054 Xkr4 TSS63 chr1:3282650-3282677 27 - 0 0 0 OK 0 0 0 OK
+TCONS_00000081 i Xkr4 XLOC_000055 Xkr4 TSS64 chr1:3282760-3282832 72 - 0 0 0 OK 0 0 0 OK
+TCONS_00000082 i Xkr4 XLOC_000056 Xkr4 TSS65 chr1:3284966-3284993 27 - 0 0 0 OK 0 0 0 OK
+TCONS_00000083 i Xkr4 XLOC_000058 Xkr4 TSS67 chr1:3290798-3290859 61 - 1.8095e+07 0 5.4285e+07 OK 0 0 0 OK
+TCONS_00000084 i Xkr4 XLOC_000059 Xkr4 TSS68 chr1:3290919-3291273 354 - 342218 0 691214 OK 75524 0 162732 OK
+TCONS_00000085 i Xkr4 XLOC_000060 Xkr4 TSS70 chr1:3299443-3299664 197 - 937403 0 1.99795e+06 OK 137917 0 413751 OK
+TCONS_00000086 i Xkr4 XLOC_000061 Xkr4 TSS72 chr1:3299691-3299733 42 - 0 0 0 OK 0 0 0 OK
+TCONS_00000087 i Xkr4 XLOC_000063 Xkr4 TSS74 chr1:3307748-3307775 27 - 0 0 0 OK 0 0 0 OK
+TCONS_00000088 i Xkr4 XLOC_000064 Xkr4 TSS75 chr1:3318620-3318647 27 - 0 0 0 OK 0 0 0 OK
+TCONS_00000089 i Xkr4 XLOC_000066 Xkr4 TSS77 chr1:3330527-3330554 27 - 0 0 0 OK 0 0 0 OK
+TCONS_00000090 i Xkr4 XLOC_000067 Xkr4 TSS78 chr1:3351240-3351311 71 - 8.91489e+06 0 2.67447e+07 OK 0 0 0 OK
+TCONS_00000091 i Xkr4 XLOC_000068 Xkr4 TSS80 chr1:3355887-3356119 212 - 585828 0 1.30332e+06 OK 0 0 0 OK
+TCONS_00000092 i Xkr4 XLOC_000069 Xkr4 TSS81 chr1:3356180-3356225 45 - 1.19208e+08 0 3.57623e+08 OK 0 0 0 OK
+TCONS_00000093 i Xkr4 XLOC_000070 Xkr4 TSS82 chr1:3363076-3363176 100 - 4.42166e+06 0 1.06748e+07 OK 0 0 0 OK
+TCONS_00000094 i Xkr4 XLOC_000072 Xkr4 TSS84 chr1:3363387-3363446 59 - 4.28358e+07 0 1.03415e+08 OK 0 0 0 OK
+TCONS_00000095 i Xkr4 XLOC_000074 Xkr4 TSS86 chr1:3364871-3364919 48 - 7.29939e+07 0 2.18982e+08 OK 0 0 0 OK
+TCONS_00000096 i Xkr4 XLOC_000076 Xkr4 TSS88 chr1:3367210-3367237 27 - 0 0 0 OK 0 0 0 OK
+TCONS_00000097 i Xkr4 XLOC_000078 Xkr4 TSS90 chr1:3369580-3369607 27 - 0 0 0 OK 0 0 0 OK
+TCONS_00000098 i Xkr4 XLOC_000079 Xkr4 TSS91 chr1:3375001-3375028 27 - 0 0 0 OK 0 0 0 OK
+TCONS_00000099 i Xkr4 XLOC_000081 Xkr4 TSS93 chr1:3379888-3379915 27 - 0 0 0 OK 0 0 0 OK
+TCONS_00000100 i Xkr4 XLOC_000082 Xkr4 TSS94 chr1:3386739-3386836 97 - 0 0 0 OK 0 0 0 OK
diff -r 277403d31907d71e5e77694c0c97c16772f23e27 -r 511941e1aea7bcb24a1e30b1e8ac59bf0ba6a3d6 test-data/cuffdiff_out6.txt
--- a/test-data/cuffdiff_out6.txt
+++ b/test-data/cuffdiff_out6.txt
@@ -1,88 +1,88 @@
-tracking_id class_code nearest_ref_id gene_id gene_short_name tss_id locus length coverage status q1_FPKM q1_conf_lo q1_conf_hi q2_FPKM q2_conf_lo q2_conf_hi
-XLOC_000001 - - XLOC_000001 - - chr1:3204754-3204833 - - OK 0 0 0 5.42247e+06 0 1.3091e+07
-XLOC_000002 - - XLOC_000002 - - chr1:3111449-3111490 - - OK 0 0 0 1.39654e+08 0 4.18963e+08
-XLOC_000003 - - XLOC_000003 - - chr1:3111545-3111576 - - OK 0 0 0 0 0 0
-XLOC_000004 - - XLOC_000004 - - chr1:3174765-3174792 - - OK 0 0 0 0 0 0
-XLOC_000005 - - XLOC_000005 - - chr1:3187401-3187428 - - OK 0 0 0 0 0 0
-XLOC_000006 - - XLOC_000006 - - chr1:3188521-3188548 - - OK 0 0 0 0 0 0
-XLOC_000007 - - XLOC_000007 - - chr1:3189810-3190789 - - OK 2.6642e+06 71325.8 5.25708e+06 5.53756e+06 926051 1.01491e+07
-XLOC_000008 - - XLOC_000008 - - chr1:3190858-3191434 - - OK 227564 66605.9 388523 240951 73918.5 407983
-XLOC_000009 - - XLOC_000009 - - chr1:3191512-3192077 - - OK 1.406e+07 0 3.91501e+07 3.74293e+07 3.65533e+06 7.12032e+07
-XLOC_000010 - - XLOC_000010 - - chr1:3192250-3192336 - - OK 1.91712e+06 0 5.75136e+06 1.91712e+06 0 5.75136e+06
-XLOC_000011 - - XLOC_000011 - - chr1:3192441-3192494 - - OK 0 0 0 5.56023e+07 0 1.19806e+08
-XLOC_000012 - - XLOC_000012 - - chr1:3192550-3192629 - - OK 0 0 0 2.71123e+06 0 8.1337e+06
-XLOC_000013 - - XLOC_000013 - - chr1:3192649-3192676 - - OK 0 0 0 0 0 0
-XLOC_000014 - - XLOC_000014 - - chr1:3192731-3192811 - - OK 0 0 0 0 0 0
-XLOC_000015 - - XLOC_000015 - - chr1:3192940-3193042 - - OK 0 0 0 3.93442e+06 0 8.47748e+06
-XLOC_000016 - - XLOC_000016 - - chr1:3194185-3194226 - - OK 0 0 0 1.39654e+08 0 4.18963e+08
-XLOC_000017 - - XLOC_000017 - - chr1:3194302-3194329 - - OK 0 0 0 0 0 0
-XLOC_000018 - - XLOC_000018 - - chr1:3194706-3194733 - - OK 0 0 0 0 0 0
-XLOC_000019 - - XLOC_000019 - - chr1:3195083-3195110 - - OK 0 0 0 0 0 0
-XLOC_000020 - - XLOC_000020 - - chr1:3195450-3195477 - - OK 0 0 0 0 0 0
-XLOC_000021 - - XLOC_000021 - - chr1:3197089-3197116 - - OK 0 0 0 0 0 0
-XLOC_000022 - - XLOC_000022 - - chr1:3197246-3197273 - - OK 0 0 0 0 0 0
-XLOC_000023 - - XLOC_000023 - - chr1:3197346-3197373 - - OK 0 0 0 0 0 0
-XLOC_000024 - - XLOC_000024 - - chr1:3197425-3197452 - - OK 0 0 0 0 0 0
-XLOC_000025 - - XLOC_000025 - - chr1:3200022-3200191 - - OK 460348 0 991912 460348 0 991912
-XLOC_000026 - - XLOC_000026 - - chr1:3200325-3200352 - - OK 0 0 0 0 0 0
-XLOC_000027 - - XLOC_000027 - - chr1:3200430-3200457 - - OK 0 0 0 0 0 0
-XLOC_000028 - - XLOC_000028 - - chr1:3201007-3201039 - - OK 0 0 0 0 0 0
-XLOC_000029 - - XLOC_000029 - - chr1:3201077-3201481 - - OK 37206.6 0 80169.2 186033 15366.6 356700
-XLOC_000030 - - XLOC_000030 - - chr1:3201596-3201666 - - OK 9.11292e+06 0 2.20005e+07 0 0 0
-XLOC_000031 - - XLOC_000031 - - chr1:3201672-3201699 - - OK 0 0 0 0 0 0
-XLOC_000032 - - XLOC_000032 - - chr1:3201725-3201809 - - OK 8.43162e+06 0 1.81676e+07 0 0 0
-XLOC_000033 - - XLOC_000033 - - chr1:3211521-3211561 - - OK 0 0 0 0 0 0
-XLOC_000034 - - XLOC_000034 - - chr1:3212213-3212292 - - OK 0 0 0 5.42247e+06 0 1.3091e+07
-XLOC_000035 - - XLOC_000035 - - chr1:3212367-3212439 - - OK 0 0 0 1.60978e+07 0 3.46859e+07
-XLOC_000036 - - XLOC_000036 - - chr1:3212717-3212801 - - OK 2.10791e+06 0 6.32372e+06 0 0 0
-XLOC_000037 - - XLOC_000037 - - chr1:3213095-3213192 - - OK 2.38694e+06 0 5.76259e+06 1.19347e+06 0 3.58042e+06
-XLOC_000038 - - XLOC_000038 - - chr1:3240606-3240633 - - OK 0 0 0 0 0 0
-XLOC_000039 - - XLOC_000039 - - chr1:3242479-3242512 - - OK 0 0 0 0 0 0
-XLOC_000040 - - XLOC_000040 - - chr1:3242633-3242923 - - OK 27029.9 0 81089.8 243269 0 494190
-XLOC_000041 - - XLOC_000041 - - chr1:3242924-3243005 - - OK 0 0 0 0 0 0
-XLOC_000042 - - XLOC_000042 - - chr1:3243018-3243079 - - OK 0 0 0 1.73712e+07 0 4.19378e+07
-XLOC_000043 - - XLOC_000043 - - chr1:3243108-3243154 - - OK 4.79961e+07 0 1.43988e+08 0 0 0
-XLOC_000044 - - XLOC_000044 - - chr1:3243347-3243401 - - OK 0 0 0 3.32455e+07 0 8.02618e+07
-XLOC_000045 - - XLOC_000045 - - chr1:3254079-3254106 - - OK 0 0 0 0 0 0
-XLOC_000046 - - XLOC_000046 - - chr1:3256974-3257011 - - OK 0 0 0 1.34946e+09 0 3.25789e+09
-XLOC_000047 - - XLOC_000047 - - chr1:3277155-3277182 - - OK 0 0 0 0 0 0
-XLOC_000048 - - XLOC_000048 - - chr1:3277190-3277218 - - OK 0 0 0 0 0 0
-XLOC_000049 - - XLOC_000049 - - chr1:3277913-3278390 - - OK 127495 8942.18 246048 27320.3 0 58867.2
-XLOC_000050 - - XLOC_000050 - - chr1:3280117-3280144 - - OK 0 0 0 0 0 0
-XLOC_000051 - - XLOC_000051 - - chr1:3280498-3280525 - - OK 0 0 0 0 0 0
-XLOC_000052 - - XLOC_000052 - - chr1:3280686-3280741 - - OK 0 0 0 1.49798e+07 0 4.49395e+07
-XLOC_000053 - - XLOC_000053 - - chr1:3282504-3282531 - - OK 0 0 0 0 0 0
-XLOC_000054 - - XLOC_000054 - - chr1:3282650-3282677 - - OK 0 0 0 0 0 0
-XLOC_000055 - - XLOC_000055 - - chr1:3282760-3282832 - - OK 0 0 0 0 0 0
-XLOC_000056 - - XLOC_000056 - - chr1:3284966-3284993 - - OK 0 0 0 0 0 0
-XLOC_000057 - - XLOC_000057 - - chr1:3290488-3290553 - - OK 0 0 0 6.39146e+06 0 1.91744e+07
-XLOC_000058 - - XLOC_000058 - - chr1:3290798-3290859 - - OK 8.68561e+06 0 2.60568e+07 0 0 0
-XLOC_000059 - - XLOC_000059 - - chr1:3290919-3291273 - - OK 7.79612e+06 0 1.75364e+07 1.49584e+06 0 4.5057e+06
-XLOC_000060 - - XLOC_000060 - - chr1:3299443-3299664 - - OK 449954 0 952175 89990.7 0 269972
-XLOC_000061 - - XLOC_000061 - - chr1:3299691-3299733 - - OK 0 0 0 0 0 0
-XLOC_000062 - - XLOC_000062 - - chr1:3300051-3300078 - - OK 0 0 0 0 0 0
-XLOC_000063 - - XLOC_000063 - - chr1:3307748-3307775 - - OK 0 0 0 0 0 0
-XLOC_000064 - - XLOC_000064 - - chr1:3318620-3318647 - - OK 0 0 0 0 0 0
-XLOC_000065 - - XLOC_000065 - - chr1:3318999-3319051 - - OK 0 0 0 0 0 0
-XLOC_000066 - - XLOC_000066 - - chr1:3330527-3330554 - - OK 0 0 0 0 0 0
-XLOC_000067 - - XLOC_000067 - - chr1:3351240-3351311 - - OK 4.27915e+06 0 1.28374e+07 0 0 0
-XLOC_000068 - - XLOC_000068 - - chr1:3355887-3356119 - - OK 281197 0 605895 0 0 0
-XLOC_000069 - - XLOC_000069 - - chr1:3356180-3356225 - - OK 5.72196e+07 0 1.71659e+08 0 0 0
-XLOC_000070 - - XLOC_000070 - - chr1:3363076-3363176 - - OK 2.1224e+06 0 5.12392e+06 0 0 0
-XLOC_000071 - - XLOC_000071 - - chr1:3363214-3363278 - - OK 0 0 0 0 0 0
-XLOC_000072 - - XLOC_000072 - - chr1:3363387-3363446 - - OK 3.08417e+07 0 6.64547e+07 0 0 0
-XLOC_000073 - - XLOC_000073 - - chr1:3363753-3363849 - - OK 0 0 0 0 0 0
-XLOC_000074 - - XLOC_000074 - - chr1:3364871-3364919 - - OK 3.50371e+07 0 1.05111e+08 0 0 0
-XLOC_000075 - - XLOC_000075 - - chr1:3367135-3367162 - - OK 0 0 0 0 0 0
-XLOC_000076 - - XLOC_000076 - - chr1:3367210-3367237 - - OK 0 0 0 0 0 0
-XLOC_000077 - - XLOC_000077 - - chr1:3367333-3367382 - - OK 0 0 0 0 0 0
-XLOC_000078 - - XLOC_000078 - - chr1:3369580-3369607 - - OK 0 0 0 0 0 0
-XLOC_000079 - - XLOC_000079 - - chr1:3375001-3375028 - - OK 0 0 0 0 0 0
-XLOC_000080 - - XLOC_000080 - - chr1:3377211-3377262 - - OK 0 0 0 0 0 0
-XLOC_000081 - - XLOC_000081 - - chr1:3379888-3379915 - - OK 0 0 0 0 0 0
-XLOC_000082 - - XLOC_000082 - - chr1:3386739-3386836 - - OK 0 0 0 0 0 0
-XLOC_000083 - - XLOC_000083 - - chr1:3391325-3391352 - - OK 0 0 0 0 0 0
-XLOC_000084 - - XLOC_000084 - - chr1:3435841-3435880 - - OK 0 0 0 0 0 0
-XLOC_000085 - - XLOC_000085 - - chr1:3447761-3447788 - - OK 0 0 0 0 0 0
-XLOC_000086 - - XLOC_000086 - - chr1:3450906-3450965 - - OK 0 0 0 0 0 0
-XLOC_000087 - - XLOC_000087 - - chr1:3451051-3451109 - - OK 0 0 0 0 0 0
+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
+XLOC_000001 - - XLOC_000001 Xkr4 TSS1 chr1:3204754-3204833 - - 0 0 0 OK 8.3103e+06 0 2.00628e+07 OK
+XLOC_000002 - - XLOC_000002 - TSS2 chr1:3111449-3111490 - - 0 0 0 OK 2.1403e+08 0 6.42089e+08 OK
+XLOC_000003 - - XLOC_000003 - TSS3 chr1:3111545-3111576 - - 0 0 0 OK 0 0 0 OK
+XLOC_000004 - - XLOC_000004 - TSS4 chr1:3174765-3174792 - - 0 0 0 OK 0 0 0 OK
+XLOC_000005 - - XLOC_000005 - TSS5 chr1:3187401-3187428 - - 0 0 0 OK 0 0 0 OK
+XLOC_000006 - - XLOC_000006 - TSS6 chr1:3188521-3188548 - - 0 0 0 OK 0 0 0 OK
+XLOC_000007 - - XLOC_000007 - TSS7 chr1:3189810-3190789 - - 368900 151353 586447 OK 429265 337221 521309 OK
+XLOC_000008 - - XLOC_000008 - TSS11 chr1:3190858-3191434 - - 404373 101434 707312 OK 338500 95761.5 581239 OK
+XLOC_000009 - - XLOC_000009 - TSS12 chr1:3191512-3192077 - - 402276 96829.4 707722 OK 686974 410563 963384 OK
+XLOC_000010 - - XLOC_000010 - TSS15 chr1:3192250-3192336 - - 3.994e+06 0 1.1982e+07 OK 2.93812e+06 0 8.81435e+06 OK
+XLOC_000011 - - XLOC_000011 - TSS16 chr1:3192441-3192494 - - 0 0 0 OK 5.68095e+07 0 1.3715e+08 OK
+XLOC_000012 - - XLOC_000012 - TSS17 chr1:3192550-3192629 - - 0 0 0 OK 4.15515e+06 0 1.24654e+07 OK
+XLOC_000013 - - XLOC_000013 - TSS18 chr1:3192649-3192676 - - 0 0 0 OK 0 0 0 OK
+XLOC_000014 - - XLOC_000014 - TSS19 chr1:3192731-3192811 - - 0 0 0 OK 0 0 0 OK
+XLOC_000015 - - XLOC_000015 - TSS20 chr1:3192940-3193042 - - 0 0 0 OK 6.02976e+06 0 1.34147e+07 OK
+XLOC_000016 - - XLOC_000016 - TSS21 chr1:3194185-3194226 - - 0 0 0 OK 2.1403e+08 0 6.42089e+08 OK
+XLOC_000017 - - XLOC_000017 - TSS22 chr1:3194302-3194329 - - 0 0 0 OK 0 0 0 OK
+XLOC_000018 - - XLOC_000018 - TSS23 chr1:3194706-3194733 - - 0 0 0 OK 0 0 0 OK
+XLOC_000019 - - XLOC_000019 - TSS24 chr1:3195083-3195110 - - 0 0 0 OK 0 0 0 OK
+XLOC_000020 - - XLOC_000020 - TSS25 chr1:3195450-3195477 - - 0 0 0 OK 0 0 0 OK
+XLOC_000021 - - XLOC_000021 - TSS26 chr1:3197089-3197116 - - 0 0 0 OK 0 0 0 OK
+XLOC_000022 - - XLOC_000022 - TSS27 chr1:3197246-3197273 - - 0 0 0 OK 0 0 0 OK
+XLOC_000023 - - XLOC_000023 - TSS28 chr1:3197346-3197373 - - 0 0 0 OK 0 0 0 OK
+XLOC_000024 - - XLOC_000024 - TSS29 chr1:3197425-3197452 - - 0 0 0 OK 0 0 0 OK
+XLOC_000025 - - XLOC_000025 - TSS30 chr1:3200022-3200191 - - 959058 0 2.06648e+06 OK 705514 0 1.52017e+06 OK
+XLOC_000026 - - XLOC_000026 - TSS32 chr1:3200325-3200352 - - 0 0 0 OK 0 0 0 OK
+XLOC_000027 - - XLOC_000027 - TSS33 chr1:3200430-3200457 - - 0 0 0 OK 0 0 0 OK
+XLOC_000028 - - XLOC_000028 - TSS34 chr1:3201007-3201039 - - 0 0 0 OK 0 0 0 OK
+XLOC_000029 - - XLOC_000029 - TSS35 chr1:3201077-3201481 - - 77513.9 0 167019 OK 285108 21736.5 548480 OK
+XLOC_000030 - - XLOC_000030 - TSS37 chr1:3201596-3201666 - - 1.89853e+07 0 4.58345e+07 OK 0 0 0 OK
+XLOC_000031 - - XLOC_000031 - TSS38 chr1:3201672-3201699 - - 0 0 0 OK 0 0 0 OK
+XLOC_000032 - - XLOC_000032 - TSS39 chr1:3201725-3201809 - - 1.31744e+07 0 2.83869e+07 OK 0 0 0 OK
+XLOC_000033 - - XLOC_000033 Xkr4 TSS40 chr1:3211521-3211561 - - 0 0 0 OK 0 0 0 OK
+XLOC_000034 - - XLOC_000034 Xkr4 TSS41 chr1:3212213-3212292 - - 0 0 0 OK 8.3103e+06 0 2.00628e+07 OK
+XLOC_000035 - - XLOC_000035 Xkr4 TSS42 chr1:3212367-3212439 - - 0 0 0 OK 2.4671e+07 0 5.48867e+07 OK
+XLOC_000036 - - XLOC_000036 Xkr4 TSS43 chr1:3212717-3212801 - - 4.39147e+06 0 1.31744e+07 OK 0 0 0 OK
+XLOC_000037 - - XLOC_000037 Xkr4 TSS44,TSS45 chr1:3213095-3213242 - - 5.3664e+06 0 1.39795e+07 LOWDATA 1.82908e+06 0 5.48723e+06 OK
+XLOC_000038 - - XLOC_000038 Xkr4 TSS46 chr1:3240606-3240633 - - 0 0 0 OK 0 0 0 OK
+XLOC_000039 - - XLOC_000039 Xkr4 TSS47 chr1:3242479-3242512 - - 0 0 0 OK 0 0 0 OK
+XLOC_000040 - - XLOC_000040 Xkr4 TSS48 chr1:3242633-3242923 - - 56312.4 0 168937 OK 372827 0 761430 OK
+XLOC_000041 - - XLOC_000041 Xkr4 TSS49 chr1:3242924-3243005 - - 0 0 0 OK 0 0 0 OK
+XLOC_000042 - - XLOC_000042 Xkr4 TSS50 chr1:3243018-3243079 - - 0 0 0 OK 2.66226e+07 0 6.42725e+07 OK
+XLOC_000043 - - XLOC_000043 Xkr4 TSS51 chr1:3243108-3243154 - - 9.99919e+07 0 2.99976e+08 OK 0 0 0 OK
+XLOC_000044 - - XLOC_000044 Xkr4 TSS52 chr1:3243347-3243401 - - 0 0 0 OK 5.0951e+07 0 1.23007e+08 OK
+XLOC_000045 - - XLOC_000045 Xkr4 TSS53 chr1:3254079-3254106 - - 0 0 0 OK 0 0 0 OK
+XLOC_000046 - - XLOC_000046 Xkr4 TSS54 chr1:3256974-3257011 - - 0 0 0 OK 2.06814e+09 0 4.99293e+09 OK
+XLOC_000047 - - XLOC_000047 Xkr4 TSS55 chr1:3277155-3277182 - - 0 0 0 OK 0 0 0 OK
+XLOC_000048 - - XLOC_000048 Xkr4 TSS56 chr1:3277190-3277218 - - 0 0 0 OK 0 0 0 OK
+XLOC_000049 - - XLOC_000049 Xkr4 TSS57 chr1:3277913-3278390 - - 265614 16793 514436 OK 41870.3 0 90217.9 OK
+XLOC_000050 - - XLOC_000050 Xkr4 TSS59 chr1:3280117-3280144 - - 0 0 0 OK 0 0 0 OK
+XLOC_000051 - - XLOC_000051 Xkr4 TSS60 chr1:3280498-3280525 - - 0 0 0 OK 0 0 0 OK
+XLOC_000052 - - XLOC_000052 Xkr4 TSS61 chr1:3280686-3280741 - - 0 0 0 OK 2.29576e+07 0 6.88728e+07 OK
+XLOC_000053 - - XLOC_000053 Xkr4 TSS62 chr1:3282504-3282531 - - 0 0 0 OK 0 0 0 OK
+XLOC_000054 - - XLOC_000054 Xkr4 TSS63 chr1:3282650-3282677 - - 0 0 0 OK 0 0 0 OK
+XLOC_000055 - - XLOC_000055 Xkr4 TSS64 chr1:3282760-3282832 - - 0 0 0 OK 0 0 0 OK
+XLOC_000056 - - XLOC_000056 Xkr4 TSS65 chr1:3284966-3284993 - - 0 0 0 OK 0 0 0 OK
+XLOC_000057 - - XLOC_000057 Xkr4 TSS66 chr1:3290488-3290553 - - 0 0 0 OK 9.79535e+06 0 2.9386e+07 OK
+XLOC_000058 - - XLOC_000058 Xkr4 TSS67 chr1:3290798-3290859 - - 1.8095e+07 0 5.4285e+07 OK 0 0 0 OK
+XLOC_000059 - - XLOC_000059 Xkr4 TSS68 chr1:3290919-3291273 - - 342218 0 691214 OK 75524 0 162732 OK
+XLOC_000060 - - XLOC_000060 Xkr4 TSS70,TSS71 chr1:3299443-3299664 - - 937403 0 1.99795e+06 OK 137917 0 413751 OK
+XLOC_000061 - - XLOC_000061 Xkr4 TSS72 chr1:3299691-3299733 - - 0 0 0 OK 0 0 0 OK
+XLOC_000062 - - XLOC_000062 Xkr4 TSS73 chr1:3300051-3300078 - - 0 0 0 OK 0 0 0 OK
+XLOC_000063 - - XLOC_000063 Xkr4 TSS74 chr1:3307748-3307775 - - 0 0 0 OK 0 0 0 OK
+XLOC_000064 - - XLOC_000064 Xkr4 TSS75 chr1:3318620-3318647 - - 0 0 0 OK 0 0 0 OK
+XLOC_000065 - - XLOC_000065 Xkr4 TSS76 chr1:3318999-3319051 - - 0 0 0 OK 0 0 0 OK
+XLOC_000066 - - XLOC_000066 Xkr4 TSS77 chr1:3330527-3330554 - - 0 0 0 OK 0 0 0 OK
+XLOC_000067 - - XLOC_000067 Xkr4 TSS78 chr1:3351240-3351311 - - 8.91489e+06 0 2.67447e+07 OK 0 0 0 OK
+XLOC_000068 - - XLOC_000068 Xkr4 TSS79,TSS80 chr1:3355887-3356119 - - 585828 0 1.30332e+06 OK 0 0 0 OK
+XLOC_000069 - - XLOC_000069 Xkr4 TSS81 chr1:3356180-3356225 - - 1.19208e+08 0 3.57623e+08 OK 0 0 0 OK
+XLOC_000070 - - XLOC_000070 Xkr4 TSS82 chr1:3363076-3363176 - - 4.42166e+06 0 1.06748e+07 OK 0 0 0 OK
+XLOC_000071 - - XLOC_000071 Xkr4 TSS83 chr1:3363214-3363278 - - 0 0 0 OK 0 0 0 OK
+XLOC_000072 - - XLOC_000072 Xkr4 TSS84 chr1:3363387-3363446 - - 4.28358e+07 0 1.03415e+08 OK 0 0 0 OK
+XLOC_000073 - - XLOC_000073 Xkr4 TSS85 chr1:3363753-3363849 - - 0 0 0 OK 0 0 0 OK
+XLOC_000074 - - XLOC_000074 Xkr4 TSS86 chr1:3364871-3364919 - - 7.29939e+07 0 2.18982e+08 OK 0 0 0 OK
+XLOC_000075 - - XLOC_000075 Xkr4 TSS87 chr1:3367135-3367162 - - 0 0 0 OK 0 0 0 OK
+XLOC_000076 - - XLOC_000076 Xkr4 TSS88 chr1:3367210-3367237 - - 0 0 0 OK 0 0 0 OK
+XLOC_000077 - - XLOC_000077 Xkr4 TSS89 chr1:3367333-3367382 - - 0 0 0 OK 0 0 0 OK
+XLOC_000078 - - XLOC_000078 Xkr4 TSS90 chr1:3369580-3369607 - - 0 0 0 OK 0 0 0 OK
+XLOC_000079 - - XLOC_000079 Xkr4 TSS91 chr1:3375001-3375028 - - 0 0 0 OK 0 0 0 OK
+XLOC_000080 - - XLOC_000080 Xkr4 TSS92 chr1:3377211-3377262 - - 0 0 0 OK 0 0 0 OK
+XLOC_000081 - - XLOC_000081 Xkr4 TSS93 chr1:3379888-3379915 - - 0 0 0 OK 0 0 0 OK
+XLOC_000082 - - XLOC_000082 Xkr4 TSS94 chr1:3386739-3386836 - - 0 0 0 OK 0 0 0 OK
+XLOC_000083 - - XLOC_000083 Xkr4 TSS95 chr1:3391325-3391352 - - 0 0 0 OK 0 0 0 OK
+XLOC_000084 - - XLOC_000084 Xkr4 TSS96 chr1:3435841-3435880 - - 0 0 0 OK 0 0 0 OK
+XLOC_000085 - - XLOC_000085 Xkr4 TSS97 chr1:3447761-3447788 - - 0 0 0 OK 0 0 0 OK
+XLOC_000086 - - XLOC_000086 Xkr4 TSS98 chr1:3450906-3450965 - - 0 0 0 OK 0 0 0 OK
+XLOC_000087 - - XLOC_000087 Xkr4 TSS99 chr1:3451051-3451109 - - 0 0 0 OK 0 0 0 OK
diff -r 277403d31907d71e5e77694c0c97c16772f23e27 -r 511941e1aea7bcb24a1e30b1e8ac59bf0ba6a3d6 test-data/cuffdiff_out7.txt
--- a/test-data/cuffdiff_out7.txt
+++ b/test-data/cuffdiff_out7.txt
@@ -1,1 +1,91 @@
-tracking_id class_code nearest_ref_id gene_id gene_short_name tss_id locus length coverage status
+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
+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
+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
+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
+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
+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
diff -r 277403d31907d71e5e77694c0c97c16772f23e27 -r 511941e1aea7bcb24a1e30b1e8ac59bf0ba6a3d6 test-data/cuffdiff_out8.txt
--- a/test-data/cuffdiff_out8.txt
+++ b/test-data/cuffdiff_out8.txt
@@ -1,1 +1,1 @@
-tracking_id class_code nearest_ref_id gene_id gene_short_name tss_id locus length coverage status
+tracking_id class_code nearest_ref_id gene_id gene_short_name tss_id locus length coverage
diff -r 277403d31907d71e5e77694c0c97c16772f23e27 -r 511941e1aea7bcb24a1e30b1e8ac59bf0ba6a3d6 test-data/cuffdiff_out9.txt
--- a/test-data/cuffdiff_out9.txt
+++ b/test-data/cuffdiff_out9.txt
@@ -1,1 +1,91 @@
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
+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
+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
+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
+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
+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
diff -r 277403d31907d71e5e77694c0c97c16772f23e27 -r 511941e1aea7bcb24a1e30b1e8ac59bf0ba6a3d6 tools/ngs_rna/cuffdiff_wrapper.xml
--- a/tools/ngs_rna/cuffdiff_wrapper.xml
+++ b/tools/ngs_rna/cuffdiff_wrapper.xml
@@ -164,7 +164,7 @@
<output name="cds_diff" file="cuffdiff_out11.txt"/><output name="cds_exp_fpkm_tracking" file="cuffdiff_out4.txt"/><output name="cds_fpkm_tracking" file="cuffdiff_out8.txt"/>
- <output name="tss_groups_exp" file="cuffdiff_out3.txt"/>
+ <output name="tss_groups_exp" file="cuffdiff_out3.txt" lines_diff="200"/><output name="tss_groups_fpkm_tracking" file="cuffdiff_out7.txt"/><output name="genes_exp" file="cuffdiff_out2.txt" lines_diff="200"/><output name="genes_fpkm_tracking" file="cuffdiff_out6.txt" lines_diff="200"/>
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: Update Cuffcompare test data to be compatible with v1.1.0
by Bitbucket 18 Nov '11
by Bitbucket 18 Nov '11
18 Nov '11
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/changeset/277403d31907/
changeset: 277403d31907
user: jgoecks
date: 2011-11-18 20:58:25
summary: Update Cuffcompare test data to be compatible with v1.1.0
affected #: 6 files
diff -r bde09cbd60865053ffd0ab05138d6fa3e594d399 -r 277403d31907d71e5e77694c0c97c16772f23e27 test-data/cuffcompare_out1.tmap
--- a/test-data/cuffcompare_out1.tmap
+++ b/test-data/cuffcompare_out1.tmap
@@ -1,51 +1,51 @@
ref_gene_id ref_id class_code cuff_gene_id cuff_id FMI FPKM FPKM_conf_lo FPKM_conf_hi cov len major_iso_id ref_match_len
-- - u CUFF.1 CUFF.1.1 100 0.000000 0.000000 0.000000 0.000000 41 CUFF.1.1 -
-- - u CUFF.3 CUFF.3.1 100 0.000000 0.000000 0.000000 0.000000 31 CUFF.3.1 -
-- - u CUFF.5 CUFF.5.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.5.1 -
-- - u CUFF.7 CUFF.7.1 100 0.000000 0.000000 0.000000 0.000000 169 CUFF.7.1 -
-- - u CUFF.9 CUFF.9.1 100 0.000000 0.000000 0.000000 0.000000 404 CUFF.9.1 -
-- - u CUFF.11 CUFF.11.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.11.1 -
-- - u CUFF.13 CUFF.13.1 100 0.000000 0.000000 0.000000 0.000000 79 CUFF.13.1 -
-- - u CUFF.15 CUFF.15.1 100 0.000000 0.000000 0.000000 0.000000 79 CUFF.15.1 -
-- - u CUFF.17 CUFF.17.1 100 0.000000 0.000000 0.000000 0.000000 97 CUFF.17.1 -
-- - u CUFF.19 CUFF.19.1 100 0.000000 0.000000 0.000000 0.000000 72 CUFF.19.1 -
-- - u CUFF.21 CUFF.21.1 100 0.000000 0.000000 0.000000 0.000000 61 CUFF.21.1 -
-- - u CUFF.23 CUFF.23.1 100 0.000000 0.000000 0.000000 0.000000 54 CUFF.23.1 -
-- - u CUFF.25 CUFF.25.1 100 0.000000 0.000000 0.000000 0.000000 290 CUFF.25.1 -
-- - u CUFF.27 CUFF.27.1 100 0.000000 0.000000 0.000000 0.000000 37 CUFF.27.1 -
-- - u CUFF.29 CUFF.29.1 100 0.000000 0.000000 0.000000 0.000000 142 CUFF.29.1 -
-- - u CUFF.31 CUFF.31.1 100 0.000000 0.000000 0.000000 0.000000 31 CUFF.31.1 -
-- - u CUFF.33 CUFF.33.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.33.1 -
-- - u CUFF.35 CUFF.35.1 100 0.000000 0.000000 0.000000 0.000000 131 CUFF.35.1 -
-- - u CUFF.37 CUFF.37.1 100 0.000000 0.000000 0.000000 0.000000 69 CUFF.37.1 -
-- - u CUFF.39 CUFF.39.1 100 0.000000 0.000000 0.000000 0.000000 53 CUFF.39.1 -
-- - u CUFF.41 CUFF.41.1 100 0.000000 0.000000 0.000000 0.000000 79 CUFF.41.1 -
-- - u CUFF.43 CUFF.43.1 100 0.000000 0.000000 0.000000 0.000000 80 CUFF.43.1 -
-- - u CUFF.45 CUFF.45.1 100 0.000000 0.000000 0.000000 0.000000 102 CUFF.45.1 -
-- - u CUFF.47 CUFF.47.1 100 0.000000 0.000000 0.000000 0.000000 41 CUFF.47.1 -
-- - u CUFF.49 CUFF.49.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.49.1 -
-- - u CUFF.51 CUFF.51.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.51.1 -
-- - u CUFF.53 CUFF.53.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.53.1 -
-- - u CUFF.55 CUFF.55.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.55.1 -
-- - u CUFF.57 CUFF.57.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.57.1 -
-- - u CUFF.59 CUFF.59.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.59.1 -
-- - u CUFF.61 CUFF.61.1 100 0.000000 0.000000 0.000000 0.000000 28 CUFF.61.1 -
-- - u CUFF.63 CUFF.63.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.63.1 -
-- - u CUFF.65 CUFF.65.1 100 0.000000 0.000000 0.000000 0.000000 55 CUFF.65.1 -
-- - u CUFF.67 CUFF.67.1 100 0.000000 0.000000 0.000000 0.000000 65 CUFF.67.1 -
-- - u CUFF.69 CUFF.69.1 100 0.000000 0.000000 0.000000 0.000000 84 CUFF.69.1 -
-- - u CUFF.71 CUFF.71.1 100 0.000000 0.000000 0.000000 0.000000 98 CUFF.71.1 -
-- - u CUFF.73 CUFF.73.1 100 0.000000 0.000000 0.000000 0.000000 55 CUFF.73.1 -
-- - u CUFF.75 CUFF.75.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.75.1 -
-- - u CUFF.77 CUFF.77.1 100 0.000000 0.000000 0.000000 0.000000 52 CUFF.77.1 -
-- - u CUFF.79 CUFF.79.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.79.1 -
-- - u CUFF.81 CUFF.81.1 100 0.000000 0.000000 0.000000 0.000000 64 CUFF.81.1 -
-- - u CUFF.83 CUFF.83.1 100 0.000000 0.000000 0.000000 0.000000 96 CUFF.83.1 -
-- - u CUFF.85 CUFF.85.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.85.1 -
-- - u CUFF.87 CUFF.87.1 100 0.000000 0.000000 0.000000 0.000000 49 CUFF.87.1 -
-- - u CUFF.89 CUFF.89.1 100 0.000000 0.000000 0.000000 0.000000 51 CUFF.89.1 -
-- - u CUFF.91 CUFF.91.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.91.1 -
-- - u CUFF.93 CUFF.93.1 100 0.000000 0.000000 0.000000 0.000000 39 CUFF.93.1 -
-- - u CUFF.95 CUFF.95.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.95.1 -
-- - u CUFF.97 CUFF.97.1 100 0.000000 0.000000 0.000000 0.000000 59 CUFF.97.1 -
-- - u CUFF.99 CUFF.99.1 100 0.000000 0.000000 0.000000 0.000000 58 CUFF.99.1 -
+- - u CUFF.1 CUFF.1.1 100 20.607936 0.000000 49.751960 1.317073 41 CUFF.1.1 -
+- - u CUFF.3 CUFF.3.1 100 27.255658 0.000000 65.800979 1.741935 31 CUFF.3.1 -
+- - u CUFF.5 CUFF.5.1 100 31.293533 0.000000 75.549272 2.000000 27 CUFF.5.1 -
+- - u CUFF.7 CUFF.7.1 100 9.999117 0.000000 19.998234 0.639053 169 CUFF.7.1 -
+- - u CUFF.9 CUFF.9.1 100 17.776896 9.153835 26.399957 1.136139 404 CUFF.9.1 -
+- - u CUFF.11 CUFF.11.1 100 31.293533 0.000000 75.549272 2.000000 27 CUFF.11.1 -
+Xkr4 Xkr4 c CUFF.13 CUFF.13.1 100 10.695258 0.000000 25.820637 0.683544 79 CUFF.13.1 3634
+Xkr4 Xkr4 i CUFF.15 CUFF.15.1 100 10.695258 0.000000 25.820637 0.683544 79 CUFF.15.1 3634
+Xkr4 Xkr4 i CUFF.17 CUFF.17.1 100 8.710571 0.000000 21.029179 0.556701 97 CUFF.17.1 3634
+Xkr4 Xkr4 i CUFF.19 CUFF.19.1 100 29.337687 3.097262 55.578113 1.875000 72 CUFF.19.1 3634
+Xkr4 Xkr4 i CUFF.21 CUFF.21.1 100 13.851236 0.000000 33.439842 0.885246 61 CUFF.21.1 3634
+Xkr4 Xkr4 i CUFF.23 CUFF.23.1 100 23.470150 0.000000 50.571145 1.500000 54 CUFF.23.1 3634
+Xkr4 Xkr4 i CUFF.25 CUFF.25.1 100 14.567679 5.354270 23.781089 0.931034 290 CUFF.25.1 3634
+Xkr4 Xkr4 i CUFF.27 CUFF.27.1 100 34.253732 0.000000 73.806535 2.189189 37 CUFF.27.1 3634
+- - u CUFF.29 CUFF.29.1 100 107.103219 71.402146 142.804292 6.845070 142 CUFF.29.1 -
+- - u CUFF.31 CUFF.31.1 100 122.650461 40.883487 204.417435 7.838710 31 CUFF.31.1 -
+- - u CUFF.33 CUFF.33.1 100 109.527366 26.732460 192.322273 7.000000 27 CUFF.33.1 -
+- - u CUFF.35 CUFF.35.1 100 96.747183 61.420107 132.074259 6.183206 131 CUFF.35.1 -
+- - u CUFF.37 CUFF.37.1 100 104.085013 53.596365 154.573660 6.652174 69 CUFF.37.1 -
+- - u CUFF.39 CUFF.39.1 100 23.912983 0.000000 51.525317 1.528302 53 CUFF.39.1 -
+- - u CUFF.41 CUFF.41.1 100 10.695258 0.000000 25.820637 0.683544 79 CUFF.41.1 -
+- - u CUFF.43 CUFF.43.1 100 10.561567 0.000000 25.497879 0.675000 80 CUFF.43.1 -
+- - u CUFF.45 CUFF.45.1 100 20.708956 2.186303 39.231609 1.323529 102 CUFF.45.1 -
+- - u CUFF.47 CUFF.47.1 100 20.607936 0.000000 49.751960 1.317073 41 CUFF.47.1 -
+- - u CUFF.49 CUFF.49.1 100 15.646767 0.000000 46.940300 1.000000 27 CUFF.49.1 -
+- - u CUFF.51 CUFF.51.1 100 31.293533 0.000000 75.549272 2.000000 27 CUFF.51.1 -
+- - u CUFF.53 CUFF.53.1 100 31.293533 0.000000 75.549272 2.000000 27 CUFF.53.1 -
+- - u CUFF.55 CUFF.55.1 100 31.293533 0.000000 75.549272 2.000000 27 CUFF.55.1 -
+- - u CUFF.57 CUFF.57.1 100 15.646767 0.000000 46.940300 1.000000 27 CUFF.57.1 -
+- - u CUFF.59 CUFF.59.1 100 15.646767 0.000000 46.940300 1.000000 27 CUFF.59.1 -
+Xkr4 Xkr4 i CUFF.61 CUFF.61.1 100 45.263860 0.000000 97.530065 2.892857 28 CUFF.61.1 3634
+Xkr4 Xkr4 i CUFF.63 CUFF.63.1 100 15.646767 0.000000 46.940300 1.000000 27 CUFF.63.1 3634
+Xkr4 Xkr4 i CUFF.65 CUFF.65.1 100 15.362280 0.000000 37.087825 0.981818 55 CUFF.65.1 3634
+Xkr4 Xkr4 i CUFF.67 CUFF.67.1 100 12.998852 0.000000 31.382005 0.830769 65 CUFF.67.1 3634
+Xkr4 Xkr4 i CUFF.69 CUFF.69.1 100 10.058636 0.000000 24.283695 0.642857 84 CUFF.69.1 3634
+Xkr4 Xkr4 i CUFF.71 CUFF.71.1 100 8.621688 0.000000 20.814595 0.551020 98 CUFF.71.1 3634
+Xkr4 Xkr4 i CUFF.73 CUFF.73.1 100 15.362280 0.000000 37.087825 0.981818 55 CUFF.73.1 3634
+Xkr4 Xkr4 i CUFF.75 CUFF.75.1 100 31.293533 0.000000 75.549272 2.000000 27 CUFF.75.1 3634
+Xkr4 Xkr4 i CUFF.77 CUFF.77.1 100 16.248565 0.000000 39.227507 1.038462 52 CUFF.77.1 3634
+Xkr4 Xkr4 i CUFF.79 CUFF.79.1 100 31.293533 0.000000 75.549272 2.000000 27 CUFF.79.1 3634
+Xkr4 Xkr4 i CUFF.81 CUFF.81.1 100 13.201959 0.000000 31.872349 0.843750 64 CUFF.81.1 3634
+Xkr4 Xkr4 i CUFF.83 CUFF.83.1 100 13.201959 0.000000 28.446269 0.843750 96 CUFF.83.1 3634
+Xkr4 Xkr4 i CUFF.85 CUFF.85.1 100 31.293533 0.000000 75.549272 2.000000 27 CUFF.85.1 3634
+Xkr4 Xkr4 i CUFF.87 CUFF.87.1 100 17.243375 0.000000 41.629191 1.102041 49 CUFF.87.1 3634
+Xkr4 Xkr4 i CUFF.89 CUFF.89.1 100 16.567165 0.000000 39.996674 1.058824 51 CUFF.89.1 3634
+Xkr4 Xkr4 i CUFF.91 CUFF.91.1 100 31.293533 0.000000 75.549272 2.000000 27 CUFF.91.1 3634
+Xkr4 Xkr4 i CUFF.93 CUFF.93.1 100 21.664754 0.000000 52.303342 1.384615 39 CUFF.93.1 3634
+Xkr4 Xkr4 i CUFF.95 CUFF.95.1 100 46.940300 0.000000 101.142289 3.000000 27 CUFF.95.1 3634
+Xkr4 Xkr4 i CUFF.97 CUFF.97.1 100 21.481154 0.000000 46.285454 1.372881 59 CUFF.97.1 3634
+Xkr4 Xkr4 i CUFF.99 CUFF.99.1 100 14.567679 0.000000 35.169489 0.931034 58 CUFF.99.1 3634
diff -r bde09cbd60865053ffd0ab05138d6fa3e594d399 -r 277403d31907d71e5e77694c0c97c16772f23e27 test-data/cuffcompare_out2.refmap
--- a/test-data/cuffcompare_out2.refmap
+++ b/test-data/cuffcompare_out2.refmap
@@ -1,1 +1,2 @@
ref_gene_id ref_id class_code cuff_id_list
+Xkr4 Xkr4 c CUFF.13|CUFF.13.1
diff -r bde09cbd60865053ffd0ab05138d6fa3e594d399 -r 277403d31907d71e5e77694c0c97c16772f23e27 test-data/cuffcompare_out3.tmap
--- a/test-data/cuffcompare_out3.tmap
+++ b/test-data/cuffcompare_out3.tmap
@@ -1,51 +1,51 @@
ref_gene_id ref_id class_code cuff_gene_id cuff_id FMI FPKM FPKM_conf_lo FPKM_conf_hi cov len major_iso_id ref_match_len
-- - u CUFF.1 CUFF.1.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.1.1 -
-- - u CUFF.3 CUFF.3.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.3.1 -
-- - u CUFF.5 CUFF.5.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.5.1 -
-- - u CUFF.7 CUFF.7.1 100 0.000000 0.000000 0.000000 0.000000 576 CUFF.7.1 -
-- - u CUFF.9 CUFF.9.1 100 0.000000 0.000000 0.000000 0.000000 565 CUFF.9.1 -
-- - u CUFF.11 CUFF.11.1 100 0.000000 0.000000 0.000000 0.000000 979 CUFF.11.1 -
-- - u CUFF.13 CUFF.13.1 100 0.000000 0.000000 0.000000 0.000000 86 CUFF.13.1 -
-- - u CUFF.15 CUFF.15.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.15.1 -
-- - u CUFF.17 CUFF.17.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.17.1 -
-- - u CUFF.19 CUFF.19.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.19.1 -
-- - u CUFF.21 CUFF.21.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.21.1 -
-- - u CUFF.23 CUFF.23.1 100 0.000000 0.000000 0.000000 0.000000 88 CUFF.23.1 -
-- - u CUFF.25 CUFF.25.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.25.1 -
-- - u CUFF.26 CUFF.26.1 100 0.000000 0.000000 0.000000 0.000000 32 CUFF.26.1 -
-- - u CUFF.29 CUFF.29.1 100 0.000000 0.000000 0.000000 0.000000 70 CUFF.29.1 -
-- - u CUFF.31 CUFF.31.1 100 0.000000 0.000000 0.000000 0.000000 84 CUFF.31.1 -
-- - u CUFF.33 CUFF.33.1 100 0.000000 0.000000 0.000000 0.000000 40 CUFF.33.1 -
-- - u CUFF.35 CUFF.35.1 100 0.000000 0.000000 0.000000 0.000000 84 CUFF.35.1 -
-- - u CUFF.37 CUFF.37.1 100 0.000000 0.000000 0.000000 0.000000 124 CUFF.37.1 -
-- - u CUFF.39 CUFF.39.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.39.1 -
-- - u CUFF.41 CUFF.41.1 100 0.000000 0.000000 0.000000 0.000000 33 CUFF.41.1 -
-- - u CUFF.43 CUFF.43.1 100 0.000000 0.000000 0.000000 0.000000 81 CUFF.43.1 -
-- - u CUFF.45 CUFF.45.1 100 0.000000 0.000000 0.000000 0.000000 46 CUFF.45.1 -
-- - u CUFF.47 CUFF.47.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.47.1 -
-- - u CUFF.49 CUFF.49.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.49.1 -
-- - u CUFF.51 CUFF.51.1 100 0.000000 0.000000 0.000000 0.000000 477 CUFF.51.1 -
-- - u CUFF.53 CUFF.53.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.53.1 -
-- - u CUFF.55 CUFF.55.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.55.1 -
-- - u CUFF.57 CUFF.57.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.57.1 -
-- - u CUFF.59 CUFF.59.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.59.1 -
-- - u CUFF.61 CUFF.61.1 100 0.000000 0.000000 0.000000 0.000000 72 CUFF.61.1 -
-- - u CUFF.63 CUFF.63.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.63.1 -
-- - u CUFF.65 CUFF.65.1 100 0.000000 0.000000 0.000000 0.000000 61 CUFF.65.1 -
-- - u CUFF.67 CUFF.67.1 100 0.000000 0.000000 0.000000 0.000000 197 CUFF.67.1 -
-- - u CUFF.69 CUFF.69.1 100 0.000000 0.000000 0.000000 0.000000 354 CUFF.69.1 -
-- - u CUFF.71 CUFF.71.1 100 0.000000 0.000000 0.000000 0.000000 42 CUFF.71.1 -
-- - u CUFF.73 CUFF.73.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.73.1 -
-- - u CUFF.75 CUFF.75.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.75.1 -
-- - u CUFF.77 CUFF.77.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.77.1 -
-- - u CUFF.79 CUFF.79.1 100 0.000000 0.000000 0.000000 0.000000 71 CUFF.79.1 -
-- - u CUFF.81 CUFF.81.1 100 0.000000 0.000000 0.000000 0.000000 212 CUFF.81.1 -
-- - u CUFF.83 CUFF.83.1 100 0.000000 0.000000 0.000000 0.000000 45 CUFF.83.1 -
-- - u CUFF.85 CUFF.85.1 100 0.000000 0.000000 0.000000 0.000000 100 CUFF.85.1 -
-- - u CUFF.87 CUFF.87.1 100 0.000000 0.000000 0.000000 0.000000 59 CUFF.87.1 -
-- - u CUFF.89 CUFF.89.1 100 0.000000 0.000000 0.000000 0.000000 48 CUFF.89.1 -
-- - u CUFF.91 CUFF.91.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.91.1 -
-- - u CUFF.93 CUFF.93.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.93.1 -
-- - u CUFF.95 CUFF.95.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.95.1 -
-- - u CUFF.97 CUFF.97.1 100 0.000000 0.000000 0.000000 0.000000 27 CUFF.97.1 -
-- - u CUFF.99 CUFF.99.1 100 0.000000 0.000000 0.000000 0.000000 97 CUFF.99.1 -
+- - u CUFF.1 CUFF.1.1 100 35.211287 0.000000 85.007567 2.000000 27 CUFF.1.1 -
+- - u CUFF.3 CUFF.3.1 100 35.211287 0.000000 85.007567 2.000000 27 CUFF.3.1 -
+- - u CUFF.5 CUFF.5.1 100 21.226627 0.000000 59.889707 1.205672 27 CUFF.5.1 -
+- - u CUFF.7 CUFF.7.1 100 29.709524 19.806349 39.612698 1.687500 576 CUFF.7.1 -
+- - u CUFF.9 CUFF.9.1 100 34.072933 23.364686 44.781179 1.935341 565 CUFF.9.1 -
+- - u CUFF.11 CUFF.11.1 100 32.531777 24.582998 40.480555 1.847804 979 CUFF.11.1 -
+- - u CUFF.13 CUFF.13.1 100 16.582060 0.000000 35.729373 0.941860 86 CUFF.13.1 -
+- - u CUFF.15 CUFF.15.1 100 35.211287 0.000000 85.007567 2.000000 27 CUFF.15.1 -
+- - u CUFF.17 CUFF.17.1 100 35.211287 0.000000 85.007567 2.000000 27 CUFF.17.1 -
+- - u CUFF.19 CUFF.19.1 100 35.211287 0.000000 85.007567 2.000000 27 CUFF.19.1 -
+- - u CUFF.21 CUFF.21.1 100 35.211287 0.000000 85.007567 2.000000 27 CUFF.21.1 -
+- - u CUFF.23 CUFF.23.1 100 16.205195 0.000000 34.917342 0.920455 88 CUFF.23.1 -
+- - u CUFF.25 CUFF.25.1 100 35.211287 0.000000 85.007567 2.000000 27 CUFF.25.1 -
+- - u CUFF.26 CUFF.26.1 100 29.709524 0.000000 71.725135 1.687500 32 CUFF.26.1 -
+- - u CUFF.29 CUFF.29.1 100 13.581496 0.000000 32.788633 0.771429 70 CUFF.29.1 -
+- - u CUFF.31 CUFF.31.1 100 22.635827 0.000000 45.271655 1.285714 84 CUFF.31.1 -
+Xkr4 Xkr4 i CUFF.33 CUFF.33.1 100 23.767619 0.000000 57.380108 1.350000 40 CUFF.33.1 3634
+Xkr4 Xkr4 i CUFF.35 CUFF.35.1 100 11.317914 0.000000 27.323861 0.642857 84 CUFF.35.1 3634
+Xkr4 Xkr4 i CUFF.37 CUFF.37.1 100 11.500461 0.000000 24.780049 0.653226 124 CUFF.37.1 3634
+Xkr4 Xkr4 i CUFF.39 CUFF.39.1 100 52.816931 0.000000 113.804669 3.000000 27 CUFF.39.1 3634
+Xkr4 Xkr4 i CUFF.41 CUFF.41.1 100 43.213852 0.000000 93.112911 2.454545 33 CUFF.41.1 3634
+Xkr4 Xkr4 i CUFF.43 CUFF.43.1 100 23.474191 0.000000 46.948383 1.333333 81 CUFF.43.1 3634
+Xkr4 Xkr4 i CUFF.45 CUFF.45.1 100 20.667495 0.000000 49.895746 1.173913 46 CUFF.45.1 3634
+Xkr4 Xkr4 i CUFF.47 CUFF.47.1 100 35.211287 0.000000 85.007567 2.000000 27 CUFF.47.1 3634
+Xkr4 Xkr4 i CUFF.49 CUFF.49.1 100 35.211287 0.000000 85.007567 2.000000 27 CUFF.49.1 3634
+Xkr4 Xkr4 i CUFF.51 CUFF.51.1 100 14.948188 7.228977 22.667399 0.849057 477 CUFF.51.1 3634
+Xkr4 Xkr4 i CUFF.53 CUFF.53.1 100 52.816931 0.000000 113.804669 3.000000 27 CUFF.53.1 3634
+Xkr4 Xkr4 i CUFF.55 CUFF.55.1 100 35.211287 0.000000 85.007567 2.000000 27 CUFF.55.1 3634
+Xkr4 Xkr4 i CUFF.57 CUFF.57.1 100 35.211287 0.000000 85.007567 2.000000 27 CUFF.57.1 3634
+Xkr4 Xkr4 i CUFF.59 CUFF.59.1 100 35.211287 0.000000 85.007567 2.000000 27 CUFF.59.1 3634
+Xkr4 Xkr4 i CUFF.61 CUFF.61.1 100 13.204233 0.000000 31.877838 0.750000 72 CUFF.61.1 3634
+Xkr4 Xkr4 i CUFF.63 CUFF.63.1 100 35.211287 0.000000 85.007567 2.000000 27 CUFF.63.1 3634
+Xkr4 Xkr4 i CUFF.65 CUFF.65.1 100 31.170648 0.000000 62.341295 1.770492 61 CUFF.65.1 3634
+Xkr4 Xkr4 i CUFF.67 CUFF.67.1 100 15.681351 3.378764 27.983938 0.890700 197 CUFF.67.1 3634
+Xkr4 Xkr4 i CUFF.69 CUFF.69.1 100 18.799247 8.750627 28.847866 1.067797 354 CUFF.69.1 3634
+Xkr4 Xkr4 i CUFF.71 CUFF.71.1 100 22.635827 0.000000 54.647722 1.285714 42 CUFF.71.1 3634
+Xkr4 Xkr4 i CUFF.73 CUFF.73.1 100 35.211287 0.000000 85.007567 2.000000 27 CUFF.73.1 3634
+Xkr4 Xkr4 i CUFF.75 CUFF.75.1 100 52.816931 0.000000 113.804669 3.000000 27 CUFF.75.1 3634
+Xkr4 Xkr4 i CUFF.77 CUFF.77.1 100 17.605644 0.000000 52.816931 1.000000 27 CUFF.77.1 3634
+Xkr4 Xkr4 i CUFF.79 CUFF.79.1 100 13.390208 0.000000 32.326821 0.760563 71 CUFF.79.1 3634
+Xkr4 Xkr4 i CUFF.81 CUFF.81.1 100 11.211141 1.183592 21.238690 0.636792 212 CUFF.81.1 3634
+Xkr4 Xkr4 i CUFF.83 CUFF.83.1 100 21.126772 0.000000 51.004540 1.200000 45 CUFF.83.1 3634
+Xkr4 Xkr4 i CUFF.85 CUFF.85.1 100 19.014095 0.000000 38.028190 1.080000 100 CUFF.85.1 3634
+Xkr4 Xkr4 i CUFF.87 CUFF.87.1 100 24.170460 0.000000 52.080103 1.372881 59 CUFF.87.1 3634
+Xkr4 Xkr4 i CUFF.89 CUFF.89.1 100 29.709524 0.000000 64.015126 1.687500 48 CUFF.89.1 3634
+Xkr4 Xkr4 i CUFF.91 CUFF.91.1 100 35.211287 0.000000 85.007567 2.000000 27 CUFF.91.1 3634
+Xkr4 Xkr4 i CUFF.93 CUFF.93.1 100 35.211287 0.000000 85.007567 2.000000 27 CUFF.93.1 3634
+Xkr4 Xkr4 i CUFF.95 CUFF.95.1 100 35.211287 0.000000 85.007567 2.000000 27 CUFF.95.1 3634
+Xkr4 Xkr4 i CUFF.97 CUFF.97.1 100 35.211287 0.000000 85.007567 2.000000 27 CUFF.97.1 3634
+Xkr4 Xkr4 i CUFF.99 CUFF.99.1 100 19.602160 0.000000 39.204320 1.113402 97 CUFF.99.1 3634
diff -r bde09cbd60865053ffd0ab05138d6fa3e594d399 -r 277403d31907d71e5e77694c0c97c16772f23e27 test-data/cuffcompare_out5.gtf
--- a/test-data/cuffcompare_out5.gtf
+++ b/test-data/cuffcompare_out5.gtf
@@ -1,90 +1,90 @@
-chr1 Cufflinks exon 3111450 3111490 . . . gene_id "XLOC_000001"; transcript_id "TCONS_00000001"; exon_number "1"; oId "CUFF.1.1"; class_code "u";
-chr1 Cufflinks exon 3111546 3111576 . . . gene_id "XLOC_000002"; transcript_id "TCONS_00000002"; exon_number "1"; oId "CUFF.3.1"; class_code "u";
-chr1 Cufflinks exon 3174766 3174792 . . . gene_id "XLOC_000003"; transcript_id "TCONS_00000051"; exon_number "1"; oId "CUFF.1.1"; class_code "u";
-chr1 Cufflinks exon 3187402 3187428 . . . gene_id "XLOC_000004"; transcript_id "TCONS_00000052"; exon_number "1"; oId "CUFF.3.1"; class_code "u";
-chr1 Cufflinks exon 3188522 3188548 . . . gene_id "XLOC_000005"; transcript_id "TCONS_00000053"; exon_number "1"; oId "CUFF.5.1"; class_code "u";
-chr1 Cufflinks exon 3189811 3190789 . . . gene_id "XLOC_000006"; transcript_id "TCONS_00000054"; exon_number "1"; oId "CUFF.11.1"; class_code "u";
-chr1 Cufflinks exon 3190859 3191434 . . . gene_id "XLOC_000007"; transcript_id "TCONS_00000055"; exon_number "1"; oId "CUFF.7.1"; class_code "u";
-chr1 Cufflinks exon 3191513 3192077 . . . gene_id "XLOC_000008"; transcript_id "TCONS_00000056"; exon_number "1"; oId "CUFF.9.1"; class_code "u";
-chr1 Cufflinks exon 3192251 3192336 . . . gene_id "XLOC_000009"; transcript_id "TCONS_00000057"; exon_number "1"; oId "CUFF.13.1"; class_code "u";
-chr1 Cufflinks exon 3192442 3192494 . . . gene_id "XLOC_000010"; transcript_id "TCONS_00000008"; exon_number "1"; oId "CUFF.39.1"; class_code "u";
-chr1 Cufflinks exon 3192551 3192629 . . . gene_id "XLOC_000011"; transcript_id "TCONS_00000009"; exon_number "1"; oId "CUFF.41.1"; class_code "u";
-chr1 Cufflinks exon 3192650 3192676 . . . gene_id "XLOC_000012"; transcript_id "TCONS_00000058"; exon_number "1"; oId "CUFF.15.1"; class_code "u";
-chr1 Cufflinks exon 3192732 3192811 . . . gene_id "XLOC_000013"; transcript_id "TCONS_00000010"; exon_number "1"; oId "CUFF.43.1"; class_code "u";
-chr1 Cufflinks exon 3192941 3193042 . . . gene_id "XLOC_000014"; transcript_id "TCONS_00000011"; exon_number "1"; oId "CUFF.45.1"; class_code "u";
-chr1 Cufflinks exon 3194186 3194226 . . . gene_id "XLOC_000015"; transcript_id "TCONS_00000012"; exon_number "1"; oId "CUFF.47.1"; class_code "u";
-chr1 Cufflinks exon 3194303 3194329 . . . gene_id "XLOC_000016"; transcript_id "TCONS_00000013"; exon_number "1"; oId "CUFF.49.1"; class_code "u";
-chr1 Cufflinks exon 3194707 3194733 . . . gene_id "XLOC_000017"; transcript_id "TCONS_00000059"; exon_number "1"; oId "CUFF.17.1"; class_code "u";
-chr1 Cufflinks exon 3195084 3195110 . . . gene_id "XLOC_000018"; transcript_id "TCONS_00000014"; exon_number "1"; oId "CUFF.51.1"; class_code "u";
-chr1 Cufflinks exon 3195451 3195477 . . . gene_id "XLOC_000019"; transcript_id "TCONS_00000015"; exon_number "1"; oId "CUFF.53.1"; class_code "u";
-chr1 Cufflinks exon 3197090 3197116 . . . gene_id "XLOC_000020"; transcript_id "TCONS_00000016"; exon_number "1"; oId "CUFF.55.1"; class_code "u";
-chr1 Cufflinks exon 3197247 3197273 . . . gene_id "XLOC_000021"; transcript_id "TCONS_00000017"; exon_number "1"; oId "CUFF.57.1"; class_code "u";
-chr1 Cufflinks exon 3197347 3197373 . . . gene_id "XLOC_000022"; transcript_id "TCONS_00000018"; exon_number "1"; oId "CUFF.59.1"; class_code "u";
-chr1 Cufflinks exon 3197426 3197452 . . . gene_id "XLOC_000023"; transcript_id "TCONS_00000060"; exon_number "1"; oId "CUFF.19.1"; class_code "u";
-chr1 Cufflinks exon 3200023 3200191 . . . gene_id "XLOC_000024"; transcript_id "TCONS_00000019"; exon_number "1"; oId "CUFF.7.1"; class_code "u";
-chr1 Cufflinks exon 3200326 3200352 . . . gene_id "XLOC_000025"; transcript_id "TCONS_00000020"; exon_number "1"; oId "CUFF.5.1"; class_code "u";
-chr1 Cufflinks exon 3200431 3200457 . . . gene_id "XLOC_000026"; transcript_id "TCONS_00000062"; exon_number "1"; oId "CUFF.21.1"; class_code "u";
-chr1 Cufflinks exon 3201008 3201039 . . . gene_id "XLOC_000027"; transcript_id "TCONS_00000063"; exon_number "1"; oId "CUFF.26.1"; class_code "u";
-chr1 Cufflinks exon 3201078 3201481 . . . gene_id "XLOC_000028"; transcript_id "TCONS_00000021"; exon_number "1"; oId "CUFF.9.1"; class_code "u";
-chr1 Cufflinks exon 3201597 3201666 . . . gene_id "XLOC_000029"; transcript_id "TCONS_00000065"; exon_number "1"; oId "CUFF.29.1"; class_code "u";
-chr1 Cufflinks exon 3201673 3201699 . . . gene_id "XLOC_000030"; transcript_id "TCONS_00000022"; exon_number "1"; oId "CUFF.11.1"; class_code "u";
-chr1 Cufflinks exon 3201726 3201809 . . . gene_id "XLOC_000031"; transcript_id "TCONS_00000066"; exon_number "1"; oId "CUFF.31.1"; class_code "u";
-chr1 Cufflinks exon 3204755 3204833 . . . gene_id "XLOC_000032"; transcript_id "TCONS_00000023"; exon_number "1"; oId "CUFF.13.1"; class_code "u";
-chr1 Cufflinks exon 3211522 3211561 . . . gene_id "XLOC_000033"; transcript_id "TCONS_00000067"; exon_number "1"; oId "CUFF.33.1"; class_code "u";
-chr1 Cufflinks exon 3212214 3212292 . . . gene_id "XLOC_000034"; transcript_id "TCONS_00000024"; exon_number "1"; oId "CUFF.15.1"; class_code "u";
-chr1 Cufflinks exon 3212368 3212439 . . . gene_id "XLOC_000035"; transcript_id "TCONS_00000025"; exon_number "1"; oId "CUFF.19.1"; class_code "u";
-chr1 Cufflinks exon 3212718 3212801 . . . gene_id "XLOC_000036"; transcript_id "TCONS_00000068"; exon_number "1"; oId "CUFF.35.1"; class_code "u";
-chr1 Cufflinks exon 3213096 3213192 . . . gene_id "XLOC_000037"; transcript_id "TCONS_00000026"; exon_number "1"; oId "CUFF.17.1"; class_code "u";
-chr1 Cufflinks exon 3213119 3213242 . . . gene_id "XLOC_000037"; transcript_id "TCONS_00000069"; exon_number "1"; oId "CUFF.37.1"; class_code "u";
-chr1 Cufflinks exon 3240607 3240633 . . . gene_id "XLOC_000038"; transcript_id "TCONS_00000070"; exon_number "1"; oId "CUFF.39.1"; class_code "u";
-chr1 Cufflinks exon 3242480 3242512 . . . gene_id "XLOC_000039"; transcript_id "TCONS_00000071"; exon_number "1"; oId "CUFF.41.1"; class_code "u";
-chr1 Cufflinks exon 3242634 3242923 . . . gene_id "XLOC_000040"; transcript_id "TCONS_00000027"; exon_number "1"; oId "CUFF.25.1"; class_code "u";
-chr1 Cufflinks exon 3242925 3243005 . . . gene_id "XLOC_000041"; transcript_id "TCONS_00000072"; exon_number "1"; oId "CUFF.43.1"; class_code "u";
-chr1 Cufflinks exon 3243019 3243079 . . . gene_id "XLOC_000042"; transcript_id "TCONS_00000028"; exon_number "1"; oId "CUFF.21.1"; class_code "u";
-chr1 Cufflinks exon 3243109 3243154 . . . gene_id "XLOC_000043"; transcript_id "TCONS_00000073"; exon_number "1"; oId "CUFF.45.1"; class_code "u";
-chr1 Cufflinks exon 3243348 3243401 . . . gene_id "XLOC_000044"; transcript_id "TCONS_00000029"; exon_number "1"; oId "CUFF.23.1"; class_code "u";
-chr1 Cufflinks exon 3254080 3254106 . . . gene_id "XLOC_000045"; transcript_id "TCONS_00000074"; exon_number "1"; oId "CUFF.47.1"; class_code "u";
-chr1 Cufflinks exon 3256975 3257011 . . . gene_id "XLOC_000046"; transcript_id "TCONS_00000030"; exon_number "1"; oId "CUFF.27.1"; class_code "u";
-chr1 Cufflinks exon 3277156 3277182 . . . gene_id "XLOC_000047"; transcript_id "TCONS_00000075"; exon_number "1"; oId "CUFF.49.1"; class_code "u";
-chr1 Cufflinks exon 3277191 3277218 . . . gene_id "XLOC_000048"; transcript_id "TCONS_00000031"; exon_number "1"; oId "CUFF.61.1"; class_code "u";
-chr1 Cufflinks exon 3277914 3278390 . . . gene_id "XLOC_000049"; transcript_id "TCONS_00000076"; exon_number "1"; oId "CUFF.51.1"; class_code "u";
-chr1 Cufflinks exon 3280118 3280144 . . . gene_id "XLOC_000050"; transcript_id "TCONS_00000077"; exon_number "1"; oId "CUFF.53.1"; class_code "u";
-chr1 Cufflinks exon 3280499 3280525 . . . gene_id "XLOC_000051"; transcript_id "TCONS_00000078"; exon_number "1"; oId "CUFF.55.1"; class_code "u";
-chr1 Cufflinks exon 3280687 3280741 . . . gene_id "XLOC_000052"; transcript_id "TCONS_00000033"; exon_number "1"; oId "CUFF.65.1"; class_code "u";
-chr1 Cufflinks exon 3282505 3282531 . . . gene_id "XLOC_000053"; transcript_id "TCONS_00000079"; exon_number "1"; oId "CUFF.57.1"; class_code "u";
-chr1 Cufflinks exon 3282651 3282677 . . . gene_id "XLOC_000054"; transcript_id "TCONS_00000080"; exon_number "1"; oId "CUFF.59.1"; class_code "u";
-chr1 Cufflinks exon 3282761 3282832 . . . gene_id "XLOC_000055"; transcript_id "TCONS_00000081"; exon_number "1"; oId "CUFF.61.1"; class_code "u";
-chr1 Cufflinks exon 3284967 3284993 . . . gene_id "XLOC_000056"; transcript_id "TCONS_00000082"; exon_number "1"; oId "CUFF.63.1"; class_code "u";
-chr1 Cufflinks exon 3290489 3290553 . . . gene_id "XLOC_000057"; transcript_id "TCONS_00000034"; exon_number "1"; oId "CUFF.67.1"; class_code "u";
-chr1 Cufflinks exon 3290799 3290859 . . . gene_id "XLOC_000058"; transcript_id "TCONS_00000083"; exon_number "1"; oId "CUFF.65.1"; class_code "u";
-chr1 Cufflinks exon 3290920 3291273 . . . gene_id "XLOC_000059"; transcript_id "TCONS_00000084"; exon_number "1"; oId "CUFF.69.1"; class_code "u";
-chr1 Cufflinks exon 3299444 3299640 . . . gene_id "XLOC_000060"; transcript_id "TCONS_00000085"; exon_number "1"; oId "CUFF.67.1"; class_code "u";
-chr1 Cufflinks exon 3299610 3299664 . . . gene_id "XLOC_000060"; transcript_id "TCONS_00000037"; exon_number "1"; oId "CUFF.73.1"; class_code "u";
-chr1 Cufflinks exon 3299692 3299733 . . . gene_id "XLOC_000061"; transcript_id "TCONS_00000086"; exon_number "1"; oId "CUFF.71.1"; class_code "u";
-chr1 Cufflinks exon 3300052 3300078 . . . gene_id "XLOC_000062"; transcript_id "TCONS_00000038"; exon_number "1"; oId "CUFF.75.1"; class_code "u";
-chr1 Cufflinks exon 3307749 3307775 . . . gene_id "XLOC_000063"; transcript_id "TCONS_00000087"; exon_number "1"; oId "CUFF.73.1"; class_code "u";
-chr1 Cufflinks exon 3318621 3318647 . . . gene_id "XLOC_000064"; transcript_id "TCONS_00000088"; exon_number "1"; oId "CUFF.75.1"; class_code "u";
-chr1 Cufflinks exon 3319000 3319051 . . . gene_id "XLOC_000065"; transcript_id "TCONS_00000039"; exon_number "1"; oId "CUFF.77.1"; class_code "u";
-chr1 Cufflinks exon 3330528 3330554 . . . gene_id "XLOC_000066"; transcript_id "TCONS_00000089"; exon_number "1"; oId "CUFF.77.1"; class_code "u";
-chr1 Cufflinks exon 3351241 3351311 . . . gene_id "XLOC_000067"; transcript_id "TCONS_00000090"; exon_number "1"; oId "CUFF.79.1"; class_code "u";
-chr1 Cufflinks exon 3355888 3355914 . . . gene_id "XLOC_000068"; transcript_id "TCONS_00000040"; exon_number "1"; oId "CUFF.79.1"; class_code "u";
-chr1 Cufflinks exon 3355908 3356119 . . . gene_id "XLOC_000068"; transcript_id "TCONS_00000091"; exon_number "1"; oId "CUFF.81.1"; class_code "u";
-chr1 Cufflinks exon 3356181 3356225 . . . gene_id "XLOC_000069"; transcript_id "TCONS_00000092"; exon_number "1"; oId "CUFF.83.1"; class_code "u";
-chr1 Cufflinks exon 3363077 3363176 . . . gene_id "XLOC_000070"; transcript_id "TCONS_00000093"; exon_number "1"; oId "CUFF.85.1"; class_code "u";
-chr1 Cufflinks exon 3363215 3363278 . . . gene_id "XLOC_000071"; transcript_id "TCONS_00000041"; exon_number "1"; oId "CUFF.81.1"; class_code "u";
-chr1 Cufflinks exon 3363388 3363446 . . . gene_id "XLOC_000072"; transcript_id "TCONS_00000094"; exon_number "1"; oId "CUFF.87.1"; class_code "u";
-chr1 Cufflinks exon 3363754 3363849 . . . gene_id "XLOC_000073"; transcript_id "TCONS_00000042"; exon_number "1"; oId "CUFF.83.1"; class_code "u";
-chr1 Cufflinks exon 3364872 3364919 . . . gene_id "XLOC_000074"; transcript_id "TCONS_00000095"; exon_number "1"; oId "CUFF.89.1"; class_code "u";
-chr1 Cufflinks exon 3367136 3367162 . . . gene_id "XLOC_000075"; transcript_id "TCONS_00000043"; exon_number "1"; oId "CUFF.85.1"; class_code "u";
-chr1 Cufflinks exon 3367211 3367237 . . . gene_id "XLOC_000076"; transcript_id "TCONS_00000096"; exon_number "1"; oId "CUFF.91.1"; class_code "u";
-chr1 Cufflinks exon 3367334 3367382 . . . gene_id "XLOC_000077"; transcript_id "TCONS_00000044"; exon_number "1"; oId "CUFF.87.1"; class_code "u";
-chr1 Cufflinks exon 3369581 3369607 . . . gene_id "XLOC_000078"; transcript_id "TCONS_00000097"; exon_number "1"; oId "CUFF.93.1"; class_code "u";
-chr1 Cufflinks exon 3375002 3375028 . . . gene_id "XLOC_000079"; transcript_id "TCONS_00000098"; exon_number "1"; oId "CUFF.95.1"; class_code "u";
-chr1 Cufflinks exon 3377212 3377262 . . . gene_id "XLOC_000080"; transcript_id "TCONS_00000045"; exon_number "1"; oId "CUFF.89.1"; class_code "u";
-chr1 Cufflinks exon 3379889 3379915 . . . gene_id "XLOC_000081"; transcript_id "TCONS_00000099"; exon_number "1"; oId "CUFF.97.1"; class_code "u";
-chr1 Cufflinks exon 3386740 3386836 . . . gene_id "XLOC_000082"; transcript_id "TCONS_00000100"; exon_number "1"; oId "CUFF.99.1"; class_code "u";
-chr1 Cufflinks exon 3391326 3391352 . . . gene_id "XLOC_000083"; transcript_id "TCONS_00000046"; exon_number "1"; oId "CUFF.91.1"; class_code "u";
-chr1 Cufflinks exon 3435842 3435880 . . . gene_id "XLOC_000084"; transcript_id "TCONS_00000047"; exon_number "1"; oId "CUFF.93.1"; class_code "u";
-chr1 Cufflinks exon 3447762 3447788 . . . gene_id "XLOC_000085"; transcript_id "TCONS_00000048"; exon_number "1"; oId "CUFF.95.1"; class_code "u";
-chr1 Cufflinks exon 3450907 3450965 . . . gene_id "XLOC_000086"; transcript_id "TCONS_00000049"; exon_number "1"; oId "CUFF.97.1"; class_code "u";
-chr1 Cufflinks exon 3451052 3451109 . . . gene_id "XLOC_000087"; transcript_id "TCONS_00000050"; exon_number "1"; oId "CUFF.99.1"; class_code "u";
+chr1 Cufflinks exon 3204755 3204833 . - . gene_id "XLOC_000001"; transcript_id "TCONS_00000001"; exon_number "1"; gene_name "Xkr4"; oId "CUFF.13.1"; nearest_ref "Xkr4"; class_code "c"; tss_id "TSS1";
+chr1 Cufflinks exon 3111450 3111490 . . . gene_id "XLOC_000002"; transcript_id "TCONS_00000002"; exon_number "1"; oId "CUFF.1.1"; class_code "u"; tss_id "TSS2";
+chr1 Cufflinks exon 3111546 3111576 . . . gene_id "XLOC_000003"; transcript_id "TCONS_00000003"; exon_number "1"; oId "CUFF.3.1"; class_code "u"; tss_id "TSS3";
+chr1 Cufflinks exon 3174766 3174792 . . . gene_id "XLOC_000004"; transcript_id "TCONS_00000051"; exon_number "1"; oId "CUFF.1.1"; class_code "u"; tss_id "TSS4";
+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";
diff -r bde09cbd60865053ffd0ab05138d6fa3e594d399 -r 277403d31907d71e5e77694c0c97c16772f23e27 test-data/cuffcompare_out6.tracking
--- a/test-data/cuffcompare_out6.tracking
+++ b/test-data/cuffcompare_out6.tracking
@@ -1,100 +1,100 @@
-TCONS_00000001 XLOC_000001 - u q1:CUFF.1|CUFF.1.1|100|0.000000|0.000000|0.000000|0.000000|- -
-TCONS_00000002 XLOC_000002 - u q1:CUFF.3|CUFF.3.1|100|0.000000|0.000000|0.000000|0.000000|- -
-TCONS_00000003 XLOC_000006 - u q1:CUFF.29|CUFF.29.1|100|0.000000|0.000000|0.000000|0.000000|- -
-TCONS_00000004 XLOC_000006 - u q1:CUFF.31|CUFF.31.1|100|0.000000|0.000000|0.000000|0.000000|- -
-TCONS_00000005 XLOC_000006 - u q1:CUFF.33|CUFF.33.1|100|0.000000|0.000000|0.000000|0.000000|- -
-TCONS_00000006 XLOC_000008 - u q1:CUFF.35|CUFF.35.1|100|0.000000|0.000000|0.000000|0.000000|- -
-TCONS_00000007 XLOC_000008 - u q1:CUFF.37|CUFF.37.1|100|0.000000|0.000000|0.000000|0.000000|- -
-TCONS_00000008 XLOC_000010 - u q1:CUFF.39|CUFF.39.1|100|0.000000|0.000000|0.000000|0.000000|- -
-TCONS_00000009 XLOC_000011 - u q1:CUFF.41|CUFF.41.1|100|0.000000|0.000000|0.000000|0.000000|- -
-TCONS_00000010 XLOC_000013 - u q1:CUFF.43|CUFF.43.1|100|0.000000|0.000000|0.000000|0.000000|- -
-TCONS_00000011 XLOC_000014 - u q1:CUFF.45|CUFF.45.1|100|0.000000|0.000000|0.000000|0.000000|- -
-TCONS_00000012 XLOC_000015 - u q1:CUFF.47|CUFF.47.1|100|0.000000|0.000000|0.000000|0.000000|- -
-TCONS_00000013 XLOC_000016 - u q1:CUFF.49|CUFF.49.1|100|0.000000|0.000000|0.000000|0.000000|- -
-TCONS_00000014 XLOC_000018 - u q1:CUFF.51|CUFF.51.1|100|0.000000|0.000000|0.000000|0.000000|- -
-TCONS_00000015 XLOC_000019 - u q1:CUFF.53|CUFF.53.1|100|0.000000|0.000000|0.000000|0.000000|- -
-TCONS_00000016 XLOC_000020 - u q1:CUFF.55|CUFF.55.1|100|0.000000|0.000000|0.000000|0.000000|- -
-TCONS_00000017 XLOC_000021 - u q1:CUFF.57|CUFF.57.1|100|0.000000|0.000000|0.000000|0.000000|- -
-TCONS_00000018 XLOC_000022 - u q1:CUFF.59|CUFF.59.1|100|0.000000|0.000000|0.000000|0.000000|- -
-TCONS_00000019 XLOC_000024 - u q1:CUFF.7|CUFF.7.1|100|0.000000|0.000000|0.000000|0.000000|- -
-TCONS_00000020 XLOC_000025 - u q1:CUFF.5|CUFF.5.1|100|0.000000|0.000000|0.000000|0.000000|- -
-TCONS_00000021 XLOC_000028 - u q1:CUFF.9|CUFF.9.1|100|0.000000|0.000000|0.000000|0.000000|- -
-TCONS_00000022 XLOC_000030 - u q1:CUFF.11|CUFF.11.1|100|0.000000|0.000000|0.000000|0.000000|- -
-TCONS_00000023 XLOC_000032 - u q1:CUFF.13|CUFF.13.1|100|0.000000|0.000000|0.000000|0.000000|- -
-TCONS_00000024 XLOC_000034 - u q1:CUFF.15|CUFF.15.1|100|0.000000|0.000000|0.000000|0.000000|- -
-TCONS_00000025 XLOC_000035 - u q1:CUFF.19|CUFF.19.1|100|0.000000|0.000000|0.000000|0.000000|- -
-TCONS_00000026 XLOC_000037 - u q1:CUFF.17|CUFF.17.1|100|0.000000|0.000000|0.000000|0.000000|- -
-TCONS_00000027 XLOC_000040 - u q1:CUFF.25|CUFF.25.1|100|0.000000|0.000000|0.000000|0.000000|- -
-TCONS_00000028 XLOC_000042 - u q1:CUFF.21|CUFF.21.1|100|0.000000|0.000000|0.000000|0.000000|- -
-TCONS_00000029 XLOC_000044 - u q1:CUFF.23|CUFF.23.1|100|0.000000|0.000000|0.000000|0.000000|- -
-TCONS_00000030 XLOC_000046 - u q1:CUFF.27|CUFF.27.1|100|0.000000|0.000000|0.000000|0.000000|- -
-TCONS_00000031 XLOC_000048 - u q1:CUFF.61|CUFF.61.1|100|0.000000|0.000000|0.000000|0.000000|- -
-TCONS_00000032 XLOC_000049 - u q1:CUFF.63|CUFF.63.1|100|0.000000|0.000000|0.000000|0.000000|- -
-TCONS_00000033 XLOC_000052 - u q1:CUFF.65|CUFF.65.1|100|0.000000|0.000000|0.000000|0.000000|- -
-TCONS_00000034 XLOC_000057 - u q1:CUFF.67|CUFF.67.1|100|0.000000|0.000000|0.000000|0.000000|- -
-TCONS_00000035 XLOC_000059 - u q1:CUFF.69|CUFF.69.1|100|0.000000|0.000000|0.000000|0.000000|- -
-TCONS_00000036 XLOC_000059 - u q1:CUFF.71|CUFF.71.1|100|0.000000|0.000000|0.000000|0.000000|- -
-TCONS_00000037 XLOC_000060 - u q1:CUFF.73|CUFF.73.1|100|0.000000|0.000000|0.000000|0.000000|- -
-TCONS_00000038 XLOC_000062 - u q1:CUFF.75|CUFF.75.1|100|0.000000|0.000000|0.000000|0.000000|- -
-TCONS_00000039 XLOC_000065 - u q1:CUFF.77|CUFF.77.1|100|0.000000|0.000000|0.000000|0.000000|- -
-TCONS_00000040 XLOC_000068 - u q1:CUFF.79|CUFF.79.1|100|0.000000|0.000000|0.000000|0.000000|- -
-TCONS_00000041 XLOC_000071 - u q1:CUFF.81|CUFF.81.1|100|0.000000|0.000000|0.000000|0.000000|- -
-TCONS_00000042 XLOC_000073 - u q1:CUFF.83|CUFF.83.1|100|0.000000|0.000000|0.000000|0.000000|- -
-TCONS_00000043 XLOC_000075 - u q1:CUFF.85|CUFF.85.1|100|0.000000|0.000000|0.000000|0.000000|- -
-TCONS_00000044 XLOC_000077 - u q1:CUFF.87|CUFF.87.1|100|0.000000|0.000000|0.000000|0.000000|- -
-TCONS_00000045 XLOC_000080 - u q1:CUFF.89|CUFF.89.1|100|0.000000|0.000000|0.000000|0.000000|- -
-TCONS_00000046 XLOC_000083 - u q1:CUFF.91|CUFF.91.1|100|0.000000|0.000000|0.000000|0.000000|- -
-TCONS_00000047 XLOC_000084 - u q1:CUFF.93|CUFF.93.1|100|0.000000|0.000000|0.000000|0.000000|- -
-TCONS_00000048 XLOC_000085 - u q1:CUFF.95|CUFF.95.1|100|0.000000|0.000000|0.000000|0.000000|- -
-TCONS_00000049 XLOC_000086 - u q1:CUFF.97|CUFF.97.1|100|0.000000|0.000000|0.000000|0.000000|- -
-TCONS_00000050 XLOC_000087 - u q1:CUFF.99|CUFF.99.1|100|0.000000|0.000000|0.000000|0.000000|- -
-TCONS_00000051 XLOC_000003 - u - q2:CUFF.1|CUFF.1.1|100|0.000000|0.000000|0.000000|0.000000|-
-TCONS_00000052 XLOC_000004 - u - q2:CUFF.3|CUFF.3.1|100|0.000000|0.000000|0.000000|0.000000|-
-TCONS_00000053 XLOC_000005 - u - q2:CUFF.5|CUFF.5.1|100|0.000000|0.000000|0.000000|0.000000|-
-TCONS_00000054 XLOC_000006 - u - q2:CUFF.11|CUFF.11.1|100|0.000000|0.000000|0.000000|0.000000|-
-TCONS_00000055 XLOC_000007 - u - q2:CUFF.7|CUFF.7.1|100|0.000000|0.000000|0.000000|0.000000|-
-TCONS_00000056 XLOC_000008 - u - q2:CUFF.9|CUFF.9.1|100|0.000000|0.000000|0.000000|0.000000|-
-TCONS_00000057 XLOC_000009 - u - q2:CUFF.13|CUFF.13.1|100|0.000000|0.000000|0.000000|0.000000|-
-TCONS_00000058 XLOC_000012 - u - q2:CUFF.15|CUFF.15.1|100|0.000000|0.000000|0.000000|0.000000|-
-TCONS_00000059 XLOC_000017 - u - q2:CUFF.17|CUFF.17.1|100|0.000000|0.000000|0.000000|0.000000|-
-TCONS_00000060 XLOC_000023 - u - q2:CUFF.19|CUFF.19.1|100|0.000000|0.000000|0.000000|0.000000|-
-TCONS_00000061 XLOC_000024 - u - q2:CUFF.23|CUFF.23.1|100|0.000000|0.000000|0.000000|0.000000|-
-TCONS_00000062 XLOC_000026 - u - q2:CUFF.21|CUFF.21.1|100|0.000000|0.000000|0.000000|0.000000|-
-TCONS_00000063 XLOC_000027 - u - q2:CUFF.26|CUFF.26.1|100|0.000000|0.000000|0.000000|0.000000|-
-TCONS_00000064 XLOC_000028 - u - q2:CUFF.25|CUFF.25.1|100|0.000000|0.000000|0.000000|0.000000|-
-TCONS_00000065 XLOC_000029 - u - q2:CUFF.29|CUFF.29.1|100|0.000000|0.000000|0.000000|0.000000|-
-TCONS_00000066 XLOC_000031 - u - q2:CUFF.31|CUFF.31.1|100|0.000000|0.000000|0.000000|0.000000|-
-TCONS_00000067 XLOC_000033 - u - q2:CUFF.33|CUFF.33.1|100|0.000000|0.000000|0.000000|0.000000|-
-TCONS_00000068 XLOC_000036 - u - q2:CUFF.35|CUFF.35.1|100|0.000000|0.000000|0.000000|0.000000|-
-TCONS_00000069 XLOC_000037 - u - q2:CUFF.37|CUFF.37.1|100|0.000000|0.000000|0.000000|0.000000|-
-TCONS_00000070 XLOC_000038 - u - q2:CUFF.39|CUFF.39.1|100|0.000000|0.000000|0.000000|0.000000|-
-TCONS_00000071 XLOC_000039 - u - q2:CUFF.41|CUFF.41.1|100|0.000000|0.000000|0.000000|0.000000|-
-TCONS_00000072 XLOC_000041 - u - q2:CUFF.43|CUFF.43.1|100|0.000000|0.000000|0.000000|0.000000|-
-TCONS_00000073 XLOC_000043 - u - q2:CUFF.45|CUFF.45.1|100|0.000000|0.000000|0.000000|0.000000|-
-TCONS_00000074 XLOC_000045 - u - q2:CUFF.47|CUFF.47.1|100|0.000000|0.000000|0.000000|0.000000|-
-TCONS_00000075 XLOC_000047 - u - q2:CUFF.49|CUFF.49.1|100|0.000000|0.000000|0.000000|0.000000|-
-TCONS_00000076 XLOC_000049 - u - q2:CUFF.51|CUFF.51.1|100|0.000000|0.000000|0.000000|0.000000|-
-TCONS_00000077 XLOC_000050 - u - q2:CUFF.53|CUFF.53.1|100|0.000000|0.000000|0.000000|0.000000|-
-TCONS_00000078 XLOC_000051 - u - q2:CUFF.55|CUFF.55.1|100|0.000000|0.000000|0.000000|0.000000|-
-TCONS_00000079 XLOC_000053 - u - q2:CUFF.57|CUFF.57.1|100|0.000000|0.000000|0.000000|0.000000|-
-TCONS_00000080 XLOC_000054 - u - q2:CUFF.59|CUFF.59.1|100|0.000000|0.000000|0.000000|0.000000|-
-TCONS_00000081 XLOC_000055 - u - q2:CUFF.61|CUFF.61.1|100|0.000000|0.000000|0.000000|0.000000|-
-TCONS_00000082 XLOC_000056 - u - q2:CUFF.63|CUFF.63.1|100|0.000000|0.000000|0.000000|0.000000|-
-TCONS_00000083 XLOC_000058 - u - q2:CUFF.65|CUFF.65.1|100|0.000000|0.000000|0.000000|0.000000|-
-TCONS_00000084 XLOC_000059 - u - q2:CUFF.69|CUFF.69.1|100|0.000000|0.000000|0.000000|0.000000|-
-TCONS_00000085 XLOC_000060 - u - q2:CUFF.67|CUFF.67.1|100|0.000000|0.000000|0.000000|0.000000|-
-TCONS_00000086 XLOC_000061 - u - q2:CUFF.71|CUFF.71.1|100|0.000000|0.000000|0.000000|0.000000|-
-TCONS_00000087 XLOC_000063 - u - q2:CUFF.73|CUFF.73.1|100|0.000000|0.000000|0.000000|0.000000|-
-TCONS_00000088 XLOC_000064 - u - q2:CUFF.75|CUFF.75.1|100|0.000000|0.000000|0.000000|0.000000|-
-TCONS_00000089 XLOC_000066 - u - q2:CUFF.77|CUFF.77.1|100|0.000000|0.000000|0.000000|0.000000|-
-TCONS_00000090 XLOC_000067 - u - q2:CUFF.79|CUFF.79.1|100|0.000000|0.000000|0.000000|0.000000|-
-TCONS_00000091 XLOC_000068 - u - q2:CUFF.81|CUFF.81.1|100|0.000000|0.000000|0.000000|0.000000|-
-TCONS_00000092 XLOC_000069 - u - q2:CUFF.83|CUFF.83.1|100|0.000000|0.000000|0.000000|0.000000|-
-TCONS_00000093 XLOC_000070 - u - q2:CUFF.85|CUFF.85.1|100|0.000000|0.000000|0.000000|0.000000|-
-TCONS_00000094 XLOC_000072 - u - q2:CUFF.87|CUFF.87.1|100|0.000000|0.000000|0.000000|0.000000|-
-TCONS_00000095 XLOC_000074 - u - q2:CUFF.89|CUFF.89.1|100|0.000000|0.000000|0.000000|0.000000|-
-TCONS_00000096 XLOC_000076 - u - q2:CUFF.91|CUFF.91.1|100|0.000000|0.000000|0.000000|0.000000|-
-TCONS_00000097 XLOC_000078 - u - q2:CUFF.93|CUFF.93.1|100|0.000000|0.000000|0.000000|0.000000|-
-TCONS_00000098 XLOC_000079 - u - q2:CUFF.95|CUFF.95.1|100|0.000000|0.000000|0.000000|0.000000|-
-TCONS_00000099 XLOC_000081 - u - q2:CUFF.97|CUFF.97.1|100|0.000000|0.000000|0.000000|0.000000|-
-TCONS_00000100 XLOC_000082 - u - q2:CUFF.99|CUFF.99.1|100|0.000000|0.000000|0.000000|0.000000|-
+TCONS_00000001 XLOC_000001 Xkr4|Xkr4 c q1:CUFF.13|CUFF.13.1|100|10.695258|0.000000|25.820637|0.683544|- -
+TCONS_00000002 XLOC_000002 - u q1:CUFF.1|CUFF.1.1|100|20.607936|0.000000|49.751960|1.317073|- -
+TCONS_00000003 XLOC_000003 - u q1:CUFF.3|CUFF.3.1|100|27.255658|0.000000|65.800979|1.741935|- -
+TCONS_00000004 XLOC_000007 - u q1:CUFF.29|CUFF.29.1|100|107.103219|71.402146|142.804292|6.845070|- -
+TCONS_00000005 XLOC_000007 - u q1:CUFF.31|CUFF.31.1|100|122.650461|40.883487|204.417435|7.838710|- -
+TCONS_00000006 XLOC_000007 - u q1:CUFF.33|CUFF.33.1|100|109.527366|26.732460|192.322273|7.000000|- -
+TCONS_00000007 XLOC_000009 - u q1:CUFF.35|CUFF.35.1|100|96.747183|61.420107|132.074259|6.183206|- -
+TCONS_00000008 XLOC_000009 - u q1:CUFF.37|CUFF.37.1|100|104.085013|53.596365|154.573660|6.652174|- -
+TCONS_00000009 XLOC_000011 - u q1:CUFF.39|CUFF.39.1|100|23.912983|0.000000|51.525317|1.528302|- -
+TCONS_00000010 XLOC_000012 - u q1:CUFF.41|CUFF.41.1|100|10.695258|0.000000|25.820637|0.683544|- -
+TCONS_00000011 XLOC_000014 - u q1:CUFF.43|CUFF.43.1|100|10.561567|0.000000|25.497879|0.675000|- -
+TCONS_00000012 XLOC_000015 - u q1:CUFF.45|CUFF.45.1|100|20.708956|2.186303|39.231609|1.323529|- -
+TCONS_00000013 XLOC_000016 - u q1:CUFF.47|CUFF.47.1|100|20.607936|0.000000|49.751960|1.317073|- -
+TCONS_00000014 XLOC_000017 - u q1:CUFF.49|CUFF.49.1|100|15.646767|0.000000|46.940300|1.000000|- -
+TCONS_00000015 XLOC_000019 - u q1:CUFF.51|CUFF.51.1|100|31.293533|0.000000|75.549272|2.000000|- -
+TCONS_00000016 XLOC_000020 - u q1:CUFF.53|CUFF.53.1|100|31.293533|0.000000|75.549272|2.000000|- -
+TCONS_00000017 XLOC_000021 - u q1:CUFF.55|CUFF.55.1|100|31.293533|0.000000|75.549272|2.000000|- -
+TCONS_00000018 XLOC_000022 - u q1:CUFF.57|CUFF.57.1|100|15.646767|0.000000|46.940300|1.000000|- -
+TCONS_00000019 XLOC_000023 - u q1:CUFF.59|CUFF.59.1|100|15.646767|0.000000|46.940300|1.000000|- -
+TCONS_00000020 XLOC_000025 - u q1:CUFF.7|CUFF.7.1|100|9.999117|0.000000|19.998234|0.639053|- -
+TCONS_00000021 XLOC_000026 - u q1:CUFF.5|CUFF.5.1|100|31.293533|0.000000|75.549272|2.000000|- -
+TCONS_00000022 XLOC_000029 - u q1:CUFF.9|CUFF.9.1|100|17.776896|9.153835|26.399957|1.136139|- -
+TCONS_00000023 XLOC_000031 - u q1:CUFF.11|CUFF.11.1|100|31.293533|0.000000|75.549272|2.000000|- -
+TCONS_00000024 XLOC_000034 Xkr4|Xkr4 i q1:CUFF.15|CUFF.15.1|100|10.695258|0.000000|25.820637|0.683544|- -
+TCONS_00000025 XLOC_000035 Xkr4|Xkr4 i q1:CUFF.19|CUFF.19.1|100|29.337687|3.097262|55.578113|1.875000|- -
+TCONS_00000026 XLOC_000037 Xkr4|Xkr4 i q1:CUFF.17|CUFF.17.1|100|8.710571|0.000000|21.029179|0.556701|- -
+TCONS_00000027 XLOC_000040 Xkr4|Xkr4 i q1:CUFF.25|CUFF.25.1|100|14.567679|5.354270|23.781089|0.931034|- -
+TCONS_00000028 XLOC_000042 Xkr4|Xkr4 i q1:CUFF.21|CUFF.21.1|100|13.851236|0.000000|33.439842|0.885246|- -
+TCONS_00000029 XLOC_000044 Xkr4|Xkr4 i q1:CUFF.23|CUFF.23.1|100|23.470150|0.000000|50.571145|1.500000|- -
+TCONS_00000030 XLOC_000046 Xkr4|Xkr4 i q1:CUFF.27|CUFF.27.1|100|34.253732|0.000000|73.806535|2.189189|- -
+TCONS_00000031 XLOC_000048 Xkr4|Xkr4 i q1:CUFF.61|CUFF.61.1|100|45.263860|0.000000|97.530065|2.892857|- -
+TCONS_00000032 XLOC_000049 Xkr4|Xkr4 i q1:CUFF.63|CUFF.63.1|100|15.646767|0.000000|46.940300|1.000000|- -
+TCONS_00000033 XLOC_000052 Xkr4|Xkr4 i q1:CUFF.65|CUFF.65.1|100|15.362280|0.000000|37.087825|0.981818|- -
+TCONS_00000034 XLOC_000057 Xkr4|Xkr4 i q1:CUFF.67|CUFF.67.1|100|12.998852|0.000000|31.382005|0.830769|- -
+TCONS_00000035 XLOC_000059 Xkr4|Xkr4 i q1:CUFF.69|CUFF.69.1|100|10.058636|0.000000|24.283695|0.642857|- -
+TCONS_00000036 XLOC_000059 Xkr4|Xkr4 i q1:CUFF.71|CUFF.71.1|100|8.621688|0.000000|20.814595|0.551020|- -
+TCONS_00000037 XLOC_000060 Xkr4|Xkr4 i q1:CUFF.73|CUFF.73.1|100|15.362280|0.000000|37.087825|0.981818|- -
+TCONS_00000038 XLOC_000062 Xkr4|Xkr4 i q1:CUFF.75|CUFF.75.1|100|31.293533|0.000000|75.549272|2.000000|- -
+TCONS_00000039 XLOC_000065 Xkr4|Xkr4 i q1:CUFF.77|CUFF.77.1|100|16.248565|0.000000|39.227507|1.038462|- -
+TCONS_00000040 XLOC_000068 Xkr4|Xkr4 i q1:CUFF.79|CUFF.79.1|100|31.293533|0.000000|75.549272|2.000000|- -
+TCONS_00000041 XLOC_000071 Xkr4|Xkr4 i q1:CUFF.81|CUFF.81.1|100|13.201959|0.000000|31.872349|0.843750|- -
+TCONS_00000042 XLOC_000073 Xkr4|Xkr4 i q1:CUFF.83|CUFF.83.1|100|13.201959|0.000000|28.446269|0.843750|- -
+TCONS_00000043 XLOC_000075 Xkr4|Xkr4 i q1:CUFF.85|CUFF.85.1|100|31.293533|0.000000|75.549272|2.000000|- -
+TCONS_00000044 XLOC_000077 Xkr4|Xkr4 i q1:CUFF.87|CUFF.87.1|100|17.243375|0.000000|41.629191|1.102041|- -
+TCONS_00000045 XLOC_000080 Xkr4|Xkr4 i q1:CUFF.89|CUFF.89.1|100|16.567165|0.000000|39.996674|1.058824|- -
+TCONS_00000046 XLOC_000083 Xkr4|Xkr4 i q1:CUFF.91|CUFF.91.1|100|31.293533|0.000000|75.549272|2.000000|- -
+TCONS_00000047 XLOC_000084 Xkr4|Xkr4 i q1:CUFF.93|CUFF.93.1|100|21.664754|0.000000|52.303342|1.384615|- -
+TCONS_00000048 XLOC_000085 Xkr4|Xkr4 i q1:CUFF.95|CUFF.95.1|100|46.940300|0.000000|101.142289|3.000000|- -
+TCONS_00000049 XLOC_000086 Xkr4|Xkr4 i q1:CUFF.97|CUFF.97.1|100|21.481154|0.000000|46.285454|1.372881|- -
+TCONS_00000050 XLOC_000087 Xkr4|Xkr4 i q1:CUFF.99|CUFF.99.1|100|14.567679|0.000000|35.169489|0.931034|- -
+TCONS_00000051 XLOC_000004 - u - q2:CUFF.1|CUFF.1.1|100|35.211287|0.000000|85.007567|2.000000|-
+TCONS_00000052 XLOC_000005 - u - q2:CUFF.3|CUFF.3.1|100|35.211287|0.000000|85.007567|2.000000|-
+TCONS_00000053 XLOC_000006 - u - q2:CUFF.5|CUFF.5.1|100|21.226627|0.000000|59.889707|1.205672|-
+TCONS_00000054 XLOC_000007 - u - q2:CUFF.11|CUFF.11.1|100|32.531777|24.582998|40.480555|1.847804|-
+TCONS_00000055 XLOC_000008 - u - q2:CUFF.7|CUFF.7.1|100|29.709524|19.806349|39.612698|1.687500|-
+TCONS_00000056 XLOC_000009 - u - q2:CUFF.9|CUFF.9.1|100|34.072933|23.364686|44.781179|1.935341|-
+TCONS_00000057 XLOC_000010 - u - q2:CUFF.13|CUFF.13.1|100|16.582060|0.000000|35.729373|0.941860|-
+TCONS_00000058 XLOC_000013 - u - q2:CUFF.15|CUFF.15.1|100|35.211287|0.000000|85.007567|2.000000|-
+TCONS_00000059 XLOC_000018 - u - q2:CUFF.17|CUFF.17.1|100|35.211287|0.000000|85.007567|2.000000|-
+TCONS_00000060 XLOC_000024 - u - q2:CUFF.19|CUFF.19.1|100|35.211287|0.000000|85.007567|2.000000|-
+TCONS_00000061 XLOC_000025 - u - q2:CUFF.23|CUFF.23.1|100|16.205195|0.000000|34.917342|0.920455|-
+TCONS_00000062 XLOC_000027 - u - q2:CUFF.21|CUFF.21.1|100|35.211287|0.000000|85.007567|2.000000|-
+TCONS_00000063 XLOC_000028 - u - q2:CUFF.26|CUFF.26.1|100|29.709524|0.000000|71.725135|1.687500|-
+TCONS_00000064 XLOC_000029 - u - q2:CUFF.25|CUFF.25.1|100|35.211287|0.000000|85.007567|2.000000|-
+TCONS_00000065 XLOC_000030 - u - q2:CUFF.29|CUFF.29.1|100|13.581496|0.000000|32.788633|0.771429|-
+TCONS_00000066 XLOC_000032 - u - q2:CUFF.31|CUFF.31.1|100|22.635827|0.000000|45.271655|1.285714|-
+TCONS_00000067 XLOC_000033 Xkr4|Xkr4 i - q2:CUFF.33|CUFF.33.1|100|23.767619|0.000000|57.380108|1.350000|-
+TCONS_00000068 XLOC_000036 Xkr4|Xkr4 i - q2:CUFF.35|CUFF.35.1|100|11.317914|0.000000|27.323861|0.642857|-
+TCONS_00000069 XLOC_000037 Xkr4|Xkr4 i - q2:CUFF.37|CUFF.37.1|100|11.500461|0.000000|24.780049|0.653226|-
+TCONS_00000070 XLOC_000038 Xkr4|Xkr4 i - q2:CUFF.39|CUFF.39.1|100|52.816931|0.000000|113.804669|3.000000|-
+TCONS_00000071 XLOC_000039 Xkr4|Xkr4 i - q2:CUFF.41|CUFF.41.1|100|43.213852|0.000000|93.112911|2.454545|-
+TCONS_00000072 XLOC_000041 Xkr4|Xkr4 i - q2:CUFF.43|CUFF.43.1|100|23.474191|0.000000|46.948383|1.333333|-
+TCONS_00000073 XLOC_000043 Xkr4|Xkr4 i - q2:CUFF.45|CUFF.45.1|100|20.667495|0.000000|49.895746|1.173913|-
+TCONS_00000074 XLOC_000045 Xkr4|Xkr4 i - q2:CUFF.47|CUFF.47.1|100|35.211287|0.000000|85.007567|2.000000|-
+TCONS_00000075 XLOC_000047 Xkr4|Xkr4 i - q2:CUFF.49|CUFF.49.1|100|35.211287|0.000000|85.007567|2.000000|-
+TCONS_00000076 XLOC_000049 Xkr4|Xkr4 i - q2:CUFF.51|CUFF.51.1|100|14.948188|7.228977|22.667399|0.849057|-
+TCONS_00000077 XLOC_000050 Xkr4|Xkr4 i - q2:CUFF.53|CUFF.53.1|100|52.816931|0.000000|113.804669|3.000000|-
+TCONS_00000078 XLOC_000051 Xkr4|Xkr4 i - q2:CUFF.55|CUFF.55.1|100|35.211287|0.000000|85.007567|2.000000|-
+TCONS_00000079 XLOC_000053 Xkr4|Xkr4 i - q2:CUFF.57|CUFF.57.1|100|35.211287|0.000000|85.007567|2.000000|-
+TCONS_00000080 XLOC_000054 Xkr4|Xkr4 i - q2:CUFF.59|CUFF.59.1|100|35.211287|0.000000|85.007567|2.000000|-
+TCONS_00000081 XLOC_000055 Xkr4|Xkr4 i - q2:CUFF.61|CUFF.61.1|100|13.204233|0.000000|31.877838|0.750000|-
+TCONS_00000082 XLOC_000056 Xkr4|Xkr4 i - q2:CUFF.63|CUFF.63.1|100|35.211287|0.000000|85.007567|2.000000|-
+TCONS_00000083 XLOC_000058 Xkr4|Xkr4 i - q2:CUFF.65|CUFF.65.1|100|31.170648|0.000000|62.341295|1.770492|-
+TCONS_00000084 XLOC_000059 Xkr4|Xkr4 i - q2:CUFF.69|CUFF.69.1|100|18.799247|8.750627|28.847866|1.067797|-
+TCONS_00000085 XLOC_000060 Xkr4|Xkr4 i - q2:CUFF.67|CUFF.67.1|100|15.681351|3.378764|27.983938|0.890700|-
+TCONS_00000086 XLOC_000061 Xkr4|Xkr4 i - q2:CUFF.71|CUFF.71.1|100|22.635827|0.000000|54.647722|1.285714|-
+TCONS_00000087 XLOC_000063 Xkr4|Xkr4 i - q2:CUFF.73|CUFF.73.1|100|35.211287|0.000000|85.007567|2.000000|-
+TCONS_00000088 XLOC_000064 Xkr4|Xkr4 i - q2:CUFF.75|CUFF.75.1|100|52.816931|0.000000|113.804669|3.000000|-
+TCONS_00000089 XLOC_000066 Xkr4|Xkr4 i - q2:CUFF.77|CUFF.77.1|100|17.605644|0.000000|52.816931|1.000000|-
+TCONS_00000090 XLOC_000067 Xkr4|Xkr4 i - q2:CUFF.79|CUFF.79.1|100|13.390208|0.000000|32.326821|0.760563|-
+TCONS_00000091 XLOC_000068 Xkr4|Xkr4 i - q2:CUFF.81|CUFF.81.1|100|11.211141|1.183592|21.238690|0.636792|-
+TCONS_00000092 XLOC_000069 Xkr4|Xkr4 i - q2:CUFF.83|CUFF.83.1|100|21.126772|0.000000|51.004540|1.200000|-
+TCONS_00000093 XLOC_000070 Xkr4|Xkr4 i - q2:CUFF.85|CUFF.85.1|100|19.014095|0.000000|38.028190|1.080000|-
+TCONS_00000094 XLOC_000072 Xkr4|Xkr4 i - q2:CUFF.87|CUFF.87.1|100|24.170460|0.000000|52.080103|1.372881|-
+TCONS_00000095 XLOC_000074 Xkr4|Xkr4 i - q2:CUFF.89|CUFF.89.1|100|29.709524|0.000000|64.015126|1.687500|-
+TCONS_00000096 XLOC_000076 Xkr4|Xkr4 i - q2:CUFF.91|CUFF.91.1|100|35.211287|0.000000|85.007567|2.000000|-
+TCONS_00000097 XLOC_000078 Xkr4|Xkr4 i - q2:CUFF.93|CUFF.93.1|100|35.211287|0.000000|85.007567|2.000000|-
+TCONS_00000098 XLOC_000079 Xkr4|Xkr4 i - q2:CUFF.95|CUFF.95.1|100|35.211287|0.000000|85.007567|2.000000|-
+TCONS_00000099 XLOC_000081 Xkr4|Xkr4 i - q2:CUFF.97|CUFF.97.1|100|35.211287|0.000000|85.007567|2.000000|-
+TCONS_00000100 XLOC_000082 Xkr4|Xkr4 i - q2:CUFF.99|CUFF.99.1|100|19.602160|0.000000|39.204320|1.113402|-
diff -r bde09cbd60865053ffd0ab05138d6fa3e594d399 -r 277403d31907d71e5e77694c0c97c16772f23e27 test-data/cuffcompare_out7.txt
--- a/test-data/cuffcompare_out7.txt
+++ b/test-data/cuffcompare_out7.txt
@@ -1,13 +1,26 @@
-# Cuffcompare v1.0.3 | Command line was:
-#cuffcompare -o cc_output -r cuffcompare_in3.gtf -R cuffcompare_in1.gtf cuffcompare_in2.gtf
+# 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
#
-#= Summary for dataset: cuffcompare_in1.gtf :
+#= Summary for dataset: ./input1 :
# Query mRNAs : 50 in 50 loci (0 multi-exon transcripts)
# (0 multi-transcript loci, ~1.0 transcripts per locus)
-# Reference mRNAs : 0 in 0 loci (0 multi-exon)
+# Reference mRNAs : 1 in 1 loci (1 multi-exon)
+# Corresponding super-loci: 1
+#--------------------| Sn | Sp | fSn | fSp
+ Base level: 2.2 2.3 - -
+ Exon level: 0.0 0.0 0.0 0.0
+ Intron level: 0.0 nan 0.0 nan
+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%)
-#= Summary for dataset: cuffcompare_in2.gtf :
+#= Summary for dataset: ./input2 :
# Query mRNAs : 50 in 50 loci (0 multi-exon transcripts)
# (0 multi-transcript loci, ~1.0 transcripts per locus)
# Reference mRNAs : 0 in 0 loci (0 multi-exon)
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
18 Nov '11
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/changeset/bde09cbd6086/
changeset: bde09cbd6086
user: jgoecks
date: 2011-11-18 20:37:43
summary: Update test data for cufflinks v1.1.0
affected #: 3 files
diff -r ded0418d7dae7fba69461495d46c936324f9883a -r bde09cbd60865053ffd0ab05138d6fa3e594d399 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 "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";
+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";
diff -r ded0418d7dae7fba69461495d46c936324f9883a -r bde09cbd60865053ffd0ab05138d6fa3e594d399 test-data/cufflinks_out2.fpkm_tracking
--- a/test-data/cufflinks_out2.fpkm_tracking
+++ b/test-data/cufflinks_out2.fpkm_tracking
@@ -1,2 +1,2 @@
-tracking_id class_code nearest_ref_id gene_id gene_short_name tss_id locus length coverage status FPKM FPKM_conf_lo FPKM_conf_hi
-CUFF.1.1 - - CUFF.1 - - test_chromosome:52-550 298 145.77 OK 1.06791e+07 8.54331e+06 1.2815e+07
+tracking_id class_code nearest_ref_id gene_id gene_short_name tss_id locus length coverage FPKM FPKM_conf_lo FPKM_conf_hi FPKM_status
+CUFF.1.1 - - CUFF.1 - - test_chromosome:52-550 298 142.855 1.04656e+07 8.35119e+06 1.25799e+07 OK
diff -r ded0418d7dae7fba69461495d46c936324f9883a -r bde09cbd60865053ffd0ab05138d6fa3e594d399 test-data/cufflinks_out3.fpkm_tracking
--- a/test-data/cufflinks_out3.fpkm_tracking
+++ b/test-data/cufflinks_out3.fpkm_tracking
@@ -1,2 +1,2 @@
-tracking_id class_code nearest_ref_id gene_id gene_short_name tss_id locus length coverage status FPKM FPKM_conf_lo FPKM_conf_hi
-CUFF.1 - - CUFF.1 - - test_chromosome:52-550 - - OK 1.06791e+07 8.54331e+06 1.2815e+07
+tracking_id class_code nearest_ref_id gene_id gene_short_name tss_id locus length coverage FPKM FPKM_conf_lo FPKM_conf_hi FPKM_status
+CUFF.1 - - CUFF.1 - - test_chromosome:52-550 - - 1.04656e+07 8.35119e+06 1.25799e+07 OK
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
2 new commits in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/changeset/68aefd386f5c/
changeset: 68aefd386f5c
branch: updates-for-tophat-1.3.1+
user: natefoo
date: 2011-11-18 20:16:47
summary: Closed branch updates-for-tophat-1.3.1+
affected #: 0 files
https://bitbucket.org/galaxy/galaxy-central/changeset/ded0418d7dae/
changeset: ded0418d7dae
user: natefoo
date: 2011-11-18 20:17:34
summary: Merged updates-for-tophat-1.3.1+ branch closing.
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: greg: Add disk_usage methods to tool shed's User model object - fixes server error when viewing User Preferences.
by Bitbucket 18 Nov '11
by Bitbucket 18 Nov '11
18 Nov '11
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/changeset/e8a4a9b1ed14/
changeset: e8a4a9b1ed14
user: greg
date: 2011-11-18 20:04:29
summary: Add disk_usage methods to tool shed's User model object - fixes server error when viewing User Preferences.
affected #: 2 files
diff -r ccbee8d11a6a75b8cee78cc9647a31e0dc32894c -r e8a4a9b1ed1460ac259d5ed4a188906a47ff2a7e lib/galaxy/webapps/community/config.py
--- a/lib/galaxy/webapps/community/config.py
+++ b/lib/galaxy/webapps/community/config.py
@@ -41,6 +41,7 @@
self.cookie_path = kwargs.get( "cookie_path", "/" )
# web API
self.enable_api = string_as_bool( kwargs.get( 'enable_api', False ) )
+ self.enable_quotas = string_as_bool( kwargs.get( 'enable_quotas', False ) )
self.datatypes_config = kwargs.get( 'datatypes_config_file', 'datatypes_conf.xml' )
self.test_conf = resolve_path( kwargs.get( "test_conf", "" ), self.root )
self.id_secret = kwargs.get( "id_secret", "USING THE DEFAULT IS NOT SECURE!" )
diff -r ccbee8d11a6a75b8cee78cc9647a31e0dc32894c -r e8a4a9b1ed1460ac259d5ed4a188906a47ff2a7e lib/galaxy/webapps/community/model/__init__.py
--- a/lib/galaxy/webapps/community/model/__init__.py
+++ b/lib/galaxy/webapps/community/model/__init__.py
@@ -26,6 +26,14 @@
def check_password( self, cleartext ):
"""Check if 'cleartext' matches 'self.password' when hashed."""
return self.password == new_secure_hash( text_type=cleartext )
+ def get_disk_usage( self, nice_size=False ):
+ return 0
+ def set_disk_usage( self, bytes ):
+ pass
+ total_disk_usage = property( get_disk_usage, set_disk_usage )
+ @property
+ def nice_total_disk_usage( self ):
+ return 0
class Group( object ):
def __init__( self, name = None ):
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 use route memory when creating URLs to metadata files.
by Bitbucket 18 Nov '11
by Bitbucket 18 Nov '11
18 Nov '11
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/changeset/ccbee8d11a6a/
changeset: ccbee8d11a6a
user: jgoecks
date: 2011-11-18 19:56:19
summary: Do not use route memory when creating URLs to metadata files.
affected #: 1 file
diff -r 689aa9c246fed392b4eccbf6642d4871a7cf612f -r ccbee8d11a6a75b8cee78cc9647a31e0dc32894c templates/root/history_common.mako
--- a/templates/root/history_common.mako
+++ b/templates/root/history_common.mako
@@ -13,7 +13,7 @@
to_ext=data.ext )}">Download Dataset</a><a>Additional Files</a>
%for file_type in meta_files:
- <a class="action-button" href="${h.url_for( controller='dataset', action='get_metadata_file', \
+ <a class="action-button" href="${h.url_for( controller='/dataset', action='get_metadata_file', \
hda_id=dataset_id, metadata_name=file_type )}">Download ${file_type}</a>
%endfor
</div>
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: Update GenomeSpace import from file browser tool to use new versioned API.
by Bitbucket 18 Nov '11
by Bitbucket 18 Nov '11
18 Nov '11
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/changeset/689aa9c246fe/
changeset: 689aa9c246fe
user: dan
date: 2011-11-18 19:48:06
summary: Update GenomeSpace import from file browser tool to use new versioned API.
affected #: 2 files
diff -r 43219da282f61f1a3ee2f2578a247f673116ac7b -r 689aa9c246fed392b4eccbf6642d4871a7cf612f tools/data_source/genomespace_file_browser.py
--- a/tools/data_source/genomespace_file_browser.py
+++ b/tools/data_source/genomespace_file_browser.py
@@ -8,32 +8,16 @@
pkg_resources.require( "simplejson" )
import simplejson
+GENOMESPACE_API_VERSION_STRING = "v1.0"
+GENOMESPACE_SERVER_URL_PROPERTIES = "http://www.genomespace.org/sites/genomespacefiles/config/serverurl.properti…"
+
CHUNK_SIZE = 2**20 #1mb
DEFAULT_GALAXY_EXT = "data"
#genomespace format identifier is the URL
-GENOMESPACE_FORMAT_IDENTIFIER_TO_GENOMESPACE_EXT = { 'http://www.genomespace.org/datamanager/dataformat/res/0.0.0': 'res',
- 'http://www.genomespace.org/datamanager/dataformat/cbs/0.0.0': 'CBS',
- 'http://www.genomespace.org/datamanager/dataformat/lowercasetxt/0.0.0': 'lowercasetxt',
- 'http://www.genomespace.org/datamanager/dataformat/gff/0.0.0': 'GFF',
- 'http://www.genomespace.org/datamanager/dataformat/reversedtxt/0.0.0': 'reversedtxt',
- 'http://www.genomespace.org/datamanager/dataformat/gxp/0.0.0': 'gxp',
- 'http://www.genomespace.org/datamanager/dataformat/unknown/0.0.0': 'unknown',
- 'http://www.genomespace.org/datamanager/dataformat/gtf/0.0.0': 'GTF',
- 'http://www.genomespace.org/datamanager/dataformat/cn/0.0.0': 'cn',
- 'http://www.genomespace.org/datamanager/dataformat/gct/0.0.0': 'gct',
- 'http://www.genomespace.org/datamanager/dataformat/nowhitespace/0.0.0': 'nowhitespace',
- 'http://www.genomespace.org/datamanager/dataformat/gistic/0.0.0': 'GISTIC',
- 'http://www.genomespace.org/datamanager/dataformat/rifles/0.0.0': 'rifles',
- 'http://www.genomespace.org/datamanager/dataformat/bed/0.0.0': 'bed',
- 'http://www.genomespace.org/datamanager/dataformat/txt/0.0.0': 'txt',
- 'http://www.genomespace.org/datamanager/dataformat/uppercasetxt/0.0.0': 'uppercasetxt',
- 'http://www.genomespace.org/datamanager/dataformat/xcn/0.0.0': 'xcn',
- 'http://www.genomespace.org/datamanager/dataformat/gmt/0.0.0': 'gmt',
- 'http://www.genomespace.org/datamanager/dataformat/genomicatab/0.0.0': 'genomicatab',
- 'http://www.genomespace.org/datamanager/dataformat/lifes/0.0.0': 'lifes' }
-
+GENOMESPACE_FORMAT_IDENTIFIER_TO_GENOMESPACE_EXT = {} #TODO: fix this so it is not a global variable
+#TODO: we should use a better way to set up this mapping
GENOMESPACE_EXT_TO_GALAXY_EXT = {'rifles': 'rifles',
'lifes': 'lifes',
'cn': 'cn',
@@ -48,29 +32,13 @@
'reversedtxt': 'reversedtxt',
'nowhitespace': 'nowhitespace',
'unknown': 'unknown',
- 'txt': 'txt', 'uppercasetxt':
- 'uppercasetxt',
+ 'txt': 'txt',
+ 'uppercasetxt': 'uppercasetxt',
'GISTIC': 'gistic',
'GFF': 'gff',
'gmt': 'gmt',
'gct': 'gct'}
-'''
-https://dmdev.genomespace.org:8444/datamanager/dataformat/list
-from galaxy import eggs
-import pkg_resources
-pkg_resources.require( "simplejson" )
-import simplejson
-formats = simplejson.loads( '[{"name":"GISTIC","version":"0.0.0","url":"http:\/\/www.genomespace.org\/datamanager\/dataformat\/gistic\/0.0.0","fileExtension":"gistic"},{"name":"GFF","version":"0.0.0","url":"http:\/\/www.genomespace.org\/datamanager\/dataformat\/gff\/0.0.0","fileExtension":"seg"},{"name":"gct","version":"0.0.0","url":"http:\/\/www.genomespace.org\/datamanager\/dataformat\/gct\/0.0.0","fileExtension":"gct"},{"name":"lifes","version":"0.0.0","url":"http:\/\/www.genomespace.org\/datamanager\/dataformat\/lifes\/0.0.0","fileExtension":"lifes"},{"name":"GTF","version":"0.0.0","url":"http:\/\/www.genomespace.org\/datamanager\/dataformat\/gtf\/0.0.0","fileExtension":"gtf"},{"name":"rifles","version":"0.0.0","url":"http:\/\/www.genomespace.org\/datamanager\/dataformat\/rifles\/0.0.0","fileExtension":"rifles"},{"name":"CBS","version":"0.0.0","url":"http:\/\/www.genomespace.org\/datamanager\/dataformat\/cbs\/0.0.0","fileExtension":"cbs"},{"name":"unknown","version":"0.0.0","url":"http:\/\/www.genomespace.org\/datamanager\/dataformat\/unknown\/0.0.0"},{"name":"reversedtxt","version":"0.0.0","url":"http:\/\/www.genomespace.org\/datamanager\/dataformat\/reversedtxt\/0.0.0","fileExtension":"reversedtxt"},{"name":"res","version":"0.0.0","url":"http:\/\/www.genomespace.org\/datamanager\/dataformat\/res\/0.0.0","fileExtension":"res"},{"name":"cn","version":"0.0.0","url":"http:\/\/www.genomespace.org\/datamanager\/dataformat\/cn\/0.0.0","fileExtension":"cn"},{"name":"gmt","version":"0.0.0","url":"http:\/\/www.genomespace.org\/datamanager\/dataformat\/gmt\/0.0.0","fileExtension":"gmt"},{"name":"bed","version":"0.0.0","url":"http:\/\/www.genomespace.org\/datamanager\/dataformat\/bed\/0.0.0","fileExtension":"bed"},{"name":"gxp","version":"0.0.0","url":"http:\/\/www.genomespace.org\/datamanager\/dataformat\/gxp\/0.0.0","fileExtension":"gxp"},{"name":"uppercasetxt","version":"0.0.0","url":"http:\/\/www.genomespace.org\/datamanager\/dataformat\/uppercasetxt\/0.0.0","fileExtension":"uppertxt"},{"name":"lowercasetxt","version":"0.0.0","url":"http:\/\/www.genomespace.org\/datamanager\/dataformat\/lowercasetxt\/0.0.0","fileExtension":"lowertxt"},{"name":"genomicatab","version":"0.0.0","url":"http:\/\/www.genomespace.org\/datamanager\/dataformat\/genomicatab\/0.0.0","fileExtension":"tab"},{"name":"nowhitespace","version":"0.0.0","url":"http:\/\/www.genomespace.org\/datamanager\/dataformat\/nowhitespace\/0.0.0","fileExtension":"nowhitespace"},{"name":"xcn","version":"0.0.0","url":"http:\/\/www.genomespace.org\/datamanager\/dataformat\/xcn\/0.0.0","fileExtension":"xcn"},{"name":"txt","version":"0.0.0","url":"http:\/\/www.genomespace.org\/datamanager\/dataformat\/txt\/0.0.0","fileExtension":"txt"}]' )
-formats = [{"name":"GISTIC","version":"0.0.0","url":"http:\/\/www.genomespace.org\/datamanager\/dataformat\/gistic\/0.0.0","fileExtension":"gistic"},{"name":"GFF","version":"0.0.0","url":"http:\/\/www.genomespace.org\/datamanager\/dataformat\/gff\/0.0.0","fileExtension":"seg"},{"name":"gct","version":"0.0.0","url":"http:\/\/www.genomespace.org\/datamanager\/dataformat\/gct\/0.0.0","fileExtension":"gct"},{"name":"lifes","version":"0.0.0","url":"http:\/\/www.genomespace.org\/datamanager\/dataformat\/lifes\/0.0.0","fileExtension":"lifes"},{"name":"GTF","version":"0.0.0","url":"http:\/\/www.genomespace.org\/datamanager\/dataformat\/gtf\/0.0.0","fileExtension":"gtf"},{"name":"rifles","version":"0.0.0","url":"http:\/\/www.genomespace.org\/datamanager\/dataformat\/rifles\/0.0.0","fileExtension":"rifles"},{"name":"CBS","version":"0.0.0","url":"http:\/\/www.genomespace.org\/datamanager\/dataformat\/cbs\/0.0.0","fileExtension":"cbs"},{"name":"unknown","version":"0.0.0","url":"http:\/\/www.genomespace.org\/datamanager\/dataformat\/unknown\/0.0.0"},{"name":"reversedtxt","version":"0.0.0","url":"http:\/\/www.genomespace.org\/datamanager\/dataformat\/reversedtxt\/0.0.0","fileExtension":"reversedtxt"},{"name":"res","version":"0.0.0","url":"http:\/\/www.genomespace.org\/datamanager\/dataformat\/res\/0.0.0","fileExtension":"res"},{"name":"cn","version":"0.0.0","url":"http:\/\/www.genomespace.org\/datamanager\/dataformat\/cn\/0.0.0","fileExtension":"cn"},{"name":"gmt","version":"0.0.0","url":"http:\/\/www.genomespace.org\/datamanager\/dataformat\/gmt\/0.0.0","fileExtension":"gmt"},{"name":"bed","version":"0.0.0","url":"http:\/\/www.genomespace.org\/datamanager\/dataformat\/bed\/0.0.0","fileExtension":"bed"},{"name":"gxp","version":"0.0.0","url":"http:\/\/www.genomespace.org\/datamanager\/dataformat\/gxp\/0.0.0","fileExtension":"gxp"},{"name":"uppercasetxt","version":"0.0.0","url":"http:\/\/www.genomespace.org\/datamanager\/dataformat\/uppercasetxt\/0.0.0","fileExtension":"uppertxt"},{"name":"lowercasetxt","version":"0.0.0","url":"http:\/\/www.genomespace.org\/datamanager\/dataformat\/lowercasetxt\/0.0.0","fileExtension":"lowertxt"},{"name":"genomicatab","version":"0.0.0","url":"http:\/\/www.genomespace.org\/datamanager\/dataformat\/genomicatab\/0.0.0","fileExtension":"tab"},{"name":"nowhitespace","version":"0.0.0","url":"http:\/\/www.genomespace.org\/datamanager\/dataformat\/nowhitespace\/0.0.0","fileExtension":"nowhitespace"},{"name":"xcn","version":"0.0.0","url":"http:\/\/www.genomespace.org\/datamanager\/dataformat\/xcn\/0.0.0","fileExtension":"xcn"},{"name":"txt","version":"0.0.0","url":"http:\/\/www.genomespace.org\/datamanager\/dataformat\/txt\/0.0.0","fileExtension":"txt"}]
-GENOMESPACE_FORMAT_IDENTIFIER_TO_GALAXY_EXT = {}
-for format in formats:
- GENOMESPACE_FORMAT_IDENTIFIER_TO_GALAXY_EXT[ format[ 'url' ] ] = format['name']
-
-print GENOMESPACE_FORMAT_IDENTIFIER_TO_GALAXY_EXT
-#do manual change to galaxy exts
-'''
-
def chunk_write( source_stream, target_stream, source_method = "read", target_method="write" ):
source_method = getattr( source_stream, source_method )
@@ -101,7 +69,28 @@
ext = DEFAULT_GALAXY_EXT
return ext
-def download_from_genomespace_file_browser( json_parameter_file ):
+def get_genomespace_site_urls():
+ genomespace_sites = {}
+ for line in urllib2.urlopen( GENOMESPACE_SERVER_URL_PROPERTIES ).read().split( '\n' ):
+ line = line.rstrip()
+ if not line or line.startswith( "#" ):
+ continue
+ server, line = line.split( '.', 1 )
+ if server not in genomespace_sites:
+ genomespace_sites[server] = {}
+ line = line.split( "=", 1 )
+ genomespace_sites[server][line[0]] = line[1]
+ return genomespace_sites
+
+def set_genomespace_format_identifiers( url_opener, dm_site ):
+ gs_request = urllib2.Request( "%s/%s/dataformat/list" % ( dm_site, GENOMESPACE_API_VERSION_STRING ) )
+ gs_request.get_method = lambda: 'GET'
+ opened_gs_request = url_opener.open( gs_request )
+ genomespace_formats = simplejson.loads( opened_gs_request.read() )
+ for format in genomespace_formats:
+ GENOMESPACE_FORMAT_IDENTIFIER_TO_GENOMESPACE_EXT[ format['url'] ] = format['name']
+
+def download_from_genomespace_file_browser( json_parameter_file, genomespace_site ):
json_params = simplejson.loads( open( json_parameter_file, 'r' ).read() )
datasource_params = json_params.get( 'param_dict' )
username = datasource_params.get( "gs-username", None )
@@ -111,6 +100,10 @@
dataset_id = json_params['output_data'][0]['dataset_id']
hda_id = json_params['output_data'][0]['hda_id']
url_opener = get_cookie_opener( username, token )
+ #load and set genomespace format ids to galaxy exts
+ genomespace_site_dict = get_genomespace_site_urls()[ genomespace_site ]
+ set_genomespace_format_identifiers( url_opener, genomespace_site_dict['dmServer'] )
+
file_url_prefix = "fileUrl"
file_type_prefix = "fileFormat"
metadata_parameter_file = open( json_params['job_config']['TOOL_PROVIDED_JOB_METADATA_FILE'], 'wb' )
@@ -149,6 +142,7 @@
#Parse Command Line
parser = optparse.OptionParser()
parser.add_option( '-p', '--json_parameter_file', dest='json_parameter_file', action='store', type="string", default=None, help='json_parameter_file' )
+ parser.add_option( '-s', '--genomespace_site', dest='genomespace_site', action='store', type="string", default=None, help='genomespace_site' )
(options, args) = parser.parse_args()
- download_from_genomespace_file_browser( options.json_parameter_file )
+ download_from_genomespace_file_browser( options.json_parameter_file, options.genomespace_site )
diff -r 43219da282f61f1a3ee2f2578a247f673116ac7b -r 689aa9c246fed392b4eccbf6642d4871a7cf612f tools/data_source/genomespace_file_browser_dev.xml
--- a/tools/data_source/genomespace_file_browser_dev.xml
+++ b/tools/data_source/genomespace_file_browser_dev.xml
@@ -1,7 +1,7 @@
<?xml version="1.0"?><tool name="GenomeSpace import" id="genomespace_file_browser_dev" tool_type="data_source" add_galaxy_url="False" force_history_refresh="True" version="0.0.1">
- <description>from file browser</description>
- <command interpreter="python">genomespace_file_browser.py --json_parameter_file "${output}"</command>
+ <description>from file browser (development)</description>
+ <command interpreter="python">genomespace_file_browser.py --json_parameter_file "${output}" --genomespace_site "dev"</command><inputs action="https://dmdev.genomespace.org:8444/datamanager/defaultdirectory" check_values="False" method="post"><display>go to GenomeSpace Data Manager </display><param name="appCallbackUrl" type="baseurl" value="/tool_runner?tool_id=genomespace_file_browser_dev&runtool_btn=Execute" />
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 performance improvements: (a) build tile messages only once during tile creation and (b) move tiles rather than show/hide tiles when scrolling.
by Bitbucket 18 Nov '11
by Bitbucket 18 Nov '11
18 Nov '11
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/changeset/43219da282f6/
changeset: 43219da282f6
user: jgoecks
date: 2011-11-18 17:52:24
summary: Trackster performance improvements: (a) build tile messages only once during tile creation and (b) move tiles rather than show/hide tiles when scrolling.
affected #: 4 files
diff -r 1b24edc2108eaa2a5e82015d6462a49418cb9f28 -r 43219da282f61f1a3ee2f2578a247f673116ac7b static/june_2007_style/blue/trackster.css
--- a/static/june_2007_style/blue/trackster.css
+++ b/static/june_2007_style/blue/trackster.css
@@ -24,7 +24,7 @@
.track{background:white;}
.track-header{text-align:left;padding:4px 0px;color:#666;}
.track-header .menubutton{margin-left:0px;}
-.track-content{text-align:center;border-top:1px solid #eee;border-bottom:2px solid #eee;background:#eee url('../images/tracks/diag_bg.gif');min-height:16px;}
+.track-content{text-align:center;border-top:1px solid #eee;border-bottom:2px solid #eee;background:#eee url('../images/tracks/diag_bg.gif');min-height:16px;position:relative;}
.track-name{float:left;margin-top:2px;height:16px;}
.label-track .track-content{background:white;}
.track-tile{background:white;}
diff -r 1b24edc2108eaa2a5e82015d6462a49418cb9f28 -r 43219da282f61f1a3ee2f2578a247f673116ac7b static/june_2007_style/trackster.css.tmpl
--- a/static/june_2007_style/trackster.css.tmpl
+++ b/static/june_2007_style/trackster.css.tmpl
@@ -161,6 +161,7 @@
border-bottom: 2px solid #eee;
background: #eee url('../images/tracks/diag_bg.gif');
min-height: 16px;
+ position: relative;
}
.track-name {
diff -r 1b24edc2108eaa2a5e82015d6462a49418cb9f28 -r 43219da282f61f1a3ee2f2578a247f673116ac7b 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 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 m=function(t,s,i){return((t*299)+(s*587)+(i*114))/1000};var e=function(u,t,v,r,i,s){return(Math.max(u,r)-Math.min(u,r))+(Math.max(t,i)-Math.min(t,i))+(Math.max(v,s)-Math.min(v,s))};var g,n,f,k,p,h,q,c,d,b,o,l=false;do{g=Math.random()*16777215;n=g|16711680;f=g|65280;k=g|255;d=m(n,f,k);l=true;for(var j=0;j<a.length;j++){p=a[j];h=p|16711680;q=p|65280;c=p|255;b=m(h,q,c);o=e(n,f,k,h,q,c);if((Math.abs(d-b)<125)||(o<500)){l=false;break}}}while(!l);return"#"+(16777216+g).toString(16).substr(1,6)};var trackster_module=function(f,X){var p=f("class").extend,s=f("slotting"),M=f("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,H=9,E=20,T=H+2,z=100,J=12000,R=200,C=5,v=10,L=5000,w=100,o="There was an error in indexing this dataset. ",K="A converter for this dataset is not installed. Please check your datatypes_conf.xml file.",F="No data for this chrom/contig.",t="Currently indexing... please wait",x="Tool cannot be rerun: ",a="Loading data...",Y="Ready for display",d=10,u=5,B=5;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,am,aq)})},get_data:function(af,aj,ak,ag,ai){var ah=this.get_data_from_cache(af,aj,ak);if(ah){return ah}ah=this.load_data(af,aj,ak,ag,ai);this.set_data(af,aj,ak,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_data_from_cache(an,ai,am);if(!ao){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,am,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,am,ap);new_data_available.resolve(ap)});return new_data_available},get_data_from_cache:function(af,ag,ah){return this.get(this.gen_key(af,ag,ah))},set_data:function(ag,ah,ai,af){return this.set(this.gen_key(ag,ah,ai),af)},gen_key:function(af,ah,ai){var ag=af+"_"+ah+"_"+ai;return ag},split_key:function(af){return af.split("_")}});var I=function(ag,af,ah){S.call(this,ag,af,ah)};p(I.prototype,S.prototype,c.prototype,{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 G({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.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=this.build_icons_div().hide();this.header_div.append(this.icons_div);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)}};p(q.prototype,{init:function(){},request_draw:function(){},_draw:function(){},to_json:function(){},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(){},build_icons_div:function(){},update_icons:function(){},hide_contents:function(){},show_contents:function(){}});var y=function(aj,ai,ag,af,ah,ak){q.call(this,ai,ag,af,ah,ak);this.obj_type=aj;this.drawables=[]};p(y.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_json:function(){var ag=[];for(var af=0;af<this.drawables.length;af++){ag.push(this.drawables[af].to_json())}return{name:this.name,prefs:this.prefs,obj_type:this.obj_type,drawables:ag}},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},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 Q=function(ai,ag,af,ah){y.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(Q.prototype,q.prototype,y.prototype,{build_container_div:function(){return $("<div/>").addClass("group").attr("id","group_"+this.id).appendTo(this.container.content_div)},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},build_icons_div:function(){var af=$("<div/>").css("float","left");this.toggle_icon=$("<a/>").attr("href","javascript:void(0);").attr("title","Hide/show group content").addClass("icon-button toggle").tipsy({gravity:"s"}).appendTo(af);this.settings_icon=$("<a/>").attr("href","javascript:void(0);").attr("title","Edit settings").addClass("icon-button settings-icon").tipsy({gravity:"s"}).appendTo(af);this.remove_icon=$("<a/>").attr("href","javascript:void(0);").attr("title","Remove").addClass("icon-button remove-icon").tipsy({gravity:"s"}).appendTo(af);var ag=this;this.toggle_icon.click(function(){if(ag.content_visible){ag.toggle_icon.addClass("toggle-expand").removeClass("toggle");ag.hide_contents();ag.content_visible=false}else{ag.toggle_icon.addClass("toggle").removeClass("toggle-expand");ag.content_visible=true;ag.show_contents()}});this.settings_icon.click(function(){var aj=function(){hide_modal();$(window).unbind("keypress.check_enter_esc")},ah=function(){ag.config.update_from_form($(".dialog-box"));hide_modal();$(window).unbind("keypress.check_enter_esc")},ai=function(ak){if((ak.keyCode||ak.which)===27){aj()}else{if((ak.keyCode||ak.which)===13){ah()}}};$(window).bind("keypress.check_enter_esc",ai);show_modal("Configure Group",ag.config.build_form(),{Cancel:aj,OK:ah})});this.remove_icon.click(function(){$(".tipsy").remove();ag.remove()});return af},hide_contents:function(){this.content_div.hide()},show_contents:function(){this.content_div.show();this.request_draw()}});var ac=function(af,ai,ah,ag){y.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,y.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=w;$.extend(ah,(this.vis_id!==undefined?{vis_id:this.vis_id}:{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 A(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 '+w+"</option>"}if(aj.next_chroms){am+='<option value="next">Next '+w+"</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-w});return}if(ak==="next"){ah.load_chroms({low:this.chrom_start_index+w});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){y.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){y.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(C,Math.ceil(Math.log((this.high-this.low)/R)/Math.log(C)));this.zoom_res=Math.pow(v,Math.max(0,Math.ceil(Math.log(this.resolution,v)/Math.log(v))));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.nav_container.width(this.container.width());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()};this.overview_drawable.init();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 g(ag,ar,aj,au,an.min,an.max)}else{if(ap=="select"){this.params[this.params.length]=new O(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("slider").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},aj=this.track,ah=ag.tool_id+aj.tool_region_and_parameters_str(ag.chrom,ag.low,ag.high),af;if(aj.container===view){var ai=new Q(this.name,this.track.view,this.track.container);aj.container.add_drawable(ai);aj.container.remove_drawable(aj);ai.add_drawable(aj);aj.container_div.appendTo(ai.content_div);af=ai}else{af=aj.container}var ak=new aj.constructor(ah,view,af,"hda");ak.init_for_tool_data();ak.change_mode(aj.mode);af.add_drawable(ak);ak.content_div.text("Starting job.");this.run(ag,ak,function(al){ak.dataset_id=al.dataset_id;ak.content_div.text("Running job.");ak.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(K)}else{if(aj.error){ah.container_div.addClass("error");ah.content_div.text(x+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 O=function(ag,af,ah,ai){this.name=ag;this.label=af;this.html=ah;this.value=ai};var g=function(ah,ag,aj,ak,ai,af){O.call(this,ah,ag,aj,ak);this.min=ai;this.max=af};var h=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){h.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(aq,ay){this.track=aq;this.filters=[];for(var at=0;at<ay.length;at++){var au=ay[at],az=au.name,af=au.type,ah=au.index,ax=au.tool_id,aw=au.tool_exp_name;if(af==="int"||af==="float"){this.filters[at]=new V(az,ah,ax,aw)}else{console.log("ERROR: unsupported filter: ",az,af)}}var ai=function(aA,aB,aC){aA.click(function(){var aD=aB.text();max=parseFloat(aC.slider("option","max")),input_size=(max<=1?4:max<=1000000?max.toString().length:6),multi_value=false;if(aC.slider("option","values")){input_size=2*input_size+1;multi_value=true}aB.text("");$("<input type='text'/>").attr("size",input_size).attr("maxlength",input_size).attr("value",aD).appendTo(aB).focus().select().click(function(aE){aE.stopPropagation()}).blur(function(){$(this).remove();aB.text(aD)}).keyup(function(aI){if(aI.keyCode===27){$(this).trigger("blur")}else{if(aI.keyCode===13){var aG=aC.slider("option","min"),aE=aC.slider("option","max"),aH=function(aJ){return(isNaN(aJ)||aJ>aE||aJ<aG)},aF=$(this).val();if(!multi_value){aF=parseFloat(aF);if(aH(aF)){alert("Parameter value must be in the range ["+aG+"-"+aE+"]");return $(this)}}else{aF=aF.split("-");aF=[parseFloat(aF[0]),parseFloat(aF[1])];if(aH(aF[0])||aH(aF[1])){alert("Parameter value must be in the range ["+aG+"-"+aE+"]");return $(this)}}aC.slider((multi_value?"values":"value"),aF)}}})})};this.parent_div=$("<div/>").addClass("filters").hide();this.parent_div.bind("drag",function(aA){aA.stopPropagation()}).click(function(aA){aA.stopPropagation()}).bind("dblclick",function(aA){aA.stopPropagation()}).bind("keydown",function(aA){aA.stopPropagation()});var av=$("<div/>").addClass("sliders").appendTo(this.parent_div);var an=this;$.each(this.filters,function(aD,aF){aF.container=$("<div/>").addClass("filter-row slider-row").appendTo(av);var aE=$("<div/>").addClass("elt-label").appendTo(aF.container);var aC=$("<span/>").addClass("slider-name").text(aF.name+" ").appendTo(aE);var aB=$("<span/>");var aH=$("<span/>").addClass("slider-value").appendTo(aE).append("[").append(aB).append("]");var aA=$("<div/>").addClass("slider").appendTo(aF.container);aF.control_element=$("<div/>").attr("id",aF.name+"-filter-control").appendTo(aA);var aG=[0,0];aF.control_element.slider({range:true,min:Number.MAX_VALUE,max:-Number.MIN_VALUE,values:[0,0],slide:function(aJ,aK){var aI=aK.values;aB.text(aI[0]+"-"+aI[1]);aF.low=aI[0];aF.high=aI[1];an.track.request_draw(true,true)},change:function(aI,aJ){aF.control_element.slider("option","slide").call(aF.control_element,aI,aJ)}});aF.slider=aF.control_element;aF.slider_label=aB;ai(aH,aB,aF.control_element);$("<div style='clear: both;'/>").appendTo(aF.container)});if(this.filters.length!==0){var ak=$("<div/>").addClass("param-row").appendTo(av);var am=$("<input type='submit'/>").attr("value","Run on complete dataset").appendTo(ak);var ag=this;am.click(function(){ag.run_on_dataset()})}var ap=$("<div/>").addClass("display-controls").appendTo(this.parent_div),ar,al,ao,aj={Transparency:function(aA){an.alpha_filter=aA},Height:function(aA){an.height_filter=aA}};$.each(aj,function(aC,aB){ar=$("<div/>").addClass("filter-row").appendTo(ap),al=$("<span/>").addClass("elt-label").text(aC+":").appendTo(ar),ao=$("<select/>").attr("name",aC+"_dropdown").css("float","right").appendTo(ar);$("<option/>").attr("value",-1).text("== None ==").appendTo(ao);for(var aA=0;aA<an.filters.length;aA++){$("<option/>").attr("value",aA).text(an.filters[aA].name).appendTo(ao)}ao.change(function(){$(this).children("option:selected").each(function(){var aD=parseInt($(this).val());aj[aC]((aD>=0?an.filters[aD]:null));an.track.request_draw(true,true)})});$("<div style='clear: both;'/>").appendTo(ar)});$("<div style='clear: both;'/>").appendTo(this.parent_div)};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 D=function(af,ag){M.Scaler.call(this,ag);this.filter=af};D.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 G=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(G.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(am,aj){for(var ao=0;ao<am.length;ao++){ah=am[ao];if(ah.hidden){continue}var ak="param_"+ao;var at=ai.values[ah.key];var av=$("<div class='form-row' />").appendTo(aj);av.append($("<label />").attr("for",ak).text(ah.label+":"));if(ah.type==="bool"){av.append($('<input type="checkbox" />').attr("id",ak).attr("name",ak).attr("checked",at))}else{if(ah.type==="text"){av.append($('<input type="text"/>').attr("id",ak).val(at).click(function(){$(this).select()}))}else{if(ah.type=="select"){var aq=$("<select />").attr("id",ak);for(var an=0;an<ah.options.length;an++){$("<option/>").text(ah.options[an].label).attr("value",ah.options[an].value).appendTo(aq)}aq.val(at);av.append(aq)}else{if(ah.type==="color"){var ap=$("<input />").attr("id",ak).attr("name",ak).val(at);var ar=$("<div class='tipsy tipsy-west' style='position: absolute;' />").hide();var al=$("<div style='background-color: black; padding: 10px;'></div>").appendTo(ar);var au=$("<div/>").appendTo(al).farbtastic({width:100,height:100,callback:ap,color:at});$("<div />").append(ap).append(ar).appendTo(av).bind("click",function(aw){ar.css({left:$(this).position().left+$(ap).width()+5,top:$(this).position().top-($(ar).height()/2)+($(ap).height()/2)}).show();$(document).bind("click.color-picker",function(){ar.hide();$(document).unbind("click.color-picker")});aw.stopPropagation()})}else{av.append($("<input />").attr("id",ak).attr("name",ak).val(at))}}}}if(ah.help){av.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*R*ah;this.high=(ai+1)*R*ah;this.resolution=ah;this.canvas=$("<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 P=function(af,aj,ai,ah,al,am,ak,ag){b.call(this,af,aj,ai,ah,al);this.mode=am;this.message=ak;this.feature_mapper=ag};p(P.prototype,b.prototype);P.prototype.predisplay_actions=function(){var ag=this,af={};if(ag.mode!=="Pack"){return}$(this.canvas).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.canvas).parent());var aj=aq+parseInt(ag.canvas.css("left"))-ai.width()/2,ah=ap+parseInt(ag.canvas.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,aj,ak){q.call(this,ai,ag,af,{},"draghandle");this.data_url=(aj?aj:default_data_url);this.data_url_extra_params={};this.data_query_wait=(ak?ak:L);this.dataset_check_url=converted_datasets_state_url;if(!i.id_counter){i.id_counter=0}this.id=i.id_counter++;this.content_div=$("<div class='track-content'>").appendTo(this.container_div);this.container.content_div.append(this.container_div)};p(i.prototype,q.prototype,{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_icons_div:function(){var aj=$("<div/>").css("float","left");this.mode_icon=$("<a/>").attr("href","javascript:void(0);").attr("title","Set display mode").addClass("icon-button chevron-expand").tipsy({gravity:"s"}).appendTo(aj);this.toggle_icon=$("<a/>").attr("href","javascript:void(0);").attr("title","Hide/show track content").addClass("icon-button toggle").tipsy({gravity:"s"}).appendTo(aj);this.settings_icon=$("<a/>").attr("href","javascript:void(0);").attr("title","Edit settings").addClass("icon-button settings-icon").tipsy({gravity:"s"}).appendTo(aj);this.overview_icon=$("<a/>").attr("href","javascript:void(0);").attr("title","Set as overview").addClass("icon-button overview-icon").tipsy({gravity:"s"}).appendTo(aj);this.filters_icon=$("<a/>").attr("href","javascript:void(0);").attr("title","Filters").addClass("icon-button filters-icon").tipsy({gravity:"s"}).appendTo(aj).hide();this.tools_icon=$("<a/>").attr("href","javascript:void(0);").attr("title","Tools").addClass("icon-button tools-icon").tipsy({gravity:"s"}).appendTo(aj).hide();this.remove_icon=$("<a/>").attr("href","javascript:void(0);").attr("title","Remove").addClass("icon-button remove-icon").tipsy({gravity:"s"}).appendTo(aj);var ag=this;if(ag.display_modes!==undefined){var al=(ag.config&&ag.config.values.mode?ag.config.values.mode:ag.display_modes[0]);ag.mode=al;this.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 ak=ag.display_modes[ah];ai[ak]=function(am){return function(){ag.change_mode(am);ag.icons_div.show();ag.container_div.mouseleave(function(){ag.icons_div.hide()})}}(ak)}make_popupmenu(this.mode_icon,ai)}this.toggle_icon.click(function(){if(ag.content_visible){ag.toggle_icon.addClass("toggle-expand").removeClass("toggle");ag.hide_contents();ag.content_visible=false}else{ag.toggle_icon.addClass("toggle").removeClass("toggle-expand");ag.content_visible=true;ag.show_contents()}});this.settings_icon.click(function(){var ao=function(){hide_modal();$(window).unbind("keypress.check_enter_esc")},am=function(){ag.config.update_from_form($(".dialog-box"));hide_modal();$(window).unbind("keypress.check_enter_esc")},an=function(ap){if((ap.keyCode||ap.which)===27){ao()}else{if((ap.keyCode||ap.which)===13){am()}}};$(window).bind("keypress.check_enter_esc",an);show_modal("Configure Track",ag.config.build_form(),{Cancel:ao,OK:am})});this.overview_icon.click(function(){ag.view.set_overview(ag)});this.filters_icon.click(function(){ag.filters_div.toggle();ag.filters_manager.reset_filters()});this.tools_icon.click(function(){ag.dynamic_tool_div.toggle();if(ag.dynamic_tool_div.is(":visible")){ag.set_name(ag.name+ag.tool_region_and_parameters_str())}else{ag.revert_name()}$(".tipsy").remove()});this.remove_icon.click(function(){$(".tipsy").remove();ag.remove()});return aj},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 A){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 e){return"FeatureTrack"}}}}}}return""},init:function(){var af=this;af.enabled=false;af.tile_cache.clear();af.data_manager.clear();af.initial_canvas=undefined;af.content_div.css("height","auto");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(K)}else{if(ag==="no data"||(ag.data!==undefined&&(ag.data===null||ag.data.length===0))){af.container_div.addClass("nodata");af.content_div.text(F)}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 N=function(aj,ah,ag,ai,al,ak){i.call(this,aj,ah,ag,ai);var af=this,ah=af.view;m(af.container_div,af.drag_handle_class,".group",af);this.filters_manager=new aa(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);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(N.prototype,q.prototype,i.prototype,{copy:function(af){return new this.constructor(this.name,this.view,af,this.hda_ldda,this.dataset_id,this.prefs,this.filters,this.tool)},to_json: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,}},change_mode:function(ag){var af=this;af.mode=ag;af.config.values.mode=ag;af.tile_cache.clear();af.request_draw();this.mode_icon.attr("title","Set display mode (now: "+af.mode+")");return af},update_icons:function(){var af=this;if(af.filters_available>0){af.filters_icon.show()}else{af.filters_icon.hide()}if(af.tool){af.tools_icon.show()}else{af.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,ap){if(!this.enabled){return}if(!this.content_visible){return}if(!(this instanceof A)&&(!this.dataset_id)){return}var ao=this.view.low,al=this.view.high,am=al-ao,ai=this.view.container.width(),at=ai/am,ak=this.view.resolution,ar=$("<div style='position: relative;'></div>");if(this.is_overview){ao=this.view.max_low;al=this.view.max_high;ak=Math.pow(C,Math.ceil(Math.log((view.max_high-view.max_low)/R)/Math.log(C)));at=ai/(view.max_high-view.max_low)}if(!ap){this.content_div.children().remove()}this.content_div.append(ar);this.max_height=0;var ag=Math.floor(ao/ak/R);var an=true;var aq=[];var af=0;while((ag*R*ak)<al){tile=this.draw_helper(ah,ai,ag,ak,ar,at);if(tile){aq.push(tile)}else{an=false}ag+=1;af++}var aj=this;if(an){aj.postdraw_actions(aq,ai,at,ap)}},postdraw_actions:function(aj,ak,al,af){var ah=this;var ai=false;for(var ag=0;ag<aj.length;ag++){if(aj[ag].message){ai=true;break}}if(ai){for(var ag=0;ag<aj.length;ag++){tile=aj[ag];if(!tile.message){tile.canvas.css("padding-top",E)}}}},draw_helper:function(ag,ah,ai,al,ar,aw,at,am){var aj=this,aq=this._gen_tile_cache_key(ah,aw,ai),an=ai*R*al,av=an+R*al;var ao=(ag?undefined:aj.tile_cache.get(aq));if(ao){aj.show_tile(ao,ar,aw);return ao}var ap=function(ax){return("isResolved" in ax)};var ak=true;var af=aj.data_manager.get_data(an,av,aj.mode,al,aj.data_url_extra_params);if(ap(af)){ak=false}var au;if(view.reference_track&&aw>view.canvas_manager.char_width_px){au=view.reference_track.data_manager.get_data(an,av,aj.mode,al,view.reference_track.data_url_extra_params);if(ap(au)){ak=false}}if(ak){p(af,am);var ao=aj.draw_tile(af,aj.mode,al,ai,aw,au);if(ao!==undefined){aj.tile_cache.set(aq,ao);aj.show_tile(ao,ar,aw)}return ao}$.when(af,au).then(function(){view.request_redraw(false,false,false,aj)});return null},show_tile:function(al,an,ao){var ah=this,ag=al.canvas,ak=ag;if(al.message){var ap=$("<div/>"),am=$("<div/>").addClass("tile-message").text(al.message).css({height:E-1,width:al.canvas.width}).appendTo(ap),aj=$("<a href='javascript:void(0);'/>").addClass("icon more-down").appendTo(am),af=$("<a href='javascript:void(0);'/>").addClass("icon more-across").appendTo(am);ap.append(ag);ak=ap;aj.click(function(){al.stale=true;ah.data_manager.get_more_data(al.low,al.high,ah.mode,al.resolution,{},ah.data_manager.DEEP_DATA_REQ);ah.request_draw()}).dblclick(function(aq){aq.stopPropagation()});af.click(function(){al.stale=true;ah.data_manager.get_more_data(al.low,al.high,ah.mode,al.resolution,{},ah.data_manager.BROAD_DATA_REQ);ah.request_draw()}).dblclick(function(aq){aq.stopPropagation()})}al.predisplay_actions();var ai=(al.low-(this.is_overview?this.view.max_low:this.view.low))*ao;if(this.left_offset){ai-=this.left_offset}ak.css({position:"absolute",top:0,left:ai,height:""});an.append(ak);ah.max_height=Math.max(ah.max_height,ak.height());ah.content_div.css("height",ah.max_height+"px");an.children().css("height",ah.max_height+"px")},_get_tile_bounds:function(af,ag){var ai=af*R*ag,aj=R*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(", ")+"]"},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=L;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 A=function(af){N.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 I(B,this,false);this.tile_cache=new c(u)};p(A.prototype,q.prototype,N.prototype,{build_header_div:function(){},init:function(){this.enabled=true},draw_tile:function(ap,al,ak,ag,aq){var aj=this,ah=R*ak;if(aq>this.view.canvas_manager.char_width_px){if(ap.data===null){aj.content_div.css("height","0px");return}var ai=this.view.canvas_manager.new_canvas();var ao=ai.getContext("2d");ai.width=Math.ceil(ah*aq+aj.left_offset);ai.height=aj.height_px;ao.font=ao.canvas.manager.default_font;ao.textAlign="center";ap=ap.data;for(var am=0,an=ap.length;am<an;am++){var af=Math.round(am*aq);ao.fillText(ap[am],af+aj.left_offset,10)}return new b(aj,ag,ak,ai,ap)}this.content_div.css("height","0px")}});var j=function(ak,ai,ah,al,af,aj){var ag=this;this.display_modes=["Histogram","Line","Filled","Intensity"];this.mode="Histogram";N.call(this,ak,ai,ah,aj);this.min_height_px=16;this.max_height_px=400;this.height_px=32;this.hda_ldda=al;this.dataset_id=af;this.original_dataset_id=af;this.data_manager=new S(B,this);this.tile_cache=new c(u);this.left_offset=0;this.config=new G({track:this,params:[{key:"name",label:"Name",type:"text",default_value:ak},{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:aj,onchange:function(){ag.set_name(ag.prefs.name);ag.vertical_range=ag.prefs.max_value-ag.prefs.min_value;$("#linetrack_"+ag.dataset_id+"_minval").text(ag.prefs.min_value);$("#linetrack_"+ag.dataset_id+"_maxval").text(ag.prefs.max_value);ag.tile_cache.clear();ag.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,N.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(ar,ak,aj,ah,aq){if(this.vertical_range===undefined){return}var af=this._get_tile_bounds(ah,aj),al=af[0],ap=af[1],ag=Math.ceil((ap-al)*aq),an=this.height_px;var ai=this.view.canvas_manager.new_canvas();ai.width=ag,ai.height=an;var ao=ai.getContext("2d");var am=new M.LinePainter(ar.data,al,ap,this.prefs,ak);am.draw(ao,ag,an);return new b(this.track,ah,aj,ai,ar.data)}});var e=function(af,al,ag,ak,an,am,ai,aj){var ah=this;this.display_modes=["Auto","Histogram","Dense","Squish","Pack"];N.call(this,af,al,ag,am,ai,aj);this.config=new G({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: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.inc_slots={};this.start_end_dct={};this.tile_cache=new c(d);this.data_manager=new S(20,this);this.left_offset=200;this.set_painter_from_config()};p(e.prototype,q.prototype,N.prototype,{set_painter_from_config:function(){if(this.config.values.connector_style=="arcs"){this.painter=M.ArcLinkedFeaturePainter}else{this.painter=M.LinkedFeaturePainter}},postdraw_actions:function(av,af,aw,au){N.prototype.postdraw_actions.call(this,av,au);var ai=this;if(au){var ak=ai.content_div.children();var al=false;for(var aj=ak.length-1,ap=0;aj>=ap;aj--){var ah=$(ak[aj]);if(al){ah.remove()}else{if(ah.children().length!==0){al=true}}}}if(ai.mode=="Histogram"){var ao=-1;for(var aj=0;aj<av.length;aj++){var at=av[aj].max_val;if(at>ao){ao=at}}for(var aj=0;aj<av.length;aj++){var ar=av[aj];if(ar.max_val!==ao){ar.canvas.remove();ai.draw_helper(true,af,ar.index,ar.resolution,ar.canvas.parent(),aw,[],{max:ao})}}}if(ai.filters_manager){var ag=ai.filters_manager.filters;for(var an=0;an<ag.length;an++){ag[an].update_ui_elt()}var am=false,aq;for(var aj=0;aj<av.length;aj++){if(av[aj].data.length){aq=av[aj].data[0];for(var an=0;an<ag.length;an++){if(ag[an].applies_to(aq)){am=true;break}}}}if(ai.filters_available!==am){ai.filters_available=am;if(!ai.filters_available){ai.filters_div.hide()}ai.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.mode_icon.attr("title","Set display mode (now: Auto/"+af+")")}},incremental_slots:function(aj,ag,ai){var ah=this.view.canvas_manager.dummy_context,af=this.inc_slots[aj];if(!af||(af.mode!==ai)){af=new (s.FeatureSlotter)(aj,ai==="Pack",z,function(ak){return ah.measureText(ak)});af.mode=ai;this.inc_slots[aj]=af}return af.slot_features(ag)},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}},draw_tile:function(au,ax,aB,aF,ap,ai){var ay=this,ak=ay._get_tile_bounds(aF,aB),aI=ak[0],ag=ak[1],aw=ag-aI,az=Math.ceil(aw*ap),aO=25,aj=this.left_offset,av,al;if(ax==="Auto"){if(au.dataset_type==="summary_tree"){ax=au.dataset_type}else{if(au.extra_info==="no_detail"||ay.is_overview){ax="no_detail"}else{var aN=au.data;if(this.view.high-this.view.low>J){ax="Squish"}else{ax="Pack"}}}this.update_auto_mode(ax)}if(ax==="summary_tree"||ax==="Histogram"){al=this.summary_draw_height;this.container_div.find(".yaxislabel").remove();var af=$("<div />").addClass("yaxislabel");af.text(au.max);af.css({position:"absolute",top:"24px",left:"10px",color:this.prefs.label_color});af.prependTo(this.container_div);var ah=this.view.canvas_manager.new_canvas();ah.width=az+aj;ah.height=al+T;if(au.dataset_type!="summary_tree"){var aq=this.get_summary_tree_data(au.data,aI,ag,200);if(au.max){aq.max=au.max}au=aq}var aK=new M.SummaryTreePainter(au,aI,ag,this.prefs);var aA=ah.getContext("2d");aA.translate(aj,T);aK.draw(aA,az,al);return new k(ay,aF,aB,ah,au.data,au.max)}var av,an=1;if(ax==="no_detail"||ax==="Squish"||ax==="Pack"){an=this.incremental_slots(ap,au.data,ax);av=this.inc_slots[ap].slots}var ao=[];if(au.data){var ar=this.filters_manager.filters;for(var aC=0,aE=au.data.length;aC<aE;aC++){var am=au.data[aC];var aD=false;var at;for(var aH=0,aM=ar.length;aH<aM;aH++){at=ar[aH];at.update_attrs(am);if(!at.keep(am)){aD=true;break}}if(!aD){ao.push(am)}}}var aL=(this.filters_manager.alpha_filter?new D(this.filters_manager.alpha_filter):null);var aJ=(this.filters_manager.height_filter?new D(this.filters_manager.height_filter):null);var aK=new (this.painter)(ao,aI,ag,this.prefs,ax,aL,aJ,ai);var al=Math.max(ad,aK.get_required_height(an,az));var ah=this.view.canvas_manager.new_canvas();var aG=null;ah.width=az+aj;ah.height=al;var aA=ah.getContext("2d");aA.fillStyle=this.prefs.block_color;aA.font=aA.canvas.manager.default_font;aA.textAlign="right";this.container_div.find(".yaxislabel").remove();if(au.data){aA.translate(aj,0);aG=aK.draw(aA,az,al,av);aG.translation=-aj}return new P(ay,aF,aB,ah,au.data,ax,au.message,aG)}});var U=function(ak,ah,ag,am,af,aj,al,ai){e.call(this,ak,ah,ag,am,af,aj,al,ai);this.config=new G({track:this,params:[{key:"name",label:"Name",type:"text",default_value:ak},{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:aj,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=M.ReadPainter};p(U.prototype,q.prototype,N.prototype,e.prototype);var W=function(af,ak,ag,aj,an,am,ah){e.call(this,af,ak,ag,aj,an,am,ah);var ai=get_random_color(),al=get_random_color([ai,"#ffffff"]);this.config=new G({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: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=M.ReadPainter;this.update_icons()};p(W.prototype,q.prototype,N.prototype,e.prototype);X.View=ac;X.DrawableGroup=Q;X.LineTrack=j;X.FeatureTrack=e;X.ReadTrack=W;X.VcfTrack=U};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.include_label=h;this.max_rows=f;this.measureText=g};e(b.FeatureSlotter.prototype,{slot_features:function(m){var p=this.w_scale,s=this.slots,h=this.start_end_dct,y=[],A=[],n=0,z=this.max_rows;for(var w=0,x=m.length;w<x;w++){var l=m[w],o=l[0];if(s[o]!==undefined){n=Math.max(n,s[o]);A.push(s[o])}else{y.push(w)}}var q=function(F,G){for(var E=0;E<=z;E++){var C=false,H=h[E];if(H!==undefined){for(var B=0,D=H.length;B<D;B++){var i=H[B];if(G>i[0]&&F<i[1]){C=true;break}}}if(!C){return E}}return -1};for(var w=0,x=y.length;w<x;w++){var l=m[y[w]],o=l[0],u=l[1],f=l[2],r=l[3],g=Math.floor(u*p),k=Math.ceil(f*p),v=this.measureText(r).width,j;if(r!==undefined&&this.include_label){v+=(d+a);if(g-v>=0){g-=v;j="left"}else{k+=v;j="right"}}var t=q(g,k);if(t>=0){if(h[t]===undefined){h[t]=[]}h[t].push([g,k]);s[o]=t;n=Math.max(n,t)}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={};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){var E=this.view_start,O=this.view_end-this.view_start,N=z/O;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(N,M,K){var F=false,H=this.prefs.min_value,D=this.prefs.max_value,J=D-H,z=K,A=this.view_start,L=this.view_end-this.view_start,B=M/L,I=this.mode,T=this.data;N.save();var U=Math.round(K+H/J*K);if(I!=="Intensity"){N.fillStyle="#aaa";N.fillRect(0,U,M,1)}N.beginPath();var R,E,C;if(T.length>1){C=Math.ceil((T[1][0]-T[0][0])*B)}else{C=10}for(var O=0,P=T.length;O<P;O++){N.fillStyle=this.prefs.color;R=Math.round((T[O][0]-A)*B);E=T[O][1];var Q=false,G=false;if(E===null){if(F&&I==="Filled"){N.lineTo(R,z)}F=false;continue}if(E<H){G=true;E=H}else{if(E>D){Q=true;E=D}}if(I==="Histogram"){E=Math.round(E/J*z);N.fillRect(R,U,C,-E)}else{if(I==="Intensity"){E=255-Math.floor((E-H)/J*255);N.fillStyle="rgb("+E+","+E+","+E+")";N.fillRect(R,0,C,z)}else{E=Math.round(z-(E-H)/J*z);if(F){N.lineTo(R,E)}else{F=true;if(I==="Filled"){N.moveTo(R,z);N.lineTo(R,E)}else{N.moveTo(R,E)}}}}N.fillStyle=this.prefs.overflow_color;if(Q||G){var S;if(I==="Histogram"||I==="Intensity"){S=C}else{R-=2;S=4}if(Q){N.fillRect(R,0,S,3)}if(G){N.fillRect(R,z-3,S,3)}}N.fillStyle=this.prefs.color}if(I==="Filled"){if(F){N.lineTo(R,U);N.lineTo(0,U)}N.fill()}else{N.stroke()}N.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,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,E=I/H,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],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]-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 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 m=function(t,s,i){return((t*299)+(s*587)+(i*114))/1000};var e=function(u,t,v,r,i,s){return(Math.max(u,r)-Math.min(u,r))+(Math.max(t,i)-Math.min(t,i))+(Math.max(v,s)-Math.min(v,s))};var g,n,f,k,p,h,q,c,d,b,o,l=false;do{g=Math.random()*16777215;n=g|16711680;f=g|65280;k=g|255;d=m(n,f,k);l=true;for(var j=0;j<a.length;j++){p=a[j];h=p|16711680;q=p|65280;c=p|255;b=m(h,q,c);o=e(n,f,k,h,q,c);if((Math.abs(d-b)<125)||(o<500)){l=false;break}}}while(!l);return"#"+(16777216+g).toString(16).substr(1,6)};var trackster_module=function(f,X){var p=f("class").extend,s=f("slotting"),M=f("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,H=9,E=20,T=H+2,z=100,J=12000,R=200,C=5,v=10,L=5000,w=100,o="There was an error in indexing this dataset. ",K="A converter for this dataset is not installed. Please check your datatypes_conf.xml file.",F="No data for this chrom/contig.",t="Currently indexing... please wait",x="Tool cannot be rerun: ",a="Loading data...",Y="Ready for display",d=10,u=5,B=5;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,am,aq)})},get_data:function(af,aj,ak,ag,ai){var ah=this.get_data_from_cache(af,aj,ak);if(ah){return ah}ah=this.load_data(af,aj,ak,ag,ai);this.set_data(af,aj,ak,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_data_from_cache(an,ai,am);if(!ao){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,am,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,am,ap);new_data_available.resolve(ap)});return new_data_available},get_data_from_cache:function(af,ag,ah){return this.get(this.gen_key(af,ag,ah))},set_data:function(ag,ah,ai,af){return this.set(this.gen_key(ag,ah,ai),af)},gen_key:function(af,ah,ai){var ag=af+"_"+ah+"_"+ai;return ag},split_key:function(af){return af.split("_")}});var I=function(ag,af,ah){S.call(this,ag,af,ah)};p(I.prototype,S.prototype,c.prototype,{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 G({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.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=this.build_icons_div().hide();this.header_div.append(this.icons_div);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)}};p(q.prototype,{init:function(){},request_draw:function(){},_draw:function(){},to_json:function(){},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(){},build_icons_div:function(){},update_icons:function(){},hide_contents:function(){},show_contents:function(){}});var y=function(aj,ai,ag,af,ah,ak){q.call(this,ai,ag,af,ah,ak);this.obj_type=aj;this.drawables=[]};p(y.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_json:function(){var ag=[];for(var af=0;af<this.drawables.length;af++){ag.push(this.drawables[af].to_json())}return{name:this.name,prefs:this.prefs,obj_type:this.obj_type,drawables:ag}},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},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 Q=function(ai,ag,af,ah){y.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(Q.prototype,q.prototype,y.prototype,{build_container_div:function(){return $("<div/>").addClass("group").attr("id","group_"+this.id).appendTo(this.container.content_div)},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},build_icons_div:function(){var af=$("<div/>").css("float","left");this.toggle_icon=$("<a/>").attr("href","javascript:void(0);").attr("title","Hide/show group content").addClass("icon-button toggle").tipsy({gravity:"s"}).appendTo(af);this.settings_icon=$("<a/>").attr("href","javascript:void(0);").attr("title","Edit settings").addClass("icon-button settings-icon").tipsy({gravity:"s"}).appendTo(af);this.remove_icon=$("<a/>").attr("href","javascript:void(0);").attr("title","Remove").addClass("icon-button remove-icon").tipsy({gravity:"s"}).appendTo(af);var ag=this;this.toggle_icon.click(function(){if(ag.content_visible){ag.toggle_icon.addClass("toggle-expand").removeClass("toggle");ag.hide_contents();ag.content_visible=false}else{ag.toggle_icon.addClass("toggle").removeClass("toggle-expand");ag.content_visible=true;ag.show_contents()}});this.settings_icon.click(function(){var aj=function(){hide_modal();$(window).unbind("keypress.check_enter_esc")},ah=function(){ag.config.update_from_form($(".dialog-box"));hide_modal();$(window).unbind("keypress.check_enter_esc")},ai=function(ak){if((ak.keyCode||ak.which)===27){aj()}else{if((ak.keyCode||ak.which)===13){ah()}}};$(window).bind("keypress.check_enter_esc",ai);show_modal("Configure Group",ag.config.build_form(),{Cancel:aj,OK:ah})});this.remove_icon.click(function(){$(".tipsy").remove();ag.remove()});return af},hide_contents:function(){this.content_div.hide()},show_contents:function(){this.content_div.show();this.request_draw()}});var ac=function(af,ai,ah,ag){y.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,y.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=w;$.extend(ah,(this.vis_id!==undefined?{vis_id:this.vis_id}:{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 A(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 '+w+"</option>"}if(aj.next_chroms){am+='<option value="next">Next '+w+"</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-w});return}if(ak==="next"){ah.load_chroms({low:this.chrom_start_index+w});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){y.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){y.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(C,Math.ceil(Math.log((this.high-this.low)/R)/Math.log(C)));this.zoom_res=Math.pow(v,Math.max(0,Math.ceil(Math.log(this.resolution,v)/Math.log(v))));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.nav_container.width(this.container.width());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()};this.overview_drawable.init();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 g(ag,ar,aj,au,an.min,an.max)}else{if(ap=="select"){this.params[this.params.length]=new O(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("slider").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},aj=this.track,ah=ag.tool_id+aj.tool_region_and_parameters_str(ag.chrom,ag.low,ag.high),af;if(aj.container===view){var ai=new Q(this.name,this.track.view,this.track.container);aj.container.add_drawable(ai);aj.container.remove_drawable(aj);ai.add_drawable(aj);aj.container_div.appendTo(ai.content_div);af=ai}else{af=aj.container}var ak=new aj.constructor(ah,view,af,"hda");ak.init_for_tool_data();ak.change_mode(aj.mode);af.add_drawable(ak);ak.content_div.text("Starting job.");this.run(ag,ak,function(al){ak.dataset_id=al.dataset_id;ak.content_div.text("Running job.");ak.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(K)}else{if(aj.error){ah.container_div.addClass("error");ah.content_div.text(x+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 O=function(ag,af,ah,ai){this.name=ag;this.label=af;this.html=ah;this.value=ai};var g=function(ah,ag,aj,ak,ai,af){O.call(this,ah,ag,aj,ak);this.min=ai;this.max=af};var h=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){h.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(aq,ay){this.track=aq;this.filters=[];for(var at=0;at<ay.length;at++){var au=ay[at],az=au.name,af=au.type,ah=au.index,ax=au.tool_id,aw=au.tool_exp_name;if(af==="int"||af==="float"){this.filters[at]=new V(az,ah,ax,aw)}else{console.log("ERROR: unsupported filter: ",az,af)}}var ai=function(aA,aB,aC){aA.click(function(){var aD=aB.text();max=parseFloat(aC.slider("option","max")),input_size=(max<=1?4:max<=1000000?max.toString().length:6),multi_value=false;if(aC.slider("option","values")){input_size=2*input_size+1;multi_value=true}aB.text("");$("<input type='text'/>").attr("size",input_size).attr("maxlength",input_size).attr("value",aD).appendTo(aB).focus().select().click(function(aE){aE.stopPropagation()}).blur(function(){$(this).remove();aB.text(aD)}).keyup(function(aI){if(aI.keyCode===27){$(this).trigger("blur")}else{if(aI.keyCode===13){var aG=aC.slider("option","min"),aE=aC.slider("option","max"),aH=function(aJ){return(isNaN(aJ)||aJ>aE||aJ<aG)},aF=$(this).val();if(!multi_value){aF=parseFloat(aF);if(aH(aF)){alert("Parameter value must be in the range ["+aG+"-"+aE+"]");return $(this)}}else{aF=aF.split("-");aF=[parseFloat(aF[0]),parseFloat(aF[1])];if(aH(aF[0])||aH(aF[1])){alert("Parameter value must be in the range ["+aG+"-"+aE+"]");return $(this)}}aC.slider((multi_value?"values":"value"),aF)}}})})};this.parent_div=$("<div/>").addClass("filters").hide();this.parent_div.bind("drag",function(aA){aA.stopPropagation()}).click(function(aA){aA.stopPropagation()}).bind("dblclick",function(aA){aA.stopPropagation()}).bind("keydown",function(aA){aA.stopPropagation()});var av=$("<div/>").addClass("sliders").appendTo(this.parent_div);var an=this;$.each(this.filters,function(aD,aF){aF.container=$("<div/>").addClass("filter-row slider-row").appendTo(av);var aE=$("<div/>").addClass("elt-label").appendTo(aF.container);var aC=$("<span/>").addClass("slider-name").text(aF.name+" ").appendTo(aE);var aB=$("<span/>");var aH=$("<span/>").addClass("slider-value").appendTo(aE).append("[").append(aB).append("]");var aA=$("<div/>").addClass("slider").appendTo(aF.container);aF.control_element=$("<div/>").attr("id",aF.name+"-filter-control").appendTo(aA);var aG=[0,0];aF.control_element.slider({range:true,min:Number.MAX_VALUE,max:-Number.MIN_VALUE,values:[0,0],slide:function(aJ,aK){var aI=aK.values;aB.text(aI[0]+"-"+aI[1]);aF.low=aI[0];aF.high=aI[1];an.track.request_draw(true,true)},change:function(aI,aJ){aF.control_element.slider("option","slide").call(aF.control_element,aI,aJ)}});aF.slider=aF.control_element;aF.slider_label=aB;ai(aH,aB,aF.control_element);$("<div style='clear: both;'/>").appendTo(aF.container)});if(this.filters.length!==0){var ak=$("<div/>").addClass("param-row").appendTo(av);var am=$("<input type='submit'/>").attr("value","Run on complete dataset").appendTo(ak);var ag=this;am.click(function(){ag.run_on_dataset()})}var ap=$("<div/>").addClass("display-controls").appendTo(this.parent_div),ar,al,ao,aj={Transparency:function(aA){an.alpha_filter=aA},Height:function(aA){an.height_filter=aA}};$.each(aj,function(aC,aB){ar=$("<div/>").addClass("filter-row").appendTo(ap),al=$("<span/>").addClass("elt-label").text(aC+":").appendTo(ar),ao=$("<select/>").attr("name",aC+"_dropdown").css("float","right").appendTo(ar);$("<option/>").attr("value",-1).text("== None ==").appendTo(ao);for(var aA=0;aA<an.filters.length;aA++){$("<option/>").attr("value",aA).text(an.filters[aA].name).appendTo(ao)}ao.change(function(){$(this).children("option:selected").each(function(){var aD=parseInt($(this).val());aj[aC]((aD>=0?an.filters[aD]:null));an.track.request_draw(true,true)})});$("<div style='clear: both;'/>").appendTo(ar)});$("<div style='clear: both;'/>").appendTo(this.parent_div)};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 D=function(af,ag){M.Scaler.call(this,ag);this.filter=af};D.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 G=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(G.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(am,aj){for(var ao=0;ao<am.length;ao++){ah=am[ao];if(ah.hidden){continue}var ak="param_"+ao;var at=ai.values[ah.key];var av=$("<div class='form-row' />").appendTo(aj);av.append($("<label />").attr("for",ak).text(ah.label+":"));if(ah.type==="bool"){av.append($('<input type="checkbox" />').attr("id",ak).attr("name",ak).attr("checked",at))}else{if(ah.type==="text"){av.append($('<input type="text"/>').attr("id",ak).val(at).click(function(){$(this).select()}))}else{if(ah.type=="select"){var aq=$("<select />").attr("id",ak);for(var an=0;an<ah.options.length;an++){$("<option/>").text(ah.options[an].label).attr("value",ah.options[an].value).appendTo(aq)}aq.val(at);av.append(aq)}else{if(ah.type==="color"){var ap=$("<input />").attr("id",ak).attr("name",ak).val(at);var ar=$("<div class='tipsy tipsy-west' style='position: absolute;' />").hide();var al=$("<div style='background-color: black; padding: 10px;'></div>").appendTo(ar);var au=$("<div/>").appendTo(al).farbtastic({width:100,height:100,callback:ap,color:at});$("<div />").append(ap).append(ar).appendTo(av).bind("click",function(aw){ar.css({left:$(this).position().left+$(ap).width()+5,top:$(this).position().top-($(ar).height()/2)+($(ap).height()/2)}).show();$(document).bind("click.color-picker",function(){ar.hide();$(document).unbind("click.color-picker")});aw.stopPropagation()})}else{av.append($("<input />").attr("id",ak).attr("name",ak).val(at))}}}}if(ah.help){av.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*R*ah;this.high=(ai+1)*R*ah;this.resolution=ah;this.canvas=$("<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 P=function(ah,am,ai,ag,ak,al,ap,an){b.call(this,ah,am,ai,ag,ak);this.mode=al;this.message=ap;this.feature_mapper=an;if(this.message){var ag=this.canvas.children()[0],ao=$("<div/>").addClass("tile-message").text(this.message).css({height:E-1,width:ag.width}).prependTo(this.canvas),aj=$("<a href='javascript:void(0);'/>").addClass("icon more-down").appendTo(ao),af=$("<a href='javascript:void(0);'/>").addClass("icon more-across").appendTo(ao);aj.click(function(){tile.stale=true;ah.data_manager.get_more_data(tile.low,tile.high,ah.mode,tile.resolution,{},ah.data_manager.DEEP_DATA_REQ);ah.request_draw()}).dblclick(function(aq){aq.stopPropagation()});af.click(function(){tile.stale=true;ah.data_manager.get_more_data(tile.low,tile.high,ah.mode,tile.resolution,{},ah.data_manager.BROAD_DATA_REQ);ah.request_draw()}).dblclick(function(aq){aq.stopPropagation()})}};p(P.prototype,b.prototype);P.prototype.predisplay_actions=function(){var ag=this,af={};if(ag.mode!=="Pack"){return}$(this.canvas).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.canvas).parent());var aj=aq+parseInt(ag.canvas.css("left"))-ai.width()/2,ah=ap+parseInt(ag.canvas.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,aj,ak){q.call(this,ai,ag,af,{},"draghandle");this.data_url=(aj?aj:default_data_url);this.data_url_extra_params={};this.data_query_wait=(ak?ak:L);this.dataset_check_url=converted_datasets_state_url;if(!i.id_counter){i.id_counter=0}this.id=i.id_counter++;this.content_div=$("<div class='track-content'>").appendTo(this.container_div);this.container.content_div.append(this.container_div)};p(i.prototype,q.prototype,{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_icons_div:function(){var aj=$("<div/>").css("float","left");this.mode_icon=$("<a/>").attr("href","javascript:void(0);").attr("title","Set display mode").addClass("icon-button chevron-expand").tipsy({gravity:"s"}).appendTo(aj);this.toggle_icon=$("<a/>").attr("href","javascript:void(0);").attr("title","Hide/show track content").addClass("icon-button toggle").tipsy({gravity:"s"}).appendTo(aj);this.settings_icon=$("<a/>").attr("href","javascript:void(0);").attr("title","Edit settings").addClass("icon-button settings-icon").tipsy({gravity:"s"}).appendTo(aj);this.overview_icon=$("<a/>").attr("href","javascript:void(0);").attr("title","Set as overview").addClass("icon-button overview-icon").tipsy({gravity:"s"}).appendTo(aj);this.filters_icon=$("<a/>").attr("href","javascript:void(0);").attr("title","Filters").addClass("icon-button filters-icon").tipsy({gravity:"s"}).appendTo(aj).hide();this.tools_icon=$("<a/>").attr("href","javascript:void(0);").attr("title","Tools").addClass("icon-button tools-icon").tipsy({gravity:"s"}).appendTo(aj).hide();this.remove_icon=$("<a/>").attr("href","javascript:void(0);").attr("title","Remove").addClass("icon-button remove-icon").tipsy({gravity:"s"}).appendTo(aj);var ag=this;if(ag.display_modes!==undefined){var al=(ag.config&&ag.config.values.mode?ag.config.values.mode:ag.display_modes[0]);ag.mode=al;this.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 ak=ag.display_modes[ah];ai[ak]=function(am){return function(){ag.change_mode(am);ag.icons_div.show();ag.container_div.mouseleave(function(){ag.icons_div.hide()})}}(ak)}make_popupmenu(this.mode_icon,ai)}this.toggle_icon.click(function(){if(ag.content_visible){ag.toggle_icon.addClass("toggle-expand").removeClass("toggle");ag.hide_contents();ag.content_visible=false}else{ag.toggle_icon.addClass("toggle").removeClass("toggle-expand");ag.content_visible=true;ag.show_contents()}});this.settings_icon.click(function(){var ao=function(){hide_modal();$(window).unbind("keypress.check_enter_esc")},am=function(){ag.config.update_from_form($(".dialog-box"));hide_modal();$(window).unbind("keypress.check_enter_esc")},an=function(ap){if((ap.keyCode||ap.which)===27){ao()}else{if((ap.keyCode||ap.which)===13){am()}}};$(window).bind("keypress.check_enter_esc",an);show_modal("Configure Track",ag.config.build_form(),{Cancel:ao,OK:am})});this.overview_icon.click(function(){ag.view.set_overview(ag)});this.filters_icon.click(function(){ag.filters_div.toggle();ag.filters_manager.reset_filters()});this.tools_icon.click(function(){ag.dynamic_tool_div.toggle();if(ag.dynamic_tool_div.is(":visible")){ag.set_name(ag.name+ag.tool_region_and_parameters_str())}else{ag.revert_name()}$(".tipsy").remove()});this.remove_icon.click(function(){$(".tipsy").remove();ag.remove()});return aj},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 A){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 e){return"FeatureTrack"}}}}}}return""},init:function(){var af=this;af.enabled=false;af.tile_cache.clear();af.data_manager.clear();af.initial_canvas=undefined;af.content_div.css("height","auto");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(K)}else{if(ag==="no data"||(ag.data!==undefined&&(ag.data===null||ag.data.length===0))){af.container_div.addClass("nodata");af.content_div.text(F)}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 N=function(aj,ah,ag,ai,al,ak){i.call(this,aj,ah,ag,ai);var af=this,ah=af.view;m(af.container_div,af.drag_handle_class,".group",af);this.filters_manager=new aa(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);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(N.prototype,q.prototype,i.prototype,{copy:function(af){return new this.constructor(this.name,this.view,af,this.hda_ldda,this.dataset_id,this.prefs,this.filters,this.tool)},to_json: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,}},change_mode:function(ag){var af=this;af.mode=ag;af.config.values.mode=ag;af.tile_cache.clear();af.request_draw();this.mode_icon.attr("title","Set display mode (now: "+af.mode+")");return af},update_icons:function(){var af=this;if(af.filters_available>0){af.filters_icon.show()}else{af.filters_icon.hide()}if(af.tool){af.tools_icon.show()}else{af.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,ap){if(!this.enabled){return}if(!this.content_visible){return}if(!(this instanceof A)&&(!this.dataset_id)){return}var ao=this.view.low,al=this.view.high,am=al-ao,ai=this.view.container.width(),at=ai/am,ak=this.view.resolution,ar=this.content_div;if(this.is_overview){ao=this.view.max_low;al=this.view.max_high;ak=Math.pow(C,Math.ceil(Math.log((view.max_high-view.max_low)/R)/Math.log(C)));at=ai/(view.max_high-view.max_low)}if(!ap){this.content_div.children().addClass("remove")}this.max_height=0;var ag=Math.floor(ao/ak/R);var an=true;var aq=[];var af=0;while((ag*R*ak)<al){tile=this.draw_helper(ah,ai,ag,ak,ar,at);if(tile){aq.push(tile)}else{an=false}ag+=1;af++}if(!ap){this.content_div.children(".remove").remove()}var aj=this;if(an){aj.postdraw_actions(aq,ai,at,ap)}},postdraw_actions:function(aj,ak,al,af){var ah=this;var ai=false;for(var ag=0;ag<aj.length;ag++){if(aj[ag].message){ai=true;break}}if(ai){for(var ag=0;ag<aj.length;ag++){tile=aj[ag];if(!tile.message){tile.canvas.css("padding-top",E)}}}},draw_helper:function(ag,ah,ai,al,ar,aw,at,am){var aj=this,aq=this._gen_tile_cache_key(ah,aw,ai),an=ai*R*al,av=an+R*al;var ao=(ag?undefined:aj.tile_cache.get(aq));if(ao){aj.show_tile(ao,ar,aw);return ao}var ap=function(ax){return("isResolved" in ax)};var ak=true;var af=aj.data_manager.get_data(an,av,aj.mode,al,aj.data_url_extra_params);if(ap(af)){ak=false}var au;if(view.reference_track&&aw>view.canvas_manager.char_width_px){au=view.reference_track.data_manager.get_data(an,av,aj.mode,al,view.reference_track.data_url_extra_params);if(ap(au)){ak=false}}if(ak){p(af,am);var ao=aj.draw_tile(af,aj.mode,al,ai,aw,au);if(ao!==undefined){aj.tile_cache.set(aq,ao);aj.show_tile(ao,ar,aw)}return ao}$.when(af,au).then(function(){view.request_redraw(false,false,false,aj)});return null},show_tile:function(ah,aj,ak){var ag=this,af=ah.canvas;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*R*ag,aj=R*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(", ")+"]"},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=L;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 A=function(af){N.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 I(B,this,false);this.tile_cache=new c(u)};p(A.prototype,q.prototype,N.prototype,{build_header_div:function(){},init:function(){this.enabled=true},draw_tile:function(ap,al,ak,ag,aq){var aj=this,ah=R*ak;if(aq>this.view.canvas_manager.char_width_px){if(ap.data===null){aj.content_div.css("height","0px");return}var ai=this.view.canvas_manager.new_canvas();var ao=ai.getContext("2d");ai.width=Math.ceil(ah*aq+aj.left_offset);ai.height=aj.height_px;ao.font=ao.canvas.manager.default_font;ao.textAlign="center";ap=ap.data;for(var am=0,an=ap.length;am<an;am++){var af=Math.round(am*aq);ao.fillText(ap[am],af+aj.left_offset,10)}return new b(aj,ag,ak,ai,ap)}this.content_div.css("height","0px")}});var j=function(ak,ai,ah,al,af,aj){var ag=this;this.display_modes=["Histogram","Line","Filled","Intensity"];this.mode="Histogram";N.call(this,ak,ai,ah,aj);this.min_height_px=16;this.max_height_px=400;this.height_px=32;this.hda_ldda=al;this.dataset_id=af;this.original_dataset_id=af;this.data_manager=new S(B,this);this.tile_cache=new c(u);this.left_offset=0;this.config=new G({track:this,params:[{key:"name",label:"Name",type:"text",default_value:ak},{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:aj,onchange:function(){ag.set_name(ag.prefs.name);ag.vertical_range=ag.prefs.max_value-ag.prefs.min_value;$("#linetrack_"+ag.dataset_id+"_minval").text(ag.prefs.min_value);$("#linetrack_"+ag.dataset_id+"_maxval").text(ag.prefs.max_value);ag.tile_cache.clear();ag.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,N.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(ar,ak,aj,ah,aq){if(this.vertical_range===undefined){return}var af=this._get_tile_bounds(ah,aj),al=af[0],ap=af[1],ag=Math.ceil((ap-al)*aq),an=this.height_px;var ai=this.view.canvas_manager.new_canvas();ai.width=ag,ai.height=an;var ao=ai.getContext("2d");var am=new M.LinePainter(ar.data,al,ap,this.prefs,ak);am.draw(ao,ag,an);return new b(this.track,ah,aj,ai,ar.data)}});var e=function(af,al,ag,ak,an,am,ai,aj){var ah=this;this.display_modes=["Auto","Histogram","Dense","Squish","Pack"];N.call(this,af,al,ag,am,ai,aj);this.config=new G({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: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.inc_slots={};this.start_end_dct={};this.tile_cache=new c(d);this.data_manager=new S(20,this);this.left_offset=200;this.set_painter_from_config()};p(e.prototype,q.prototype,N.prototype,{set_painter_from_config:function(){if(this.config.values.connector_style=="arcs"){this.painter=M.ArcLinkedFeaturePainter}else{this.painter=M.LinkedFeaturePainter}},postdraw_actions:function(av,af,aw,au){N.prototype.postdraw_actions.call(this,av,au);var ai=this;if(au){var ak=ai.content_div.children();var al=false;for(var aj=ak.length-1,ap=0;aj>=ap;aj--){var ah=$(ak[aj]);if(al){ah.remove()}else{if(ah.children().length!==0){al=true}}}}if(ai.mode=="Histogram"){var ao=-1;for(var aj=0;aj<av.length;aj++){var at=av[aj].max_val;if(at>ao){ao=at}}for(var aj=0;aj<av.length;aj++){var ar=av[aj];if(ar.max_val!==ao){ar.canvas.remove();ai.draw_helper(true,af,ar.index,ar.resolution,ar.canvas.parent(),aw,[],{max:ao})}}}if(ai.filters_manager){var ag=ai.filters_manager.filters;for(var an=0;an<ag.length;an++){ag[an].update_ui_elt()}var am=false,aq;for(var aj=0;aj<av.length;aj++){if(av[aj].data.length){aq=av[aj].data[0];for(var an=0;an<ag.length;an++){if(ag[an].applies_to(aq)){am=true;break}}}}if(ai.filters_available!==am){ai.filters_available=am;if(!ai.filters_available){ai.filters_div.hide()}ai.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.mode_icon.attr("title","Set display mode (now: Auto/"+af+")")}},incremental_slots:function(aj,ag,ai){var ah=this.view.canvas_manager.dummy_context,af=this.inc_slots[aj];if(!af||(af.mode!==ai)){af=new (s.FeatureSlotter)(aj,ai==="Pack",z,function(ak){return ah.measureText(ak)});af.mode=ai;this.inc_slots[aj]=af}return af.slot_features(ag)},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}},draw_tile:function(au,ax,aB,aF,ap,ai){var ay=this,ak=ay._get_tile_bounds(aF,aB),aI=ak[0],ag=ak[1],aw=ag-aI,az=Math.ceil(aw*ap),aO=25,aj=this.left_offset,av,al;if(ax==="Auto"){if(au.dataset_type==="summary_tree"){ax=au.dataset_type}else{if(au.extra_info==="no_detail"||ay.is_overview){ax="no_detail"}else{var aN=au.data;if(this.view.high-this.view.low>J){ax="Squish"}else{ax="Pack"}}}this.update_auto_mode(ax)}if(ax==="summary_tree"||ax==="Histogram"){al=this.summary_draw_height;this.container_div.find(".yaxislabel").remove();var af=$("<div />").addClass("yaxislabel");af.text(au.max);af.css({position:"absolute",top:"24px",left:"10px",color:this.prefs.label_color});af.prependTo(this.container_div);var ah=this.view.canvas_manager.new_canvas();ah.width=az+aj;ah.height=al+T;if(au.dataset_type!="summary_tree"){var aq=this.get_summary_tree_data(au.data,aI,ag,200);if(au.max){aq.max=au.max}au=aq}var aK=new M.SummaryTreePainter(au,aI,ag,this.prefs);var aA=ah.getContext("2d");aA.translate(aj,T);aK.draw(aA,az,al);return new k(ay,aF,aB,ah,au.data,au.max)}var av,an=1;if(ax==="no_detail"||ax==="Squish"||ax==="Pack"){an=this.incremental_slots(ap,au.data,ax);av=this.inc_slots[ap].slots}var ao=[];if(au.data){var ar=this.filters_manager.filters;for(var aC=0,aE=au.data.length;aC<aE;aC++){var am=au.data[aC];var aD=false;var at;for(var aH=0,aM=ar.length;aH<aM;aH++){at=ar[aH];at.update_attrs(am);if(!at.keep(am)){aD=true;break}}if(!aD){ao.push(am)}}}var aL=(this.filters_manager.alpha_filter?new D(this.filters_manager.alpha_filter):null);var aJ=(this.filters_manager.height_filter?new D(this.filters_manager.height_filter):null);var aK=new (this.painter)(ao,aI,ag,this.prefs,ax,aL,aJ,ai);var al=Math.max(ad,aK.get_required_height(an,az));var ah=this.view.canvas_manager.new_canvas();var aG=null;ah.width=az+aj;ah.height=al;var aA=ah.getContext("2d");aA.fillStyle=this.prefs.block_color;aA.font=aA.canvas.manager.default_font;aA.textAlign="right";this.container_div.find(".yaxislabel").remove();if(au.data){aA.translate(aj,0);aG=aK.draw(aA,az,al,av);aG.translation=-aj}return new P(ay,aF,aB,ah,au.data,ax,au.message,aG)}});var U=function(ak,ah,ag,am,af,aj,al,ai){e.call(this,ak,ah,ag,am,af,aj,al,ai);this.config=new G({track:this,params:[{key:"name",label:"Name",type:"text",default_value:ak},{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:aj,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=M.ReadPainter};p(U.prototype,q.prototype,N.prototype,e.prototype);var W=function(af,ak,ag,aj,an,am,ah){e.call(this,af,ak,ag,aj,an,am,ah);var ai=get_random_color(),al=get_random_color([ai,"#ffffff"]);this.config=new G({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: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=M.ReadPainter;this.update_icons()};p(W.prototype,q.prototype,N.prototype,e.prototype);X.View=ac;X.DrawableGroup=Q;X.LineTrack=j;X.FeatureTrack=e;X.ReadTrack=W;X.VcfTrack=U};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.include_label=h;this.max_rows=f;this.measureText=g};e(b.FeatureSlotter.prototype,{slot_features:function(m){var p=this.w_scale,s=this.slots,h=this.start_end_dct,y=[],A=[],n=0,z=this.max_rows;for(var w=0,x=m.length;w<x;w++){var l=m[w],o=l[0];if(s[o]!==undefined){n=Math.max(n,s[o]);A.push(s[o])}else{y.push(w)}}var q=function(F,G){for(var E=0;E<=z;E++){var C=false,H=h[E];if(H!==undefined){for(var B=0,D=H.length;B<D;B++){var i=H[B];if(G>i[0]&&F<i[1]){C=true;break}}}if(!C){return E}}return -1};for(var w=0,x=y.length;w<x;w++){var l=m[y[w]],o=l[0],u=l[1],f=l[2],r=l[3],g=Math.floor(u*p),k=Math.ceil(f*p),v=this.measureText(r).width,j;if(r!==undefined&&this.include_label){v+=(d+a);if(g-v>=0){g-=v;j="left"}else{k+=v;j="right"}}var t=q(g,k);if(t>=0){if(h[t]===undefined){h[t]=[]}h[t].push([g,k]);s[o]=t;n=Math.max(n,t)}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={};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){var E=this.view_start,O=this.view_end-this.view_start,N=z/O;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(N,M,K){var F=false,H=this.prefs.min_value,D=this.prefs.max_value,J=D-H,z=K,A=this.view_start,L=this.view_end-this.view_start,B=M/L,I=this.mode,T=this.data;N.save();var U=Math.round(K+H/J*K);if(I!=="Intensity"){N.fillStyle="#aaa";N.fillRect(0,U,M,1)}N.beginPath();var R,E,C;if(T.length>1){C=Math.ceil((T[1][0]-T[0][0])*B)}else{C=10}for(var O=0,P=T.length;O<P;O++){N.fillStyle=this.prefs.color;R=Math.round((T[O][0]-A)*B);E=T[O][1];var Q=false,G=false;if(E===null){if(F&&I==="Filled"){N.lineTo(R,z)}F=false;continue}if(E<H){G=true;E=H}else{if(E>D){Q=true;E=D}}if(I==="Histogram"){E=Math.round(E/J*z);N.fillRect(R,U,C,-E)}else{if(I==="Intensity"){E=255-Math.floor((E-H)/J*255);N.fillStyle="rgb("+E+","+E+","+E+")";N.fillRect(R,0,C,z)}else{E=Math.round(z-(E-H)/J*z);if(F){N.lineTo(R,E)}else{F=true;if(I==="Filled"){N.moveTo(R,z);N.lineTo(R,E)}else{N.moveTo(R,E)}}}}N.fillStyle=this.prefs.overflow_color;if(Q||G){var S;if(I==="Histogram"||I==="Intensity"){S=C}else{R-=2;S=4}if(Q){N.fillRect(R,0,S,3)}if(G){N.fillRect(R,z-3,S,3)}}N.fillStyle=this.prefs.color}if(I==="Filled"){if(F){N.lineTo(R,U);N.lineTo(0,U)}N.fill()}else{N.stroke()}N.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,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,E=I/H,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],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]-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 1b24edc2108eaa2a5e82015d6462a49418cb9f28 -r 43219da282f61f1a3ee2f2578a247f673116ac7b static/scripts/trackster.js
--- a/static/scripts/trackster.js
+++ b/static/scripts/trackster.js
@@ -2318,10 +2318,43 @@
extend(SummaryTreeTile.prototype, Tile.prototype);
var FeatureTrackTile = function(track, index, resolution, canvas, data, mode, message, feature_mapper) {
+ // Attribute init.
Tile.call(this, track, index, resolution, canvas, data);
this.mode = mode;
this.message = message;
this.feature_mapper = feature_mapper;
+
+ // Add message + action icons to tile's "canvas" TODO: rename canvas to element/html or something similar.
+ if (this.message) {
+ var
+ canvas = this.canvas.children()[0],
+ message_div = $("<div/>").addClass("tile-message").text(this.message).
+ // -1 to account for border.
+ css({'height': ERROR_PADDING-1, 'width': canvas.width}).prependTo(this.canvas),
+ more_down_icon = $("<a href='javascript:void(0);'/>").addClass("icon more-down").appendTo(message_div),
+ more_across_icon = $("<a href='javascript:void(0);'/>").addClass("icon more-across").appendTo(message_div);
+
+ // Set up actions for icons.
+ more_down_icon.click(function() {
+ // Mark tile as stale, request more data, and redraw track.
+ tile.stale = true;
+ track.data_manager.get_more_data(tile.low, tile.high, track.mode, tile.resolution, {}, track.data_manager.DEEP_DATA_REQ);
+ track.request_draw();
+ }).dblclick(function(e) {
+ // Do not propogate as this would normally zoom in.
+ e.stopPropagation();
+ });
+
+ more_across_icon.click(function() {
+ // Mark tile as stale, request more data, and redraw track.
+ tile.stale = true;
+ track.data_manager.get_more_data(tile.low, tile.high, track.mode, tile.resolution, {}, track.data_manager.BROAD_DATA_REQ);
+ track.request_draw();
+ }).dblclick(function(e) {
+ // Do not propogate as this would normally zoom in.
+ e.stopPropagation();
+ });
+ }
};
extend(FeatureTrackTile.prototype, Tile.prototype);
@@ -2852,7 +2885,8 @@
// w_scale units are pixels per base.
w_scale = width / range,
resolution = this.view.resolution,
- parent_element = $("<div style='position: relative;'></div>");
+ // FIXME: parent element is not currently needed, but it may be useful for multitrack drawing.
+ parent_element = this.content_div;
// For overview, adjust high, low, resolution, and w_scale.
if (this.is_overview) {
@@ -2861,9 +2895,19 @@
resolution = Math.pow(RESOLUTION, Math.ceil( Math.log( (view.max_high - view.max_low) / DENSITY ) / Math.log(RESOLUTION) ));
w_scale = width / (view.max_high - view.max_low);
}
+
+ //
+ // Method for moving and/or removing tiles:
+ // (a) mark all elements for removal using class 'remove'
+ // (b) during tile drawing/placement, remove class for elements that are moved;
+ // this occurs in show_tile()
+ // (c) after drawing all tiles, remove elements still marked for removal
+ // (i.e. that still have class 'remove').
+ //
- if (!clear_after) { this.content_div.children().remove(); }
- this.content_div.append( parent_element );
+ // Step (a) for (re)moving tiles.
+ if (!clear_after) { this.content_div.children().addClass("remove"); }
+
this.max_height = 0;
// Index of first tile that overlaps visible region
var tile_index = Math.floor( low / resolution / DENSITY );
@@ -2882,6 +2926,9 @@
tile_index += 1;
tile_count++;
}
+
+ // Step (c) for (re)moving tiles.
+ if (!clear_after) { this.content_div.children(".remove").remove(); }
// Use interval to check if tiles have been drawn. When all tiles are drawn, call post-draw actions.
var track = this;
@@ -2978,65 +3025,36 @@
return null;
},
/**
- * Show track tile and perform associated actions.
+ * Show track tile and perform associated actions. Showing tile may actually move
+ * an existing tile rather than reshowing it.
*/
show_tile: function(tile, parent_element, w_scale) {
- // Readability.
var
track = this,
- canvas = tile.canvas,
- tile_element = canvas;
+ tile_element = tile.canvas;
//
- // If tile has message, display message and button to show more data.
- // TODO: need to handle other messages, not assume message === show more data.
- //
- if (tile.message) {
- var
- container_div = $("<div/>"),
- message_div = $("<div/>").addClass("tile-message").text(tile.message).
- // -1 to account for border.
- css({'height': ERROR_PADDING-1, 'width': tile.canvas.width}).appendTo(container_div),
- more_down_icon = $("<a href='javascript:void(0);'/>").addClass("icon more-down").appendTo(message_div),
- more_across_icon = $("<a href='javascript:void(0);'/>").addClass("icon more-across").appendTo(message_div);
- container_div.append(canvas);
- tile_element = container_div;
-
- // Set up actions for icons.
- more_down_icon.click(function() {
- // Mark tile as stale, request more data, and redraw track.
- tile.stale = true;
- track.data_manager.get_more_data(tile.low, tile.high, track.mode, tile.resolution, {}, track.data_manager.DEEP_DATA_REQ);
- track.request_draw();
- }).dblclick(function(e) {
- // Do not propogate as this would normally zoom in.
- e.stopPropagation();
- });
-
- more_across_icon.click(function() {
- // Mark tile as stale, request more data, and redraw track.
- tile.stale = true;
- track.data_manager.get_more_data(tile.low, tile.high, track.mode, tile.resolution, {}, track.data_manager.BROAD_DATA_REQ);
- track.request_draw();
- }).dblclick(function(e) {
- // Do not propogate as this would normally zoom in.
- e.stopPropagation();
- });
- }
-
- //
- // Show tile element.
+ // Show/move tile element.
//
tile.predisplay_actions();
- // Position tile element, recalculate left position at display time
+ // Position tile element based on current viewport.
var left = ( tile.low - (this.is_overview? this.view.max_low : this.view.low) ) * w_scale;
if (this.left_offset) {
left -= this.left_offset;
}
tile_element.css({ position: 'absolute', top: 0, left: left, height: '' });
- parent_element.append(tile_element);
+
+ if ( tile_element.hasClass("remove") ) {
+ // Step (b) for (re)moving tiles. See _draw() function for description of algorithm
+ // for removing tiles.
+ tile_element.removeClass("remove");
+ }
+ else {
+ // Showing new tile.
+ parent_element.append(tile_element);
+ }
// Set track height.
track.max_height = Math.max(track.max_height, tile_element.height());
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: Commit missing template for user impersonation (Thanks Dan).
by Bitbucket 18 Nov '11
by Bitbucket 18 Nov '11
18 Nov '11
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/changeset/1b24edc2108e/
changeset: 1b24edc2108e
user: natefoo
date: 2011-11-18 16:10:18
summary: Commit missing template for user impersonation (Thanks Dan).
affected #: 1 file
diff -r b258de1e6cea497052ae4eda1857bac3a7fdd935 -r 1b24edc2108eaa2a5e82015d6462a49418cb9f28 templates/admin/impersonate.mako
--- /dev/null
+++ b/templates/admin/impersonate.mako
@@ -0,0 +1,29 @@
+<%inherit file="/base.mako"/>
+<%namespace file="/message.mako" import="render_msg" />
+
+%if message:
+ ${render_msg( message, status )}
+%endif
+
+%if emails:
+ <div class="toolForm">
+ <div class="toolFormTitle">Impersonate another user</div>
+ <div class="toolFormBody">
+ <form name="impersonate" id="impersonate" action="${h.url_for( controller='admin', action='impersonate' )}" method="post" >
+ <div class="form-row">
+ <label>
+ User to impersonate:
+ </label>
+ <select name="email" class='text-and-autocomplete-select'>
+ %for email in emails:
+ <option>${email}</option>
+ %endfor
+ </select>
+ </div>
+ <div class="form-row">
+ <input type="submit" name="impersonate_button" value="Impersonate"/>
+ </div>
+ </form>
+ </div>
+ </div>
+%endif
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