bio-samtools-wrapper 2.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (125) hide show
  1. checksums.yaml +7 -0
  2. data/.document +5 -0
  3. data/.travis.yml +27 -0
  4. data/Gemfile +20 -0
  5. data/LICENSE.txt +702 -0
  6. data/README.md +501 -0
  7. data/Rakefile +73 -0
  8. data/VERSION +1 -0
  9. data/bin/bam_consensus.rb +85 -0
  10. data/bio-samtools-wrapper.gemspec +181 -0
  11. data/doc/Bio/DB/Alignment.html +552 -0
  12. data/doc/Bio/DB/Pileup.html +711 -0
  13. data/doc/Bio/DB/SAM/Library.html +167 -0
  14. data/doc/Bio/DB/SAM/Tools.html +109 -0
  15. data/doc/Bio/DB/SAM.html +1853 -0
  16. data/doc/Bio/DB/Tag.html +208 -0
  17. data/doc/Bio/DB/Vcf.html +431 -0
  18. data/doc/Bio/DB.html +105 -0
  19. data/doc/Bio.html +175 -0
  20. data/doc/LICENSE_txt.html +846 -0
  21. data/doc/created.rid +9 -0
  22. data/doc/fonts/Lato-Light.ttf +0 -0
  23. data/doc/fonts/Lato-LightItalic.ttf +0 -0
  24. data/doc/fonts/Lato-Regular.ttf +0 -0
  25. data/doc/fonts/Lato-RegularItalic.ttf +0 -0
  26. data/doc/fonts/SourceCodePro-Bold.ttf +0 -0
  27. data/doc/fonts/SourceCodePro-Regular.ttf +0 -0
  28. data/doc/fonts.css +167 -0
  29. data/doc/images/add.png +0 -0
  30. data/doc/images/arrow_up.png +0 -0
  31. data/doc/images/brick.png +0 -0
  32. data/doc/images/brick_link.png +0 -0
  33. data/doc/images/bug.png +0 -0
  34. data/doc/images/bullet_black.png +0 -0
  35. data/doc/images/bullet_toggle_minus.png +0 -0
  36. data/doc/images/bullet_toggle_plus.png +0 -0
  37. data/doc/images/date.png +0 -0
  38. data/doc/images/delete.png +0 -0
  39. data/doc/images/find.png +0 -0
  40. data/doc/images/loadingAnimation.gif +0 -0
  41. data/doc/images/macFFBgHack.png +0 -0
  42. data/doc/images/package.png +0 -0
  43. data/doc/images/page_green.png +0 -0
  44. data/doc/images/page_white_text.png +0 -0
  45. data/doc/images/page_white_width.png +0 -0
  46. data/doc/images/plugin.png +0 -0
  47. data/doc/images/ruby.png +0 -0
  48. data/doc/images/tag_blue.png +0 -0
  49. data/doc/images/tag_green.png +0 -0
  50. data/doc/images/transparent.png +0 -0
  51. data/doc/images/wrench.png +0 -0
  52. data/doc/images/wrench_orange.png +0 -0
  53. data/doc/images/zoom.png +0 -0
  54. data/doc/index.html +106 -0
  55. data/doc/js/darkfish.js +140 -0
  56. data/doc/js/jquery.js +18 -0
  57. data/doc/js/navigation.js +142 -0
  58. data/doc/js/search.js +109 -0
  59. data/doc/js/search_index.js +1 -0
  60. data/doc/js/searcher.js +228 -0
  61. data/doc/rdoc.css +580 -0
  62. data/doc/table_of_contents.html +305 -0
  63. data/ext/Makefile-bioruby.patch +12 -0
  64. data/ext/Makefile-suse.patch +11 -0
  65. data/ext/mkrf_conf.rb +118 -0
  66. data/lib/bio/BIOExtensions.rb +89 -0
  67. data/lib/bio/db/alignment.rb +64 -0
  68. data/lib/bio/db/fastadb.rb +320 -0
  69. data/lib/bio/db/pileup.rb +273 -0
  70. data/lib/bio/db/sam/external/COPYING +21 -0
  71. data/lib/bio/db/sam/external/VERSION +1 -0
  72. data/lib/bio/db/sam/library.rb +32 -0
  73. data/lib/bio/db/sam.rb +778 -0
  74. data/lib/bio/db/vcf.rb +105 -0
  75. data/lib/bio-samtools-wrapper.rb +9 -0
  76. data/test/.gitignore +1 -0
  77. data/test/helper.rb +18 -0
  78. data/test/sample.vcf +24 -0
  79. data/test/samples/.gitignore +1 -0
  80. data/test/samples/LCI/NC_001988.ffn +2 -0
  81. data/test/samples/LCI/test.bam +0 -0
  82. data/test/samples/LCI/test.bam.bai +0 -0
  83. data/test/samples/small/dupes.bam +0 -0
  84. data/test/samples/small/dupes.sam +274 -0
  85. data/test/samples/small/ids2.txt +1 -0
  86. data/test/samples/small/map_for_reheader.sam +8 -0
  87. data/test/samples/small/map_to_merge1.bam +0 -0
  88. data/test/samples/small/map_to_merge1.bam.bai +0 -0
  89. data/test/samples/small/map_to_merge1.sam +8 -0
  90. data/test/samples/small/map_to_merge2.bam +0 -0
  91. data/test/samples/small/map_to_merge2.bam.bai +0 -0
  92. data/test/samples/small/map_to_merge2.sam +8 -0
  93. data/test/samples/small/no_md.sam +8 -0
  94. data/test/samples/small/sorted.bam +0 -0
  95. data/test/samples/small/sorted.bam.bai +0 -0
  96. data/test/samples/small/test.sai +0 -0
  97. data/test/samples/small/test.tam +10 -0
  98. data/test/samples/small/test_chr.fasta +1000 -0
  99. data/test/samples/small/test_chr.fasta.1.bt2 +0 -0
  100. data/test/samples/small/test_chr.fasta.2.bt2 +0 -0
  101. data/test/samples/small/test_chr.fasta.3.bt2 +0 -0
  102. data/test/samples/small/test_chr.fasta.4.bt2 +0 -0
  103. data/test/samples/small/test_chr.fasta.amb +2 -0
  104. data/test/samples/small/test_chr.fasta.ann +3 -0
  105. data/test/samples/small/test_chr.fasta.bwt +0 -0
  106. data/test/samples/small/test_chr.fasta.pac +0 -0
  107. data/test/samples/small/test_chr.fasta.rbwt +0 -0
  108. data/test/samples/small/test_chr.fasta.rev.1.bt2 +0 -0
  109. data/test/samples/small/test_chr.fasta.rev.2.bt2 +0 -0
  110. data/test/samples/small/test_chr.fasta.rpac +0 -0
  111. data/test/samples/small/test_chr.fasta.rsa +0 -0
  112. data/test/samples/small/test_chr.fasta.sa +0 -0
  113. data/test/samples/small/test_cov.svg +273 -0
  114. data/test/samples/small/test_fastadb.fasta +34 -0
  115. data/test/samples/small/testu.bam +0 -0
  116. data/test/samples/small/testu.bed +2 -0
  117. data/test/test_bio-samtools-wrapper.rb +1 -0
  118. data/test/test_fastadb.rb +89 -0
  119. data/test/test_pileup.rb +90 -0
  120. data/test/test_sam.rb +421 -0
  121. data/test/test_vcf.rb +79 -0
  122. data/tutorial/tutorial.html +474 -0
  123. data/tutorial/tutorial.md +424 -0
  124. data/tutorial/tutorial.pdf +0 -0
  125. metadata +254 -0
