-
Notifications
You must be signed in to change notification settings - Fork 7
/
rnaSeqMapCoverage.cgi
executable file
·2023 lines (1914 loc) · 361 KB
/
rnaSeqMapCoverage.cgi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
#!/usr/bin/python3
################################################################################
# This program return the base64 of the RNA-Seq mapping coverage image.
#
# Authors: Asher, Alexander and Priyank
# Date: January 2016
################################################################################
import cgi
import json
import math
import os
import random
import re
import subprocess
import sys
import time
import base64
from PIL import Image, ImageDraw
print("Access-Control-Allow-Origin: *")
print("Content-Type: text/html\n\n")
# Precision for the PCC and RPKM values that are returned
PRECISION = 5
# Global variables
EXON_IMG_WIDTH = 450
EXON_IMG_HEIGHT = 7
RNA_IMG_WIDTH = 450
RNA_IMG_HEIGHT = 50
exp_arr = []
exp_arr0 = []
start_time = str(time.time()).replace('.', '')
################################################################################
# Validation functions
################################################################################
''' Check the format of tissue string and returns error if incorrect. '''
def validateTissue(tissue):
if tissue == "":
return False
elif tissue is None:
return False
if re.search(r"^[a-z0-9\-_\s]{1,20}$", tissue, re.I): # Can only have upto 20 alpha numeric charactors
return True
else:
return False
''' Check the format of locus. '''
def validateLocus(locus):
if locus == "":
return False
elif re.search(r'^at[12345cm]g\d+$', locus, re.I):
return True
else:
return False
# Validate Chromosome
def validateChromosome(chromosome):
if re.search(r'[12345cmCM]', chromosome):
return chromosome
else:
dumpError("Chromosome validation error: 2.")
# Validate Start
def validateStart(start, end):
if 0 < start < end:
return start
else:
dumpError("Start error.")
# Validate End
def validateEnd(start, end):
if end > 0 and start < end:
return end
else:
dumpError("End error.")
################################################################################
# Data processing functions
################################################################################
''' For converting from HEX to RGB values
http://stackoverflow.com/questions/214359/converting-hex-color-to-rgb-and-vice-versa '''
def hex_to_rgb(val):
if val[:2] == "0x":
val = val[2:]
length = len(val)
return tuple(int(val[i:i + length // 3], 16) for i in range(0, length, length // 3))
''' Used if in the instance the user does not know how many reads are mapped to
their locus '''
def determineReadMapNumber(filedir, filename, readMappedNumber, remoteDrive, bamType):
if readMappedNumber == 0:
readsMappedHold = [] # Holds the number
# Clear temporary files and name a new one
os.system("find ../temp/* -mtime +1 -exec rm -f {} \\;")
# Set the environment
bai_directory = ("data/" + filedir)
if os.path.isdir(bai_directory):
os.chdir(bai_directory)
else:
os.makedirs(bai_directory)
os.chdir(bai_directory)
my_env = os.environ.copy()
my_env["LD_LIBRARY_PATH"] = "/usr/local/lib/"
flagstat = None
try:
flagstat = subprocess.check_output(['samtools', 'flagstat', filename], env=my_env)
except:
pass
os.chdir("../../../")
if flagstat is None:
return "FAILED: determineReadMapNumber-flagstat NONE"
# Read pileup output
for read in flagstat.splitlines():
read = str(read.decode("utf-8"))
if ("mapped" in read) and ("with mate" not in read): # Search for reads mapped position
readsMappedHold.append(float(read.split(' ')[0])) # Reads mapped position
if len(readsMappedHold) > 0:
return float(readsMappedHold[0])
else:
return "FAILED: determineReadMapNumber-readsMappedHold - No mapped"
elif readMappedNumber > 0:
return float(readMappedNumber)
''' Once we have chromosome, start, end and filename, we can make the image.'''
def makeImage(filedir, filename, chromosome, start, end, record, yscale, hexcodecolour, remoteDrive, bamType):
max_mapped_reads_count = 0 # For setting the appropriate Y scale
x_bp_vals = [] # Holds nucleotide positions...
y_reads_values = [] # Holds the valid mapped reads for the position...
if bamType == "Google Drive":
# Clear temporary files and name a new one
# os.system("find ../temp/* -mtime +1 -exec rm -f {} \\;")
tempfile = "../temp/RNASeqGraph.png"
# Call samtools and get mpileup
region = chromosome + ":" + str(start) + "-" + str(end)
# Set the environment
bai_directory = ("data/" + filedir)
if os.path.isdir(bai_directory):
os.chdir(bai_directory)
else:
os.makedirs(bai_directory)
os.chdir(bai_directory)
my_env = os.environ.copy()
my_env["LD_LIBRARY_PATH"] = "/usr/local/lib/"
mpileup = None
try:
mpileup = subprocess.check_output(
['bcftools', 'mpileup', '--max-depth', '8000', '--no-reference', '-r', region, filename], env=my_env)
except:
pass
os.chdir("../../../")
if mpileup is None:
return "FAILED"
# Read pileup output
for read in mpileup.splitlines():
read = str(read.decode("utf-8"))
split_Read_Lines = read.split('\t')
if split_Read_Lines[0].strip()[0] != '#':
readPos = split_Read_Lines[1]
x_bp_vals.append(float(readPos)) # nucleotide position
# get the number of mapped reads and subtract the reference skips
dpNum = split_Read_Lines[7].split(';')[0]
mapped_reads_count = float(re.sub(r'[^0-9]', "", dpNum))
exp_arr0.append((float(readPos), mapped_reads_count))
y_reads_values.append(mapped_reads_count)
# Figure out the max number of reads mapped at any given locus
if mapped_reads_count > max_mapped_reads_count:
max_mapped_reads_count = mapped_reads_count
# IF the user specified a custom y-scale, use that
if yscale == -1: # If the user did not specify a yscale, use the highest mapped read count
yscale = max_mapped_reads_count
# To leave a little room at top of graph for Y-axis scale label, multiply by 1.1
max_mapped_reads_count = max_mapped_reads_count * 1.1
else:
max_mapped_reads_count = yscale * 1.1
# Scale all y-axis values
if max_mapped_reads_count > 0:
for i in range(len(y_reads_values)):
y_reads_values[i] = int(y_reads_values[i] / max_mapped_reads_count * RNA_IMG_HEIGHT)
else:
for i in range(len(y_reads_values)):
y_reads_values[i] = 0
# Specify colours
white = (255, 255, 255)
red = (255, 0, 0)
green = (100, 204, 101)
yellow = (255, 255, 0)
black = (0, 0, 0)
gray = (192, 192, 192)
rnaseq_img_colour_hex = hex_to_rgb(hexcodecolour)
rnaseq_img_colour = rnaseq_img_colour_hex
# Create an image
rnaseq_graph_image = Image.new("RGB", (RNA_IMG_WIDTH, RNA_IMG_HEIGHT), white)
rnaseqgraph = ImageDraw.Draw(rnaseq_graph_image)
# Max line at top
rnaseqgraph.rectangle(((0, 5), (RNA_IMG_WIDTH, 5)), gray)
# Actual RNA-Seq image
for i in range(len(x_bp_vals)):
rnaseqgraph.rectangle(((int(float(x_bp_vals[i] - start) / (end - start) * RNA_IMG_WIDTH), RNA_IMG_HEIGHT - y_reads_values[i]), (
int(float(x_bp_vals[i] - start) / (end - start) * RNA_IMG_WIDTH), RNA_IMG_HEIGHT)),
rnaseq_img_colour)
# Nucleotide padding
nucleotidePadding = 100
rnaseqgraph.rectangle(((0, 0), ((RNA_IMG_WIDTH / nucleotidePadding), RNA_IMG_HEIGHT)), white)
rnaseqgraph.rectangle((((RNA_IMG_WIDTH - (RNA_IMG_WIDTH / nucleotidePadding)), 0),
(RNA_IMG_WIDTH, RNA_IMG_HEIGHT)), white)
rnaseqgraph.text((420, 5), str(int(yscale)), fill=black) # Y-axis scale label
if bamType == "Amazon AWS":
# Clear temporary files and name a new one
os.system("find ../temp/* -mtime +1 -exec rm -f {} \\;")
tempfile = "../temp/RNASeqGraph.png"
# Output the GD image to temp PNG file
f = open(tempfile, "wb")
rnaseq_graph_image.save(f)
f.close()
# Convert the PNG to base64
with open(tempfile, "rb") as fl:
my_base64 = base64.b64encode(fl.read()).decode("utf-8")
return [my_base64, exp_arr0]
################################################################################
# Ouput functions
################################################################################
# Error function
def dumpError(result, locus=None, record=None, my_base64img=None, abs_fpkm=None, r=None, totalReadsMapped=None):
"""Dumps and prints an error to the client/user
Arguments:
result {string} -- The error message to be displayed
Keyword Arguments:
locus {string} -- The AGI ID of the gene that the RNA-Seq map coverage is interpreting (default: {None})
record {string} -- The SRA record of the BAM data being interpreted (default: {None})
base64img {string} -- The base64 version of the RNA-Seq map coverage image (default: {None})
abs_fpkm {string, integer} -- The absolute FPKM/RPKM value (default: {None})
r {string, integer} -- The r coefficient value (default: {None})
totalReadsMapped {string, integer} -- The total number of reads mapped to the gene within the BAM file (default: {None})
"""
print(json.dumps({"status": "fail", "result": result, "record": record, "locus": locus, "rnaseqbase64": my_base64img,
"absolute-fpkm": abs_fpkm, "r": r, "totalReadsMapped": totalReadsMapped}))
sys.exit(0)
# Final output, if everything at this point succeded
def dumpJSON(status, locus, variant, chromosome, start, end, record, tissue, base64img, reads_mapped_to_locus, abs_fpkm,
r, totalReadsMapped):
print(json.dumps(
{"status": "success", "locus": locus, "variant": variant, "chromosome": chromosome, "start": start, "end": end,
"record": record, "tissue": tissue, "rnaseqbase64": base64img, "reads_mapped_to_locus": reads_mapped_to_locus,
"absolute-fpkm": abs_fpkm, "r": r, "totalReadsMapped": totalReadsMapped})) # and svg stuff
sys.exit(0)
def dumpJSON_full(status, locus, variant, chromosome, start, end, record, tissue, base64img, reads_mapped_to_locus,
abs_fpkm, r, totalReadsMapped, exp_arr0, exp_arr, expected_expr_in_variant):
print(json.dumps(
{"status": "success", "locus": locus, "variant": variant, "chromosome": chromosome, "start": start, "end": end,
"record": record, "tissue": tissue, "rnaseqbase64": base64img, "reads_mapped_to_locus": reads_mapped_to_locus,
"absolute-fpkm": abs_fpkm, "r": r, "totalReadsMapped": totalReadsMapped,
"ReadsMappedNucleotidePosition": exp_arr0, "exp_arr": exp_arr,
"expected_expr_in_variant": expected_expr_in_variant})) # and svg stuff
sys.exit(0)
################################################################################
################################################################################
################################################################################
################################################################################
################################################################################
record = None
locus = None
base64img = None
totalReadsMapped = None
r = None
abs_fpkm = None
''' The main program. '''
def main():
# Get query details
form = cgi.FieldStorage()
tissue = form.getvalue('tissue')
record = form.getvalue('record')
locus = form.getvalue('locus')
variant = form.getvalue('variant')
hexcode = form.getvalue('hexcodecolour')
bamfilename = form.getvalue('filename')
totalReadsMapped = form.getvalue('numberofreads')
dumpMethod = form.getvalue('dumpMethod')
status = form.getvalue('status')
remoteDrive = form.getvalue('remoteDrive')
bamType = form.getvalue('bamType')
cachedDatapoints = form.getvalue('cachedDatapoints')
if (cachedDatapoints is not None and cachedDatapoints.lower() == 'true') or (
cachedDatapoints is True): # Verify cachedDatapoint is a boolean
cachedDatapoints = True
else:
cachedDatapoints = False
base64img = None
r = None
abs_fpkm = None
############################################################################
# Generate new data or return cached data for speedy first-load.
############################################################################
# (status == 0) => RETURN NEWLY GENERATED DATA
# subprocess.check_output(['export', 'LD_LIBRARY_PATH=/usr/local/lib/'])
if status == 0 or status == "0":
# Get info required for generating new data
variant_structure = json.loads(form.getvalue('struct')) # Exon-Intron
chromosome = validateChromosome(str(locus[2]))
start = validateStart(int(form.getvalue('start')), int(form.getvalue('end'))) - 1
end = validateEnd(int(form.getvalue('start')), int(form.getvalue('end'))) + 1
yscale = -1 # RNA-Seq Mapping Coverage image y-axis max value
if form.getvalue('yscale'):
yscale = int(form.getvalue('yscale'))
# Now validate the data
if not validateTissue(tissue):
tissue = 'undefined'
if not validateLocus(locus):
dumpError('Locus validation error', locus, record, base64img, abs_fpkm, r, totalReadsMapped)
region = "Chr" + str(chromosome) + ":" + str(start) + "-" + str(end)
exons_in_variant = []
variants_count = -1
expected_expr_in_variant = []
expected_exonLength_in_variant = []
for vrnt in variant_structure:
variants_count += 1
exons_in_variant.append([])
expected_expr_in_variant.append([])
# Keep track of exons' start and end positions
for exon in vrnt['exon_coordinates']:
exons_in_variant[variants_count].append((exon['exon_start'], exon['exon_end']))
# Append 100 for each exonic base, 1 for each intronic base.
for i in range(start, end):
i_in_exon = 0
for exon in exons_in_variant[variants_count]:
if exon[0] <= i <= exon[1]:
i_in_exon = 1
expected_expr_in_variant[variants_count].append(100)
break
if i_in_exon == 0:
expected_expr_in_variant[variants_count].append(1)
expected_exonLength_in_variant.append(expected_expr_in_variant[variants_count].count(100))
# Calculate gene length without introns
expectedGeneLength = []
for i in range(variants_count + 1):
exonGeneLength = (end - start) - expected_exonLength_in_variant[i]
if exonGeneLength < 0:
exonGeneLength = 0
expectedGeneLength.append(exonGeneLength)
# Public datasets and their directories:
publicDatapoints = {
'aerial': ['ERR274310', 'SRR547531', 'SRR548277', 'SRR847503', 'SRR847504', 'SRR847505', 'SRR847506'],
'carpel': ['SRR1207194', 'SRR1207195'],
'dark': ['SRR1019436', 'SRR1019437', 'SRR1049784', 'SRR477075', 'SRR477076', 'SRR493237', 'SRR493238'],
'flower': ['SRR314815', 'SRR800753', 'SRR800754'],
'Klepikova': ['SRR3581336', 'SRR3581345', 'SRR3581346', 'SRR3581347', 'SRR3581352', 'SRR3581356',
'SRR3581383', 'SRR3581388', 'SRR3581499', 'SRR3581591', 'SRR3581639', 'SRR3581672',
'SRR3581676', 'SRR3581678', 'SRR3581679', 'SRR3581680', 'SRR3581681', 'SRR3581682',
'SRR3581683', 'SRR3581684', 'SRR3581685', 'SRR3581686', 'SRR3581687', 'SRR3581688',
'SRR3581689', 'SRR3581690', 'SRR3581691', 'SRR3581692', 'SRR3581693', 'SRR3581694',
'SRR3581695', 'SRR3581696', 'SRR3581697', 'SRR3581698', 'SRR3581699', 'SRR3581700',
'SRR3581701', 'SRR3581702', 'SRR3581703', 'SRR3581704', 'SRR3581705', 'SRR3581706',
'SRR3581707', 'SRR3581708', 'SRR3581709', 'SRR3581710', 'SRR3581711', 'SRR3581712',
'SRR3581713', 'SRR3581714', 'SRR3581715', 'SRR3581716', 'SRR3581717', 'SRR3581719',
'SRR3581720', 'SRR3581721', 'SRR3581724', 'SRR3581726', 'SRR3581727', 'SRR3581728',
'SRR3581730', 'SRR3581731', 'SRR3581732', 'SRR3581733', 'SRR3581734', 'SRR3581735',
'SRR3581736', 'SRR3581737', 'SRR3581738', 'SRR3581740', 'SRR3581831', 'SRR3581833',
'SRR3581834', 'SRR3581835', 'SRR3581836', 'SRR3581837', 'SRR3581838', 'SRR3581839',
'SRR3581840', 'SRR3581841', 'SRR3581842', 'SRR3581843', 'SRR3581844', 'SRR3581845',
'SRR3581846', 'SRR3581847', 'SRR3581848', 'SRR3581849', 'SRR3581850', 'SRR3581851',
'SRR3581852', 'SRR3581853', 'SRR3581854', 'SRR3581855', 'SRR3581856', 'SRR3581857',
'SRR3581858', 'SRR3581859', 'SRR3581860', 'SRR3581861', 'SRR3581862', 'SRR3581863',
'SRR3581864', 'SRR3581865', 'SRR3581866', 'SRR3581867', 'SRR3581868', 'SRR3581869',
'SRR3581870', 'SRR3581871', 'SRR3581872', 'SRR3581873', 'SRR3581874', 'SRR3581875',
'SRR3581876', 'SRR3581877', 'SRR3581878', 'SRR3581879', 'SRR3581880', 'SRR3581881',
'SRR3581882', 'SRR3581883', 'SRR3581884', 'SRR3581885', 'SRR3581886', 'SRR3581887',
'SRR3581888', 'SRR3581889', 'SRR3581890', 'SRR3581891', 'SRR3581892', 'SRR3581893',
'SRR3581894', 'SRR3581895', 'SRR3581896', 'SRR3581897', 'SRR3581898', 'SRR3581899',
'SRR3724649', 'SRR3724650', 'SRR3724651', 'SRR3724652', 'SRR3724663', 'SRR3724668',
'SRR3724737', 'SRR3724739', 'SRR3724741', 'SRR3724768', 'SRR3724774', 'SRR3724778',
'SRR3724782', 'SRR3724785', 'SRR3724786', 'SRR3724787', 'SRR3724798', 'SRR3724806',
'SRR3724814', 'SRR3725446', 'SRR3725458', 'SRR3725471', 'SRR3725482', 'SRR3725493',
'SRR3725503', 'SRR3725516', 'SRR3725527', 'SRR3725538', 'SRR3725550', 'SRR3725561',
'SRR847501', 'SRR847502'],
'leaf': ['SRR1105822', 'SRR1105823', 'SRR1159821', 'SRR1159827', 'SRR1159837', 'SRR314813', 'SRR446027',
'SRR446028', 'SRR446033', 'SRR446034', 'SRR446039', 'SRR446040', 'SRR446484', 'SRR446485',
'SRR446486', 'SRR446487', 'SRR493036', 'SRR493097', 'SRR493098', 'SRR493101', 'SRR764885',
'SRR924656', 'SRR934391', 'SRR942022'],
'light': ['SRR070570', 'SRR070571', 'SRR1001909', 'SRR1001910', 'SRR1019221', 'SRR345561', 'SRR345562',
'SRR346552', 'SRR346553', 'SRR394082', 'SRR504179', 'SRR504180', 'SRR504181', 'SRR515073',
'SRR515074', 'SRR527164', 'SRR527165', 'SRR584115', 'SRR584121', 'SRR584129', 'SRR584134',
'SRR653555', 'SRR653556', 'SRR653557', 'SRR653561', 'SRR653562', 'SRR653563', 'SRR653564',
'SRR653565', 'SRR653566', 'SRR653567', 'SRR653568', 'SRR653569', 'SRR653570', 'SRR653571',
'SRR653572', 'SRR653573', 'SRR653574', 'SRR653575', 'SRR653576', 'SRR653577', 'SRR653578',
'SRR797194', 'SRR797230', 'SRR833246'],
'pollen': ['SRR847501', 'SRR847502'],
'RAM': ['SRR1260032', 'SRR1260033', 'SRR1261509'],
'receptacle': ['SRR401413', 'SRR401414', 'SRR401415', 'SRR401416', 'SRR401417', 'SRR401418', 'SRR401419',
'SRR401420', 'SRR401421'],
'root': ['ERR274309', 'SRR1046909', 'SRR1046910', 'SRR1524935', 'SRR1524938', 'SRR1524940', 'SRR314814'],
'SAM': ['SRR949956', 'SRR949965', 'SRR949988', 'SRR949989']
}
### Generate BAM directory link
bam_dir = '' # Reset bam_dir value
# Check if data is public or private dataset
if cachedDatapoints:
for x in publicDatapoints: # If public, find tissue (x) to create bam_dir
if record in publicDatapoints[x]:
bam_dir = x + '/' + record
if bam_dir == '': # If tissue not found, download new bam index file
if record is not None:
bam_dir = "uploads" + "/" + record + "_" + start_time
else:
bam_dir = "uploads" + "/unknownRecord_" + start_time
else: # If private, download new bam index file
if record is not None:
bam_dir = "uploads" + "/" + record + "_" + start_time
else:
bam_dir = "uploads" + "/unknownRecord_" + start_time
bam_file = '' # Reset bam_file value
if bamType == "Google Drive":
# Create a Google Drive mount point and muont the bam file.
uniqId = str(random.randint(1, 1000000))
try:
pid = subprocess.Popen(["perl", "gDriveMountFast.pl", remoteDrive, uniqId, bamfilename])
except:
sys.exit(1)
# Make S3FS filename here
bam_file = "/mnt/gDrive/" + remoteDrive + "_" + uniqId + "/" + bamfilename
# Wait unilt the file is ready, without locking up the system forever, locking system for five minutes
startTime = time.time()
while not (os.path.isfile(bam_file)):
# pass
currentTime = time.time()
if currentTime > (startTime + 300):
subprocess.call(["fusermount", "-u", "/mnt/gDrive/" + remoteDrive + "_" + uniqId])
subprocess.call(["rm", "-rf", "/mnt/gDrive/" + remoteDrive + "_" + uniqId])
dumpError("Mounting timed out", locus, record, base64img, abs_fpkm, r, totalReadsMapped)
# Now make a image using samtools
base64img = makeImage(bam_dir, bam_file, "Chr" + chromosome, start, end, record, yscale, hexcode,
remoteDrive, bamType)
if base64img == "FAILED":
base64img = makeImage(bam_dir, bam_file, "chr" + chromosome, start, end, record, yscale, hexcode,
remoteDrive, bamType)
region = "chr" + str(chromosome) + ":" + str(start) + "-" + str(end)
if base64img == "FAILED":
base64img = makeImage(bam_dir, bam_file, chromosome, start, end, record, yscale, hexcode, remoteDrive,
bamType)
if base64img == "FAILED":
subprocess.call(["fusermount", "-u", "/mnt/gDrive/" + remoteDrive + "_" + uniqId])
subprocess.call(["rm", "-rf", "/mnt/gDrive/" + remoteDrive + "_" + uniqId])
dumpError("Failed to get data.", locus, record, base64img, abs_fpkm, r, totalReadsMapped)
elif bamType == "Amazon AWS":
# Make S3FS filename here
bam_file = "s3://" + remoteDrive
# Now make a image using samtools
base64img = makeImage(bam_dir, bam_file, "Chr" + chromosome, start, end, record, yscale, hexcode,
remoteDrive, bamType)
if base64img == "FAILED":
base64img = makeImage(bam_dir, bam_file, "chr" + chromosome, start, end, record, yscale, hexcode,
remoteDrive, bamType)
region = "chr" + str(chromosome) + ":" + str(start) + "-" + str(end)
if base64img == "FAILED":
region = str(chromosome) + ":" + str(start) + "-" + str(end)
base64img = makeImage(bam_dir, bam_file, chromosome, start, end, record, yscale, hexcode, remoteDrive,
bamType)
else:
# Local
bam_file = remoteDrive
# Now make an image using samtools
base64img = makeImage(bam_dir, bam_file, "Chr" + chromosome, start, end, record, yscale, hexcode,
remoteDrive, bamType)
if base64img == "FAILED":
base64img = makeImage(bam_dir, bam_file, "chr" + chromosome, start, end, record, yscale, hexcode,
remoteDrive, bamType)
region = "chr" + str(chromosome) + ":" + str(start) + "-" + str(end)
if base64img == "FAILED":
region = str(chromosome) + ":" + str(start) + "-" + str(end)
base64img = makeImage(bam_dir, bam_file, chromosome, start, end, record, yscale, hexcode, remoteDrive,
bamType)
# Correct total reads mapped:
if totalReadsMapped is None or totalReadsMapped == "0" or totalReadsMapped == 0:
totalReadsMapped = 0
totalReadsMapped = determineReadMapNumber(bam_dir, bam_file, totalReadsMapped, remoteDrive, bamType)
# OFTEN, mpileup output doesn't include all the bases assigned to locus
# The ones that are not included should get a mpileup expression value of 0
# Take the exp_arr0 (generated in makeImage) and create exp_arr based on the above explanation
for i in range(start, end):
found = 0
for base in exp_arr0:
if i == base[0]:
found = 1
exp_arr.append(base[1])
if found == 0:
exp_arr.append(0)
# Compute sum(x) and sum(x^2)
sum_x = []
sum_xx = []
for var in expected_expr_in_variant:
tmp_sum_x = 0
tmp_sum_xx = 0
for val in var:
tmp_sum_x += val
tmp_sum_xx += val * val
sum_x.append(tmp_sum_x)
sum_xx.append(tmp_sum_xx)
# Compute SS_x - Standard deviation
ss_x = []
for i in range(len(sum_x)):
ss_x.append(sum_xx[i] - ((sum_x[i] * sum_x[i]) / (end - start)))
# Compute sum(y) and sum(Y^2)
sum_y = 0
sum_yy = 0
for val in exp_arr:
sum_y += val
sum_yy += val * val
# Compute SS_y - Standard deviation
ss_y = 0
ss_y = sum_yy - ((sum_y * sum_y) / (end - start))
# Compute sum(X * Y)
sum_xy = []
for variant11 in expected_expr_in_variant:
variant_sum_xy = 0
for i in range(len(variant11)):
variant_sum_xy += int(variant11[i]) * int(exp_arr[i])
sum_xy.append(variant_sum_xy)
# Count the number of mapped reads to the locus
# TODO: modify the mpileup call to include this information in it
# Hypothesis: since you need this info to create the mpileup output
# the same info would be there. So just pass that along instead of
# making this call .. to speed things up
# Set the environment
bai_directory = ("data/" + bam_dir)
if os.path.isdir(bai_directory):
os.chdir(bai_directory)
else:
os.makedirs(bai_directory)
os.chdir(bai_directory)
my_env = os.environ
my_env["LD_LIBRARY_PATH"] = "/usr/local/lib/"
lines = ""
try:
lines = subprocess.check_output(['samtools', 'view', bam_file, region], env=my_env)
lines = str(lines.decode("utf-8"))
except:
dumpError("Unable to retrieve BAM data", locus, record, base64img, abs_fpkm, r, totalReadsMapped)
os.chdir("../../../")
# Change this if FPKM is wrong for local data
if bamType == "local":
mapped_reads = lines.lower().count("\t" + chromosome + "\t")
else:
mapped_reads = lines.lower().count('chr')
abs_fpkm = []
for i in range(len(expectedGeneLength)):
rpkm = float(mapped_reads) / (float((expectedGeneLength[i])) / 1000.0) / (
float(totalReadsMapped) / 1000000.0)
abs_fpkm.append(round(rpkm, PRECISION))
# Calculate the r values for each variant.
r = []
for i in range(len(sum_xy)):
sp = sum_xy[i] - ((sum_x[i] * sum_y) / float(end - start))
if math.sqrt(ss_x[i] * ss_y) == 0:
r.append(float(0.00000))
else:
r_val = float(sp / (math.sqrt(ss_x[i] * ss_y)))
r.append(round(r_val, PRECISION))
if bamType == "Google Drive":
try:
subprocess.call(["fusermount", "-u", "/mnt/gDrive/" + remoteDrive + "_" + uniqId])
except:
sys.stderr.write("Failed to unmount FUSE file system.")
try:
subprocess.call(["rm", "-rf", "/mnt/gDrive/" + remoteDrive + "_" + uniqId])
except:
sys.stderr.write("Failed to delete FUSE mount point.")
RNASeq_ReadsPerNucleotide = base64img[1]
# Output the newly generated data
if dumpMethod == "complex":
dumpJSON_full(200, locus, int(variant), chromosome, start, end, record, tissue,
base64img[0].replace('\n', ''), mapped_reads, abs_fpkm, r, totalReadsMapped, base64img[1],
exp_arr, expected_expr_in_variant)
elif dumpMethod != "complex":
dumpJSON(200, locus, int(variant), chromosome, start, end, record, tissue, base64img[0].replace('\n', ''),
mapped_reads, abs_fpkm, r, totalReadsMapped)
else:
if dumpMethod != "complex":
# Araport 11 data starts here:
if record == "ERR274310":
dumpJSON(200, "AT2G24270", 1, 2, 10326917, 10330049, "ERR274310", "aerial",
"iVBORw0KGgoAAAANSUhEUgAAAcIAAAAyBAMAAAA908bbAAAAFVBMVEX/////AABkzGX//wAAAADAwMBkzGUogG7sAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACYElEQVRoge2YXZaDIAyFeehkXX3oFmae85T9L2GQFgmSqEjw7/TOOe2Ikns/QaU699VXX321g35+LfT3Z1KmRrTiGMPzBGRYbJ0Ux9fLvYYPc7vTELrHwz3dw96O0LzmkqXS/vRj6D+MBWciHMbwae52BKHs+PB/zx6T9ABC2dLDvVouQ5BbT0TYXFZsPYKw16VP4iAGwi5+ugbPDmWVqoPb3k/ELoSAymy8F2EsixO3WxASIwTkO4JQ6NJPPQiBgxxO2MERMkJeHQ8ghA6OFPXewmKPsd+swNTxMyELwvhohMsTxnmZE5Jf3wBzux4hjP1VQnyP7uUJQSHEgZBcIgw75KW5uYBFaagR/8HwPSWMGzQSosteZ2CT/2K6tkH00288QzRLiDkhpCV49cupmuEHnmWLfDrfHWLm0LZM6HdBsq31x2wRsaAsyxYROT4qWVGabFGhcABUTiIQDtcJGgmHFTZ+CFNQhVBQTJxuu6Fh3lTICzpCIyEP20aILt2y5gnTCRmFOiFEK9wECDxsKrOFkFy6HrXLDNPh2RGQahUarbYR8rDMuJlQjgMa4QxCGoNNhEBTNRASMkJxQOKvsSLwDMM02qGEtEAIGSFLPAfRSFgmbiLkDcuEY+TUfWiZ3KXOS4jvnrlbThh3QtbblJAnMyeE6VIHCsJiO9ztLAmFxIaE4VUIZm6LhGMFhbDysT+pbEvI60H84dVKCJUrmx0JKSxa2gjfy8vTEspElYSpy0pJiU9PWDWI1ySsGEUoO1+CcO0oiny3IlQSX4FwHSJIPe9EqCauJcwJdiJUbjb/AGmTJXBx7W0AAAAASUVORK5CYII=",
8485, [370.51093, 311.19754, 259.19298, 222.75943], [0.56793, 0.59246, 0.6823, 0.59941],
29098868)
elif (record == "SRR548277"):
dumpJSON(200, "AT2G24270", 1, 2, 10326917, 10330049, "SRR548277", "aerial",
"iVBORw0KGgoAAAANSUhEUgAAAcIAAAAyBAMAAAA908bbAAAAFVBMVEX/////AABkzGX//wAAAADAwMBkzGUogG7sAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAB50lEQVRoge3YzZKDIAwAYA5unouDr7B75pT3f4QVx2oCgaqkFhhy2JlFSfjKj7bGjBgxYsQD8fNbHn+okOQTofYpITq1XKUxz2Yyk9VNCoj1GO2C9H9UA7Ei4myXObRWNSdUJfRr1MyTasq6hNYLra4QqxIuh8xsS04acFFTXcLiQBSaOhO6uGkIm4ruhZKkKyEMYfPRv1CUfEEI8VNZKXLCjxUVIhaCUmZR8hWh40OQ3ibvJT4hVKr1biCsitomIULiDISaGzK1MNbdcixM0FpCQCTkQzuEvo0sIMDC3RFO1R7B2aYlBGTCvcAuXK8xYeF8ig8nE33nBq2z/IyQLNej9XbF1MC5MPAWxDXh6+7btenAg9XO8z4ndCnh1mCujQFI92AZiEKFjcjGGxcIQUKDY+lcnkzXgCxEPoAyXZR3F8bAtJAR342K9k8I+Qj0hWuB2JcTroctS+fKhayKrnCpIMxgXuh3q6PXk8Q4ZXxp3dy1CfGkUEgpCMn51ogQEts7IWR38UxKQhF4TZh4hb4hLJ/EWJiIO0LA15K4IszdVKNQ/v+8sJjYvZDnaV8IbvtSgOGDtQ/hlp+9dzQgdFeBvOMQtiNEF2ZoRnhuIwr9ehKC2K8doY/8L/5yn6tCLnhaSJIs8Q9cwG/c9g5H8gAAAABJRU5ErkJggg==",
4192, [500.28703, 420.19839, 349.97857, 300.78372], [0.57105, 0.51184, 0.60217, 0.65404],
10647001)
elif (record == "SRR847504"):
dumpJSON(200, "AT2G24270", 1, 2, 10326917, 10330049, "SRR847504", "aerial",
"iVBORw0KGgoAAAANSUhEUgAAAcIAAAAyBAMAAAA908bbAAAAFVBMVEX/////AABkzGX//wAAAADAwMBkzGUogG7sAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACCklEQVRoge2YQZKEIAxFXTg5FwuvMHs2k/sfYdTuEgiJghigbX/VTE2Byf9PwLF7GB49evSogn5+P1R/Cde0vrllsvzwaIZpmKaqUZSE/LAZx8GYqkm0JBAuiGYyNZNoSSJcl3CsGkVJ4i6df8w9CC07vD5p5l83EErb9DZCYRHvo28gVN+mVttgX6i+iK1POqojNj4HoE4Il5wDKPLX3UbX9O+YEK7pf76FIuGrK0bH4MRyQDGhPbwuU0tDkTA/7elFsFqEgDOGTJhph6fP8mz1Arya8N11/bucsCBjI8Jcv3e3d1HW/cFNWY7JmZxJ0D/XkBLuFZOnWD1CpJM5htghIUaEzgAi5MRuH0OY75hMCNGLgRYhNCKcJ9oROmekA4eKCKVaxFqEAQQBAiQDgsBdERMKcRHp65ISYQhBHDCYlMWU2K07H5dpq0QYQpwjBK8oiRDYtlcTkkQcIXCWYmAblFg3IxV0ReiyQOzvF7GEUWB+a1xMaBMInSV5ugadwC/iCKPAEHUldrTgjJCeG4bQW8Llrd8bY4PJhDRxfN8IYfGHfN+WJURi6C7YFmVLETLxhEFi78Y1JLTLfyuZ0E+RROivYgVCOCbkROPRgRRCv3yP0A5FakHIHO09wsJFDDw7JbS3JyxaRQg8uyVcZ3O+rY0Td08ImLNbmcTdE3p1RwKQa3sn5Bn/Ab1ai42mikrwAAAAAElFTkSuQmCC",
3267, [235.16092, 197.5151, 164.50813, 141.38399], [0.49921, 0.53496, 0.61362, 0.66986],
17652623)
elif (record == "SRR847505"):
dumpJSON(200, "AT2G24270", 1, 2, 10326917, 10330049, "SRR847505", "aerial",
"iVBORw0KGgoAAAANSUhEUgAAAcIAAAAyBAMAAAA908bbAAAAFVBMVEX/////AABkzGX//wAAAADAwMBkzGUogG7sAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACIklEQVRoge2XQbKDIAyGWfhyLhe9wttnlfsfodUWJCQiYGphxn/RGTAk/9cgqnO3bt26dYH+/itEVBP9e9X/HUT2f7Gxptk9lp9GEWE0kNdRTl2t2U2vn6lxNVDcxJjWX29MbKh5nhbEtsULYPeEj2ma1z62iBMSCUSQ0JdraeHcukuHIDx10jBC6JTwlFZCjAaYBNAAT5OsyJoQtCfOLyUIU8Rawu56fhNqx+tRQgtfdmKEJAmTN4LDdDAa4TpTQ1gXfoXyhFBJCMouqBIo743nxBEEz+dycdGzhF/YAmWExUV7J5R70hNiXbrjcNBDvkeIW34LwmOTr28y4DMUHJQWa7BkR/iO32nUu5QgRNcxYTBL5YRpo68kjCqQQqgY4I+bjXDfbNeE0oG4kwPh3h0JYxFCjlC3qxGSwQuDIm8pHvgKCJ6fuRF9aSBMc7qfEL7KSUJcppH3cSMM8RguqHZBJcSLCTc63td1kDQ1Q0jyZPJbI3ViSbgd47uExPVZ8PEGFYT6wfR1wsQxJySXdjBUlU1lHCphyqLPrl/OVoSgOGYjdNEdaEwYJZaEaepWaY45YcoX7IgJ8MFlhBCnFq7AiFB1zAklIHHLciJLGI1zhCz4NCFmCDVZEaYZFMLTiP0Tnv1CHIAQb8KsYADCRkR4rxyCsOlO9KVYzW4JGxDDykEIsZIvyT0AYWUTFcfdE1Yhglg9AiGVb1XV8RCEMmrVE52ZdHKDJWf2AAAAAElFTkSuQmCC",
7038, [614.71858, 516.31113, 430.0298, 369.58253], [0.5243, 0.56367, 0.64475, 0.69137],
14547829)
elif (record == "SRR547531"):
dumpJSON(200, "AT2G24270", 1, 2, 10326917, 10330049, "SRR547531", "aerial",
"iVBORw0KGgoAAAANSUhEUgAAAcIAAAAyBAMAAAA908bbAAAAFVBMVEX/////AABkzGX//wAAAADAwMBkzGUogG7sAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACDklEQVRoge2YS46EIBCGWfTUuVx4hdnXqu5/hAFRuniKWDJi/JPuDKYe/wcCnVHq1atXrzro51dAJFHkAslNE8mVOq1JfdRnEi0JighFK56Rhps1paiA7kQ4mTXUX5IyhL0R8+3mWRPOH9FuRN0RobDxlzV8OOE8CZ801B+xRHiBzhBCU1bvw7uRUCdg48TAKITNS28JoSGzTa2E7S+3JfT24qW4gdXaXicITV6wFxs3dH0/ZrXW8xHCYNbCVI0nR5iw1IEwuBzCjnpF5e6PXUK9R2orpQjTyUXC5XdxP0LTzv4RxZXSCuXNG7pLSLXzuq88IbnB2ne3UkyYemtNoTQhbQGShCkLOcIoMJnGouwN6Ya4xeGdCIETlu8N3+b3ia0PmlYXQ1SJTbalmlCUJYQjhASLtSCeUmmhbbcwy70X2f+G2o8wYVSKW/32cha9BPLO+BpCrCVEJaHkZDGrUEG4WfGJ3PAIIdlX+BpC1xOcF9c6JHQPVjfoIwTh4fjfCJE/qiTkXkQIaVtjKULghBA288/t7oQiRw2rtFrxODJA1xLmYpoEjyfklVYrXofhCYFXWs3kW41I6FWyZiDf6hmEGb2EFxHi4wnPL+LtCU8jvoSDEpr/RKJf9r6EeJwPWOIAhA2LyHuOQIjH8AIPIxAeWcV4ZsYgxDo8SGWNQRgH79GNSFhCTCcMR8ji/wBMqFOCS9h7YgAAAABJRU5ErkJggg==",
4068, [379.3159, 318.59297, 265.35255, 228.05318], [0.58381, 0.51408, 0.60322, 0.69146],
13627154)
elif (record == "SRR847503"):
dumpJSON(200, "AT2G24270", 1, 2, 10326917, 10330049, "SRR847503", "aerial",
"iVBORw0KGgoAAAANSUhEUgAAAcIAAAAyBAMAAAA908bbAAAAFVBMVEX/////AABkzGX//wAAAADAwMBkzGUogG7sAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACBElEQVRoge2YS5KEIAyGWTg5FwuvMPtsJvc/wmj76ABBQI0i5b/oqkaS/B8vKY159erVqwv08/tQ/WX0uXtwjwkj7db0408DIrm5s52xXXetFx1FCK01jRP2velM04TDFrStEKLcbrveNnLSxBCbkT4hxTbCRSJtA1ABoa4DUB/DhEZC1CxQBaGqA/UhTAhewn1Cs9zpoVVCwPm2RHUQnu3gc7o0TfjJGSOEk4slpEII24QnV0uI1AgpSli47f3+ReEI1xMW3+I+y4FgTgIlbocgHULyCRkTFJebljztI1xUVjLLk0uIzjMsqueaLCKkuwjL6gWEG6vcO6e1CGGDcEfBbEKsibDksMkmpOCc1SKkkHCpDOT+L0mHawYU+0FdhOmKq9ksQph6XEPozpNL+C3JAlC4xzFT+YR0EaEL4VaQCEl6fXxDvGkHeY1PvYLrz7mEOKfZIATiD4m1ic7QiWEpwuKkTzhkTxIyQKINQhCDGCEGjsOlcTIhTxMn5IDjiDAcx0GScAw3UsTNhM4Urh1g6QBetm1CeUyihIc/Y6QJESiQay7ySkkRUlhTIkRzSMCziISiDhGu/5E3RgkPTqJTcz8her7yCIc9mUOINRD6DbmEfgaRcCciTK+gRxDuW6hzpWYJfce1E45Py75lPo7wG5YjiAVXTpi7WMXQhxCuPnnXfyPdrovuMON7AAAAAElFTkSuQmCC",
3642, [243.40659, 204.44075, 170.27643, 146.34147], [0.51589, 0.54839, 0.62808, 0.67733],
19012222)
elif (record == "SRR847506"):
dumpJSON(200, "AT2G24270", 1, 2, 10326917, 10330049, "SRR847506", "aerial",
"iVBORw0KGgoAAAANSUhEUgAAAcIAAAAyBAMAAAA908bbAAAAFVBMVEX/////AABkzGX//wAAAADAwMBkzGUogG7sAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACLElEQVRoge3ZO3qDMAwAYIZU52LIFdrZk+5/hAIJoJcTywYi8qGpBkvoB2JI2nVXXHHFFQfEz68n/sjf6Mr8SPhPB2JuECZufXfrur42XQhTcz/bR3/r+n5gVgZFQUzhgOuHqMweUOtFxJjC6Rre75XZSIQQWVj7OYS3QrXh+GhaaZRQEsG5uoa7CxjKFooNbwKjPXAuoVPIbnp/eA5VGkhRaAh9HWObcI/LH0wI9bnZmpsKoVW4w0IcTbi9kaIe/dEGAX1LR4MQ5m5SVXo+KMoS+loG6y4wJ9pbGm8BM5D0hIcKBXLK2kEIVJUVJl+5gunDUYTks8LigxZPR5Tvu6OwdaGywhImvTuZyTocQjlrHBffAo7YR/icDymbZwnTJ4RoCI0GlmaFMNsshBYaHfBXBiLM3bAxhDCud0XCdYYW2u3GECLivHftJhk/qYJfyGrOm/YRMoFqb415fjLejlfhkkNKWEcFU4iHCacBuX5cCNa7uUsoay5b2QvWVmEKk7yC5LMJ00D8Tv5KqJ4YyyTVCewg5Edb+xNXkH428XGyZY2sUDWcF/JjtcHmIlmhDC5Ej1C2vL8QrI65UAGfE0CMC4XMYpU4XGhFTjhvKhEO42SepI2FtEq9EEWBl0IyPkwontC1QmEoEKpzpIXNX5/iC1uJXy+EEwhTtW5MZUW+S/iofwqh2lkG5PWjC71EUBW+Swgy+wxChFT+jyir4/hCLF5xwMo9hzCD/AeJq3e4+BfdGQAAAABJRU5ErkJggg==",
8470, [739.79346, 621.36335, 517.52663, 444.78033], [0.51588, 0.55626, 0.63728, 0.68627],
14547829)
elif (record == "SRR1207194"):
dumpJSON(200, "AT2G24270", 1, 2, 10326917, 10330049, "SRR1207194", "carpel",
"iVBORw0KGgoAAAANSUhEUgAAAcIAAAAyBAMAAAA908bbAAAAFVBMVEX/////AABkzGX//wAAAADAwMD//wAQdckaAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAClElEQVRoge3YS5KjMAwAUC8yOheLXGF6rU3r/kdogo0tWcIxxOaTQtVVCf7qNcZAnLvjjjvu2CH+/W8ZP7rot+kE66LD/wt0EXWYphDPp3u4x9BtfNDEnYXD+DcMj5ZDChNoD2HL2d7GcxiFjc4hiI9wcLhwXKPNzmGgEVeR9uwsHLoKEUgRx6Ims9XGuECb7TQA+PoYhRhKiN4KWS1kLQszrU9ua4hkyee+VQjm8rXKlLDjqsiF6D8olbwRsoOTCLO9USS1VYhzRdZyCqtMbVb9hFgjzKbnwnFBE8z5GduuebcxNquW27OYEegLhbQshI3CcAy6qTtcSAUhhAbqQqRMODdYEqIq6y3km19BSKEkFwoIUVmIzlIfLfSZQvz6gXBconovdjsLNdhnSg2EONZUChveLsRVJPPnQuDC1AM5BGI9zt2zmy2fgD3SgTrZDYVicCEE8EKkOTGKX0PzKcuyMDFcHIkJYVGIrlHwS0+eIfD7YhKSFqZFXCMkXuuF6b5ynJAKQsqE6XRbQhC1hwhl/jGhJSF0FTa7EHkWb4UkWgQhK1gnpLiHdhdSeN6XGRSA4qksK1ghhNcvBkDWjbOFEJiDf4+zVQqhLEzvUk7WTtc5G0IJQxbbhfxMdRXGR21D6A8LQvsVsyqAOz4QYoUQrVp2XBC+drejhXlBLkQtyo/TCELor3Hcehalo6PQENUKUf5oUv/L3Tx8E6Fd0EgIomrdyYTQE84sjFvRXFbNQ4r3qksI40NitXB626P0QHIJYXh/qwSSXOenFbIOwHrWCJHUEGcWUmxdBcxGvobQbvVFQrBbfZFwodVCWB0vI8RbqAf+QmGhY71QCs4lhELHD4RZQTeh71vacGzghYRiiCn+AEqEpXKjLFaoAAAAAElFTkSuQmCC",
10293, [316.71072, 266.00997, 221.55674, 190.41355], [0.60702, 0.62834, 0.72183, 0.72763],
41295666)
elif (record == "SRR1207195"):
dumpJSON(200, "AT2G24270", 1, 2, 10326917, 10330049, "SRR1207195", "carpel",
"iVBORw0KGgoAAAANSUhEUgAAAcIAAAAyBAMAAAA908bbAAAAFVBMVEX/////AABkzGX//wAAAADAwMD//wAQdckaAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACqUlEQVRoge3YQdajIAwAYBZOzuWiV5hZZ5X7H2FUFBIINWq01tcs/veLEvMJijaEX/ziF7+4IP789Yx/rtkOh9M1gsb/n4nXK7xC6D1TAmDeoI8T+9CF0PWeKbkQiKr9dcup8eq7LvS9Z0qCZMAbCEPX9f0wVR2DCekGwmkIfe9DLhyj2o+HT7Hl5h5uwSNPGm08BhTmf6kCyYZyrylK4a4kpsAdQnAQlqc9beJrd5lByDtBsdcWZc7ThEX5kFopH7Am3FVceWUdbu0UoiIHIbFXAvN4VnPnOiHOrTRPnDXhuF5ml7nOzwnj1izEqZJ6ueDl0SQk0d1UxKlC4v+L1HETKqE8PbWE9bpiKSJ2tfY0BBVCfi4uhHfC1EDTRcpC40peCx0fprUQ+T5kQlKFwK8K8RTa+48elwnL+uNGHNhpaGhVyA4AXSg7x7+KEINXsCrmERLbmIWjsTgi9WLZ1oRUb0B1oLNwSSaFAFxIBiGkDCh3yMN57Z8VxqdGSCxFOC59TIjvhThOSjkhLxACExKvLwkzsBQS5EncErJCh1Vk2ISUP8TFmHSh26NGE5LcagnnrlwortEsTAtGFOYriPHDk7Tp7CFMIzUmw/1CkA2KMM16sXcZ8WuEYBTKA2Jhq0LiZ6qFw0zXhXgQCLyqE4W0LiRdeHQQvYS4JoSmUElZCe0v700hnS1UREYhTR9jmIgbfz0gL2HZ4CqcTrDAtgvzJy17U94q1Bt8hNP8yMKNd+Y3CMWHylYhLF2/QJh/I3qesDwenypsvZ63Y/7aq36WuLVQey9oBTChOOdthXkobEIiKsu/uZDC8l1mAo7HYpHh7sJUsFlYJbi7UHZdiXbHhwih3fEhwjcdnyGENx3tQixTXSU0PGq+XYi7fA7CouE8Ic2LeZb+B7TRlwIk74OhAAAAAElFTkSuQmCC",
11302, [367.52895, 308.69294, 257.10692, 220.9666], [0.61017, 0.63474, 0.72791, 0.73422],
39074103)
elif (record == "SRR1019436"):
dumpJSON(200, "AT2G24270", 1, 2, 10326917, 10330049, "SRR1019436", "dark",
"iVBORw0KGgoAAAANSUhEUgAAAcIAAAAyBAMAAAA908bbAAAAFVBMVEX/////AABkzGX//wAAAADAwMDMzJesWPEEAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACD0lEQVRoge3XQXKEIBAFUBeTfy4XuUKyZjN9/yMEHMUWGwFBByZ0paxSoNuHwFSGoUePHj1uiK+f/PilJz0L5CkexWYJRKSKZcuLxzg8zKVs1CQc9d84ls5K0ULEdcsIrRvLE+OEGO4Qfj+0UF+KBiahCnUjkBYiOmswoRijEY7nhZAKT8LwRzR9WL8Q9UAIncfXlnvSGMq+4CT01tz2sh2JXeVSh28RrHcu1sx8UYaE4L2Wjnh9TP+n56sCbtMNQv5mFKi4kJZQ861uwDrMyWtzmqkQhZecWkzIiAEhfEK9m1whlrRgQt1ReI1LfoLBhWsBOiZ6hfw9Z6oVL82Dwj61HVl8pTIIE9p39YyKFZoE2/upWUi9NpWz8aq2iNo8XsopdxhFC5EmpOILNSScdg3ceaV4odmWrpBP3lXC+SADeDVRCL566fWbjRShdH8oLLNM51N5m5SlZ/XYsYCGhOQVOg30WmYr6EOEtAsu3D4oL8zdicgVomqh3kYmNfzCqeVICOfBBcIMopGZDBlCz4PCwuj/OJ2YBvOaktB2eaPw7GnDKxwJpbhbqHKBHymEkKFe4ZllKs1RxULVhf9QCClBF75RmH7UiFNUs1B1YfPC1GXqZG9BqNKE8vCqhWkf0TNBdQtTiNgNbkKYQNyP7cI6hCoWCN/Y2oWxH1EAdmFTQoiDGxFGGH0DmxGqvekPQRmx5ysd18YAAAAASUVORK5CYII=",
7455, [427.75846, 359.28058, 299.2408, 257.17793], [0.62399, 0.62238, 0.71695, 0.72895],
22144930)
elif (record == "SRR1019437"):
dumpJSON(200, "AT2G24270", 1, 2, 10326917, 10330049, "SRR1019437", "dark",
"iVBORw0KGgoAAAANSUhEUgAAAcIAAAAyBAMAAAA908bbAAAAFVBMVEX/////AABkzGX//wAAAADAwMDMzJesWPEEAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACGklEQVRoge3WS3qEIAwAYBY252LhFTrrbJr7H6EOijxMLA+xOB9ZVSokvxEcpUaMGDHihvj6vjNe36/Xz33pbn+aqACBqGmOeVazmnTTHHLQIiQrhEZJpkkpXTGfbUBqsaSIrBAIl542CL0QtS6eDgTIjGLKq7e8oGiEuK5EyCxVH3rSep5KZ6NrgT8MtuzTICAKhE125KTeLSwWupcsECUJre8aoZhvsdWcNJ7QL49KhVh63rQ6kSEQ4j5uikV+jrJvNCckuReK2/BBxtSqcyIUUjgsF3QqFAs9E7baxFuN5m/f5I8z3xMg/65QKD4ZOH1kQcILQxKSn/CYmFKEgNsouly4LxHt1tNnUxO+RBIeE2OacL3Lv/badI8QbE0uiQpKN13w3x6zk4BShe/7YiHeIty2/F6guwqKMQPghJQvNL8JwkXNNo7f/HDqfwlh+xLUCtHlPAivOmwoXUi+0PyfgoG/hMx1D0KK41IhJ6Ho5soAWbj+50wInyA8AD2QigceJ9wOeFEIrYU1GxHtz6/DdouuzoT8QBdCe26T+wYLQiaeINzWV+th3bOwdCtu66O/RrfCoj7ukx8gLOsit8JHCYFboV9hAXEIh3AIrxbmfy/YR9SzED9emN3E5wkzidHqjxBiDlCY3bcwp4lwmPwIIaYLpcmdCzOIQ9irMHUnAjN1CDsRYppQntq9MKWLwsRcYSi4UcgQfwFlb7MtehYEZQAAAABJRU5ErkJggg==",
9437, [496.34415, 416.88671, 347.22031, 298.41318], [0.62001, 0.62555, 0.72142, 0.7293],
24158853)
elif (record == "SRR1049784"):
dumpJSON(200, "AT2G24270", 1, 2, 10326917, 10330049, "SRR1049784", "dark",
"iVBORw0KGgoAAAANSUhEUgAAAcIAAAAyBAMAAAA908bbAAAAFVBMVEX/////AABkzGX//wAAAADAwMCYmAB3UenfAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACXUlEQVRoge3YTZakIAwAYBZOzuXCK0yvs8r9jzDS/CVIAUrKonvM69dPLUj4pPCnjHniiSeeuCH+/J0lvvRTfvrkZgE6aVazmG0zm0421dARLqtZV6ucMNTmcF23dZmRCAZQIY0VmmXZ/00XikI7hatCLuXQES7bvgb3xTjnlUZlDieORzhB0Fj3R/j5oEfYiP9BSKgyELXIQb9QmD0q/0Ih1ffPBsBkQjgKcSAdXRAOntJWvEeIZ0Y9LKwnKAhHKhLSeeHouqjPibaQrBDwzBfhzcIDSEFIUdj1k8aPE9p4hFkfHKhYWGiHIRUPyLF1/4D2k4S8KuQPPrV0QoiVtkChT61VO64K+eFGDtnbG11HrI4sJK+1asc1IdwgdI2QC+HKNaBfuG/Ye/X3AbpFaLOqCNtl3Kb9Iy/0h90Q+6+vVeHhLYbsm8itQghCvEvonhBi9kvvJd1CKAq/O98mvHTRoaYQ4xbE8WkJRe3CNW0iYbVymqrXwr1NXeiWf7VOi1AcE8UzOCDkk5AJ2RJrClFV6Kq5dRcUSUhcCPQ2IbBatk//cpB5CqMLwjQcyiMMEdiuO5Y/wmH6uCCEuNkUHtt0BAwL+a4/liVkHxeEflPmKArFRafLhgVheOoUQn9/qAv9gXD7QZ6zIvQP4dlZyoR4SUhS6L8sNgUchEffQUhSGLI2hdQjJNf0tJCCEIQQUrULQjcqZOctMVhzsW94zaIQoxDPCn0J++uQTCuEpXglFAYQe6eFLDmkjp3zCFyYasrx3iTEKH0pZB2hZyLTXeyzwlJKF/iyNqTuMf4B+mKg08nHhqUAAAAASUVORK5CYII=",
12298, [302.45506, 254.03643, 211.58412, 181.84273], [0.42622, 0.4294, 0.49922, 0.51709],
51665293)
elif (record == "SRR477076"):
dumpJSON(200, "AT2G24270", 1, 2, 10326917, 10330049, "SRR477076", "dark",
"iVBORw0KGgoAAAANSUhEUgAAAcIAAAAyBAMAAAA908bbAAAAFVBMVEX/////AABkzGX//wAAAADAwMDMzJesWPEEAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACqElEQVRoge3YSZKFIAwAUBZ2zuXCK/Q+m879j9AODAlEQD9S+sssfjlB8gTUbmPeeOONNzrEz+/F8Xd1gkz0uYXYJ42LYRymcZp6psS+XY/DMP9cl7OyjEZBWt/zGJppvC5pGloVjYJIObgO4dA0D+TPYtNkIjThMkvH8ZuFw2im5adlgCdqGtBmUqNQZ+lnPWoHIRi0lU+UH+NTdaDrW0n4SYDaIZWE4b5AYUbXRi+hnZNcqAyyEMJBIeqHuwm30oMQisKDC8f1HK9l101r4VyfqHDLS7EQk0assgcIie/jmmU7hrqQdoVY/hawMtgRQgshXzexcO1/PbhchYB0RAhVQlx/UyHagopdFOO4MHonLqeR7fjtnfJEcyeMJ3dDIeSFxA7O2ZYNkEKIhcTOiCvtjji4Tfuc8ONXvpgeqpCCcN2IkqpCVx7HJEJ0Ga4VbhPRJZdC4EKwG8hHyZSEwJYB2k7RhI19IX0s9KgghIwQnZByQtCE7mQiXO8WrU/SC4RudtYLIRGCfxAJIdr+Ni76Vx7y2oVQrg171fIkbi2MRkgKiUVeSCYsIgpP1zkjRsKtZyOz+lLmBm2EFAtduXZR5YSEJSEyIYWVVyOky4TsM9vnl0LIC5EJw9ntQpD7BaG44QfDtdyGSRUCF8pgQuJVCFMr4cm/x8pCkb8gJGNEDy2FZ+epeKVGQr6HYnom90AK/bW7QkqFtC+EHkI9fIkoivDn94XK/r5Q3M+DAbYhaUK6m/CMkQspGbW+Qt6DKjw1iq2EsoSvF0aGhkI8KfRz7PbCo0T7sQv+cfwEYfSfhSohPUmIRxYjUtL9/YXJFZkA/738ICFrVylU236LcO3ukcLaeao1fYU3EeLXC+uImZb3F1bM052GjxHiSWBsKgqlID3QU/gPaD+RF4FY+rIAAAAASUVORK5CYII=",
9459, [594.95424, 499.71077, 416.20354, 357.69976], [0.60856, 0.61366, 0.70647, 0.71542],
20201654)
elif (record == "SRR477075"):
dumpJSON(200, "AT2G24270", 1, 2, 10326917, 10330049, "SRR477075", "dark",
"iVBORw0KGgoAAAANSUhEUgAAAcIAAAAyBAMAAAA908bbAAAAFVBMVEX/////AABkzGX//wAAAADAwMDMzJesWPEEAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACp0lEQVRoge3YO5rjIAwAYIqszuUiV9hezer+R1iblwALMOYxk3xWkwEbxB8Uk4xSTzzxxBML4s/fyfFvdoJCrHkLcU0aF++3eqvXNnROKF/GocmqsamX2rbX0DmBipdxaLJqvLfXvoPb0DnLQsChyepxbKFauYeRsFLQI+Io0LVVulq4l+j4J01RSMFViEsWVWd0T3AxGoRhg/o/obSgJo6oCfnycGH5KT4qgIUoriInJOl2YVfOXa5HnmJ4EAulhK3Cc+e5RtzI2UK7GGKDkBBCIYVL2v8WNkycInfTbKGdnoVmi+KklBNCj5Dc6/nukWHztAl9A6Ir3ItCX1q6VgYDhFB6HCdCQOoRou3FqG360l2cJky4ZoHHQnWiO0LkEkTba4fztu035oXdx4WewcEgSWTyOCEaYfK1RTm/b5BdvBVSKvQV70YJ5eyqRs92kxYi3Jp1UfD6TY1AKowLBypCSoQUCaEuxM5dPAnjwy0U6ldKC+eykI+eUOgzZIW9dZoK6SQ0sP25Tz6yQvtu8IdICzERIgs5w0lIvUL0U/kjCpL1m0ZeqJ9SFSFf3UWIkZBc+prwltE9U0JhukOx0C+Yhb7Ergndhvk2FoU4XQiRkCQhNQrJOYPLWaE+aY6o/JvothASYRDsQUlIeSG2CMl/MO4IKS/kK4EwCl7GACFOE/pVtAv5DldI0cLahLRACIkwbBWEwBswSZjMcEtoM8RCClroswwRiu1rwsaNhEBIRaEEzAljQ78wGtEu5N8NPUJYIgx/orQJwU+QE8ohCxPDaCE28D5T2LCJ5E+JOOcNYaZjgtCPe4R6uDmnVTjBbxdCgxD4m8jnCKV7SkKSzpvvEUpDH+EvEeLXCy8SP1l4qU5BGvhNQnngxwjxnu9kqgpjwc8K/wM4q4LfZfcFtAAAAABJRU5ErkJggg==",
15676, [593.35275, 498.36565, 415.08321, 356.73691], [0.61422, 0.59983, 0.69073, 0.70777],
33569708)
elif (record == "SRR800753"):
dumpJSON(200, "AT2G24270", 1, 2, 10326917, 10330049, "SRR800753", "flower",
"iVBORw0KGgoAAAANSUhEUgAAAcIAAAAyBAMAAAA908bbAAAAFVBMVEX/////AABkzGX//wAAAADAwMD//2UtrVzNAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACL0lEQVRoge3ZOXKFMAwAUBdE56L4V0hqVbr/ERIwNpYXsLwQw6BJ8Vks6YHZJkq98cYbb1wQX9/VQT/1OfpEq4NEoKBVruqYZjUpNTfNCUSKmmasiXlS8zxNpcMxtvJPSOMIVZ0wChlMOHcSEha31DaWi7BcCMwBaNaOJPx8au40fDoa1FjCqgAuebwQzPm8Xtjt6TuMsNudm3whmh9XC3sVcyWA5rcGEl744tbt8asluP7eT5wVon1+5Ebu/uiJegkNxVlAtbn1AggrQ2arvYVm+p0LpZUz3/aCA7FOmYYXo0mfI5RVrRE2vLcBf7Jv1QwKuVBUlvKEEOxmhJJih33gXikQkhNK9tQAT5i6G0eFJKt1GEdCYkLYN+cEeE2mOu4sBDCJ8FQoLOtkWyutc8+rTtHPT3mtkzZ0HooJgYI4rOpORL47xkbrR1BXoTOTbFq+FMZBOraZNxnt2V7pYZrTWpnRVsgMwEwQjAZ9+qCz0OmhWAixbBlCSkr+W2gIuPwt96e9Z3cz390K7d4HR62REL2epMLlPoh6lomE23J/4foWXSTcP4zRXQF885kQyY2UEFVpoM5aIYTkCuD5EsLYQWsoBOooZB/OlcLSaWpHuzXHFGKdEJ4qNNmRZXmQcK99A2HJhejlHl2IcmHY8cOEXurhhfJpGul4bCEKgV7mGwilZ/GOwmVE/v8UYh2PLnSGPVmYO1chNvYeQiwH3kSYcxZTHUuFXHCdMHYafwGi60jJVS5tiAAAAABJRU5ErkJggg==",
2435, [412.18621, 346.20122, 288.34715, 247.81554], [0.58824, 0.62905, 0.72155, 0.71168],
7506384)
elif (record == "SRR314815"):
dumpJSON(200, "AT2G24270", 1, 2, 10326917, 10330049, "SRR314815", "flower",
"iVBORw0KGgoAAAANSUhEUgAAAcIAAAAyBAMAAAA908bbAAAAFVBMVEX/////AABkzGX//wAAAADAwMD//2UtrVzNAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACUElEQVRoge2ZTZKrMAyEWfD6XCy4wttrpfsfYUKA2LLF4B+BPSm6UlNgopY+27gm9jA8evTo0Q36999CbOJiLsN+YkOvOs3zMA/jVBpOaitTR4TDOA7TNJZGqyBgen2KK7LW9PpMc2GwDsLMfRGOyzgWCfwarbiZF1FVVYYa36NYTsjKPO2NcJyn0pVGJ0RfhFXSUXhVg3oWkambRghqSgjbvCohNyYkSzsN5asIoaHsgI2WGtu8GuFnCBsN4kJIZm4dEsI2s0bIPRCSrV2HhGapoSwpHiHpUZfKuHMVEnwloe/nEzaYp7iSkEWKRqN4LSH5TY0IjROjO0JcS8jr35YvojUhx4RoS2g3eUj6bXdDP4TViUn6bXcUTVK+d9sU5YThT0BaWwNCjgnvXWxqCCH2DI8IKZykN0/UGsLgXzPaWyWhKgrNrlNFv349IYKYreo0Qi+QLz6SKu9XBDF5hORsSo6k9q0lnBaNSkJ/LNb4ZMIttCT1+2hkvTiNrCCMZht5zaeELH52ZKZ2S8D5Vq8kVE6MziLJ3dOePImQKgiRQSi79XzM40iXlaRj7B+O4l5sLiFcCJzNAazs1gxCiDoHt+l6A6EXgu0CRy4QKXMIXZAFYd5iKgnfV4cuIWF6ppCQ6whfsYeLQDg4CAiXBUT2tlZnLqHrGvISlROy/0aJSuPSY0IIS1/7od6u5CMav1uCMiwIVyvynsfJSYSrhMu34rRJiL7v8vKinjBo+KzNEA89yzRCTSmI+CXShvDjB3EXPi0iPH8Vdb4/RKgg/gDe+3G014a31gAAAABJRU5ErkJggg==",
5556, [276.74425, 232.44155, 193.59798, 166.38482], [0.43078, 0.35219, 0.40696, 0.40304],
25509908)
elif (record == "SRR493238"):
dumpJSON(200, "AT2G24270", 1, 2, 10326917, 10330049, "SRR493238", "dark",
"iVBORw0KGgoAAAANSUhEUgAAAcIAAAAyBAMAAAA908bbAAAAFVBMVEX/////AABkzGX//wAAAADAwMDMzJesWPEEAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACIElEQVRoge3WS3qEIAwAYBY252LhFTrrbJr7H6EoikGC5eUU5yOb6VCT+BMfo9SIESNGvCG+vlvEi36a1GkcDfcJCBtWq4l5VrNSuqYESovUjVCrSelJlxcgoPUTvFVMF4Ki8u4JMWszQ62L82EXkr+aIaR7hWoyMzSXamHQEvYvvrwKMa3E3UK9CMvvQyZEtgzH+nW6LWFT4fLQ4ph0zZOGZCFQshDQCc2HQQJeZrw5uISD0oW4HopbkvnezzN4DV+Ibvv3dfgDaY7zhOi+LIGRrEjccjf7wuPkyAWKaefDkBU7Ri/mXpwK3jB+OgnJX48JCfaTEoW4//ecJxbbAqLdqqJUSMdJXQmXnWAXOsTvUlep3mTDtiHgZU8n51qGXSlZSOwBBkeH8LXC+jWJ7YniV40Lz10zhMTelrg3W8YKQcmmwv39FRG62S4BvKvdmhwhUrBt5gWD0JkQy4XCd/sKjQlRtYi4cP0PnWPrilboploqFGbVWAiXwsB3gNoIWcl/EUrAA/QEIay/HqJCOZjwtNBcWP2oAdazQBhZaCqsHGP/wqoL1TwoniAsv1LB3UYfKlxafLAQvB8qvQuxSBhW6FdYMkRpjzoW4hAGAVKBjoX5RDF/CIfwTmE28XnCzBeGvEF9CzHDB5HsvoU5QwyTh7ALIVYAnyFMHiIIuc8QYqIwnvshQojn9i5Mu0xF4FOECVO8PuV0oS94n1Ai/gLMg5QidXVB2AAAAABJRU5ErkJggg==",
7195, [355.67064, 298.73297, 248.81137, 213.83712], [0.6225, 0.62287, 0.71903, 0.73408],
25704434)
elif (record == "SRR493237"):
dumpJSON(200, "AT2G24270", 1, 2, 10326917, 10330049, "SRR493237", "dark",
"iVBORw0KGgoAAAANSUhEUgAAAcIAAAAyBAMAAAA908bbAAAAFVBMVEX/////AABkzGX//wAAAADAwMDMzJesWPEEAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACDUlEQVRoge3WS27EIAwGYBbpf64s5grde+X7H6F5QYCxKYE8SBRXqtQEY3/BM6kxb7zxxhsnxM/vLYOzVl39cGuCSbnR9eZjTH9iKwcFs3KjN53pB2YLgeGnOFcXtnOGAGld/hc8HKFG/HTDGV4qhFlaG5uksj2YdWFfL6TpdzRgyG7WzdckVIdtWUPfpUxaOH3TdJ/MbsQOaa3trpn844Bdyqk+7VqaEuJVGanlweCliLWauQlSEsIYPnvLUixtpvKm27owr+S2INhqQYWdhLGDpvu68AjiOhzBmOQPDTgWujQahetc2F1Twv3nFLIQttw4U6Rm2295TTje8Jp2CxLC3Ynerv6UWOHcIiXyIQjJ2+NqIbxdfaHXCZJVfZMoXN8eoPOFXCq07zO2PetC6e8ThO4N6O+qNAP+HlO37ABhXKtOGFSTeo2rwvYjGVoShv+D/C9k+1zmR8O3F3LUjAPNQhwq3OWDiIRwfj8owrnZ9oXgpFAKT4jwQoNCVAn5eGG1EWvNEiHFFw4QUj2wdWHVKdYK5Qv7CutO0d/hFV4nLB1TuHdd80Iq4AX/qDxRCGGDZwmlDRoWFhAfL4SU37JwM1FMb1q49YVxQyFtAkLMblu46RCV59O4kPKBUJIbF244xOcLv3PvIaRcILTcpwgF4E2EuWN6YyHlCfXU5oU5pwg5cauQ4r3OEgrEPwTcl5VSzpa3AAAAAElFTkSuQmCC",
8403, [394.87021, 331.65726, 276.23365, 237.40478], [0.61693, 0.61593, 0.71123, 0.74097],
27039911)
elif (record == "SRR800754"):
dumpJSON(200, "AT2G24270", 1, 2, 10326917, 10330049, "SRR800754", "flower",
"iVBORw0KGgoAAAANSUhEUgAAAcIAAAAyBAMAAAA908bbAAAAFVBMVEX/////AABkzGX//wAAAADAwMD//2UtrVzNAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACOklEQVRoge3awY6EIAwAUA5uv8uDv7D3Xrb//wmrDCLQagSK4sQmm4zM0vYpA5PNGvPGG2+8cUH8/CoE/Wlk0Q+920QEqJetKobRTMaMylmhI+E4DPanOEAc7EhoBlMlBJIGuxKOs7FCSITSIInjt8RgjQrC4JlBV8JpGqaxfKeZMYifVxgOdiSsjI0SfCC/VojroBNebGy0tVnLp0AqvPIpLkdWGyFtwhm0Ho3XC5cexHOrNiASbtvqK1SPpdY9QmxQVIqliSZCSoRuz1mFZNxZ2aAyawSvEaJ95YXtFioXEigW85mY0BahMGrqHOz/glDxdvrlAN8rxPVFW+HB7KZCYHtmUoS0iLuTId1VVD/14IVIkhBqhOEfDObNcWcysHdIkWiPAozShkIyhBTH+aqAQeOwP7excEskCoFYnM+N9qsJboXkucDe0PhMhNmPhEKcTf355VgoTj4QYr5IbAPjtPEVi5NVYV0EGF4Kk4HLCxbMcRsYp02K5D1EAnfuQXxHILpiPSRJehWCTXgs5LMbCSNVphBdZ8h7td+Z6bxwuRQkrFZ+ADvXM4Tk20iyumwnhUD2rIUmQp+1QgisftzWntDPcSNthL7TG4TsuoEQ1q8p8RZeIHQW0XCncJsepSkSfpZ6O2HZZso6Lhcuc6k7YZK7VpgOKAtL1invuEYoDdwsTFJ3L8xfp0LHfQsxE5hkfoAwlyh13Lkwc50+UZhDlDvuXkhG/i8YHsCmPkS4zTuOvY6fIZSR/+lwxGEJzAEcAAAAAElFTkSuQmCC",
2401, [431.88925, 362.75009, 302.13052, 259.66145], [0.55687, 0.6021, 0.68916, 0.6737],
7063908)
elif (record == "SRR1159837"):
dumpJSON(200, "AT2G24270", 1, 2, 10326917, 10330049, "SRR1159837", "leaf",
"iVBORw0KGgoAAAANSUhEUgAAAcIAAAAyBAMAAAA908bbAAAAFVBMVEX/////AABkzGX//wAAAADAwMBkzGUogG7sAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACc0lEQVRoge3YQZKrIBAGYBeZ/1xZ5Aqz783r+x/hGRUC+LeigKMpu2pqEiDdfAKOk66744477jggfn4bx7/NHfXikCsIsXrMjqJ4vbpXk8Rm2EJtUu/ZPfqfI8MUooKQ5H49T7OGXGiN5sFGPw5fQ2upaIe9p2mQFM8y4bb6Q0QQBK9VSbZtQnaRHmW7dKU+XZVtwk2HEyxFWazUryEkjVYITVES4EJfhZ+scBbBCBQLUV+oQoW+cV2okZDM7++FLGNN4ZY58wxF0QuZwZehvQhbdwpB2toIlRn6RrhXpKDGqvcvsefHKoAfjgbCd0aV2fX0Qn7vSITvoeKzden6fCatbmC8C5L5kIIFMQpn1dQRzSX208AwYnzvhJoMnkYPZ1rcSHM+Qnv2xooQyioiVzg8zSTC/rWYQhwqVPfb7B22o6ZCiYVIhTq1srkArF5JQJcMyBBOgExh3zC+Y0JtL4S7R2ASyh6hdmIK+5vaolAbC/3cpkYVvsShcByASOg/oP1tJRbqKCQQrS2UgOJmoO6RyQldJM+uc6FSIYaNMBfq+YTxoxvWhR9RKgwym8IqRFChGsLgoCZCRBmIENlCdyQqCIfTEQuD4/eZCVSToggdplBmu/Jg4ZAiRxiFE8q6cC7KEgYhTYWyLNQawiBDM2Fw8hKhxsVi4VA9bNgnDDL8iTCZyPcJZYswntRFhPE99KpCLRCmDQ2EhX8uCoVGQ12hfL3QfUvUSEjjYOGefequCq4hHJ885LuF8zHL4f8r/VYhpjrwCU4uZGOWwo+Pa55eKNuA7guSCwmzF9FXupwwlzj/4GWEkuOD+cFbeAIh2ab/ARqLTe2ooKEtAAAAAElFTkSuQmCC",
1048, [235.30652, 197.63739, 164.60998, 141.47153], [0.57497, 0.59357, 0.67881, 0.74618],
5659168)
elif (record == "SRR1159827"):
dumpJSON(200, "AT2G24270", 1, 2, 10326917, 10330049, "SRR1159827", "leaf",
"iVBORw0KGgoAAAANSUhEUgAAAcIAAAAyBAMAAAA908bbAAAAFVBMVEX/////AABkzGX//wAAAADAwMBkzGUogG7sAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACTklEQVRoge3YQZaDIAwGYBednMtFrzD7bOa//xEGqyIh0UpEW33mzZtXkCAfFGrbNHfccccdB8TPb0GgpPEQf46cWlE+HXBMITtytkTbPLt/zjiB8NE+mvbR+pLJJfTkbIm2CcTWl+sS0vHCpn0+fbk4hzAsoXMfklPIrrt54/H0nzQEez3oTRa77vaJIKBciGsIF4w1hOqts9ekBaDZNZgGIunLRk7xZv68sFtbNPaWg1h4auJ4l3eviHAAZJ1aw6gQ24WgqVWRMFvEPYXGOwxRGCZAjVsKw2s6t1Bf10KUCvUJZ5942wM28VXbLQwbl0kJEYWL+5GmR/ajhRzLlFTT62+FkKOwr587hkN5zDtM2AvS8fJwO4xITVRCKGHfSxTGcjhzOfYhe7VPvM3hF/bLRErIyWBNIWIfstdjhfReGDdcJgQlQsjBE2NJOFZUpWZCRibMJyAxyVKSlwrH2lSIwTMvrLkjtRDjR8QMMReOPUxCpllh7I0WhOrKppACGsaaL2F6S5QLsVaIqkIWwnQErJdw2hkcLw9C0YJk+zkhWw8aQ003P1U2IllCcX9TSP0SrRdyX7laSHsJkZQs4XhP9B/vk5BFAyVEmTD4OJ3QLboFIWoKYQkxJ0QtYfesvCA0Qw5RV9QRyvk8iZBkOe/h/EK7vLMQiD8lXVOI7xduJJ5IaPzOt1aILxcOvV9f6HxCvYVfI9RtriTkWHNVIWLr6wrtVotBiF9ITyDMUlfFq3n8unNBIVmJlxKaiScQrtuI0F/cS4VScKRQG/8Bslsj3ph17PMAAAAASUVORK5CYII=",
2393, [332.71558, 279.45268, 232.75303, 200.03603], [0.56527, 0.59063, 0.67292, 0.76046],
9138919)
elif (record == "SRR1159821"):
dumpJSON(200, "AT2G24270", 1, 2, 10326917, 10330049, "SRR1159821", "leaf",
"iVBORw0KGgoAAAANSUhEUgAAAcIAAAAyBAMAAAA908bbAAAAFVBMVEX/////AABkzGX//wAAAADAwMBkzGUogG7sAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACP0lEQVRoge3XXXKEIAwAYB9szuVDr9A+56W5/xG6CgIJQVcEVh0y0+kiP8knrLXD0KNHjx4N4uunbvz+VU6wFU3uIGCTND6m4XsYp4YJWwvHaRym10+76HtYPNrvIYUN1oVVEp4Twv6QaAqlGoS5ZWzF+H3qlNL+EBlJIVHGatXjrJDKCCt+tzNqEigMG/Ovdw6+HAP1dl/96oBWhJ/CUVFDTFQTSFDFA54Wzj2gdEsUyQav1S0RHkQgcRvqCTkB/G9YhJQhhEsJga9sPyPtCKNtc4vFQndDuFCAqglJFb6uEcEBoRm1CMkJ7ea9LYwzFQjgwjWvE4J2a5VtY0InkkLyD51o3apCCptrurXYmAiREJgQvcg8d2IhxMsqiYqEqQmCFq7pDghfKPQN4kII2v78bgmLSleJT4zBZRJbHJRnbgo4FLoeKZRtt35cCdqPWMznKOhrR5yfoiyip7+r7w0hREJoKWT12SzoC/WB0aRMIS6P1E8JwX7eEVIoZAMUoWzj8sBJCM1LrfYadZDlF+AV2IY4oyFoGXhS6K4mhHFXlhCYqaFQLsmFCAh+fHYsN5IL2V/BLeE8N7zATcWEJzdxXmBLKAppLNT6jgMJ+LkUbzIHhNxwWpjoayyELiwhxA8KExcKC09tYpjz4sLMrezC6wgh87DeQ4hdmA64h9C+WRyjsTRPFJL7+t5CaF6P8QAQ7HiW88pCddSekOR/9c8T4pOFZryo4QZCfBcI6sRHCNXFnyQ0a6Um3kCoEP8BEOeJVvJ+cZcAAAAASUVORK5CYII=",
3592, [235.9531, 198.18046, 165.0623, 141.86027], [0.59216, 0.59686, 0.68307, 0.76291],
19343538)
elif (record == "SRR1105822"):
dumpJSON(200, "AT2G24270", 1, 2, 10326917, 10330049, "SRR1105822", "leaf",
"iVBORw0KGgoAAAANSUhEUgAAAcIAAAAyBAMAAAA908bbAAAAFVBMVEX/////AABkzGX//wAAAADAwMBkzGUogG7sAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACSElEQVRoge3YTXKFIAwAYBY252LhFbrPprn/EeoPYILBB4hvxDGd6Yw8EvieArXGvPHGG298IX5+8+OPCjrfIUq/DEC64jtuG+NoxvlXVQB1IDTDYIytzJ2EHRDtRBxtXS6lhFA/n/ZhB2vNUJdLCSLCjW7tMP1YWyeEhPBeD+9kG81gq3KPhDcinoiEEB4vJCFEJe/KSTWNHKGy53R0f1chxs3E5d8R7ifRJuqETf4Qih70q4SUEBIT7j+HqIkQ/Af5Q18s9OUEhQ1XKnTXJff2WiH6croQeLNy+KeERU9v1FV5kk4E+Gqe4i79GMSbc4Rb13ji6dgJW+5e7AHkwti9XGtnf9zEhNmvm3HRpkLYTD7WK1wXx14oB2dPsKyXOF0Tc5ANLYVAKSFNr/y8db4hYqGyrLVU6I6hMvEtBOZdFvVJyIYvCad2QGLh76ebNXM4gDhSgT/zy3JfVmaYOjNoQjRtgs1IEZIUouiwHHcgGkgR+uogko1Ye5rw7E30pzGfgybkwFbCcI0mtUGzflgpnEviZ2Ei3BRRHqGZQnYNR0L3DVYKQe4jzYRQJnSZoYIQ0lnhOtI5YVimmiFPiOohG6pS7ZYDrEK9MNlQIPRHkCYEdlh3LMS0cN3azgjxDkJeIRay7k8W+lfvMmEYqgehL1clhC6Ey+FfKRRj3loIhQuyMyGwvDxfb0K1z0FstZ8q3FL8KM8VyjGfIgQltRNhJrFnYfb/tR4u1BK7EWIGENKJzxAeJXYg/Gg8TssXSsG+4ULhrvc/AhyPBEYuSIoAAAAASUVORK5CYII=",
11402, [376.47148, 316.2039, 263.36271, 226.34305], [0.62558, 0.63284, 0.728, 0.72283],
38483470)
elif (record == "SRR1105823"):
dumpJSON(200, "AT2G24270", 1, 2, 10326917, 10330049, "SRR1105823", "leaf",
"iVBORw0KGgoAAAANSUhEUgAAAcIAAAAyBAMAAAA908bbAAAAFVBMVEX/////AABkzGX//wAAAADAwMBkzGUogG7sAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACRUlEQVRoge3XS3LDIAwAUBapzuVFrtCutdL9j1CD+RlL5WPsQMeaaaYm/B7CxFbqiSeeeOKG+PruET9deuke9ctBQjnAqVXuGa9FvfRHYxDwRqBhiMtLLcv60RRAgnD9Qsru7bG8V6FqF/ISqfwT8dI5VEtbYxIkUvlnQgvPpHB4oTlp3u+mtpJQlE8Xm+R4aFphrfHE6XvVwU0UJwvDeKYYC4XkGgo/PCUBmK3S1NtOSKEY9vRMrEuBtrvqtIc+GhsKvbnuLATthdsrRNEX2dVFJwQtLN1uSb2OQmSE5C6sJggxv/XCGtm7t2yuFwrRJ+0o9Nmk8E1ur6bCwr2dCvsd3fEkIC/MzhgahUmt7kKM/o+F222UCFHuDTihq//XHZyCOglRZYW0K5eEbu7rPcoIydcSjx24RmjmlRNi6uPGdmiddFEIekcIG+AK4brcZrSs0M8zRJoKioRRf7C72t7M+D0OB5AZmataJ9Sj5YRsCPMLiyEIw0WBcHtTbX582xbUb8FKoR0WW4QckRfqsvYHP7CDtQkdqJfQd5kIQah/nzBMvULoj1ZyhzBIwl39NuF+XW8SovLNzR/3fn1eSB2FUUGd0Px6IuuIB8MTQv9a1Co0aagVHq4HFoYehhMmvZ8Q8gVdhS034mHGYwv9++u/FdZnMel7AiFWCo8zHl2om9Q8oT7CAYVU9ww+o/BYRQ5g2s4hxEc4vbB0m3JNH+EgQvz3wrIsAtdwGiE2AucRFiSRbzePMEeUmp0W7klXCkMHNn4BWEsiqTNCj30AAAAASUVORK5CYII=",
16537, [687.0589, 577.07082, 480.63587, 413.07514], [0.63356, 0.64517, 0.74182, 0.70408],
30583559)
elif (record == "SRR314813"):
dumpJSON(200, "AT2G24270", 1, 2, 10326917, 10330049, "SRR314813", "leaf",
"iVBORw0KGgoAAAANSUhEUgAAAcIAAAAyBAMAAAA908bbAAAAFVBMVEX/////AABkzGX//wAAAADAwMBkzGUogG7sAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACDklEQVRoge2ZSbaCMBBFM+DXujJwCzquUe1/CcIHk0oDpKkkyuGdYxetvHdJA6pSt27dutVBf8+f1uv1pP13Rx9cCQHN4g2Tnh560oPiNBD5hHq56WlMmhYKCbWa1KXH8DHzqQuNIYRjOPNdm3CeoPpKszQkvJpWQhwdo6HkCeHLZgT1IQRUo8DFCeO9EcGopdCCMDJaAxe7NGFwmWtb5UxyBNKE8ZPPwHPSRihmvoNyIcKdKSFrkiW6Ccv6W59vbSC/2tMFHQgBxNdCfiAxbwdlGzNazvajCKEt4eeBuaCQUaqst5BzhBA4YfdxbE2IKiTsut+AOCG5hEu3FEjIK0XtCed+f5VwZzkFhFFVhc6LWUEY/boHDsOPE0aDJhLmmpWr4rjGg7q9jScE7lpSyhrw/z6bsGzCQl7MIkI/KSBrPiU0ZnOCgquczxYAp6XjCJFMAMweRqBkwp2Zk2biHhZ7kZ1LWLTJrSW5hMmTW9UTUjkh2JLzn549wgwnf+ChHyErOSUExzKH0FSiaUBr35HQPonC+oTpS94WSRAutZn7vwWjj89hzlU1hFRFSObLctQK+euA0FzapxBi5EOHgCxpFSHyBp4CguwBofmFZOevhIjtqYCX4NZTFaHbEDgxZu7qLTMvPUPPRvRrmKcI4dLVuu2Z932iJMID42NBtFCQcHlBzQjxOwipHWEE8Q3y61gEEPun2AAAAABJRU5ErkJggg==",
4937, [240.86312, 202.30445, 168.49713, 144.81228], [0.44529, 0.29639, 0.35004, 0.33927],
26044624)
elif (record == "SRR446027"):
dumpJSON(200, "AT2G24270", 1, 2, 10326917, 10330049, "SRR446027", "leaf",
"iVBORw0KGgoAAAANSUhEUgAAAcIAAAAyBAMAAAA908bbAAAAFVBMVEX/////AABkzGX//wAAAADAwMBkzGUogG7sAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACGklEQVRoge2YS3LDIAyGWaQ6lxe5QrvWSvc/Qu0kBj0gBaO4xuN/JpmxApI+yRDsEC5dunRpB319t+inafS/a0M9iNxL7K0p3MNt2jqbjk94m25hmj8blSWEnoTcNS09nBu5UQMQ3u9zD4NzD7EjIX9136WoTIBHI+zdaVCZgODwu0+1gCzhbANDPaxqCI+17bQqR0jKNnY/i4TEhqAaMJQUzSIg2USwW9FIyhDSqQh1vxa9CImP2T0xN0lCZKZEZZo8lIDTPEFXwNjYsxHGFkas0xPCRXhs1RLi51PxCwH8uaGCUG6sH5NjEcXfmySkwLbStXG7Ebod8B+5I7soEj6swAnReNsuBeRYRdYeQ4gC0BC6PhcrXzsR0icIC5MsoRciJwRNSIaQegkLG7Hm4XXvFF9XgqWGsD0HyPbGWsWt1addCYEF0/ZMWq3u8yLmy51Qv4WEQuIFQpeVCB6EpQVpEheEDN/S+BGSB2EpFXNTimipLvCOcBkMHa+kWwjRENLjeFUstmlEK+E88hmkdU0q39WEKI91y4VATuL+Ym6iVK8CpR/yhLB+tSGm4U2E7AQQJ6MyLI7gdW5enScifY1/EYrg1YJUEGoklAOKhFRLSIDR6kw4B0EbcwNhwVBLWAQoBq1RDMNCDEGIjYTiWD0EYW0TITf3VITZuWcihOzcMQjx9IRVTcwDNhOi9rUPYQXi24wHIMzdqL9v/gu/5zcCKAAAAABJRU5ErkJggg==",
4965, [200.39733, 168.31665, 140.18907, 120.48335], [0.53715, 0.52608, 0.60994, 0.61117],
31481295)
elif (record == "SRR446028"):
dumpJSON(200, "AT2G24270", 1, 2, 10326917, 10330049, "SRR446028", "leaf",
"iVBORw0KGgoAAAANSUhEUgAAAcIAAAAyBAMAAAA908bbAAAAFVBMVEX/////AABkzGX//wAAAADAwMBkzGUogG7sAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACVklEQVRoge2YS3LEIAxEWTg6lxdzhWStTXT/IySk/AHRePiIGTtl1SxsFW71QxgX49wdd9xxxwvi47M7vr77NcaE0RyRsJGSRTwe7uGm2VTzXIRumtw8T6aSJGKq1xmz/82mkmaEZKIyu98GmveQTYTgTCHpoxmd/lrYTIjKWRJy2kb2rVXpY8LpMTfvNMQwa0TodVIlnyNNaFIPW8ikTV5Er5Mqie+syo4kRNLIV6M8JkyyIwkBCvTVKp9IweSwz5MvxTBrMqkSwqyvvLycUPQ7sXhgI/lV6QmhQTkQBKthDy2hCdn5+cwQcn+9NFC1NWcxq4qQ2G3iKaHpOl0WDKFqhoSkCUWOCLvrhaV5kQ2rUWxrAKEcE1o2cakZVxMXJ/sJY6GogylhkuoJwoQquREme21p1BKaIZKUEco2ntsKnZMw9MFr9eWCq+tUElYWyIZkCMVvQMDFelG7WtVMFRBaNTFL6C/6CSkh0vd5Qu7hChzkCQXs6NvFr3V8nNT6vNV5D+GuBAhTFxQQFlnoIbQ70XDMFN+FLqieMCXS9weEBfpPo45Q+JgQOHo7YSBUQhgM2FnHERogUg0hp4TKATu9x9K1CKMBgJCW495yt8j0EPbvNVWE8YAdZrURM5D/nLyJMDiaWBBSlNgJ16Z3EXITYCAZyjQSsmQJMdHFCNXnYwRh/VJNOToIZTghBQ/VEbL20EaIEgMIa/q4i16DEA44CqV8ekKKnioJ5PjEhNtfxuVNvBphZkQ+CD38rwih40sQchkgoWdvwnMQli3TjONrEDJE+gEE7CiWokVdOAAAAABJRU5ErkJggg==",
8658, [260.51637, 218.81151, 182.24568, 156.62826], [0.56495, 0.57833, 0.67021, 0.67381],
42228711)
elif (record == "SRR446033"):
dumpJSON(200, "AT2G24270", 1, 2, 10326917, 10330049, "SRR446033", "leaf",
"iVBORw0KGgoAAAANSUhEUgAAAcIAAAAyBAMAAAA908bbAAAAFVBMVEX/////AABkzGX//wAAAADAwMBkzGUogG7sAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAB+ElEQVRoge3YS2KEIAwGYBY253LhFbrPprn/ETozUgwkKDBoTcu/6jAE+HygU+dGRkZGLsjHZ02+qnr/ehqOB2HvI9w7y+IWN82t5UTUcTGnZHaTm+eptdyAcHkSH87GGBCuvr98DufpjasUyIDwscm07zQvIfZczt1CQ2g+Q2g+MITm81+Et3/kv5EhtBkghxj+5jcirt8m3dFZC7C9xQtX1asV1u82p71THL1rCyGsHyCw+PEwEuB3HiVCzycILBM/r+LsCmkTeuJVQug4VKmQtu7Yb/pcOs7Bnw+gCon3OUuY7tndheiniYSEUkjnCCG99DveClxIiTDJ1thtdh8QYxoRFm8XdoVY2lERltYe5lShWCc6tVYTktP7VudkIYkGLOnohT2IUCFEVyhE2MZDOZsskK2PhtzhKAl7+NQIf17jDoV+PNn5MiGrZKfnWEhlQsgKM9WgCosOph5eWSfEqPvO+BgWLo+mrN4T7k+lJ7pU+gshdIC4N1BSjVFJRthC9MJnJcWLaBGKFUhh+k64feb27sLXkMkwh8K4A+uVrq1QSOwRlBM23IlBuE3ZLkw/I1QKwwadFWK1UFtxmzBteC61WhgPqS2ylpgM/IYQ8g1nCIvf49UV31roI/6xmQkotTaEpXuOZSEWCfUV1wpjwVVC/SR+AwPBcvsiB8w5AAAAAElFTkSuQmCC",
4701, [97.15559, 81.6024, 67.96573, 58.41211], [0.50447, 0.5379, 0.6179, 0.59714], 61481964)
elif (record == "SRR446039"):
dumpJSON(200, "AT2G24270", 1, 2, 10326917, 10330049, "SRR446039", "leaf",
"iVBORw0KGgoAAAANSUhEUgAAAcIAAAAyBAMAAAA908bbAAAAFVBMVEX/////AABkzGX//wAAAADAwMBkzGUogG7sAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACXklEQVRoge3YSXaDMAwAUBZU5/KCK3Svle5/hAbwKGxjG5khRa+vjwCS/BmdDMMbb7zxxgnx81sVVLf7xdFyQEj6CLdEdhBqmOZ/fYqfFblBjGoc1Kjaa18jBDYKzOyrPn9KNbeibPFuUScch2lqbuWEuSbiwa6cHaE6ch9aIeSaiAcXZu6VcRon1SqE+wg7dYdPaXP4Tr0fYSPs9MD7B0Kchbg2wT49osFB3YS0CEkv9+kRC3iFYhEIT5zcbED9hPSlQlstFKJok+wAzhLCRUK4TIiiXdJxghBdp38vbO+cmed2F0JC6HfR39/w24RuULDOHBuEoGlXCikptG0+wOWipfrW5vjxyXWwS0SIlX1yYatRWqjP6DOFkBGi22dej7VC9IXJ1KhQ8DK1QkoL1/VAYWcc9gJDYSLhwcL5ymwWyl2n5UK91XbeHcJcijxh4rzcTWgnAplnh03DJwotMS1cdoClMlwvdPdHRGgaUxh2ZXwQ68sd5pcolQi3W4LmR0NCuK74wNAsLIULhZEtrg0ewtnyGDK8T97ouBC8JQ3TMzPCIAl5I9PaXM4Z4f69LiNkwJSQ9LOzVKjz88LDv73HHFzITyEXUijkWSmhyXclmZD8CVc3IWzPoC9ELowcl4TQbksLEXmSvHB93qeFxISeSUJIPKlU5eXsCmMRCqlc6H+nNtv4hkjzI0LwxtAkxDoh2q/CYErFEMeEsJx9KeEyL6sQEoVCslI5YZAkIIQaYexzJyE+TQjlT5zIMI8IYyukhbjuX8QDluj3vK9QvzaKiGFddJOHewvD1CD+AHhfnlDgOs1DAAAAAElFTkSuQmCC",
5328, [112.22497, 94.25939, 78.5076, 67.47216], [0.4787, 0.50595, 0.57795, 0.62009], 60325368)
elif (record == "SRR446034"):
dumpJSON(200, "AT2G24270", 1, 2, 10326917, 10330049, "SRR446034", "leaf",
"iVBORw0KGgoAAAANSUhEUgAAAcIAAAAyBAMAAAA908bbAAAAFVBMVEX/////AABkzGX//wAAAADAwMBkzGUogG7sAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACKElEQVRoge3YXXKEMAgAYB9SzuWDV2ifeeL+R6jbtREQdzHB1TjSmU6XBpLPn2jbdXfccccdH4iv78r4qW2wY8QcIoppExWpT0Of+siWJxP2XRq/pciWZxOO57DrYoWAke1qY3icwvErMIhOdRb7lIIv0rMJx01m6IahtByXKRiFRrrVIFicr0sJwboiryVEQ0PE2dC2Fv40KJNaWLftHPLkEcvPwrwUKazdWI/Yl9l1RzRz/rPQuhD4+teFyIZjVx54eeEBbw/A1g9KSNOamMrYiTbFAU8eWhVOP/CcOB7F01WUFwS8FKLK6W3nXW+0JtN79c4hhKSFlFO7CnfFciEthZBzyIb7e1uT5VZzHnVp4JX8RsiCDd/Q25hsKVx2DNyOioTO6UEPXRdqY6CQz+kQ8uG+3jyhhMjTurTA8mIV0UJgvflYuogQ8LlzAKsTDZ/lTQlBfpoGuIVy2JTCqA01Qqj+8UG2EBZCmgv2E4JfaLyk5uXIT1qYRbYQTCHpA/cBIepXOFMIWjjdlZaQ/8ISRhA3CsUA9qdHhVC2ZMK5USFNoIqEMGdyW2SPCGCFq0IQLbnQzHt1hCgZLiGLdSFsEZJDiCXCqfZxJ9cJ5wa59VahbBkk5FNVClEK5bIcQt0yRsg7g2izXUioE+HCAmKocCURKRyHy3emt2Gt+OTCjczmhFNcX+i+IWG9+BYeLPS+3pi1bQjRBYQXtWcXuk6iDWxFaBp/AarrmyNITS56AAAAAElFTkSuQmCC",
7852, [157.40157, 132.20388, 110.11114, 94.63334], [0.56019, 0.58674, 0.67547, 0.66481],
63386459)
elif (record == "SRR446040"):
dumpJSON(200, "AT2G24270", 1, 2, 10326917, 10330049, "SRR446040", "leaf",
"iVBORw0KGgoAAAANSUhEUgAAAcIAAAAyBAMAAAA908bbAAAAFVBMVEX/////AABkzGX//wAAAADAwMBkzGUogG7sAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACNUlEQVRoge3XOYKDMAwFUBfMPxcFV5hele5/hAkQHHljhOWwJKhKHNnWQ2xx7o477rhjh/j5NQZbF3hjtDlEDGqzUKPoXee63g2V05EOMdhUUeOYcH3XPaQ1QZxqTiacdcOjkRUBxzkhM1mrahl9N4zIqh6CLiEc21d5loJzGs6xj4tuMNxpskKcTGgK/k4hf5ww1nygkOYvJAcpP+Ei4V/KwKKJCwrXF8KXrxJeEAt/lWmEuF4/xX1kRcginfYt0BryIR8Kn6PcVHjA8ZFCDoXzh1AIs3D3B4+4ypAIefo7JS9Ek3B6sT9SyKnQo5fC2FIjTLNNm9L0OSPkSGir8VuEpMms3WJ909bCpEy9sGGj3yqMMVwQIjkaDZ8pVULl9gXhcucmkcixsF0T5Z4KYakLMkDw6wXjy0r0TAt+icta32ND6IUUp5cCzwREJ3S40gmFHKevLElL3TI1FnLwS7JGq9tNlXB1a78ewlwUhXGz3VFCchrhq3OLEOTEVyEkOSUpSzbZEDAI8xUkQvpXmDloMnFXIWSCFwbURJi818dCFIU2ony+1QppKSeubYNwebvPCmvP03Ftv75eyDlhVAhhg5DlaF5YSfQ70TYhU5CAcV5YB7YJ6X9h1YkqSt4oDBMgzPOAr1cpTP9+NhGKVf0O1cLCgFYYr1ASTt2uEoZ7nlLI003jNU0RuYpPLpTTPlFYSCkGcnNv4TmEpBOuzD27UNdEZKdeRKgxrs7UC0PBjkJKSX8vm2oTjBuflAAAAABJRU5ErkJggg==",
17220, [292.97652, 246.07527, 204.95335, 176.14402], [0.54039, 0.56246, 0.64858, 0.64035],
74683660)
elif (record == "SRR446484"):
dumpJSON(200, "AT2G24270", 1, 2, 10326917, 10330049, "SRR446484", "leaf",
"iVBORw0KGgoAAAANSUhEUgAAAcIAAAAyBAMAAAA908bbAAAAFVBMVEX/////AABkzGX//wAAAADAwMBkzGUogG7sAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACNElEQVRoge3YXZKDIAwAYB/cnMuHXmHf87K5/xFWLP4giUJIFTpmZtvuKgkfMMi265544oknLoifX138KdtdGkUjgzYDbB790PXuRReIy0dA8a57Y+i7YRhfVAGEME/e/UKhA8PLCV+6nEBE48/02b/dGEIHejeHvXoOp3jnr1XYOWGnFFIgREJdGoNwlaU5LNlpqhLCJxZRKKT7FqrbDCyFuOatRwiWwjlVPcLNnm6Tz7/HQrQrktcj2/EFD5mBrBDMyqUE2Y7vLKQj4bULlmwn8WPCjIPfbokYC0kWUnRTTgAm95EX5pfkI0UImoIZs7C70VIIrvO4TRsIfQ3QFIQpVRqSF5oQAROEENSby55tr5DaS4jOL4ZCmB6tGKSNhdsL61lDqD+OGfrU4TJAaUjGlILQYK8BxiELERHWukJ98Cd2WFotlVDuRPgXCtuWRIqQlr4S0SqMBn6XjxEKU3IgLJ9Ebqa2QgrKBTcAN8IaIXOlXuHWxAnZVXco5BoYC8d/hEVhNMKnQq7HNwvZWDq2r38ulFb2FwlDC5C/0IgwmKdEIR0Li7caE+HyJE8S4lL6/aznIHZCKBTSdLAJT69nwvV3FJ8KUbH7hBNy7kWucHuUkIVYJAySKIXMH1KF+wyssGwSmxCiiuZ2aWxEGF1NiqkSNiNEFTBKULEwn9icUPMdUWPCTCLfum5h1m4jjE/lQkwHgtC4cmH6t8tM2+8Scm3bEKIe2IgwaRKBb9qIkDX+A8/dLktpr31BAAAAAElFTkSuQmCC",
11131, [462.45707, 388.42446, 323.51442, 278.03951], [0.57488, 0.58873, 0.67788, 0.7109],
30583559)
elif (record == "SRR493036"):
dumpJSON(200, "AT2G24270", 1, 2, 10326917, 10330049, "SRR493036", "leaf",
"iVBORw0KGgoAAAANSUhEUgAAAcIAAAAyBAMAAAA908bbAAAAFVBMVEX/////AABkzGX//wAAAADAwMBkzGUogG7sAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACbElEQVRoge2ZS3KDMAyGWVCdi0Wu0L021f2PUPxEFjKGAApk+DOTxkaW9NmK3Jl03aNHjx4Z6Of3ZP2dHWBBNluINmGS+qF7uTdDoWWwrhv6vhsGy4hAltFG9eMZmiKaEw7jGb56w4DWhH3nqvS6hIB7471e1p3mCEI4JJOzRIR8iLpVkr4fFcKGLysVhFDizqUazLDjuOHLSkTEB7hsvZIwGDV8GQnqhChtpcHkQ1ohBAeai7NUawYkCIl9Vs1R8S0ngxvA/Z1Xhlc5AMKzypoFQlTNlQhyMhG2an6rxmIpIkVcCoSVYAVhKFlMT5QlpMzCDDsSqtuxR56QJRDdbyAMA4retPwy4VSAQBohhQeVqO/J+SP+7YnuySezmnCsLf9Zz+/zhKQR+lclFvE0yI/CeJ44dh8jxORWJ/Qn4w5HtBvKT3lmVUJEvh+mhJBJBCHlBELqohNWCKkkTO3ZVS9sIBzvxBMIi3RjM5wIqWwe4AfLhJj7lV8rCdH9KYMeTugC6YQAwT+Vmm5MSJUUl0DejImQ8m0OKedM6Fu3e6sQErPeQ+iS0Aize0FYXH4rCIkR8pxD+woWFULm7FhCNhqbA0rCfIjetEVIdcI4FPtmTEg4O0Lih7yVUB03CPf+WzNjSi4XCPmNXhAWDIcR4i5AaBDyQlIJ+UQu6CsRch8qoaoKYZnTYYT7yvQhbBASWhDuQnwIW4T6xEO4mRC/nfCdC6PM4gsJIfosHFyZELb+tHE3QsWkobiijHl1QtxOKHL4PkIUa69OuL5Ma7vzLYSgLL0J4TpGDfA+hPgm4GZClK4uQ7i88AaECuI/mW9cvfT4ehUAAAAASUVORK5CYII=",
5406, [326.4174, 274.16275, 228.34711, 196.24942], [0.60356, 0.60858, 0.69799, 0.75239],
21043986)
elif (record == "SRR446486"):
dumpJSON(200, "AT2G24270", 1, 2, 10326917, 10330049, "SRR446486", "leaf",
"iVBORw0KGgoAAAANSUhEUgAAAcIAAAAyBAMAAAA908bbAAAAFVBMVEX/////AABkzGX//wAAAADAwMBkzGUogG7sAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACB0lEQVRoge2XTZqDIAyGWTg5lwuvMPtsJvc/wggq8k/B0EIfvkWLlvy8BIMVYmpqauoN+vkt0F9w2K/KlwODw760ikUsq9jqrDE47EoKbl2WnbRCRHoIyJQRu2QNj49yARHBWbzOCRVkuSQh4VFHQkGZ6R+SJKzdpYrw3KkatTctm9jW2k5DFuHOyJlZsVpEdwk/W8QW0Sfhe9UgOvRDiLBnw+ju/PYJMWbSWHsm8N2EpAj5ol+LRT0Rsj4kpyfwCY3XVLZoL2VErAt8bQdKETZuOs4CvpFQx6C2b+IfJ4TWZ4fjm3gRKUt4PqGI+3XJA4mvTnZPBjuVx8oS6hYkm3hBUJCu9O6O/1cB4aLocBg0KBTkCMkkLAkqCcHcBxFTgCghSxEpS+joyjPXe0CV3Nrp8YleTmyEcOccIiThE15hc+Gv0uN9FZ9n36rZMck00HZrXokoIeTCd0JouAkS7v0zTpiObycJwYRl42pLaMYNEgalTb346mx1OrBJ6FYRLJcDEMp7gClCwwKOLto3oVuSw1uK0EiZEByXoxC67wk2IbmT04SPjwszhypC9dpir9drhECWuiU8ILGE0LtOEz5FZCC8s7CZuAhRPBInocPARfiwiCMQ4iQcntD7tUQwCTshrN+pln3PhNVlHIiwEnEkQqwBBMu4c8LyIhohxiDEIryQ7ZiE/2WaoFoOkKKoAAAAAElFTkSuQmCC",
12339, [504.47891, 423.71921, 352.91103, 303.30398], [0.53328, 0.55476, 0.63714, 0.72532],
31078655)
elif (record == "SRR446485"):
dumpJSON(200, "AT2G24270", 1, 2, 10326917, 10330049, "SRR446485", "leaf",
"iVBORw0KGgoAAAANSUhEUgAAAcIAAAAyBAMAAAA908bbAAAAFVBMVEX/////AABkzGX//wAAAADAwMCZmZnmW5lJAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAB8klEQVRoge3YzZKDIAwAYA5unotDX2HvuWze/xFWtEpAglT5KYzZmc60aJIPLNVV6oknnniiQvz8dhp/Cce0ntx7QeGPJ61e60v3IQj1NCm9vFTtpkQIQiPTel7Gmr2UCUk4mb9JjbuGerk+R7hKQdxpppceYKcBUThK1BBi6QLRoEJCxHny1gAsUSA1yESBvECoaFYuNbBAgfRGyglhy9xUuAAzdrBnmnlW2HIrW4X5Otgz8cQ5p/DjKCUEV9hwESnzZSoJMXBMncgshHcm8oVc1USYq+guJF+I7JiqRMq7iCQKiR1TduMB9219IWSpBslDbiu3IyJEp+CtKuZuAuUe/JZyEiFZKDcYTY9bmUiCZkLamwuUS7s3JyYU+p0TicKkGvGwcysJ918Rr9xZ9XX1ToRmENB/UsopBIoK0SlnRkjZlT1LjazJsNDQAiPthOuduSxEMEsLbj4mPDT8hUJ7AATKm7F55dCSPCE/BZZHNQSbsoSQz2xYiEeg3X/8+rytsJCdQvYL3lAYDldotwlHIQid+6Rz4e2fi7tCYv8V+FAYSFlCyHu4IBQ+iApRHU4fTHh4HxfeJXYgxOGFFHsmGUN4GH2EPQrxMhA6EV4ndiO8fKE6Nb9beJE4vHCr0oUQP/f5J3+5MG0RhY77EIaJ/0u8TRKkRbORAAAAAElFTkSuQmCC",
33169, [1196.25455, 1004.75169, 836.84652, 719.21492], [0.54398, 0.56021, 0.64452, 0.73207],
35231736)
elif (record == "SRR446487"):
dumpJSON(200, "AT2G24270", 1, 2, 10326917, 10330049, "SRR446487", "leaf",
"iVBORw0KGgoAAAANSUhEUgAAAcIAAAAyBAMAAAA908bbAAAAFVBMVEX/////AABkzGX//wAAAADAwMCZmZnmW5lJAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAB90lEQVRoge2XQZaDIAyGXTA5FwuvMPtsJvc/wiCvChGoSNIWrH9f+2w1yf+RlNZpunXr1q036Of3hP7OXNyBzi8H6a+wtow1szV2mtvCCbZD1DGkLmvc0xoz2ZZootBEVHKkLrM8rHtpEFBABNTzpKsFzjeyIdYTIvpjQkVTmvJsrVPqCR9ddIR9Qs7z0sXGnYYREvZJKBIxwnjbuYpuwvcKX5AzIXxFkXo3+imhG0JAuDihN3F5Qrg6IWkSYpSXE8qK+G9T5aX8LSlUZ/kwTssIsWChSlDvcXch7apLVUNIDfca9V3YT6QyIRwSgv+bej6v3xHXuGcJ9kvBnMh1TNi2osDCXJWSYUjGeXVytmQ2e2hPiZBgq0fo5mkre1AfmE0oGy4TajTR7XfPCJfjQIhEEMoerTBvBJQNQ3KGuBeRklnMECZafeXMolsz3JA+TwhHhBScpoSY5PPZqEiYbXuGPZTKBSgT5rSF7uvHtr6UMGHB7J2oImGc5s2E/kSBe2zC8B4nPCQUbzVCwsfRmm31W0mYpMwR4qcJ3S9DsPcKQmkTpYQYu+AMWoQoAgQpYf4DVUIZ4hCEokFlNfslFLRxFMJ2xGEIWyd1rTICYQNiVOKKhDx4CEI8BQi54M4JzzUxuzy9E+JN+CTBGIRVY1pwPAhhtov/7WjKWrq1OmUAAAAASUVORK5CYII=",
31513, [1144.17176, 961.00659, 800.41171, 687.90158], [0.56396, 0.57343, 0.66045, 0.72404],
34996434)
elif (record == "SRR493101"):
dumpJSON(200, "AT2G24270", 1, 2, 10326917, 10330049, "SRR493101", "leaf",
"iVBORw0KGgoAAAANSUhEUgAAAcIAAAAyBAMAAAA908bbAAAAFVBMVEX/////AABkzGX//wAAAADAwMBkzGUogG7sAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACP0lEQVRoge3ZS5qDIAwAYBZOzsXCK3TW2Uzuf4TRKpCAtiAvPz/SLqrVhB/w1So1YsSIEQ3i55Ubf6/f7ByVolAfkYJCmYqEVrOa56Ip7yWc9KS0LpuTlteNQi/vWRdNSXQz4aTWd8FYhFg0YV7o9fUcYVh4mqdZT7polY5CaFN4CCtGO2Gvk2lDYZtKQTQUdhrENkLoKGwzd4awZgxhmdiETUqFpZuUHcK6pUunJPc0b3M/QMiyEBgi2rXUT1jqDCeEhJvxSULgwoVC+yf7dVdhibpMyC59TxLSbYXQRdjy5iZHyJ9KXJYds68l8zVbK/qjekDG7SITwkchkBRCy/mac3jkCLMGMen/gTyhLcWEVF+Y1OBdmLLLO1CJS+m5EFUFYcremzC54NpwfpKyQoQDIXlCOW/e9/5uMWKEjpp7SugmNMOJ7zz8Ceer8PBEdTotjDCRaITu9B8rBMWFq+yK0DWXteCkqReFtFtcmq1dR0J3GC5LJA7UVSaGN+Zhh00ehMOJv20GZmNTO00ImwU9oZyP+7AJodjgktDVtZ3M28ISoSeMv8yYgY8RohCC3ABIDvoVIdqywWaB0OuEzzXE0F8XyuWLQigt5E22K6KELKKF/tQyLPsxmAZnQnvUpgiXyYrfhIfAQIguN/KmiJ/KAENhONGd0Ove6J/dvLYiu3CEwrMI+srrvXdbYBMDnyusP8A0/EQYxjUhVRQaAnqb+8uxwshpGuxWTugZpLeEECN8cLxrqhD9XG2Eh8h/T4TbPdChAhwAAAAASUVORK5CYII=",
1464, [242.238, 203.45924, 169.45894, 145.63889], [0.45959, 0.44097, 0.50498, 0.46235],
7679343)
elif (record == "SRR493097"):
dumpJSON(200, "AT2G24270", 1, 2, 10326917, 10330049, "SRR493097", "leaf",
"iVBORw0KGgoAAAANSUhEUgAAAcIAAAAyBAMAAAA908bbAAAAFVBMVEX/////AABkzGX//wAAAADAwMBkzGUogG7sAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACfklEQVRoge3YTXqEIAwGYBc253LhFdp1Ns39j9BRFEP4ETSCPjWbqiN8eR1HrV331ltvvVWhvr4fXD+/6c9bH9zzBehvG7qxG8fqrVxUAWE/9N0wKGaQ4lzlFRB+dH03DnoZtxNOJ+iEVCvyMyoWBQ7wfJbqCeGGws+Vph/UIm4oVI/AyzOS8RUi5gy4PCgWXyHCCBtdUl+hSsSUAY2E8B+EeHUGzRk1jmWo9IX+dDTV+musXhWE0FZI6kLPYYSgKCyaSF3oX0+MkJ4oDA5MCQ8niWor9L+qPWF5fjVhMKhcWHzylt1Yz/w8+EBkE3oNJYXlDwJthHb5bkI4IeQDbSg4ELQZKWFwc6LsiNB7Qn/nM0Jky2xCttlm6AqXIdnC0gQzNX8a2padQ2a+Wdoq3EJpPrUXot28NPRAIbn3mU1ozkaEZcVu4kK3MSncfdkBNYSUFn6eQu1uvlD8oyiFu2AmzLiEnBOyH5wQ0rqCQgjyfjINdRqQYE9BTYWwJzR/kU8lGiDxDZ8ULnm4u6NTMyhXaDdNa1AqpFxhjLDmxj5PjOKtxYXkCuXA9QWAM7mIEr2x0w74lWCv1xIgO+9kH+4HntA7NGeF7CbVThgCsry0EPKFEQI/qPlv3b3vQlEIh4TxL4llYrYQHOF0200IkYK1doZ8/7BQtO4KKbbb+jzgCPGIECgtjFUn9mBzsz4E34ZvwnmRqflQFD0cEprDeFQIYl3ePMAXkhQSX7hAaOIUhGzD3Biyz4FkNhdix2cQQp7g7ZIjNBGgK/w8xpEjZE/aASFFhRu+UJhoWUdoDVJoXixLYbj9eZPYI1MoR1UVRtZjwlhwspIjHyAMEP8Awg1CHEsF7JUAAAAASUVORK5CYII=",
5960, [236.83088, 198.91772, 165.67636, 142.38801], [0.48299, 0.46614, 0.53065, 0.46495],
31976667)
elif (record == "SRR493098"):
dumpJSON(200, "AT2G24270", 1, 2, 10326917, 10330049, "SRR493098", "leaf",
"iVBORw0KGgoAAAANSUhEUgAAAcIAAAAyBAMAAAA908bbAAAAFVBMVEX/////AABkzGX//wAAAADAwMBkzGUogG7sAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACmElEQVRoge3ZS5rbIAwAYC9SnSuLXKFda1Pd/wgtTgC98BPhr6m1mEkAI/0DfiQzTXfccccdA+LHz384fv1e7r/6j3s+AG3b8/F6vl7DSwkKR/h4/kVOj+GlBIW7hon3HF1JVBDatv9B+EWb1BM+XjFC6D/llvDWMCrVsEwyLY5LNSyTTDsu7xcL8ZMK41M5cQu75Pj8wvhUNmCAEGi+U8BlwvC8sxC/W5h4NCCTn/0WdsnxFl5yQwwQmsfPRKPLhAF7xzhuYWxECPWE+4S9P2P1EpbinRPbCBcR6muV0+AIoV4qI1xcSy08u7U7CUEI1Yz7hOro0ydvNyGWV2wRMbcAF6plUftwg9BDo9Nm6jkRDSGVFikU5aj8stP7ZOBu3JYiSIi8lQkxD0F2rBaK994TySXCWoddLC1UOXW9W4SmqX1BihJifj1tEMp6ZT3edcIrebiQWClCSJ8R3qG5Ijmxra/ukXrkshAbnStB7CKYJ0EtRCFMd42JZM75NS91i/A9vgq9zVx6jgrBlDkdEaZevgLrQmCXLDbMKuY/QN47e3cq7hAyYLovqkfUuV4QYi1UtXNh7nOFVIWwV0gkc5dUmBeslGeEaIW8Prlm3h5rCA0BpBB1/4oQfGHdjk0hHwBY9jATslpWhe7l2QidWdaAeSnWhSiEJAdAXtGW0KutNhW/K6QuwnQYRghpYvOtCcEZ5Qm9/3e7AcQPS1MvCFuhZ+Jz18eA3JdFuWYmzF/kOR9LkWc4LITyo6eQn19pvxSRODU/MiwEJSRT637he5fVk+e4ENnc5dJnhezskIX4FyQ5wnugdcNUix2E5WGd1yvfyS23RagCNt4VnUOt6ahQ1rtLqKpvlLlmhPJMclYoBWTIYUKH+AfYfQHUnjh/WQAAAABJRU5ErkJggg==",
2647, [250.84385, 210.68741, 175.47921, 150.81292], [0.48128, 0.47837, 0.54465, 0.52681],
13408363)
elif (record == "SRR764885"):
dumpJSON(200, "AT2G24270", 1, 2, 10326917, 10330049, "SRR764885", "leaf",
"iVBORw0KGgoAAAANSUhEUgAAAcIAAAAyBAMAAAA908bbAAAAFVBMVEX/////AABkzGX//wAAAADAwMBkzGUogG7sAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACN0lEQVRoge3ZQZaDIAwAUBZOzuXCK8yeVe5/hKlVkUCAwASlfWalU0jysVjbMeaJJ5544oL4+a0KrBt+c7QsCKL2EivHNJvFmNlMrQmGF87TdDBbAnB44Zs4N19D/ADhNM3zsnyx8H0J2/dhIIQBucedZpmbpntCsOuuVGtslKDC14m9s5seQYTw9UK8Twjd6kbCmzaiE2ovMYwn1CWCb9pOLhICPT1dj7C2zm3CoMyNQtVyXkRCdEeqJYkJGSH0+vSIheiONEtuJuuf0PzdPiAZIfao6F829IVwrmifjckJcT+yemVgTKFiRVaI2yvbw0VtPfG+ZYUtFUv9pISIsB5AtDHzIW8vJYQrhK+vifvOB4jvrsV8VjQ0K5SlEJVJCHEX+i9LQt5e+FuCE1ZWLAUvXLdgm1A+PCGE2oqyjhjhFkc9W5dPMrIgFFeUdaQmFF+A9XsaN9ViZUVpS6Ewirp0uSGQuF8yQmCmV0dXIXD/MID3rboo3NahHRa2pCwEh0H6fjuaZ3KGFa3SQ7+uELz2jIZQ4SJKhTafxWaEfpcDC4s3D6st3J8Y7QjCtY/j+wgntGSoXAjFpU0ExCWrhGFNOBlCIcqExaVNBSlbJ2R/Tx1IuJf6j5Ar2iAEiZAtlgduE2jZJqEleYtC/x1eISSpJDpW6B4hqoTcRs4JMRytLAQ/q3t4tzRtq5CaUkI3Pk75JUKH6SNEIqQTG4VnYaEwPK8QCoi5ee3C8A/3CSE77xOE0UjzB/JhCeP1gbdTAAAAAElFTkSuQmCC",
29808, [751.78153, 631.4323, 525.91294, 451.98782], [0.51648, 0.47672, 0.54538, 0.58735],
50380962)
elif (record == "SRR934391"):
dumpJSON(200, "AT2G24270", 1, 2, 10326917, 10330049, "SRR934391", "leaf",
"iVBORw0KGgoAAAANSUhEUgAAAcIAAAAyBAMAAAA908bbAAAAFVBMVEX/////AABkzGX//wAAAADAwMBkzGUogG7sAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACA0lEQVRoge3YQXaEIAwAUBY253LhFdp1Vrn/EYoWlYAihHQEn9nMKATzEbEdY9544403PhBf3yXxU9T79iifDiQEVJ9k3RjNZKZJmo1EQMs3Qq2KlGMYBzOO0mygOZavzQqtbjDTKMwmT0i8qZnFOy/QGSkKOBMCYjv3dFml6kJ7FqtLU4p5pxlGWS4XeiZqSVgTxIXEGhBvqkoh3CYCkRDXDt75LsMJiR4rdBIFoRvIZVW9YGpyozgVriZ3/vqiSwKswprNCTRXDKgJbVmA4NLsJ8rLVN276UoIrCEOWLvB/FftOhWQNSlnQ2o+9pAQ4na5hNCy9m6BUFomaO5sVC8k3o0JQVSUotBbS9dCfk3cRwi64X4o+x8l+VCUBXiQA+HSQidCd3/SQlmhnxaS37J1gL9mYCcSwuTOGqzlv0TZAg/CqyhHiLGQ2IkjIW6twcVxf68HTSzzf4V24lkgv2Xo75hZQvKvbUcziMtr5j5hGKHQy7gWso0H3fR5kxYKNR7FSiGVCrdD7zglRFMbxcIjUJkwOt5HiIXVRDbMK+xQCMCGaVIo3mvmBzy85tOEfjxQGAz/Cu8UCvea5wuDipsWyohdCQXPYlRx68LS2xhX/Ar7EkKY3YOwiNinsORXyaOKOxBithDi5C6ElLtSD4GdCHNei8e+boQZxnTJHQgxNv0C3ePBqHt16o0AAAAASUVORK5CYII=",
7654, [268.6861, 225.67339, 187.96086, 161.54008], [0.60206, 0.63534, 0.72975, 0.73354],
36196662)
elif (record == "SRR924656"):
dumpJSON(200, "AT2G24270", 1, 2, 10326917, 10330049, "SRR924656", "leaf",
"iVBORw0KGgoAAAANSUhEUgAAAcIAAAAyBAMAAAA908bbAAAAFVBMVEX/////AABkzGX//wAAAADAwMBkzGUogG7sAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACK0lEQVRoge3YS3qEIAwAYBY253LhFbrPKvc/QsUHEAhWMCr6mdXoSMLPy2mN+eKLL764IH5+a4OqW14WB8eGUGOEtaPrzWBMr5KrTWFvOtOPTIUAIo002tFPxF4jFd0n3Co8dKNyGDSq3CnE/Hd9N06hyj6UhKftTNhfR++kscKlEvl7ComlWrHwktXjhOCH9FhlwNwXcd7pGrf34+EAJyTbAbJSoMJlGk4NYaGQzjnNgdyHUGhLAZ4kBEGIS92icruCckJAKi05DolHzsOE4nMZ4SmnuZ8l8kIWJcmQ0OXzI+a+DopmhWiUwwpxKSILC0oylCDE4Dne0t5IG6iEn6bjQoCwxXIx3jXr9ZrqViHFwP+XqV98ktBuaHcdFE26AecIMRXGwKAvAFKO9cx0pLmTknD9QXGdEAJDVuhrSvXt4ptv54Ts2n3iWaaRuEiIidAXdacS71uJEPLCeDxVYp03XmRDuExCnGG/cPolsSVUfiGWCaee2V0FcYISIUhv9kaE7oriBCVCESJUu1RI7Gnw3Vt7rSnUncR9wuWBtYsQrdvGhADh+61K6G+4c1dViIeFPsNRIe9UI0Kbgv0CfpUQXaqmhfUbERIhS9mOEKuF9k9uluNdQkjfqrza44VCjlaFdRuR529cWEOk9wt5NC/EUmCUvXlh8SzGwAcIyw7UBPgEYcU/ah8nLFipaduXCYW2zxDiTiBk237Cu4U7l6kEfJVQbvoQoYj8A7kP7TqUGUxKAAAAAElFTkSuQmCC",
9003, [288.95019, 242.69349, 202.13671, 173.7233], [0.60259, 0.62211, 0.71272, 0.73875],
39590367)
elif (record == "SRR942022"):
dumpJSON(200, "AT2G24270", 1, 2, 10326917, 10330049, "SRR942022", "leaf",
"iVBORw0KGgoAAAANSUhEUgAAAcIAAAAyBAMAAAA908bbAAAAFVBMVEX/////AABkzGX//wAAAADAwMBkzGUogG7sAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACeUlEQVRoge3YS3aFIAwAUAY263LwttCOM2n2v4SCCoQQ/0DVY85p6+cBuQ/5WGPeeOONNxrE13fl+GXHP7UbE9HmK0R2DA3a683HdH2DhkIgOwaq3lzXd6a3Pw2Do4CwdnN9byzxU7sZFkm3UX3hx+L6rmUfciEmQpQfLRPuKTWHhQdmCv5gko14p9KYPDfTlBQ2GJMHoqSwwZjcHXRMyFHxBC4otHPG/qEDlAnJ38BSmZUK+7ypwtixmN8kRYhjbdcT2pSSpED8VWfHTAhRuJko6wX9qz4dJHLyrUD4tSJ0qPA17RBme71k0SkYlC5nxicYcNr8X0u4sei+mBGOz90kBNmRsRDkwmTLiknSgAb9uAYSczjV6USaFdrNmHPhNMzyUmOea8KkICCgrwqkJxQt6xyFfP3GeN2egBciKwS5kBaFvuOs0FY6dt6cEIu9jDFJOjPG624lIX/kU14XYiJEtoZMwumaIqRBiKZEgC70yfi0idJPEEmhvx+Fdpfkh9h4nbgQFoUoXlWqCX3HsAhpbBBSHGvDbiAIh8dhUQhUVzjUj/GyFEImDL3MhMhFbkpOzkO/zgrPz6lOpwqnBLUunBOG+/NCzISUTUkhFYiVnRTyOVNkgFoXRhCuCmV9/yAcFgJF6I9XhOLCmlA5zzYaZYVAy0KqL2Q11BCOFR0W+iWkpvAkURNSerYo1C8UEur3XqEipFf4CmsL8fHCY52ITxdCksUThVOxmwjdK474T85auOoh1nR1odsdHhBSbOX6QqCdU+pYqWjzwkJWbo8QRdmrC7dPOGHT/kzhUPFNhZuI0nYv4RbizYW45lsuuF2YChoKlU78Azq2g6pRnDO+AAAAAElFTkSuQmCC",
8513, [601.76419, 505.43054, 420.96748, 361.79406], [0.59521, 0.60944, 0.69793, 0.75302],
17975524)
elif (record == "SRR070570"):
dumpJSON(200, "AT2G24270", 1, 2, 10326917, 10330049, "SRR070570", "light",
"iVBORw0KGgoAAAANSUhEUgAAAcIAAAAyBAMAAAA908bbAAAAFVBMVEX/////AABkzGX//wAAAADAwMDMzJesWPEEAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACPElEQVRoge3ZSXaDMAwAUC9SnYtFrtC9NtX9j1AmY00EY6Yw6L02z8SR9Y2B+CWEJ5544okd4uf3xPE38f7Rk7s4ANEerMJ790I2CyI0x17Vq0ZeJTxhVYXX/pWsH9D+94Tvd7jEORwXhkusUsBWCL7wCncaog/CS8QdhNS8PMKSgLUTlsWGQlo7YWaomb2FEMMjLBvoKKEa9xGWBxz1/NlTeMxZvKOwsW0ipC8Trl0OXV0IfeYFUVjSqYRFn3eEtJ0wJS2o9gxCWigsqskT4k2E80v4FNcXEhMCFn2H+24hcCExYf4wpVeOJ6SthUTDl6YVhX4mvac5lVDubf1MMCJc/njWAykhlQllZynWmbo26GnpB5f3vRXCEVIYtjJdl/oGpMfkbSNUJVoKhgkhxpFnWVguSAVlCOvu6TsP2qo9IYqmGr65oeGIkISw9GROCTHwq6G9Nq1Qpoituh9qsUPphjWHlRCKr0hd3pSQXRqQDorS4i/TUtgsMhB19rkDS+kJ200G6rXxiSReTHkjQhI94nwM8yJTDHJ+IUHQe5fm55csIXSZsoVdT+bIF4oO0G9DuBDUuuJNtMJuzU8K41/mvWa4e1GmkFWthWabCpQ6w1Bh/9ZSYeaDA2YK+TC+kKeYELJmGmFSmCJXGJdWPD1ZwqjUQpYC+NLeRJhFZDQUU54hlAOBOTAc8oX9bOjR2BytIexp6oMo0xYLRT4jFM3UniOMy2hEN17xXKEU2AOqGZx3xcdNzeMjm+7/2xrMKkohGwYAAAAASUVORK5CYII=",
471, [68.0594, 57.16408, 47.61133, 40.91883], [0.44018, 0.43289, 0.49709, 0.52291], 8793425)
elif (record == "SRR070571"):
dumpJSON(200, "AT2G24270", 1, 2, 10326917, 10330049, "SRR070571", "light",
"iVBORw0KGgoAAAANSUhEUgAAAcIAAAAyBAMAAAA908bbAAAAFVBMVEX/////AABkzGX//wAAAADAwMDMzJesWPEEAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACXklEQVRoge2ZPXrDIAyGGVKdK0Ov0F1Ldf8j9AFbRAKBgWCnafmWGqO/F2MwqXNLS0tLF+jj641F3/X+Vw/usIC2P0iY9d3u7vPick4QE5JBeL/d3P3ack5QjdC95zOEpFkjfM9nmBDS35ulHYRPrjR5wGuUEQZEe5Y+p+kBG7UI52l6wEZR0jyLEOYPWaOuJJTzBYqWs5UToluEI/IRQcSkomVFM5wehEPRyvqHhFiyrOhXE/rAkupPEtKzhPBOhHF77FlTh2rCSwlJNH2avjUbFqGpqwiB1DTFkX13rKYXEfI1nU+YOlmEMz6wfhUhOU3YvUZbI6IIwfFL2UvYbiwSZ1F8mOcIjTp2QopJQh7qKRqGCLMHv6f20bjQRWiUYpeXEUI3YRLZGssjn70Ombv7dG45WIQ0QBitPRy9iBDYU7qRRUjjhOFqAiHuVq1FxKjhQqYfJRS98AiwjWIcSv9a2FuacNGVMCFvHF2ITKj+f1UmjEbmAxGZJWHwm0AIvN4tQpuQ+gitCQsZIaoITEjJKZBbZUKRXlXRIBSE8ixxRAj8WihAdaSsE4L0w2bCZJwP8bZjQ/5t20RIeiclMKZBgdDXHE1DZqQaYaZWQtoJOXoLIUkLkQhkr/gQenQpQvFLV2ijd20nbHsRIcTd7ElP7xohyptbIExuNBLqNs/FRdhBKO2ZNc1ZIgRpALzCxRsthHkbOgjRHQuEvbUW9BCKSOEGgmV8RCgiHBK2PESw/FCHNZM0ENL5hDhImDDZSVw6KXNCVceZhDYoUFyaLUJQrUqSImFSx2mEMopzP9i/ek6QqJLMAAAAAElFTkSuQmCC",
521, [77.06114, 64.72478, 53.90855, 46.33088], [0.48604, 0.46155, 0.53279, 0.52464], 8590680)
elif (record == "SRR1001909"):
dumpJSON(200, "AT2G24270", 1, 2, 10326917, 10330049, "SRR1001909", "light",
"iVBORw0KGgoAAAANSUhEUgAAAcIAAAAyBAMAAAA908bbAAAAFVBMVEX/////AABkzGX//wAAAADAwMCY/wBd7RS/AAAACXBIWXMAAA7EAAAOxAGVKw4bAAACa0lEQVRoge3YS3asIBQFUBvmjouGU0j/dt6Z/xCefOvyUUGxQrnqrJVKVAS3IJKapm+++eabN+Tnt0P+9ajkhvS7TdyvqstR06I/OgcT9a7ybGY1T2pWvasdSKi7TynVu9ZVyL3rPBs1zdOy9K0TMELuW+vZKNOLfeu0wkF6cV7mRT1aeEuMUH88Ns8UCg49TIjol85Thcx+j8GtP+DyGVtpLP6G2GWLF748aBCaOmy5Aedea3OORIhKoanDlCN6jYJRYgUXhew7j6h1VN8fO5W4CeW6sPm5vT3rJenxFYRh6gzC48mUBhWy+dRCtAtZbqx1EFvZSEI36SEVwk0c+8LIEQuHeYHWC0uXnAoxoDDMnm7tErb0IRwK5c5EuPtKpMMbsHd2U/aFvC+MHzc0CI+7uNsY2BayeUXUC5EI9clbrXKFkI9KVCYSQgjdBYvky5RcCCFcz06+wgqb+0JTRy8hSWHoKJSTtYkjoXOQb8y3yv5EKoxlO5LKD357zgrdIk9eRi4MR8mX5mAwf9JUuG2EMYThVVIlNKudREiyL0UQhNmhdwj9QDsp9GNT/wUvTR5WW0zcj2tBixBBSKYgSaFHxUIvyoWAf78ko9Ee+zMhgpCvC2lbyL2E3CikXOgv40CILSHuFBKjTcgFob++yFQQcibEG4SvNuuEEEI0Cf3iIRJGbcZCUXgQIY0pFNVUCiGEfpDZHbFpECFdFJZ3bAnL27tCfeCSUrY5qJCuLd0+QIhzQzWs9IcXUn60Kq6hDxCKU1ribgxFFQwstP8PNwvTWzS8sLorky8mPkJoZ5y6XqTC2Z8gLBXT+Q/eVTsSlW1QEgAAAABJRU5ErkJggg==",
1774, [275.94071, 231.76664, 193.03586, 165.90171], [0.52487, 0.55807, 0.64239, 0.70444],
8168891)
elif (record == "SRR1001910"):
dumpJSON(200, "AT2G24270", 1, 2, 10326917, 10330049, "SRR1001910", "light",
"iVBORw0KGgoAAAANSUhEUgAAAcIAAAAyBAMAAAA908bbAAAAFVBMVEX/////AABkzGX//wAAAADAwMCY/wBd7RS/AAAACXBIWXMAAA7EAAAOxAGVKw4bAAACSklEQVRoge3YS3KGIAwAYBc252LhFbrPKvc/QlFESYzKy7+Umul01OH18RL/YXjjjTfe+EB8fZcGFZfwWFTqI6pUTqUwwzRMU9UiiaBqeWUxmnEwpm6ZRE2NohlHM5nc3OpgOSG2wjTzEI65udX5SAuxmYE09s8UCBWiF2J+qyrGaPcZuxhzs6tLri1hYVwKW5mmRXEuBOpjEFVGT0KdsQk7mKb/TehfHLlCvE3x6bAvQyb0oF2YRixYt5Cf9SqIuIIQt+cDJQshf2uCZ1YEHYRrC+eHECeE4GTbkhCX/1JIOcLgfK4Lo1peW7hOeiHc1iQFwrtRAboV3pQQ1h2TNCpShDddK4TzjTjK60KZyNVU7YjxkNClxhJhLaIQujYiF9K5MNjZ2fpxk9oLXSrbU1qjZbHrgnhWSCfCQ51yYoY7lX3f4JrjXIgXwkr7TbBl1hD67dRdExfyApaXC9kNuHXh9sylcPdwEMLh3GsPUephqaZwrlgX+ksOVIVsYp4L2ScY+PSnQtK/5VKDnhXuOexoseP7Mmv3YjWhHPGsgFshEI+gStCFFCfkvacJ1Q5NDboRohzCoDHgLqOFKISoFfqIkC6EpAh9pVIIkUJ/r3abFBZvNc6QJgw+G3HwR5cIIf2WkJKFmCvEzwtZG6KFtDeZCfkHiCLU758UshZVEDLDXxGqsWcOj6J9CvEfCMWD6sKyN2L3QtGGHGF4bm5PKOvMEqoPqgrzl2JQRYdC4KU0LkwmBj+c9SmUvK6Ec+EK8CB0v1W2I7xi/gDd74ZJRkzSWwAAAABJRU5ErkJggg==",
3035, [472.08572, 396.5117, 330.25019, 283.82846], [0.52508, 0.57503, 0.65759, 0.71778],
8168891)
elif (record == "SRR1019221"):
dumpJSON(200, "AT2G24270", 1, 2, 10326917, 10330049, "SRR1019221", "light",
"iVBORw0KGgoAAAANSUhEUgAAAcIAAAAyBAMAAAA908bbAAAAFVBMVEX/////AABkzGX//wAAAADAwMCY/wBd7RS/AAAACXBIWXMAAA7EAAAOxAGVKw4bAAABwElEQVRoge2ZQZKDMAwEfWD1Lg58Ye866f9PWCgDsbAgMcyCAp5KpSoh9kzLCVYghKqqqqoT9PNbJCn7+MXaUxARdInRakMzPu2RiCZkQCKwmjZ0oWn6p13ShORyQdseb3jsG60JxSlh10IIickpYQCtYSRkVC6Ymi6eabp213BFKC4JD+qBhB5/iId0e0JKCeWGhCSV8Nt1f0J5JCFfGQiupxBGRK6EX6mUUJwQYv0VobggBAfwQ0ivSNAAjggnW2wAckmITOCUENhWiVNCXAST8JzGdOHSb1VpJpzNKuFQUob5WNZ5kiQTzHqDUOL9DPqvFTUII9gZhLNPQJ/ZUmsryewM83xHGBs5lJu2tpIwTc0xzMYklKAJGWWXaPntHwklaf/JHFioNUKJLyg9DLNja8+zCBGlXSXUOm6U2rG6hLlIMolBd/ouIjQmtQmPO68Qcm4HUQGh6MuABy0zwtwOoyJCjLNjQqqEJZbvCfmoUWo3bgh2ElRtp830U8ICo/lfkCG1POYhQG1JDSwjXNuCh2YrwtF2Pc4npFJCIxq95punG2dfaT7FmmbbeRtpg1BP8ymhfmODMAu5h5Azoj/efZinkpT6dQAAAABJRU5ErkJggg==",
7146, [183.57475, 154.18712, 128.42074, 110.36924], [0.36243, 0.31209, 0.35854, 0.4316],
49462416)
elif (record == "SRR345561"):
dumpJSON(200, "AT2G24270", 1, 2, 10326917, 10330049, "SRR345561", "light",
"iVBORw0KGgoAAAANSUhEUgAAAcIAAAAyBAMAAAA908bbAAAAFVBMVEX/////AABkzGX//wAAAADAwMCY/wBd7RS/AAAACXBIWXMAAA7EAAAOxAGVKw4bAAABiElEQVRoge2ZS3KDMAyGtaA6F4teoVn/m+r+RyglPKTYgDMTE+Tom8lkYvPQZ8mGAFEQBMEJfP1kuP3mWv2xrc04bYRfTdfTN1F/tJljw77rxs8BghNiqcSg17jhkMJjQ3Zs2HdUUKXi2LBspfFsWEbzhiwi746hLmHonzD0z2cY4t1BVEXC0D1h6J9/w7YX0zD0Txj6Z9ewBXXeN8SJoVTiboiN3hYM5bMNeapf19NxzxDzDPWcStkxZGnIMFuGytBxmYZhGF4etoZsTKTAEPView1iDYdvLH1cYnj5VdYa2geLxhCZnWm9JbgsYg3tlVG2DZefy9jY/svAqyHo8W8Gb6or4TX7dV+WDwefDs9P7mcMze1NktxlMcJazKa+6z2yU4P95LRYBRPDtHzvHZy06xiwRJAOdWYAOB/tQ6vIfFKMZ0wOU+I3Bqpcs4Zi2kE6tXMMemLa4U5yrNOup3GSJZUGns6Islq1hoxDQxD0DnoDVh26gWFSnwjOhtOAIfcqTHKAcvwBsPNdUqeCWLEAAAAASUVORK5CYII=",
1890, [134.62268, 113.07156, 94.17605, 80.93816], [0.28963, 0.29278, 0.34082, 0.03003],
17838931)
elif (record == "SRR345562"):
dumpJSON(200, "AT2G24270", 1, 2, 10326917, 10330049, "SRR345562", "light",
"iVBORw0KGgoAAAANSUhEUgAAAcIAAAAyBAMAAAA908bbAAAAFVBMVEX/////AABkzGX//wAAAADAwMCY/wBd7RS/AAAACXBIWXMAAA7EAAAOxAGVKw4bAAACiElEQVRoge2YSaKkIAyGWfhyLhde4fU6m879j9AoMoVRBMuy/TclkcR8EgZLiFevXr26QD+/X6s/f0s9Pv1yzwowZp3FJJbl4lQGKUo4zWKRlM9QYgwnOYbztZmMElHMOk/LWqj1gk7pDFCCUOLNjyHE0DgtklBOxnp9G+Fx/QeE0WK/hToRxqfzLfQSVofpEWWIHk8IQwjvtLLSKULjCozwRoinCO2Z1i8FuFPNvoRZZQjbg/bWOUKyV08npAcSSjc4Q9j21AbJ1NpWhZWQnk1ILohPWFMYWOzRSWcI6QQhXDZTN8L4v1ElR0ZI7j0qDdFVWyao1BreJ3iEEBIWAFpL56hoNGESQ/ePHWB7HmplIo2EpLQ7hoR7Mxk5R9hxisJpQtKBUoRsEM2MN4SRR3clpBGEECXcWADB+FururKxj6eTUgdCtIFY2L2btaJwzgJpQui4kcBOiMWVL1SE0OTlETpWkSU09dC+kaDfJNSEDbs+5AgpSrhdUpLQq/iD2ZhHsKanrUbql2n7bmxT5+oTOkdXrCbkiJXIWcItaP3ZxicEZzhFidB47IFsQCc0T7UyKe7mCz9EqPwsoXV2Ug0TQPennrB6AhwgROthx8d00BZG6CYukBOiObh7626JcEugByEEhMg9DKmZwUnC9buAD6pcJGOE4dBHCFHUyeZrs08R4vbi3Oc4lbgTMmSyHzwrDRtUxwDrbq4XyDIhC5ST7+ESor5n+gWEKmcfKCQ085MTugZ1G9U2MIjQyV4RgtvSQMaaAooY0GvuRPvnkLcRq0USqIqwslKBuWQJNWUXQlIfCz7h1jYRyoQViBlCP98BhIm2jdCBkIWNjxprxR71GcJIRyH+AWWsx8mRswIbAAAAAElFTkSuQmCC",
1597, [148.9104, 125.07202, 104.1711, 89.52825], [0.45165, 0.42659, 0.48668, 0.37227],
13627154)
elif (record == "SRR346552"):
dumpJSON(200, "AT2G24270", 1, 2, 10326917, 10330049, "SRR346552", "light",
"iVBORw0KGgoAAAANSUhEUgAAAcIAAAAyBAMAAAA908bbAAAAFVBMVEX/////AABkzGX//wAAAADAwMCY/wBd7RS/AAAACXBIWXMAAA7EAAAOxAGVKw4bAAACY0lEQVRoge2ZS3aDMAxFM0i1LgZsoR1rUu1/CfUHjOQPyAZ67Bw0wo71pGsZQZLX67HHHnvsH+zru9l+dct+2iOctZN7A3jtukorqU7veXpPzao8WyCdE5VyKSapk81PW7hpejerEvGBygdL67CU5KG5fS45Ty+D10oIESFqnDYfkGJ3Ek6NyhQRbgPIrE6WRYSErYRua8uE06kSSkLcrvec1ktzMhEyHxzFjTeQrErpPpwN4TzrlJNIxKE4ISgIgUxrsgPv5cR2Ss8UABNCUve5KisT7pSDEVIVISt2Qki0t6nt5pLadAOhnM44hQuICAmx5Id8+yL1Za+Kvs1GDAUQw0BP6KA4YZIlMTfYwuYSMaW9+mWCExIbZFNlme4RUrx8SdoRolSIEjGEV5eR7zqxASeMQx4ShuTRK3FCkgpRIjv72mpJ3XwIELWNfNSE/ikekvaE0BXhMi9jwvYJyLRAjBwhRoR+IAodE55uqDLdHKFp26E4psHHu6omBFfbBkIZr9qEsqxVICRGyLNxx66CkPzD5N8JWT8+IiTRbP15rSPMju8jtK4Eh4SYEK49p3dCiwZCIk+YsWW1/eogJjoklBIimoKQltbRPWFQrydcD/CdhO2Pi9DGwgOrgTA/cS0hNuHZXxjCXSTfRD+F0LsKjV4J286pD7VG+UDCSP4h7IFQ9YtPUaF3QnwIhyd0X1Kxgg9GJKzqN0nG3ROS+k+UnPYQhPYFWE+Yug9ASHpCKPr2Tqi9ER/C8QlzroMQ4kNY9h2EUHVOIev4QYR5wHEI8Qhw33F8wnLGpwkl0n2EGcQ/d3rNu0n1DM8AAAAASUVORK5CYII=",
2860, [189.26949, 158.97021, 132.40452, 113.79304], [0.63699, 0.64364, 0.73755, 0.73804],
19200418)
elif (record == "SRR394082"):
dumpJSON(200, "AT2G24270", 1, 2, 10326917, 10330049, "SRR394082", "light",
"iVBORw0KGgoAAAANSUhEUgAAAcIAAAAyBAMAAAA908bbAAAAFVBMVEX/////AABkzGX//wAAAADAwMCY/wBd7RS/AAAACXBIWXMAAA7EAAAOxAGVKw4bAAACUUlEQVRoge3YQZaDIAwAUBZOzsXCK8w+m8n9jzAqggQCIq2p45j35rW2GPIh6rwa88QTTzyhEF/fJ8fP2RNUQmcJSWcaH4M1ozFWc0ploTWDsRNTMbSFdv6zmlMqC8dh2sRx1JySUHO2qUPni9BqTqksHOwwWlUhKAv14xH+/fgPQuXHhXpwIXysjvOCCW/ZsonwLS2rvU71zisLAXtnJOw+tSuqQigL+3eCUPfutQkp19IcYRgxYTeRlO/PW7cJa5sJIfoG09GlGfKkR4t8KSbhamgSYvTNfm43NCEeWJyjIV1y02xAixGEmplwHuBrgwYhuPXI7sAhC7aX3hggHDiDF6ZzMiE54TJGFoYd9rT1JU86veAJj1eWcT3YhCQULQjdeQWh72KYF6JBiKYzCg1UFC5lC0LIhVQThi5YLu51SFHYdCnL4XMS/5DfHaJK58IAEyHBrhCj7Mt2RMJtuszhPgdKUhwUoksV10B80dxbSoRhwJJjR8j+w6FUSJskFxK+JKQg3HJDmDIMwki4RZyjXxiyQd6LJwkTwLrPoZJUCJnQ7woXsgURhFgS0qvC0IL+Dp5uUUwQiG1CZCJJyJc1F3YSa8K4gl1h/MG+MMt/mnBd0PW1KhSAWkL5ux5h/NwLFfjsVSEhE7IMwI4+JASShBQfJYV8TEhw7BcgJ/SPh5pQjKxEyfA+oduLA78Y+EdQuGyuL1xKPSJ07RSa6vJC1/93FopjasDIdkchCKc+wosI8fbCxl2UTnyElxFiAxDKJ95BWD+xXcgFisJsoDG/ycia3KuoOuUAAAAASUVORK5CYII=",
10003, [274.6099, 230.64887, 192.10488, 165.1016], [0.62285, 0.61986, 0.71161, 0.7009],
46284902)
elif (record == "SRR504180"):
dumpJSON(200, "AT2G24270", 1, 2, 10326917, 10330049, "SRR504180", "light",
"iVBORw0KGgoAAAANSUhEUgAAAcIAAAAyBAMAAAA908bbAAAAFVBMVEX/////AABkzGX//wAAAADAwMCY/wBd7RS/AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAA50lEQVRoge3aMQ7DIAyFYQbX52LgCs3M5PsfoSTqgoLiJQb54V/qUnnwRyLUoSlFURRN6PMddQy/ddeDm+usE347yqmklNU5v8JM1D5ZnZNqvopVRM2X1TER+1WMajxsIaULqY2xX2Ep7aahoo01YZ2wzcLwhRJC98nZ6iVMC6H/dhHW1WvYxZcQ+Tr9C4HfU3yhhNB9IfTfPsK6ehGz9hGCvqYsDC6UDYQSQt9xCN0HL+yAGwgRiT0Q8XdbCP23nRDvruGbEI14B2IJB0/QkMhTD29I64n936RYvYW0s3nj9M6dnu/DHwdQ+f3wYVLNAAAAAElFTkSuQmCC",
847, [50.96933, 42.80989, 35.65588, 30.6439], [0.17724, 0.19267, 0.21817, -0.20337], 21115421)
elif (record == "SRR346553"):
dumpJSON(200, "AT2G24270", 1, 2, 10326917, 10330049, "SRR346553", "light",
"iVBORw0KGgoAAAANSUhEUgAAAcIAAAAyBAMAAAA908bbAAAAFVBMVEX/////AABkzGX//wAAAADAwMCY/wBd7RS/AAAACXBIWXMAAA7EAAAOxAGVKw4bAAACUklEQVRoge3YTXaEIAwAYBY253LhFdp1Vrn/EYoiEJAf0TijPvK6qAzEfBiZvirVo0ePHh+In1+B+JNIckHIbRORXK6TMYxqUtMknfZGwnEY1KgG6bQ3Emqc5o3SWRuEIH3vOMb5ZxROCkS4e67wveOYH+F4okkh+bC0cO9DREChjsb0sD5kph2vIWSWp4XYINRP20yFbI31WPrg8GqTIrOcfDtiMFoS8r6c+9mkaOnsTRnzynOtoIXJfWIU8ttQETqJbgDiwsNECeFaP8bDjgK2UlUXkptmpqLLdfDYMUIovE31FGv9BHyfAbyFvNCMYq5au8JMywvzxQJEuZd3ec5zRkhWyIhrjcEMN2zAsO08AWHcIUvKeVMP9zk4IZWExIetcNOuJSHLDtkmSAphObPOCUk1CZeJ/IUE/2lB6KbrojPlAiWEBOHyxggqpmiYCU2pXhg8lbXgmhA9A9NNmxaGyy8VspsF20rNwqBeUvYL4UphdNudQvvlMH8K/u+djJBtBJeAP0iC8Vh4kBhWnBe602j9gE+AdY/ahHquu75eSJHQFtEgXM+DFiHwa7S/CQsdpVEYTPCgNmF4jR8RuqOjJsyAzgjtYZAXHvq+iCvGknALFBYmGGeFQFFgmJZfpYCiQv4mp4XYLtxU/FUhyyAljHKXhcnoQmFh85u4rfjewvazpgu78PPC1sPmmcKG/2lBvPx1wkTFtxcuf72+W+jX1QOya7vwKcL82i78tnDvUfNgIb5euO8hQmrlU4R7nmIS+CZhGvgcYZVYXvcE4Zb4Dzahlhcu5XcPAAAAAElFTkSuQmCC",
3812, [204.16072, 171.47758, 142.82177, 122.74598], [0.64786, 0.65676, 0.75304, 0.68362],
23724986)
elif (record == "SRR504179"):
dumpJSON(200, "AT2G24270", 1, 2, 10326917, 10330049, "SRR504179", "light",
"iVBORw0KGgoAAAANSUhEUgAAAcIAAAAyBAMAAAA908bbAAAAFVBMVEX/////AABkzGX//wAAAADAwMCY/wBd7RS/AAAACXBIWXMAAA7EAAAOxAGVKw4bAAACEklEQVRoge2YSZLDIAxFWbh1Lha5Qu+10v2P0AFjLDEFBw/QxU+qXGFQ/kNYOFFqampq6gb9/H4n+nLerWpaGTpphU+XXl560e1xoFdCA6f10hCB0F66JVRaLUq/GgIMQbg05ZD4pUPp90udQohn2Dlfy8tkUTdE6J2wXZNwfE3C8eUJuz0uWjUJx9e/J4RJOLw4ISjz/m/ihAYSn7VzgRghmjc+a+cCMUIrfNbO98JcR0g4ar2BbG6oRJib1KHAenfukfeUCPv97yaWJXSGebmkmBDXdtc2TBp5fgQhxoRokweuDQc5I0V+tr1HSUIzaj021g9jFB9gNxkwQkgSkto4xa3ZdSpJEqJtfOPBDhARUkBoV6P8NQ+uAS8jnlACUKSIcE9nRs898vlNatiolpDkANgC5PXcHcsJoY2wxPApxRcq3HooW8MxRcLtVI21r91nQ208cbxQKJvTg3KE6+9IZesKmgcCe4K6fqw0FI7baxRGLV8AthL6BvPy8WDvcd05Q0DhdoZt6s5+4ImROzuZUMRjsEqaFXofszGhm4qCMDm9B0J3ZMQY4mtShOuWwMOECceXEvrniRQhiAhJj56wdptyYzcQ+ujA3O6eZYQCYTwmq5Tj2wiJVUQ+v0RoOtcKNgShqDzVhFsgVBWC5NT7CD1LYKSGsO54LUysJ5QEBwmjzwcIP21UUlhwPARhjPgH6E82ui4Aap0AAAAASUVORK5CYII=",
1821, [90.69615, 76.17702, 63.447, 54.52855], [0.52627, 0.55326, 0.63397, 0.52229], 25512109)
elif (record == "SRR515073"):
dumpJSON(200, "AT2G24270", 1, 2, 10326917, 10330049, "SRR515073", "light",
"iVBORw0KGgoAAAANSUhEUgAAAcIAAAAyBAMAAAA908bbAAAAFVBMVEX/////AABkzGX//wAAAADAwMCY/wBd7RS/AAAACXBIWXMAAA7EAAAOxAGVKw4bAAACcElEQVRoge3ZO2KkMAwAUApW55oiV9heTXT/IwT8lWSbOB5DxC4qZhg+sh42GJJleeKJJ564IP78HY7P8UMvijfPDeCMMzw71teyzsplU/hal49JqQBoUqapsb7WWX1oVLgBP15zUgEZFU67Do0KJ95pjAonhhTavLG+F/+FENkvbO13v8DwnYX7FyDWdr5loPuELHTzIvAOvXmg+wQ0IDznZh4uONrDLwLB/htPae4wTmkTm8JfmB1PEUaWEG4LbeEZVYScJwkpfnMhUnOYMjmIDY39OwJSw8Mp2tEQUpdQFPTGDJobHk5Rj70LSiFkIVbLqS6aEqaxtdUEpZCy0K1AXU4em1JYlKeOZM8QcnhvjYPPMF1I1BBSFurBiqwM4pWWw1rWy2fYQkh7O9OEKU1NiExIFSHym6xAKWFx6FVCYg0HCVvGb4XiFiSmFL8+1r5dAaiFeedSSF4oGxuJbTbHQyHFtbFTc6Pgy8xlgBL6p72wDXWnuu2BpvrqWiFKIRtb5KqmzHJCCHcUiEI8FIJpIVWFWBdSXej2OVeYRlm83JRQBnQIIQkx32/AXc6gR7EX6onlJGFSHAr3J7h0qBQ6A8YxURXykmP6hZ0jLqQ5QtZqrzC2urcPQhiOyUJWZBTyqSUd3xDSFUKqxQ+EVAhjzSDSmxWKFRVhfiVJvcWFOuUvCOtRlLjIQ7qEtZQ3FObsoHbuEPLzMRwwLgS9oleofz9CO0JlMCLkaUwKaexvpuyl3Lyw2NYFFM8V9oU/JkJ4NSWIzfxLQgjPIf7N7i5CHBD6J0oUGewK+3uRVNr7CJH9s+/A903JloXVvVx8Aes0PJxxSfkgAAAAAElFTkSuQmCC",
1658, [405.42308, 340.52078, 283.61597, 243.7494], [0.54602, 0.58813, 0.67477, 0.7252],
5196385)
elif (record == "SRR504181"):
dumpJSON(200, "AT2G24270", 1, 2, 10326917, 10330049, "SRR504181", "light",
"iVBORw0KGgoAAAANSUhEUgAAAcIAAAAyBAMAAAA908bbAAAAFVBMVEX/////AABkzGX//wAAAADAwMCY/wBd7RS/AAAACXBIWXMAAA7EAAAOxAGVKw4bAAABkklEQVRoge2ZS3aEIBBFGZC3LgZuIRkzqv0vITaKWoCKHoUU4Q7aDwh1ActuW6lOp9MpwNd3ip/kWXEceMOWGuGn0UYNSpnTenINjdajpj6tJ9dwtNMZhgCVCOYVjDbm3JBIrOE4gaptw2HIyjSCDfNANxTPx9DWDuJVuqF8nCFqR/Em9AHK1o7jPWbDhvMpTYrNG7b8UOyG8jk0nE4Kf17mGIqeX8oytCVDehYcGsIbCp7E9g1XQbI2Km3MMHGzdUMBoBu6TTf8yxAjKm7OMPJYDW3pyJ7i3xmGb6SIGdb9F+7my7LAkOC/2EBZgBnCz2gdbuYCRIbzcuTr1s1uMhWV4ylD2jNkpRXAtvMLt0sseGJItX4rcsPs6UxM4ZlhsFaLJZ/AMFcxIZhjaLcNzDtss5TecUmDTcegAoZwn0sFl6DGdE7b0cWTCzoM7tJlNwxBvAK8L3FDWvftY4YI+tlnE+Y1Q0bU1HxCsTimXd/6oW8Yu18zLjhau8odldcMWXtgR/MhFlOs6xlR7HsdJwbpFybw2BAciOu5AAAAAElFTkSuQmCC",
1628, [55.54555, 46.65352, 38.8572, 33.39522], [0.32582, 0.34443, 0.39635, 0.062], 37241776)
elif (record == "SRR527164"):
dumpJSON(200, "AT2G24270", 1, 2, 10326917, 10330049, "SRR527164", "light",
"iVBORw0KGgoAAAANSUhEUgAAAcIAAAAyBAMAAAA908bbAAAAFVBMVEX/////AABkzGX//wAAAADAwMCY/wBd7RS/AAAACXBIWXMAAA7EAAAOxAGVKw4bAAABhklEQVRoge2YS5qEIAyEWTA5FwuvMLPOivsfYcYWHwGJjRIc2tSOh6n6aYT+NEalUqka6Ou7P/28O/HuxT0tYMasM0OzIPUEbJPIWWucZBYZFRAaa3ok9GyTyo2M3amAsM+fMCFktukw2MGJhhFRAWGfgpiQfRF7VDvCuzaHEooZNVNKiG2MmkkJq+muQxpiYy+V5AmE9xymSlhPf4WlXnFWSlhPIyFbGmV89whlrJQQhHyVsKbR/yEUOWqeQojcBGbwghKeMYfEnw8lTHdTPV/acxTkipMSHlVgns5+BcoQCqzmUwjTwoCrMSajUQXaJKOZ0JCaKuFZ+d3CMEbAeQKyFaL9FgErYZzknczH2m6kmBCnGTgTwouQ++QYEUYrkgm9QzMFQdybXqqPJyT7KBDi3MLQSQm57UOzxndPKWGVO//zCUkdUhcmY9j0vQiXOMsdsgpILqAhfRJ7Pb8yhEv3BdZnEFKmLU4AClZAfWHTSQhD09PpCSFMQwk3fXZZ5bOM/RP+AkiBt9Tgw537AAAAAElFTkSuQmCC",
152, [9.66041, 8.11392, 6.75799, 5.80805], [0.28058, 0.30105, 0.34733, 0.39898], 19992786)
elif (record == "SRR527165"):
dumpJSON(200, "AT2G24270", 1, 2, 10326917, 10330049, "SRR527165", "light",
"iVBORw0KGgoAAAANSUhEUgAAAcIAAAAyBAMAAAA908bbAAAAFVBMVEX/////AABkzGX//wAAAADAwMCY/wBd7RS/AAAACXBIWXMAAA7EAAAOxAGVKw4bAAABZ0lEQVRoge2ZTRaCMAyEu8CcqwuvoOuucv8jqCi0tcT+BgkvswLaZObrs6BojEqlUu2gy61c94q5h1D1agDDCg+XNdf2YgmEk506qsGNysEoO3UgCiG0trlYCOFzK7YK3bAcfUJ6aLr23GkkEHY2dlydK8VFCHgQRFDC9sYHIWTLoYS7iZPwP4jf+04JO4yUkEkpIdPjQgnZtBshYq614zHeIORxUkLxhJAjBKbtkfR95eB4K6aEZyF0FUnGGccX8jeEZqMTEoaNsoQvWxj/xhESnFyQGinht7E4wuhX/Zvwx+d/Jhz/LCYIx2xEJUyMz0+Y/U4QTnfUtLTtllFh+W8p4ZaxOEKMToLGy4B3wpwzPHdpMLswIkW4BihrQ0RSQiOdMNpXEYDfoeszAjKE8SjMx2t3IOuAJHTzEV1ZIiX8XBZGGFREkXGRP1v857TreLIGJq5HH9yHh2Rxlnqa0HvW/S92LsIHYP63rDWDhpMAAAAASUVORK5CYII=",
114, [7.2726, 6.10836, 5.08759, 4.37245], [0.28643, 0.2923, 0.33665, 0.38327], 19917758)
elif (record == "SRR515074"):
dumpJSON(200, "AT2G24270", 1, 2, 10326917, 10330049, "SRR515074", "light",
"iVBORw0KGgoAAAANSUhEUgAAAcIAAAAyBAMAAAA908bbAAAAFVBMVEX/////AABkzGX//wAAAADAwMCY/wBd7RS/AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAChklEQVRoge3YOYLrIAwAUBcencvFXGF6Vbr/ESaETYBYHLBjEqv5Hj5IPPAWL8sdd9xxxwnx8zdvUK3DKwuC9gCGrfHrQZi2rdv6u/UktTnhqsJtWfuS2pxAxJvf4xWFjz3sSorGSJFQqHV4gCT8XdU+dgR5ISdeR7ita5cQyFi4EIrC4xYiulJ0rNvSdZY+hDorF5Jqzw4JhOyP/ktXFA5I6oVoGgmKQnSHfEryiF2bfIiQMsJCrUD1XUIUOhfOBamzmKMvZCF9jhAkoSr0DcJsrVSI+lgacQtdP1u4rXt7hEJyjQUhPzP1quj7ZZsQFunBCfrV6gghZYR0pJASIuA4YZS8IgRpvXcJ4zuWLFTnDI0ShhUrQlKTiYqmQj2tZiEIQl3wPUIQhMiGY06Ipkc0uiQsXBvtsV8YF2XTMPcpUagLJXMGcadIVz9ZSM+2uhC40KdXR/GuIKh7iuAYLWQnSVWYFo2FxIXkzkD1w5Oi39VqPU4R+jQwVoh1IRWEKh12E48UkhaiFZIk1Cmlh9ZT2L+JfkaSEFkr2X/5x40l+BigO6AXQpQk3DBikRV2/0L0M/KZI6GD2QPbXT/ZXxbadOcJSRSiW2p3gG6GyN9k3VmcF/LhWBWG6zlECLGQzAtUGIGQzQ+DDhUhtAp7N5HVJFuTFcGwWDBFdaRv9iQZwJyUWWGBMVDIazYLPQjjhosLg5TmfyTgPELATxdStzDT0CQUUo4XWkBeKEerUBbtFWLyk7Q1YB7hK/tIac3LCgGSDvWAqYRph4pu0R8TphFKPcrC5ysmLzGFEJMvRDmffQBMI7TDku8nmRAHzyBMe8kB0sDPET4uvrmFWPaJuDHCkHSq8B8iZQgeysDTjwAAAABJRU5ErkJggg==",
1536, [431.05911, 362.05285, 301.54979, 259.16235], [0.55827, 0.57701, 0.65979, 0.70617],
4527721)
elif (record == "SRR584115"):
dumpJSON(200, "AT2G24270", 1, 2, 10326917, 10330049, "SRR584115", "light",
"iVBORw0KGgoAAAANSUhEUgAAAcIAAAAyBAMAAAA908bbAAAAFVBMVEX/////AABkzGX//wAAAADAwMCY/wBd7RS/AAAACXBIWXMAAA7EAAAOxAGVKw4bAAACRUlEQVRoge3YwWKDIAwAUA4u3+Whv7Cdc8r/f8KsIAQMCAy0OHPq1CQ8QWqn1BNPPPHECfH1fW78nNnskjsK2Lf+66Veapr7NkkGEfVtME1qnqe+PaKB6gThPE3zZXNIyxptIySMnpqXKbxsDhchWSH8qRLGzrxtZwvtnAHhKkR9ODEPhyWTwrN3GpCF8AchWwnNAwhKS9tVSevAmLB6lK5K80A7rKB+ot2WIQurnkZdpiYzr7T+xA9Dqp0TkiDMm4rgPjhhVnZJRISpOwopIWYutqiQGr8iQULoOtlPsOWwZF+YudjCZ18nQti4QbAh8ZGB38iAzCvoofB4hCALl0y9Dmo5QidP6EbmDRQtaBVCphAQVWyou8fcE7bccnyhK8yF9oJFuBzTGyjPjgnf48WgIfkl/YZkvl1PEOrDiKGQCoXhgjVnISrcop2QF2TrEuxxQDcc/QnIP5AQhmOFbCGqyqDw52og3Co7IVEoZBlZQranmAsyhNWTuN4/RgReLyKUQAVCvlLNBWxZRIWoqgL0XpUvRO+CWqHdW7fTrkJTIel3/zXbLFX7WumaNBcKf3cSgi5svlHRLxsIXZ8uQlahrZDdv7gQpXZjCLfMQYQVm6l0iwQhfYoQS4Eg5UtC/A/CPfACYfEyLRAGl95OuO1Flwuxm1CMC4RU+B8t8QZ9trBwnY4oxNsLiyYxqH4/4S53DCFmAyGSex9hLPcRXi3MfhCF1EGEmUQQMkcR5hGHFmKOMJ54DyEkEgcQHhNl4EDCPfEXZTNh30pIfzAAAAAASUVORK5CYII=",
10034, [508.00105, 426.67751, 355.37496, 305.42156], [0.63323, 0.59719, 0.69118, 0.69066],
25097748)
elif (record == "SRR584121"):
dumpJSON(200, "AT2G24270", 1, 2, 10326917, 10330049, "SRR584121", "light",
"iVBORw0KGgoAAAANSUhEUgAAAcIAAAAyBAMAAAA908bbAAAAFVBMVEX/////AABkzGX//wAAAADAwMCY/wBd7RS/AAAACXBIWXMAAA7EAAAOxAGVKw4bAAACHElEQVRoge3XS5qDIAwAYBdMzuWiV5h9NpP7H2FQKfIISihY8DOLTosE+A3YzjQ98cQTT1wQP79Dxl9Wr2/f3E8Ck1fmSS0vr+vW0iSAiPgrasGpWWnk0JEWTrNSppBDhwYS8Jdm9ZqXAs61Z8T8vhVmW4OfcjuH1XdpvhAaC5U+hcvLB08aboH6WCA7H9vVvIHMDGYJJkrzjwO2cSlozJ4PzL1f/iZO0mlYYRPjW4heW64QkHZhcRGI2lXRPqW9wXOFumrkCRHyyhj0aikkVmgOPpw9biJh8oEYRFKYlS0KR7iPDrkT6u+wIiEEtWooJFdoh3eFR3X0UDbpfFYIO+3C6tuUF7q3NH1bgcTC9XZB3MkRln/lsOEsiReuiCgLzHK9rQXeJ6b2umUd7FhYd59CICSv2QqDOd/9zoXMdyyZh1NaWHWfRkJ0m4M59fYBkZC2Y/yeCw8Y3iX8mpDMrwKBkCZKDHokLP1lFAWhO9u+OAoWY0EgFyLJhTX2KfrDOp/wSLhdBomQ+3yBEHoXYmthFI4Q/IY2wo+LSGkhcUAHdJEQy3FA9v85XsjGvkQMG/oS2k1WLuQbqgvLtilsvzJvLFwnG0WIch/E+T0L5UX0x7+j0E8fQCgm3l4YDD+CUEh8hD0KUSRkkzsXyoo4pBAFQGBzbyRM5N5HmMrtXZh/EG8vZFIHEWIeEJKp3Qszq8glDiPEQuA4QqaI/2oGQBxlS5fjAAAAAElFTkSuQmCC",
16304, [527.89403, 443.38592, 369.2912, 317.38167], [0.6203, 0.59775, 0.69069, 0.72034],
39243947)
elif (record == "SRR584129"):
dumpJSON(200, "AT2G24270", 1, 2, 10326917, 10330049, "SRR584129", "light",
"iVBORw0KGgoAAAANSUhEUgAAAcIAAAAyBAMAAAA908bbAAAAFVBMVEX/////AABkzGX//wAAAADAwMCY/wBd7RS/AAAACXBIWXMAAA7EAAAOxAGVKw4bAAACHklEQVRoge3XS5asIAwAUAa+rIuBW3g9zij7X0LzE8NHGxURPGZgn0aTyhXEKiG++OKLLxrEv/9jxk/JRU/f3EsBqA6Yjk9STPowfgCJrFAKMQs5Ne7mjjBCSselnkMxvBAXISan5knzZOOGaofWEem/mJyTWvjoFEKFGkoHVpgS1SYzy3mu8CknAzOPzuGwQtSHGuXCuDgFubt+PMgGmsP1cmHAhYpQWUi3CE9U9NOu7g5rCfdvFgHLjNbijUI6sfDXDEBYC+jZBMT4Yn+t7t2nthWi64CP487juZjAbAwq7NyBfY7WEhi84JzQnW8mxA0hUIkQgTflhEuD6tVmNkjnZ0JdupUQtoS7n7QKKRLyDs3GD7y+wjohwI6w6usCiHfA3mx5Ia2tc1IkZKLc/3oiIWZQGPcIeWU7HG+NUEVIkEFUFIaPFy/Ips3B41lUw6gevavCHOIZYbJOqXth+vvrT6FeqH6xOqHP6E4IZH6iYDASCl3nXgj6qfH7nhliGfcJT36TpAKhOUm+GdhqsUOhmohyYRKthWfe+mC/UYE9bAppXKFLdIdtIeaAIwjz5YN/l9IZYHshHf5lHpXH7oUYX1FPGF35lDC54pQwrJX7kE94qxAPCbPJnQuPTeIn7FKIB4CQzX2RMAa+TpgAXyfcyu1dWL7VfMLhhZnUQYRYBoTN1O6FhcSRhWXrNJc4jBBfLywgwk7eCMJ0of4CPXpPhxjgC/wAAAAASUVORK5CYII=",
8891, [273.14454, 229.41809, 191.07978, 164.22059], [0.63755, 0.60146, 0.69405, 0.69759],
41360269)
elif (record == "SRR653555"):
dumpJSON(200, "AT2G24270", 1, 2, 10326917, 10330049, "SRR653555", "light",
"iVBORw0KGgoAAAANSUhEUgAAAcIAAAAyBAMAAAA908bbAAAAFVBMVEX/////AABkzGX//wAAAADAwMCY/wBd7RS/AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAB/0lEQVRoge3YS3qEIAwAYBY253LhFbrPprn/ESoi8laQOIN8ZGEtYwK/jzjfCDFixIgRH4ifX46gP5Yy3MF4nogYi9XFLCa5YQ4gQu6aN2OaxSI3zEHtCOd5mtYNc1VoSLgs0zIvC3PVloQMz6HqKWiNSGBHQlBCcoaaItYFkBaiGaSOhCgp2578g/uoErbzRqwJsoQIaI92KCQthGyhSgCWlXAUiZR1hNqUL3Qe4TroQzeNL8RtVwvxPHltUSQA9Rc8UC3rpvOhFxScC6VApE+tbMPrna3TpJQu7jZK+h/q3qEQrWE1Z2xiEO5hJmu9oullymKpTx/qbYFwWwD5QtILPNLsbEdoL/M43pktsZS8B6MwwHkrmH1bqPb3BYq92eYJg6t5YjClOIHCrWoWmxSCEpqBuBDNp8fZEOf9y8zHZMO0kOzpnANAr65AuPYq3Vysj0MGuaWqA6qEUCj0G7QcAa+ncgvpTBgLs0S7XeQIkeJC7zL6c31T6A9cCGP/RyA8QjiyK4TxgUaEx1xtC+8+ibAnyyZDXQp1XbtIo8KbRJ3cvdCp0ZXQK9+28FY/HcLGhFgujFZoV3iDOIStCYufRK/6C4SFxCD9BUIs+VUSwvT2hccP8P0KS27UMPcdQsz0QTJ3CL8tzL1NY6kvEWYRAWKZbxFeE1OJrxFGiP/AE+ewKaKMVQAAAABJRU5ErkJggg==",
4750, [444.69292, 373.50408, 311.0874, 267.3593], [0.62151, 0.63538, 0.7303, 0.73072],
13572463)
elif (record == "SRR584134"):
dumpJSON(200, "AT2G24270", 1, 2, 10326917, 10330049, "SRR584134", "light",
"iVBORw0KGgoAAAANSUhEUgAAAcIAAAAyBAMAAAA908bbAAAAFVBMVEX/////AABkzGX//wAAAADAwMCY/wBd7RS/AAAACXBIWXMAAA7EAAAOxAGVKw4bAAACLklEQVRoge3VzX6DIAwAcA4uz+XBV1jPuSzv/wgDW2iAoBC1E2cO+1lmPv6UqjF33HHHHR+Ir+894rFLlYZ+P1W3aTYE5WWiDZusmIIKcxgzjGYy06SvTS9j0qFeCIXrpiEWhOMw2L+DsrIrDvRqwhbBCostkwB8u0CJpIV24+SIo6bsHBCEFK3WC4llkgP7D8UC+SYQlc/MMAzjuEEYakctqFJIFhSGg/msvfOKBXIMLRPtSa0YRg5kQjZRgzDcOl+xSe3ZcJd5GXD7kNRZaDg/afRCYsL3Lj7HrnjWEApCZDUMpFXApaSr0dbsG7EQ/RTVQmaShLZIWoUkzXFCVjkTrnck4KY6ob+rOMe+wSVcGI26kL0uTKuE1bhUWNO+UMszxkLft1YYIUpC/6RFzBd9PNe0b9OF4N34MPsK/WdLDGui0D2YVnq2RiZMhiu80gAkw6rQ1lsX7npU427icMnX+Nxhn9EuxBWh+2FD1UN8TyEw5SyEA4XiPxXxOuwlITAhAW9IG4VFRCLE44TzZXgJeCGFMS4gxLwdByF/5h4n3HxMSS0kky5cToifEeIW3TahvHAmIbACkpAkYFdCXkAUYtrsT4TaHyLhulCMzwtRBYSrC10L7EWoOqbZDl1MGDXoQNhMjOvfwjMIW4lx8i08hRCbgCAln1zY9iVeX5jk9iHEW/ivhHLuhYQg555dWP+oyYCXE+apnQhriUJmL8I6IgiJ3QhR5+tIKBB/AWKl5F5B1mwoAAAAAElFTkSuQmCC",
12874, [404.38289, 339.6471, 282.8883, 243.12401], [0.61877, 0.59175, 0.68576, 0.72435],
40452559)
elif (record == "SRR653556"):
dumpJSON(200, "AT2G24270", 1, 2, 10326917, 10330049, "SRR653556", "light",
"iVBORw0KGgoAAAANSUhEUgAAAcIAAAAyBAMAAAA908bbAAAAFVBMVEX/////AABkzGX//wAAAADAwMCY/wBd7RS/AAAACXBIWXMAAA7EAAAOxAGVKw4bAAACGUlEQVRoge3XTZqDIAwGYBbOdy4XvcLss5nc/wgjagUxKERawcesahDw5e+hxjzxxBNPfCF+frPiL5LnWMGloRkQjqSZToxyyXi9TGdMr67PshD1CPsBabpOXZ9FCmxayF8Rr36YQ72QbUy//HRNQuvTC+EJycuzy18e/SmhJ1mBahJ2vV2ovbJ2RIgcIZR9fyWwEhJIyB81UUpIh29oYi10p+qcT+kUVGY54xObAvMi3QqZkyaRh+MJ4XvKKcUn9j04FL77WAr2O2XMQhqbw4hblnr+x6gqyjF9BB8K9xcq1m9h+hGvsmu3zSgHJ96VIJwK4At3vngrZHehxebGYM+ySFNMyRs/KTKEw0IU+kXwGi2P7kILOzrG7UvQztZ241mAZ7KFrle8vycqDBtxZyT8wogwOgK5wVHhWMK+0L0AnoeGc4SbYZu9lQrHYnCGkEQhQgmvmzob2BGOZ0VMiBLC4XFp4VNC3hWy110gHCsiSyg8by8JpYU4EArhC9eJ4sISG5FPCNn/R6kVCpCSQrg+VcIwkS+UIH4JFQCeEMqJosIzs2jvDA0IWfuPczzsmxCqZhFzX20ISSGUWqhXqCHeXgipgVsJxQYe4YXC/NO0OSHdXpg7iUHrLQjzLjab2i0Ic2YRm8pNCCldGKtcuTBjElsVUioQsbp3EQrARoSpy7RhIaUJ41WrF6bNIqSKzQhJCWxHKMziP1AmW6u9Mj1eAAAAAElFTkSuQmCC",
5902, [464.22027, 389.90539, 324.74787, 279.09958], [0.62397, 0.6265, 0.7223, 0.73349],
16154755)
elif (record == "SRR653557"):
dumpJSON(200, "AT2G24270", 1, 2, 10326917, 10330049, "SRR653557", "light",
"iVBORw0KGgoAAAANSUhEUgAAAcIAAAAyBAMAAAA908bbAAAAFVBMVEX/////AABkzGX//wAAAADAwMCY/wBd7RS/AAAACXBIWXMAAA7EAAAOxAGVKw4bAAACD0lEQVRoge3WO2KEIBAGYArzn8siV0g/Teb+R4goREBgYVQWEqfYVXGQj5cq9cQTTzzRID6+quK77vY3h6A/wIqu7uOLY1af+kcYxLwYdbBfwEwnGnVlTPOk5mmSprOO7YiCAjre/ZaYZzUpsRCOkBXILaB4SvP41HNULOSEUMspkdM8Ts1ST2iPzAnRBa27Is7sNAiFdLw+dvQkpFtqTQm5Rgj7onE2KkHc06EcCg2xUIil40F224X5E7eFhJmZQEKIMuHyqaD3X/aFmYZSZqBwx6pgfiGk/OJYGwU3S/+nhUgLt+dJhz8S5FTrC9m0lX+RsaaysrdR0C/6N/XUdIV1C78gzJaQEsITRp7LuzAceeW0M8SYB5DuIcSKXk2a8sgJlxN2hIxIt2eE+zDh8MVgi3Ecrv15XQi5TBgmUkOh/04IhJvKOw6IxcJtzpusvTgiaS08xJZGe1NLhby/59xuywjpjULYT5cqIVoLse52UuG6gO8Vnp6mcNpQLTSv9BohcVPh+nY7K/QvdCW0DzwnRJ0wdn6T0HsF9CyU7jV+/WKhnQR/WBi/cKlw+eiRCP3qOxdK1mJQfd9C0UQdTCggRit4hCMJEa2gY2EtMZHfs7BuO8UhfQAh1QhT6V0Lq0ZxUGExEZHcMYT0CP+NMJ3bu7BwIUZTBxFSCRCZ1O6FJcRsZv/C18R84gDCCPIHUStnvP+TWSgAAAAASUVORK5CYII=",
5005, [469.1144, 394.01604, 328.17158, 282.04204], [0.62784, 0.63746, 0.73503, 0.73051],
13556594)