blosum 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,12 @@
1
+ require "blosum/version"
2
+
3
+ # BLOSUM matrices
4
+ require "blosum/blosum45"
5
+ require "blosum/blosum50"
6
+ require "blosum/blosum62"
7
+ require "blosum/blosum80"
8
+ require "blosum/blosum90"
9
+
10
+ module Blosum
11
+ class Error < StandardError; end
12
+ end
@@ -0,0 +1,679 @@
1
+ module Blosum
2
+ BLOSUM45 = {
3
+ "A" => {
4
+ "A" => 5,
5
+ "R" => -2,
6
+ "N" => -1,
7
+ "D" => -2,
8
+ "C" => -1,
9
+ "Q" => -1,
10
+ "E" => -1,
11
+ "G" => 0,
12
+ "H" => -2,
13
+ "I" => -1,
14
+ "L" => -1,
15
+ "K" => -1,
16
+ "M" => -1,
17
+ "F" => -2,
18
+ "P" => -1,
19
+ "S" => 1,
20
+ "T" => 0,
21
+ "W" => -2,
22
+ "Y" => -2,
23
+ "V" => 0,
24
+ "B" => -1,
25
+ "J" => -1,
26
+ "Z" => -1,
27
+ "X" => -1,
28
+ "*" => -5
29
+ },
30
+ "R" => {
31
+ "A" => -2,
32
+ "R" => 7,
33
+ "N" => 0,
34
+ "D" => -1,
35
+ "C" => -3,
36
+ "Q" => 1,
37
+ "E" => 0,
38
+ "G" => -2,
39
+ "H" => 0,
40
+ "I" => -3,
41
+ "L" => -2,
42
+ "K" => 3,
43
+ "M" => -1,
44
+ "F" => -2,
45
+ "P" => -2,
46
+ "S" => -1,
47
+ "T" => -1,
48
+ "W" => -2,
49
+ "Y" => -1,
50
+ "V" => -2,
51
+ "B" => -1,
52
+ "J" => -3,
53
+ "Z" => 1,
54
+ "X" => -1,
55
+ "*" => -5
56
+ },
57
+ "N" => {
58
+ "A" => -1,
59
+ "R" => 0,
60
+ "N" => 6,
61
+ "D" => 2,
62
+ "C" => -2,
63
+ "Q" => 0,
64
+ "E" => 0,
65
+ "G" => 0,
66
+ "H" => 1,
67
+ "I" => -2,
68
+ "L" => -3,
69
+ "K" => 0,
70
+ "M" => -2,
71
+ "F" => -2,
72
+ "P" => -2,
73
+ "S" => 1,
74
+ "T" => 0,
75
+ "W" => -4,
76
+ "Y" => -2,
77
+ "V" => -3,
78
+ "B" => 5,
79
+ "J" => -3,
80
+ "Z" => 0,
81
+ "X" => -1,
82
+ "*" => -5
83
+ },
84
+ "D" => {
85
+ "A" => -2,
86
+ "R" => -1,
87
+ "N" => 2,
88
+ "D" => 7,
89
+ "C" => -3,
90
+ "Q" => 0,
91
+ "E" => 2,
92
+ "G" => -1,
93
+ "H" => 0,
94
+ "I" => -4,
95
+ "L" => -3,
96
+ "K" => 0,
97
+ "M" => -3,
98
+ "F" => -4,
99
+ "P" => -1,
100
+ "S" => 0,
101
+ "T" => -1,
102
+ "W" => -4,
103
+ "Y" => -2,
104
+ "V" => -3,
105
+ "B" => 6,
106
+ "J" => -3,
107
+ "Z" => 1,
108
+ "X" => -1,
109
+ "*" => -5
110
+ },
111
+ "C" => {
112
+ "A" => -1,
113
+ "R" => -3,
114
+ "N" => -2,
115
+ "D" => -3,
116
+ "C" => 12,
117
+ "Q" => -3,
118
+ "E" => -3,
119
+ "G" => -3,
120
+ "H" => -3,
121
+ "I" => -3,
122
+ "L" => -2,
123
+ "K" => -3,
124
+ "M" => -2,
125
+ "F" => -2,
126
+ "P" => -4,
127
+ "S" => -1,
128
+ "T" => -1,
129
+ "W" => -5,
130
+ "Y" => -3,
131
+ "V" => -1,
132
+ "B" => -2,
133
+ "J" => -2,
134
+ "Z" => -3,
135
+ "X" => -1,
136
+ "*" => -5
137
+ },
138
+ "Q" => {
139
+ "A" => -1,
140
+ "R" => 1,
141
+ "N" => 0,
142
+ "D" => 0,
143
+ "C" => -3,
144
+ "Q" => 6,
145
+ "E" => 2,
146
+ "G" => -2,
147
+ "H" => 1,
148
+ "I" => -2,
149
+ "L" => -2,
150
+ "K" => 1,
151
+ "M" => 0,
152
+ "F" => -4,
153
+ "P" => -1,
154
+ "S" => 0,
155
+ "T" => -1,
156
+ "W" => -2,
157
+ "Y" => -1,
158
+ "V" => -3,
159
+ "B" => 0,
160
+ "J" => -2,
161
+ "Z" => 4,
162
+ "X" => -1,
163
+ "*" => -5
164
+ },
165
+ "E" => {
166
+ "A" => -1,
167
+ "R" => 0,
168
+ "N" => 0,
169
+ "D" => 2,
170
+ "C" => -3,
171
+ "Q" => 2,
172
+ "E" => 6,
173
+ "G" => -2,
174
+ "H" => 0,
175
+ "I" => -3,
176
+ "L" => -2,
177
+ "K" => 1,
178
+ "M" => -2,
179
+ "F" => -3,
180
+ "P" => 0,
181
+ "S" => 0,
182
+ "T" => -1,
183
+ "W" => -3,
184
+ "Y" => -2,
185
+ "V" => -3,
186
+ "B" => 1,
187
+ "J" => -3,
188
+ "Z" => 5,
189
+ "X" => -1,
190
+ "*" => -5
191
+ },
192
+ "G" => {
193
+ "A" => 0,
194
+ "R" => -2,
195
+ "N" => 0,
196
+ "D" => -1,
197
+ "C" => -3,
198
+ "Q" => -2,
199
+ "E" => -2,
200
+ "G" => 7,
201
+ "H" => -2,
202
+ "I" => -4,
203
+ "L" => -3,
204
+ "K" => -2,
205
+ "M" => -2,
206
+ "F" => -3,
207
+ "P" => -2,
208
+ "S" => 0,
209
+ "T" => -2,
210
+ "W" => -2,
211
+ "Y" => -3,
212
+ "V" => -3,
213
+ "B" => -1,
214
+ "J" => -4,
215
+ "Z" => -2,
216
+ "X" => -1,
217
+ "*" => -5
218
+ },
219
+ "H" => {
220
+ "A" => -2,
221
+ "R" => 0,
222
+ "N" => 1,
223
+ "D" => 0,
224
+ "C" => -3,
225
+ "Q" => 1,
226
+ "E" => 0,
227
+ "G" => -2,
228
+ "H" => 10,
229
+ "I" => -3,
230
+ "L" => -2,
231
+ "K" => -1,
232
+ "M" => 0,
233
+ "F" => -2,
234
+ "P" => -2,
235
+ "S" => -1,
236
+ "T" => -2,
237
+ "W" => -3,
238
+ "Y" => 2,
239
+ "V" => -3,
240
+ "B" => 0,
241
+ "J" => -2,
242
+ "Z" => 0,
243
+ "X" => -1,
244
+ "*" => -5
245
+ },
246
+ "I" => {
247
+ "A" => -1,
248
+ "R" => -3,
249
+ "N" => -2,
250
+ "D" => -4,
251
+ "C" => -3,
252
+ "Q" => -2,
253
+ "E" => -3,
254
+ "G" => -4,
255
+ "H" => -3,
256
+ "I" => 5,
257
+ "L" => 2,
258
+ "K" => -3,
259
+ "M" => 2,
260
+ "F" => 0,
261
+ "P" => -2,
262
+ "S" => -2,
263
+ "T" => -1,
264
+ "W" => -2,
265
+ "Y" => 0,
266
+ "V" => 3,
267
+ "B" => -3,
268
+ "J" => 4,
269
+ "Z" => -3,
270
+ "X" => -1,
271
+ "*" => -5
272
+ },
273
+ "L" => {
274
+ "A" => -1,
275
+ "R" => -2,
276
+ "N" => -3,
277
+ "D" => -3,
278
+ "C" => -2,
279
+ "Q" => -2,
280
+ "E" => -2,
281
+ "G" => -3,
282
+ "H" => -2,
283
+ "I" => 2,
284
+ "L" => 5,
285
+ "K" => -3,
286
+ "M" => 2,
287
+ "F" => 1,
288
+ "P" => -3,
289
+ "S" => -3,
290
+ "T" => -1,
291
+ "W" => -2,
292
+ "Y" => 0,
293
+ "V" => 1,
294
+ "B" => -3,
295
+ "J" => 4,
296
+ "Z" => -2,
297
+ "X" => -1,
298
+ "*" => -5
299
+ },
300
+ "K" => {
301
+ "A" => -1,
302
+ "R" => 3,
303
+ "N" => 0,
304
+ "D" => 0,
305
+ "C" => -3,
306
+ "Q" => 1,
307
+ "E" => 1,
308
+ "G" => -2,
309
+ "H" => -1,
310
+ "I" => -3,
311
+ "L" => -3,
312
+ "K" => 5,
313
+ "M" => -1,
314
+ "F" => -3,
315
+ "P" => -1,
316
+ "S" => -1,
317
+ "T" => -1,
318
+ "W" => -2,
319
+ "Y" => -1,
320
+ "V" => -2,
321
+ "B" => 0,
322
+ "J" => -3,
323
+ "Z" => 1,
324
+ "X" => -1,
325
+ "*" => -5
326
+ },
327
+ "M" => {
328
+ "A" => -1,
329
+ "R" => -1,
330
+ "N" => -2,
331
+ "D" => -3,
332
+ "C" => -2,
333
+ "Q" => 0,
334
+ "E" => -2,
335
+ "G" => -2,
336
+ "H" => 0,
337
+ "I" => 2,
338
+ "L" => 2,
339
+ "K" => -1,
340
+ "M" => 6,
341
+ "F" => 0,
342
+ "P" => -2,
343
+ "S" => -2,
344
+ "T" => -1,
345
+ "W" => -2,
346
+ "Y" => 0,
347
+ "V" => 1,
348
+ "B" => -2,
349
+ "J" => 2,
350
+ "Z" => -1,
351
+ "X" => -1,
352
+ "*" => -5
353
+ },
354
+ "F" => {
355
+ "A" => -2,
356
+ "R" => -2,
357
+ "N" => -2,
358
+ "D" => -4,
359
+ "C" => -2,
360
+ "Q" => -4,
361
+ "E" => -3,
362
+ "G" => -3,
363
+ "H" => -2,
364
+ "I" => 0,
365
+ "L" => 1,
366
+ "K" => -3,
367
+ "M" => 0,
368
+ "F" => 8,
369
+ "P" => -3,
370
+ "S" => -2,
371
+ "T" => -1,
372
+ "W" => 1,
373
+ "Y" => 3,
374
+ "V" => 0,
375
+ "B" => -3,
376
+ "J" => 1,
377
+ "Z" => -3,
378
+ "X" => -1,
379
+ "*" => -5
380
+ },
381
+ "P" => {
382
+ "A" => -1,
383
+ "R" => -2,
384
+ "N" => -2,
385
+ "D" => -1,
386
+ "C" => -4,
387
+ "Q" => -1,
388
+ "E" => 0,
389
+ "G" => -2,
390
+ "H" => -2,
391
+ "I" => -2,
392
+ "L" => -3,
393
+ "K" => -1,
394
+ "M" => -2,
395
+ "F" => -3,
396
+ "P" => 9,
397
+ "S" => -1,
398
+ "T" => -1,
399
+ "W" => -3,
400
+ "Y" => -3,
401
+ "V" => -3,
402
+ "B" => -2,
403
+ "J" => -3,
404
+ "Z" => -1,
405
+ "X" => -1,
406
+ "*" => -5
407
+ },
408
+ "S" => {
409
+ "A" => 1,
410
+ "R" => -1,
411
+ "N" => 1,
412
+ "D" => 0,
413
+ "C" => -1,
414
+ "Q" => 0,
415
+ "E" => 0,
416
+ "G" => 0,
417
+ "H" => -1,
418
+ "I" => -2,
419
+ "L" => -3,
420
+ "K" => -1,
421
+ "M" => -2,
422
+ "F" => -2,
423
+ "P" => -1,
424
+ "S" => 4,
425
+ "T" => 2,
426
+ "W" => -4,
427
+ "Y" => -2,
428
+ "V" => -1,
429
+ "B" => 0,
430
+ "J" => -2,
431
+ "Z" => 0,
432
+ "X" => -1,
433
+ "*" => -5
434
+ },
435
+ "T" => {
436
+ "A" => 0,
437
+ "R" => -1,
438
+ "N" => 0,
439
+ "D" => -1,
440
+ "C" => -1,
441
+ "Q" => -1,
442
+ "E" => -1,
443
+ "G" => -2,
444
+ "H" => -2,
445
+ "I" => -1,
446
+ "L" => -1,
447
+ "K" => -1,
448
+ "M" => -1,
449
+ "F" => -1,
450
+ "P" => -1,
451
+ "S" => 2,
452
+ "T" => 5,
453
+ "W" => -3,
454
+ "Y" => -1,
455
+ "V" => 0,
456
+ "B" => 0,
457
+ "J" => -1,
458
+ "Z" => -1,
459
+ "X" => -1,
460
+ "*" => -5
461
+ },
462
+ "W" => {
463
+ "A" => -2,
464
+ "R" => -2,
465
+ "N" => -4,
466
+ "D" => -4,
467
+ "C" => -5,
468
+ "Q" => -2,
469
+ "E" => -3,
470
+ "G" => -2,
471
+ "H" => -3,
472
+ "I" => -2,
473
+ "L" => -2,
474
+ "K" => -2,
475
+ "M" => -2,
476
+ "F" => 1,
477
+ "P" => -3,
478
+ "S" => -4,
479
+ "T" => -3,
480
+ "W" => 15,
481
+ "Y" => 3,
482
+ "V" => -3,
483
+ "B" => -4,
484
+ "J" => -2,
485
+ "Z" => -2,
486
+ "X" => -1,
487
+ "*" => -5
488
+ },
489
+ "Y" => {
490
+ "A" => -2,
491
+ "R" => -1,
492
+ "N" => -2,
493
+ "D" => -2,
494
+ "C" => -3,
495
+ "Q" => -1,
496
+ "E" => -2,
497
+ "G" => -3,
498
+ "H" => 2,
499
+ "I" => 0,
500
+ "L" => 0,
501
+ "K" => -1,
502
+ "M" => 0,
503
+ "F" => 3,
504
+ "P" => -3,
505
+ "S" => -2,
506
+ "T" => -1,
507
+ "W" => 3,
508
+ "Y" => 8,
509
+ "V" => -1,
510
+ "B" => -2,
511
+ "J" => 0,
512
+ "Z" => -2,
513
+ "X" => -1,
514
+ "*" => -5
515
+ },
516
+ "V" => {
517
+ "A" => 0,
518
+ "R" => -2,
519
+ "N" => -3,
520
+ "D" => -3,
521
+ "C" => -1,
522
+ "Q" => -3,
523
+ "E" => -3,
524
+ "G" => -3,
525
+ "H" => -3,
526
+ "I" => 3,
527
+ "L" => 1,
528
+ "K" => -2,
529
+ "M" => 1,
530
+ "F" => 0,
531
+ "P" => -3,
532
+ "S" => -1,
533
+ "T" => 0,
534
+ "W" => -3,
535
+ "Y" => -1,
536
+ "V" => 5,
537
+ "B" => -3,
538
+ "J" => 2,
539
+ "Z" => -3,
540
+ "X" => -1,
541
+ "*" => -5
542
+ },
543
+ "B" => {
544
+ "A" => -1,
545
+ "R" => -1,
546
+ "N" => 5,
547
+ "D" => 6,
548
+ "C" => -2,
549
+ "Q" => 0,
550
+ "E" => 1,
551
+ "G" => -1,
552
+ "H" => 0,
553
+ "I" => -3,
554
+ "L" => -3,
555
+ "K" => 0,
556
+ "M" => -2,
557
+ "F" => -3,
558
+ "P" => -2,
559
+ "S" => 0,
560
+ "T" => 0,
561
+ "W" => -4,
562
+ "Y" => -2,
563
+ "V" => -3,
564
+ "B" => 5,
565
+ "J" => -3,
566
+ "Z" => 1,
567
+ "X" => -1,
568
+ "*" => -5
569
+ },
570
+ "J" => {
571
+ "A" => -1,
572
+ "R" => -3,
573
+ "N" => -3,
574
+ "D" => -3,
575
+ "C" => -2,
576
+ "Q" => -2,
577
+ "E" => -3,
578
+ "G" => -4,
579
+ "H" => -2,
580
+ "I" => 4,
581
+ "L" => 4,
582
+ "K" => -3,
583
+ "M" => 2,
584
+ "F" => 1,
585
+ "P" => -3,
586
+ "S" => -2,
587
+ "T" => -1,
588
+ "W" => -2,
589
+ "Y" => 0,
590
+ "V" => 2,
591
+ "B" => -3,
592
+ "J" => 4,
593
+ "Z" => -2,
594
+ "X" => -1,
595
+ "*" => -5
596
+ },
597
+ "Z" => {
598
+ "A" => -1,
599
+ "R" => 1,
600
+ "N" => 0,
601
+ "D" => 1,
602
+ "C" => -3,
603
+ "Q" => 4,
604
+ "E" => 5,
605
+ "G" => -2,
606
+ "H" => 0,
607
+ "I" => -3,
608
+ "L" => -2,
609
+ "K" => 1,
610
+ "M" => -1,
611
+ "F" => -3,
612
+ "P" => -1,
613
+ "S" => 0,
614
+ "T" => -1,
615
+ "W" => -2,
616
+ "Y" => -2,
617
+ "V" => -3,
618
+ "B" => 1,
619
+ "J" => -2,
620
+ "Z" => 5,
621
+ "X" => -1,
622
+ "*" => -5
623
+ },
624
+ "X" => {
625
+ "A" => -1,
626
+ "R" => -1,
627
+ "N" => -1,
628
+ "D" => -1,
629
+ "C" => -1,
630
+ "Q" => -1,
631
+ "E" => -1,
632
+ "G" => -1,
633
+ "H" => -1,
634
+ "I" => -1,
635
+ "L" => -1,
636
+ "K" => -1,
637
+ "M" => -1,
638
+ "F" => -1,
639
+ "P" => -1,
640
+ "S" => -1,
641
+ "T" => -1,
642
+ "W" => -1,
643
+ "Y" => -1,
644
+ "V" => -1,
645
+ "B" => -1,
646
+ "J" => -1,
647
+ "Z" => -1,
648
+ "X" => -1,
649
+ "*" => -5
650
+ },
651
+ "*" => {
652
+ "A" => -5,
653
+ "R" => -5,
654
+ "N" => -5,
655
+ "D" => -5,
656
+ "C" => -5,
657
+ "Q" => -5,
658
+ "E" => -5,
659
+ "G" => -5,
660
+ "H" => -5,
661
+ "I" => -5,
662
+ "L" => -5,
663
+ "K" => -5,
664
+ "M" => -5,
665
+ "F" => -5,
666
+ "P" => -5,
667
+ "S" => -5,
668
+ "T" => -5,
669
+ "W" => -5,
670
+ "Y" => -5,
671
+ "V" => -5,
672
+ "B" => -5,
673
+ "J" => -5,
674
+ "Z" => -5,
675
+ "X" => -5,
676
+ "*" => 1
677
+ }
678
+ }
679
+ end