@@ -0,0 +1,2 @@
1
+ 69930 1 1
2
+ 41554 50 N
@@ -0,0 +1,3 @@
1
+ 69930 1 11
2
+ 0 chr_1 (null)
3
+ 0 69930 1
@@ -0,0 +1,273 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="800" height="330" style="" xmlns:xlink="http://www.w3.org/1999/xlink"><line x1="1" y1="20" x2="800" y2="20" stroke="black" stroke-width="1" style=""/>
2
+ <rect x="0.0" y="20" width="1" height="5" fill="" rx="" ry="" stroke="black" stroke-width="1" style=""/>
3
+ <text x="0.0" y="40" fill="black" transform="" style="font-family:Arial;font-style:italic">100</text>
4
+ <rect x="38.76651982378854" y="20" width="1" height="5" fill="" rx="" ry="" stroke="black" stroke-width="1" style=""/>
5
+ <text x="38.76651982378854" y="40" fill="black" transform="" style="font-family:Arial;font-style:italic">111</text>
6
+ <rect x="77.53303964757708" y="20" width="1" height="5" fill="" rx="" ry="" stroke="black" stroke-width="1" style=""/>
7
+ <text x="77.53303964757708" y="40" fill="black" transform="" style="font-family:Arial;font-style:italic">122</text>
8
+ <rect x="116.29955947136564" y="20" width="1" height="5" fill="" rx="" ry="" stroke="black" stroke-width="1" style=""/>
9
+ <text x="116.29955947136564" y="40" fill="black" transform="" style="font-family:Arial;font-style:italic">133</text>
10
+ <rect x="155.06607929515417" y="20" width="1" height="5" fill="" rx="" ry="" stroke="black" stroke-width="1" style=""/>
11
+ <text x="155.06607929515417" y="40" fill="black" transform="" style="font-family:Arial;font-style:italic">144</text>
12
+ <rect x="193.8325991189427" y="20" width="1" height="5" fill="" rx="" ry="" stroke="black" stroke-width="1" style=""/>
13
+ <text x="193.8325991189427" y="40" fill="black" transform="" style="font-family:Arial;font-style:italic">155</text>
14
+ <rect x="232.59911894273128" y="20" width="1" height="5" fill="" rx="" ry="" stroke="black" stroke-width="1" style=""/>
15
+ <text x="232.59911894273128" y="40" fill="black" transform="" style="font-family:Arial;font-style:italic">166</text>
16
+ <rect x="271.3656387665198" y="20" width="1" height="5" fill="" rx="" ry="" stroke="black" stroke-width="1" style=""/>
17
+ <text x="271.3656387665198" y="40" fill="black" transform="" style="font-family:Arial;font-style:italic">177</text>
18
+ <rect x="310.13215859030834" y="20" width="1" height="5" fill="" rx="" ry="" stroke="black" stroke-width="1" style=""/>
19
+ <text x="310.13215859030834" y="40" fill="black" transform="" style="font-family:Arial;font-style:italic">188</text>
20
+ <rect x="348.8986784140969" y="20" width="1" height="5" fill="" rx="" ry="" stroke="black" stroke-width="1" style=""/>
21
+ <text x="348.8986784140969" y="40" fill="black" transform="" style="font-family:Arial;font-style:italic">199</text>
22
+ <rect x="387.6651982378854" y="20" width="1" height="5" fill="" rx="" ry="" stroke="black" stroke-width="1" style=""/>
23
+ <text x="387.6651982378854" y="40" fill="black" transform="" style="font-family:Arial;font-style:italic">210</text>
24
+ <rect x="426.431718061674" y="20" width="1" height="5" fill="" rx="" ry="" stroke="black" stroke-width="1" style=""/>
25
+ <text x="426.431718061674" y="40" fill="black" transform="" style="font-family:Arial;font-style:italic">221</text>
26
+ <rect x="465.19823788546256" y="20" width="1" height="5" fill="" rx="" ry="" stroke="black" stroke-width="1" style=""/>
27
+ <text x="465.19823788546256" y="40" fill="black" transform="" style="font-family:Arial;font-style:italic">232</text>
28
+ <rect x="503.9647577092511" y="20" width="1" height="5" fill="" rx="" ry="" stroke="black" stroke-width="1" style=""/>
29
+ <text x="503.9647577092511" y="40" fill="black" transform="" style="font-family:Arial;font-style:italic">243</text>
30
+ <rect x="542.7312775330396" y="20" width="1" height="5" fill="" rx="" ry="" stroke="black" stroke-width="1" style=""/>
31
+ <text x="542.7312775330396" y="40" fill="black" transform="" style="font-family:Arial;font-style:italic">254</text>
32
+ <rect x="581.4977973568282" y="20" width="1" height="5" fill="" rx="" ry="" stroke="black" stroke-width="1" style=""/>
33
+ <text x="581.4977973568282" y="40" fill="black" transform="" style="font-family:Arial;font-style:italic">265</text>
34
+ <rect x="620.2643171806167" y="20" width="1" height="5" fill="" rx="" ry="" stroke="black" stroke-width="1" style=""/>
35
+ <text x="620.2643171806167" y="40" fill="black" transform="" style="font-family:Arial;font-style:italic">276</text>
36
+ <rect x="659.0308370044053" y="20" width="1" height="5" fill="" rx="" ry="" stroke="black" stroke-width="1" style=""/>
37
+ <text x="659.0308370044053" y="40" fill="black" transform="" style="font-family:Arial;font-style:italic">287</text>
38
+ <rect x="697.7973568281938" y="20" width="1" height="5" fill="" rx="" ry="" stroke="black" stroke-width="1" style=""/>
39
+ <text x="697.7973568281938" y="40" fill="black" transform="" style="font-family:Arial;font-style:italic">298</text>
40
+ <rect x="736.5638766519824" y="20" width="1" height="5" fill="" rx="" ry="" stroke="black" stroke-width="1" style=""/>
41
+ <text x="736.5638766519824" y="40" fill="black" transform="" style="font-family:Arial;font-style:italic">309</text>
42
+ <rect x="775.3303964757708" y="20" width="1" height="5" fill="" rx="" ry="" stroke="black" stroke-width="1" style=""/>
43
+ <text x="775.3303964757708" y="40" fill="black" transform="" style="font-family:Arial;font-style:italic">320</text>
44
+ <text x="3" y="60" fill="black" transform="" style="font-family:monospace;">data track</text>
45
+ <text x="805.0" y="65" fill="black" transform="" style="font-family:monospace;">3.0</text>
46
+ <text x="805.0" y="215" fill="black" transform="" style="font-family:monospace;">0</text>
47
+ <rect x="0.0" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
48
+ <rect x="3.5242290748898677" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
49
+ <rect x="7.048458149779735" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
50
+ <rect x="10.572687224669604" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
51
+ <rect x="14.09691629955947" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
52
+ <rect x="17.621145374449338" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
53
+ <rect x="21.145374449339208" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
54
+ <rect x="24.669603524229075" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
55
+ <rect x="28.19383259911894" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
56
+ <rect x="31.718061674008812" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
57
+ <rect x="35.242290748898675" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
58
+ <rect x="38.76651982378855" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
59
+ <rect x="42.290748898678416" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
60
+ <rect x="45.81497797356828" y="165.0" width="3.5242290748898677" height="50.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
61
+ <rect x="49.33920704845815" y="165.0" width="3.5242290748898677" height="50.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
62
+ <rect x="52.863436123348016" y="165.0" width="3.5242290748898677" height="50.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
63
+ <rect x="56.38766519823788" y="165.0" width="3.5242290748898677" height="50.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
64
+ <rect x="59.91189427312775" y="165.0" width="3.5242290748898677" height="50.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
65
+ <rect x="63.436123348017624" y="165.0" width="3.5242290748898677" height="50.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
66
+ <rect x="66.96035242290749" y="165.0" width="3.5242290748898677" height="50.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
67
+ <rect x="70.48458149779735" y="165.0" width="3.5242290748898677" height="50.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
68
+ <rect x="74.00881057268722" y="165.0" width="3.5242290748898677" height="50.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
69
+ <rect x="77.5330396475771" y="165.0" width="3.5242290748898677" height="50.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
70
+ <rect x="81.05726872246696" y="165.0" width="3.5242290748898677" height="50.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
71
+ <rect x="84.58149779735683" y="165.0" width="3.5242290748898677" height="50.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
72
+ <rect x="88.10572687224669" y="165.0" width="3.5242290748898677" height="50.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
73
+ <rect x="91.62995594713657" y="165.0" width="3.5242290748898677" height="50.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
74
+ <rect x="95.15418502202643" y="165.0" width="3.5242290748898677" height="50.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
75
+ <rect x="98.6784140969163" y="165.0" width="3.5242290748898677" height="50.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
76
+ <rect x="102.20264317180617" y="165.0" width="3.5242290748898677" height="50.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
77
+ <rect x="105.72687224669603" y="165.0" width="3.5242290748898677" height="50.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
78
+ <rect x="109.2511013215859" y="165.0" width="3.5242290748898677" height="50.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
79
+ <rect x="112.77533039647577" y="165.0" width="3.5242290748898677" height="50.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
80
+ <rect x="116.29955947136564" y="165.0" width="3.5242290748898677" height="50.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
81
+ <rect x="119.8237885462555" y="165.0" width="3.5242290748898677" height="50.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
82
+ <rect x="123.34801762114537" y="165.0" width="3.5242290748898677" height="50.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
83
+ <rect x="126.87224669603525" y="165.0" width="3.5242290748898677" height="50.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
84
+ <rect x="130.39647577092512" y="165.0" width="3.5242290748898677" height="50.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
85
+ <rect x="133.92070484581498" y="165.0" width="3.5242290748898677" height="50.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
86
+ <rect x="137.44493392070484" y="165.0" width="3.5242290748898677" height="50.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
87
+ <rect x="140.9691629955947" y="165.0" width="3.5242290748898677" height="50.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
88
+ <rect x="144.4933920704846" y="165.0" width="3.5242290748898677" height="50.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
89
+ <rect x="148.01762114537445" y="165.0" width="3.5242290748898677" height="50.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
90
+ <rect x="151.5418502202643" y="165.0" width="3.5242290748898677" height="50.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
91
+ <rect x="155.0660792951542" y="165.0" width="3.5242290748898677" height="50.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
92
+ <rect x="158.59030837004406" y="165.0" width="3.5242290748898677" height="50.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
93
+ <rect x="162.11453744493392" y="165.0" width="3.5242290748898677" height="50.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
94
+ <rect x="165.63876651982378" y="165.0" width="3.5242290748898677" height="50.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
95
+ <rect x="169.16299559471366" y="165.0" width="3.5242290748898677" height="50.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
96
+ <rect x="172.68722466960352" y="165.0" width="3.5242290748898677" height="50.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
97
+ <rect x="176.21145374449338" y="165.0" width="3.5242290748898677" height="50.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
98
+ <rect x="179.73568281938327" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
99
+ <rect x="183.25991189427313" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
100
+ <rect x="186.784140969163" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
101
+ <rect x="190.30837004405285" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
102
+ <rect x="193.83259911894274" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
103
+ <rect x="197.3568281938326" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
104
+ <rect x="200.88105726872246" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
105
+ <rect x="204.40528634361235" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
106
+ <rect x="207.9295154185022" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
107
+ <rect x="211.45374449339207" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
108
+ <rect x="214.97797356828193" y="65.0" width="3.5242290748898677" height="150.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
109
+ <rect x="218.5022026431718" y="65.0" width="3.5242290748898677" height="150.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
110
+ <rect x="222.02643171806167" y="65.0" width="3.5242290748898677" height="150.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
111
+ <rect x="225.55066079295153" y="65.0" width="3.5242290748898677" height="150.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
112
+ <rect x="229.07488986784142" y="65.0" width="3.5242290748898677" height="150.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
113
+ <rect x="232.59911894273128" y="65.0" width="3.5242290748898677" height="150.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
114
+ <rect x="236.12334801762114" y="65.0" width="3.5242290748898677" height="150.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
115
+ <rect x="239.647577092511" y="65.0" width="3.5242290748898677" height="150.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
116
+ <rect x="243.1718061674009" y="65.0" width="3.5242290748898677" height="150.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
117
+ <rect x="246.69603524229075" y="65.0" width="3.5242290748898677" height="150.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
118
+ <rect x="250.2202643171806" y="65.0" width="3.5242290748898677" height="150.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
119
+ <rect x="253.7444933920705" y="65.0" width="3.5242290748898677" height="150.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
120
+ <rect x="257.26872246696036" y="65.0" width="3.5242290748898677" height="150.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
121
+ <rect x="260.79295154185024" y="65.0" width="3.5242290748898677" height="150.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
122
+ <rect x="264.3171806167401" y="65.0" width="3.5242290748898677" height="150.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
123
+ <rect x="267.84140969162996" y="65.0" width="3.5242290748898677" height="150.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
124
+ <rect x="271.3656387665198" y="65.0" width="3.5242290748898677" height="150.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
125
+ <rect x="274.8898678414097" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
126
+ <rect x="278.41409691629957" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
127
+ <rect x="281.9383259911894" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
128
+ <rect x="285.4625550660793" y="65.0" width="3.5242290748898677" height="150.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
129
+ <rect x="288.9867841409692" y="65.0" width="3.5242290748898677" height="150.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
130
+ <rect x="292.511013215859" y="65.0" width="3.5242290748898677" height="150.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
131
+ <rect x="296.0352422907489" y="65.0" width="3.5242290748898677" height="150.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
132
+ <rect x="299.5594713656388" y="65.0" width="3.5242290748898677" height="150.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
133
+ <rect x="303.0837004405286" y="65.0" width="3.5242290748898677" height="150.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
134
+ <rect x="306.6079295154185" y="65.0" width="3.5242290748898677" height="150.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
135
+ <rect x="310.1321585903084" y="65.0" width="3.5242290748898677" height="150.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
136
+ <rect x="313.6563876651982" y="65.0" width="3.5242290748898677" height="150.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
137
+ <rect x="317.1806167400881" y="65.0" width="3.5242290748898677" height="150.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
138
+ <rect x="320.70484581497794" y="65.0" width="3.5242290748898677" height="150.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
139
+ <rect x="324.22907488986783" y="65.0" width="3.5242290748898677" height="150.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
140
+ <rect x="327.7533039647577" y="65.0" width="3.5242290748898677" height="150.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
141
+ <rect x="331.27753303964755" y="65.0" width="3.5242290748898677" height="150.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
142
+ <rect x="334.80176211453744" y="65.0" width="3.5242290748898677" height="150.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
143
+ <rect x="338.3259911894273" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
144
+ <rect x="341.85022026431716" y="165.0" width="3.5242290748898677" height="50.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
145
+ <rect x="345.37444933920705" y="165.0" width="3.5242290748898677" height="50.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
146
+ <rect x="348.89867841409693" y="65.0" width="3.5242290748898677" height="150.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
147
+ <rect x="352.42290748898677" y="65.0" width="3.5242290748898677" height="150.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
148
+ <rect x="355.94713656387665" y="65.0" width="3.5242290748898677" height="150.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
149
+ <rect x="359.47136563876654" y="65.0" width="3.5242290748898677" height="150.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
150
+ <rect x="362.9955947136564" y="65.0" width="3.5242290748898677" height="150.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
151
+ <rect x="366.51982378854626" y="65.0" width="3.5242290748898677" height="150.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
152
+ <rect x="370.0440528634361" y="65.0" width="3.5242290748898677" height="150.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
153
+ <rect x="373.568281938326" y="65.0" width="3.5242290748898677" height="150.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
154
+ <rect x="377.09251101321587" y="65.0" width="3.5242290748898677" height="150.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
155
+ <rect x="380.6167400881057" y="65.0" width="3.5242290748898677" height="150.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
156
+ <rect x="384.1409691629956" y="65.0" width="3.5242290748898677" height="150.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
157
+ <rect x="387.6651982378855" y="65.0" width="3.5242290748898677" height="150.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
158
+ <rect x="391.1894273127753" y="65.0" width="3.5242290748898677" height="150.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
159
+ <rect x="394.7136563876652" y="65.0" width="3.5242290748898677" height="150.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
160
+ <rect x="398.2378854625551" y="65.0" width="3.5242290748898677" height="150.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
161
+ <rect x="401.7621145374449" y="65.0" width="3.5242290748898677" height="150.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
162
+ <rect x="405.2863436123348" y="65.0" width="3.5242290748898677" height="150.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
163
+ <rect x="408.8105726872247" y="65.0" width="3.5242290748898677" height="150.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
164
+ <rect x="412.3348017621145" y="65.0" width="3.5242290748898677" height="150.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
165
+ <rect x="415.8590308370044" y="65.0" width="3.5242290748898677" height="150.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
166
+ <rect x="419.38325991189424" y="65.0" width="3.5242290748898677" height="150.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
167
+ <rect x="422.90748898678413" y="65.0" width="3.5242290748898677" height="150.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
168
+ <rect x="426.431718061674" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
169
+ <rect x="429.95594713656385" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
170
+ <rect x="433.48017621145374" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
171
+ <rect x="437.0044052863436" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
172
+ <rect x="440.52863436123346" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
173
+ <rect x="444.05286343612335" y="165.0" width="3.5242290748898677" height="50.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
174
+ <rect x="447.57709251101323" y="165.0" width="3.5242290748898677" height="50.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
175
+ <rect x="451.10132158590307" y="165.0" width="3.5242290748898677" height="50.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
176
+ <rect x="454.62555066079295" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
177
+ <rect x="458.14977973568284" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
178
+ <rect x="461.6740088105727" y="165.0" width="3.5242290748898677" height="50.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
179
+ <rect x="465.19823788546256" y="165.0" width="3.5242290748898677" height="50.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
180
+ <rect x="468.7224669603524" y="165.0" width="3.5242290748898677" height="50.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
181
+ <rect x="472.2466960352423" y="165.0" width="3.5242290748898677" height="50.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
182
+ <rect x="475.77092511013217" y="165.0" width="3.5242290748898677" height="50.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
183
+ <rect x="479.295154185022" y="165.0" width="3.5242290748898677" height="50.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
184
+ <rect x="482.8193832599119" y="165.0" width="3.5242290748898677" height="50.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
185
+ <rect x="486.3436123348018" y="165.0" width="3.5242290748898677" height="50.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
186
+ <rect x="489.8678414096916" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
187
+ <rect x="493.3920704845815" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
188
+ <rect x="496.9162995594714" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
189
+ <rect x="500.4405286343612" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
190
+ <rect x="503.9647577092511" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
191
+ <rect x="507.488986784141" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
192
+ <rect x="511.0132158590308" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
193
+ <rect x="514.5374449339207" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
194
+ <rect x="518.0616740088105" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
195
+ <rect x="521.5859030837005" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
196
+ <rect x="525.1101321585903" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
197
+ <rect x="528.6343612334801" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
198
+ <rect x="532.1585903083701" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
199
+ <rect x="535.6828193832599" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
200
+ <rect x="539.2070484581498" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
201
+ <rect x="542.7312775330396" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
202
+ <rect x="546.2555066079295" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
203
+ <rect x="549.7797356828194" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
204
+ <rect x="553.3039647577092" y="65.0" width="3.5242290748898677" height="150.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
205
+ <rect x="556.8281938325991" y="65.0" width="3.5242290748898677" height="150.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
206
+ <rect x="560.352422907489" y="65.0" width="3.5242290748898677" height="150.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
207
+ <rect x="563.8766519823788" y="65.0" width="3.5242290748898677" height="150.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
208
+ <rect x="567.4008810572687" y="65.0" width="3.5242290748898677" height="150.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
209
+ <rect x="570.9251101321586" y="65.0" width="3.5242290748898677" height="150.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
210
+ <rect x="574.4493392070484" y="65.0" width="3.5242290748898677" height="150.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
211
+ <rect x="577.9735682819384" y="65.0" width="3.5242290748898677" height="150.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
212
+ <rect x="581.4977973568282" y="65.0" width="3.5242290748898677" height="150.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
213
+ <rect x="585.022026431718" y="65.0" width="3.5242290748898677" height="150.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
214
+ <rect x="588.546255506608" y="65.0" width="3.5242290748898677" height="150.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
215
+ <rect x="592.0704845814978" y="65.0" width="3.5242290748898677" height="150.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
216
+ <rect x="595.5947136563876" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
217
+ <rect x="599.1189427312776" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
218
+ <rect x="602.6431718061674" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
219
+ <rect x="606.1674008810572" y="165.0" width="3.5242290748898677" height="50.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
220
+ <rect x="609.6916299559472" y="165.0" width="3.5242290748898677" height="50.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
221
+ <rect x="613.215859030837" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
222
+ <rect x="616.7400881057268" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
223
+ <rect x="620.2643171806168" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
224
+ <rect x="623.7885462555066" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
225
+ <rect x="627.3127753303964" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
226
+ <rect x="630.8370044052864" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
227
+ <rect x="634.3612334801762" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
228
+ <rect x="637.885462555066" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
229
+ <rect x="641.4096916299559" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
230
+ <rect x="644.9339207048458" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
231
+ <rect x="648.4581497797357" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
232
+ <rect x="651.9823788546255" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
233
+ <rect x="655.5066079295154" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
234
+ <rect x="659.0308370044053" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
235
+ <rect x="662.5550660792951" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
236
+ <rect x="666.079295154185" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
237
+ <rect x="669.6035242290749" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
238
+ <rect x="673.1277533039647" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
239
+ <rect x="676.6519823788547" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
240
+ <rect x="680.1762114537445" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
241
+ <rect x="683.7004405286343" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
242
+ <rect x="687.2246696035243" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
243
+ <rect x="690.7488986784141" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
244
+ <rect x="694.2731277533039" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
245
+ <rect x="697.7973568281939" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
246
+ <rect x="701.3215859030837" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
247
+ <rect x="704.8458149779735" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
248
+ <rect x="708.3700440528635" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
249
+ <rect x="711.8942731277533" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
250
+ <rect x="715.4185022026431" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
251
+ <rect x="718.9427312775331" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
252
+ <rect x="722.4669603524229" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
253
+ <rect x="725.9911894273127" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
254
+ <rect x="729.5154185022027" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
255
+ <rect x="733.0396475770925" y="115.0" width="3.5242290748898677" height="100.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
256
+ <rect x="736.5638766519824" y="165.0" width="3.5242290748898677" height="50.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
257
+ <rect x="740.0881057268722" y="165.0" width="3.5242290748898677" height="50.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
258
+ <rect x="743.6123348017621" y="165.0" width="3.5242290748898677" height="50.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
259
+ <rect x="747.136563876652" y="165.0" width="3.5242290748898677" height="50.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
260
+ <rect x="750.6607929515418" y="165.0" width="3.5242290748898677" height="50.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
261
+ <rect x="754.1850220264317" y="165.0" width="3.5242290748898677" height="50.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
262
+ <rect x="757.7092511013216" y="165.0" width="3.5242290748898677" height="50.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
263
+ <rect x="761.2334801762114" y="165.0" width="3.5242290748898677" height="50.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
264
+ <rect x="764.7577092511013" y="165.0" width="3.5242290748898677" height="50.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
265
+ <rect x="768.2819383259912" y="165.0" width="3.5242290748898677" height="50.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
266
+ <rect x="771.806167400881" y="165.0" width="3.5242290748898677" height="50.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
267
+ <rect x="775.330396475771" y="165.0" width="3.5242290748898677" height="50.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
268
+ <rect x="778.8546255506608" y="165.0" width="3.5242290748898677" height="50.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
269
+ <rect x="782.3788546255506" y="165.0" width="3.5242290748898677" height="50.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
270
+ <rect x="785.9030837004406" y="165.0" width="3.5242290748898677" height="50.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
271
+ <rect x="789.4273127753304" y="165.0" width="3.5242290748898677" height="50.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
272
+ <rect x="792.9515418502202" y="165.0" width="3.5242290748898677" height="50.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/>
273
+ <rect x="796.4757709251102" y="165.0" width="3.5242290748898677" height="50.0" fill="gold" rx="1" ry="1" stroke="black" stroke-width="1" style="fill-opacity:0.4;"/></svg>
@@ -0,0 +1,34 @@
1
+ >chr_1
2
+ CCTAACCCTAACCCTAACCCTAACCCTAACCCTAACCCTAACCCTAACCCTAACCCTAACCCTAACCCTA
3
+ ACCCTAACCCTAACCCTAACCCTAACCCTAACCCTAACCCTAACCCTAACCCTAACCCTAACCCTAACCC
4
+ TAACCCTAACCCTAACCCTAACCCTAACCCTAACCCTAACCCTAACCCTAACCCTAACCCTAACCCTAAC
5
+ CCTAACCCTAACCCTAACCCTAACCCTAACCCTAACCCTAACCCTAACCCTAACCCTAACCCTAACCCTA
6
+ ACCCTAACCCTAACCCTAACCCTAACCCTAACCCTAACCCTAACCCTAACCCTAACGTGAATGCCGAGGA
7
+ TTATACCGATGTTGTTGGTCAGCTTGCCCGCGGACATATGGATGAAGAGGAGAAGATTCTTGAGGTGGCC
8
+ AAGAAGCTTATGCCTTCTAAGCCAACAACCCTCAAGGATATGAGCAAGTGGCGTTCCTTCTTTGAAAACT
9
+ GGAACTTGTACATGAGTCAGTGTCGCGGTGCTGCGGCTATCCCTCTTTCGTACGTTTACCGTACCAACGA
10
+ GCAGCCCGAGACCGCTTTGGTCGGAACCTATGTGAATATGGATGCCTATTTGGTTGCCCAGACAGTACTG
11
+ TCTGGTTCCAACTTTGAGATCGATAATCAATGGGTTTTTGACGAATTCAAGGAAGCAATCACTACAACCG
12
+ GACCTGGTTGGTCTTTCATCAAGACGTACAACCGAAGCAAGGACGGTCGTGCTGCCATTTTGAAATTAAA
13
+ GGAACAGGCGGAAGGAACATTAAACGAGTCCGTTCGCCGTGATGATGCCATCAAGATCCTGTCAACTACG
14
+ >chr.2
15
+ ACATACAATGGTCCGAGTTGTAACTGGAATATTGATATGCTGTTGCAGAAATTTCAGTATGCCATCTCGG
16
+ AATTGGTCGAAATTGACGGAGTCGCGTTGCCGGATGGGCAGCTTGTGACTTATTTGGTCCAGGCATTGAA
17
+ GCGCAGCTTTTTGTGAAGACTTTTGTGTCTTCGTCCACGAGCAAATCCGAAAACACGCCTCGACAGGTCA
18
+ ATGATGTGCAAACATCAGGTAGTGGGGCCTCCGGTGGGAGTAAGAAAGGAGGTACCGGGAAAGGAGCCAG
19
+ CAAGCAGACTCCCTTCAAGGGTGCAGTCACGGCTCGCAGTTATACTCCGGGAGAATGGAAAAGATTGTCC
20
+ AAGGACCAACAGGAAAAAGTGCGATCGCTGCGTAATAAAAAGAAGCAAGGAGGGAAACCCGAGGAATCAG
21
+ AGAGGAGTGTTGACAGTGTAGCACGGGATGAGCCTGTGGACACTAAGGAAGTCCATACCAGCAGTGATAT
22
+ GGAACCGACTTCAGATGCGGCTGGCCTGCAATTTGGCCGTGGTGCGTATAAGAAATCGGTCGGATTCACT
23
+ GCGGACACCGCTTCTCCTTCAGAAAACGGAACGAAGAAGCAGAAAACGCATCACGATGCGTGAAACGCGG
24
+ CACCCAATGCCAGTGTTTCGGGGACTAAGCAATGCATTTTACCAGATCGAGTGATATTGAGCCTCACCTC
25
+ TACACGCAGCATTTGTGATCTCAACGCATGCACTCATCTTGGTGAGGGCCGCTGCGAGTTGGATTCACAT
26
+ >chr_3
27
+ GCAGACACATGCGTGGCTGGGGCAAACACTGTCTTGATTGGTGAATCGCAGAAGTCCGTAACTGTGCG
28
+ CTTTCTCCGGTGAATATTCTGCACTGAAGAATATCCCCATTGGAACGGTTGCCACAGCTTACACAGCC
29
+ AGAAGACGGGAGAGTGGTGCTTCTTATTATTAATCAGGCCCTATTCTTTGGGGACAGATTGAAACACC
30
+ CTAGACCCCCAACCAGATGCGAGACTTTGGCATTGAAGTTGACGATGCCCCTCGGCAGTACGTCGCCA
31
+ ACCAAGCACTCTTTGTATGTTCCTGACTCCCAACTTCGGATTCCGCTGCAGCTGCGCGGTATATTCTC
32
+ GTTTTTGGAGTCGGAAGCCCACGCAACAGGAACTTGACGAGTGTGAGCATATCATACTCACCTCTGAT
33
+ GTGCCGTGGGACTTGCTCAACGGACTTTGCCCGTCGAGAAGAAGAGGCCGCTAAGAGAGACCGGAGCG
34
+ TATCATTGACACAACGGGACTTTCCACTGGCCACGCAATCCTATCAGCACACCCATATGGTATACG
Binary file
@@ -0,0 +1,2 @@
1
+ chr_1 1 30
2
+
@@ -0,0 +1 @@
1
+ require 'helper'
@@ -0,0 +1,89 @@
1
+ $: << File.expand_path(File.dirname(__FILE__) + '/../lib')
2
+ $: << File.expand_path('.')
3
+
4
+ require 'rubygems'
5
+ require 'bio/db/sam'
6
+ require "test/unit"
7
+ #gem 'ruby-prof'
8
+ gem 'test-unit'
9
+ #require "ruby-prof"
10
+
11
+
12
+ class TestBioDbfastaDB < Test::Unit::TestCase
13
+
14
+ def setup
15
+ @test_folder = "test/samples/small"
16
+ @testReference = @test_folder + "/test_fastadb.fasta"
17
+ @fasta_local = Bio::DB::Fasta::FastaFile.new(
18
+ fasta: @testReference,
19
+ samtools: false
20
+ )
21
+
22
+ @fasta_samtools = Bio::DB::Fasta::FastaFile.new(
23
+ :fasta => @testReference,
24
+ samtools: true
25
+ )
26
+ end
27
+ class << self
28
+ def shutdown
29
+ File.delete("test/samples/small/test_fastadb.fasta.fai")
30
+ end
31
+ end
32
+
33
+ def test_faidx
34
+ @fasta_samtools.index()
35
+ test_fai_file = @testReference+".fai"
36
+ #test that the .fai file exists
37
+ assert_nothing_thrown do
38
+ File.open(test_fai_file, "r")
39
+ end
40
+ #test that the file is not empty
41
+ assert(File.size(test_fai_file) > 0, "From test_faidx: .fai file is empty")
42
+ end
43
+
44
+
45
+
46
+ def test_fetch_reference
47
+ #this is the first 70 nucleotides of the test seqeunce
48
+ @fasta_samtools.faidx()
49
+
50
+ test_regions = { "chr_1:1-70" => "CCTAACCCTAACCCTAACCCTAACCCTAACCCTAACCCTAACCCTAACCCTAACCCTAACCCTAACCCTA",
51
+ "chr_1:68-74" => "CTAACCC",
52
+ "chr.2:300-450" => "GGTGCAGTCACGGCTCGCAGTTATACTCCGGGAGAATGGAAAAGATTGTCCAAGGACCAA\
53
+ CAGGAAAAAGTGCGATCGCTGCGTAATAAAAAGAAGCAAGGAG\
54
+ GGAAACCCGAGGAATCAGAGAGGAGTGTTGACAGTGTAGCACGGGATG",
55
+ "chr_3:536-542" => "GTATACG",
56
+ "chr.2:765-770" => "TCACAT"
57
+ }
58
+
59
+ test_regions.each_pair do |region, seq_expected|
60
+ seq_fetched = @fasta_samtools.fetch_sequence(region)
61
+ assert_equal(seq_expected, seq_fetched.upcase)
62
+
63
+ seq_fetched_local = @fasta_local.fetch_sequence(region)
64
+ assert_equal(seq_expected, seq_fetched_local.upcase)
65
+ end
66
+
67
+ test_regions = {
68
+ "chr_3:772-780" => Bio::DB::Fasta::FastaDBException,
69
+ "chr_3:-1-10" => Bio::DB::Fasta::FastaDBException,
70
+ "chr_3:0-10" => Bio::DB::Fasta::FastaDBException,
71
+ "bfafdaads" => Bio::DB::Fasta::FastaDBException,
72
+ "chr.2:765-771" => Bio::DB::Fasta::FastaDBException,
73
+ "chr_2:765-770" => Bio::DB::Fasta::FastaDBException,
74
+
75
+ }
76
+
77
+ test_regions.each_pair do |region, expected_eception|
78
+ assert_raise expected_eception do
79
+ #seq_fetched =
80
+ @fasta_samtools.fetch_sequence(region)
81
+ end
82
+
83
+ assert_raise expected_eception do
84
+ #seq_fetched_local =
85
+ @fasta_local.fetch_sequence(region)
86
+ end
87
+ end
88
+ end
89
+ end