Multiple sequence alignment - TraesCS2B01G541900

Loading Multiple Alignment...

Download Multiple Sequence Alignment: (Fasta) (Clustal)



BLAST Results


Shown here are the results of a BLAST search against the genome using the input sequence. The pipeline uses this to extract flanking regions for cloning. If the result of the multiple sequence alignment is not as expected, these results could be used for further investigation.

qseqid sseqid percentage.identical alignment.length no.mismatch no.gap.openings qstart qend sstart send evalue bitscore
0 TraesCS2B01G541900 chr2B 100.000 2497 0 0 1 2497 738337193 738339689 0.000000e+00 4612
1 TraesCS2B01G541900 chr2B 90.099 101 10 0 985 1085 738410209 738410309 5.600000e-27 132
2 TraesCS2B01G541900 chr2D 91.547 1396 72 24 3 1386 606689013 606690374 0.000000e+00 1882
3 TraesCS2B01G541900 chr2D 92.295 1194 38 14 1252 2404 606690282 606691462 0.000000e+00 1646
4 TraesCS2B01G541900 chr2D 94.898 98 4 1 2401 2497 606691543 606691640 4.300000e-33 152
5 TraesCS2B01G541900 chr2D 90.816 98 9 0 988 1085 606694600 606694697 5.600000e-27 132
6 TraesCS2B01G541900 chr2A 86.237 1613 118 47 271 1821 738335206 738336776 0.000000e+00 1653
7 TraesCS2B01G541900 chr2A 92.989 271 10 7 1 269 738334836 738335099 1.080000e-103 387
8 TraesCS2B01G541900 chr2A 93.458 107 4 3 2392 2496 738339350 738339245 3.330000e-34 156
9 TraesCS2B01G541900 chr2A 90.816 98 9 0 988 1085 738342031 738342128 5.600000e-27 132
10 TraesCS2B01G541900 chr6B 77.971 345 37 17 985 1305 24465896 24465567 1.970000e-41 180
11 TraesCS2B01G541900 chr6B 96.739 92 3 0 985 1076 23368942 23369033 1.200000e-33 154
12 TraesCS2B01G541900 chr6D 95.098 102 5 0 981 1082 12822168 12822269 7.150000e-36 161
13 TraesCS2B01G541900 chr6D 92.381 105 5 1 981 1082 12192064 12191960 2.000000e-31 147
14 TraesCS2B01G541900 chr6D 75.301 332 43 22 1371 1674 12822523 12822843 3.370000e-24 122
15 TraesCS2B01G541900 chr6D 97.674 43 1 0 1460 1502 12987405 12987447 9.580000e-10 75


These results show the homologous regions that are presented in the multiple sequence alignment. HSPs from the BLAST search that are within 2000 bases of each other have been grouped together. Homologous regions that are purely upstream or downstream may be removed if they don't overlap both primers.

query scaffold start end length rev.comp avg.bitscore max.bitscore avg.percent.identical query.start query.end num_hsp groupid homo_length
0 TraesCS2B01G541900 chr2B 738337193 738339689 2496 False 4612 4612 100.000 1 2497 1 chr2B.!!$F1 2496
1 TraesCS2B01G541900 chr2D 606689013 606694697 5684 False 953 1882 92.389 3 2497 4 chr2D.!!$F1 2494
2 TraesCS2B01G541900 chr2A 738334836 738336776 1940 False 1020 1653 89.613 1 1821 2 chr2A.!!$F2 1820


AutoCloner calculated primer pairs

These primer pairs were selected by Autocloner to minimize primer penalty (calculated by Primer3), whilst remaining within the specified product range where possible.

Download AutoCloner chosen primers as CSV: (Forward) (Reverse)
Position MSA Position Penalty Sequence TM GC Self any TH Self end TH Hairpin End Stability Orientation
408 515 0.037139 GCAATGGCAAGCATGGTGAA 60.037 50.0 10.0 0.0 40.72 3.18 F
Position MSA Position Penalty Sequence TM GC Self any TH Self end TH Hairpin End Stability Orientation
2266 2534 0.178958 ACCTGTCTCGGACCAGAGTT 60.179 55.0 11.47 0.0 39.21 3.01 R


All possible primers

Listed here are all possible primers based on the multiple sequence alignment and SNPs generated previously. A lower penalty score indicates a better primer. If the AutoCloner primers did not work during PCR or sequencing, these could be used as alternatives.

Download all possible primers: (Forward) (Reverse)
Position MSA Position Penalty Sequence TM GC Self any TH Self end TH Hairpin End Stability
32 33 9.921637 CTAGAATTGATGAGAATAAGTCTACCC 57.078 37.037 0.00 0.00 36.41 3.69
33 34 8.560124 AGAATTGATGAGAATAAGTCTACCCT 57.440 34.615 0.00 0.00 36.41 4.34
35 36 6.732896 TTGATGAGAATAAGTCTACCCTCC 57.267 41.667 0.00 0.00 36.41 4.30
36 37 5.777449 TGATGAGAATAAGTCTACCCTCCA 58.223 41.667 0.00 0.00 36.41 3.86
37 38 6.385443 TGATGAGAATAAGTCTACCCTCCAT 58.615 40.000 0.00 0.00 36.41 3.41
39 40 8.010697 TGATGAGAATAAGTCTACCCTCCATAA 58.989 37.037 0.00 0.00 36.41 1.90
40 41 7.841282 TGAGAATAAGTCTACCCTCCATAAG 57.159 40.000 0.00 0.00 36.41 1.73
42 43 6.935036 AGAATAAGTCTACCCTCCATAAGGA 58.065 40.000 0.00 0.00 40.65 3.36
43 44 7.549141 AGAATAAGTCTACCCTCCATAAGGAT 58.451 38.462 0.00 0.00 40.65 3.24
51 52 2.267174 CTCCATAAGGATGCCACCTG 57.733 55.000 0.00 0.00 44.70 4.00
66 67 2.305928 CACCTGTCCAAATGTCCAACA 58.694 47.619 0.00 0.00 0.00 3.33
94 95 6.051717 TCAACATCTTAGCTAGCAGGAAATC 58.948 40.000 18.83 0.00 0.00 2.17
202 203 6.582636 TCAGTAACACTATTATCTGCCCAAG 58.417 40.000 0.00 0.00 0.00 3.61
242 244 9.593134 TCAAAAACATAACAGCAACAACTTAAT 57.407 25.926 0.00 0.00 0.00 1.40
269 271 3.064900 AGCTTTCTCAGGGTCATGAAC 57.935 47.619 0.73 0.73 0.00 3.18
274 276 5.551233 CTTTCTCAGGGTCATGAACAGTAA 58.449 41.667 13.90 1.04 0.00 2.24
280 282 5.872617 TCAGGGTCATGAACAGTAATTAACG 59.127 40.000 13.90 0.00 0.00 3.18
281 283 4.634443 AGGGTCATGAACAGTAATTAACGC 59.366 41.667 13.90 0.00 0.00 4.84
338 445 5.808366 TTATCAATCAAGTCCGGAGCTAT 57.192 39.130 3.06 0.00 0.00 2.97
346 453 1.133136 AGTCCGGAGCTATACCCACAT 60.133 52.381 3.06 0.00 0.00 3.21
408 515 0.037139 GCAATGGCAAGCATGGTGAA 60.037 50.000 10.00 0.00 40.72 3.18
421 531 6.045072 AGCATGGTGAACAATCAAATCATT 57.955 33.333 0.00 0.00 37.30 2.57
423 533 7.613585 AGCATGGTGAACAATCAAATCATTAA 58.386 30.769 0.00 0.00 37.30 1.40
424 534 8.095792 AGCATGGTGAACAATCAAATCATTAAA 58.904 29.630 0.00 0.00 37.30 1.52
451 563 3.814601 TGGTACATGGCCGGTTCT 58.185 55.556 1.90 0.00 0.00 3.01
531 646 4.978099 ACAGCTCTCCAAATTCAGAAGAA 58.022 39.130 0.00 0.00 38.31 2.52
532 647 5.002516 ACAGCTCTCCAAATTCAGAAGAAG 58.997 41.667 0.00 0.00 37.14 2.85
533 648 5.221803 ACAGCTCTCCAAATTCAGAAGAAGA 60.222 40.000 0.00 0.00 37.14 2.87
595 710 0.109643 CATGCACCCGTGTCACAATG 60.110 55.000 3.42 0.00 0.00 2.82
656 775 0.249826 TTTACGCCGGGTCGAACTTT 60.250 50.000 15.84 0.00 0.00 2.66
672 791 1.217882 CTTTGTCGCGTTTCCTCACT 58.782 50.000 5.77 0.00 0.00 3.41
728 847 0.177373 GTCCATCTCCCAACCGGTAC 59.823 60.000 8.00 0.00 0.00 3.34
889 1013 0.343372 TACCTCCATTGGCCTCTCCT 59.657 55.000 3.32 0.00 35.26 3.69
921 1045 3.035363 TGGCTTCGTCTTCATGGGTATA 58.965 45.455 0.00 0.00 0.00 1.47
986 1110 2.186076 CTTACTGCTCAATCGGTCGAC 58.814 52.381 7.13 7.13 0.00 4.20
1076 1200 1.024271 GCCACAGCTGAACAAACTCA 58.976 50.000 23.35 0.00 35.50 3.41
1084 1208 4.453478 CAGCTGAACAAACTCATGAGCTAA 59.547 41.667 22.83 1.09 0.00 3.09
1109 1233 0.577269 CAGCGCGTCATTAGGCTAAC 59.423 55.000 9.55 0.00 33.72 2.34
1110 1234 0.460311 AGCGCGTCATTAGGCTAACT 59.540 50.000 9.55 0.00 33.19 2.24
1152 1276 7.618502 ACTAATCACATGCATACCGTTTTTA 57.381 32.000 0.00 0.00 0.00 1.52
1153 1277 8.220755 ACTAATCACATGCATACCGTTTTTAT 57.779 30.769 0.00 0.00 0.00 1.40
1154 1278 8.128582 ACTAATCACATGCATACCGTTTTTATG 58.871 33.333 0.00 0.00 0.00 1.90
1162 1286 5.412526 CATACCGTTTTTATGCATACCGT 57.587 39.130 5.74 1.41 0.00 4.83
1163 1287 5.812652 CATACCGTTTTTATGCATACCGTT 58.187 37.500 5.74 0.00 0.00 4.44
1164 1288 4.769859 ACCGTTTTTATGCATACCGTTT 57.230 36.364 5.74 0.00 0.00 3.60
1165 1289 5.123805 ACCGTTTTTATGCATACCGTTTT 57.876 34.783 5.74 0.00 0.00 2.43
1166 1290 5.530712 ACCGTTTTTATGCATACCGTTTTT 58.469 33.333 5.74 0.00 0.00 1.94
1167 1291 6.675987 ACCGTTTTTATGCATACCGTTTTTA 58.324 32.000 5.74 0.00 0.00 1.52
1224 1348 1.673337 GTTCAGGGTTACCACGGCC 60.673 63.158 2.98 0.00 40.13 6.13
1324 1484 4.770874 CGGTTACCCTGGCCACGG 62.771 72.222 18.31 18.31 0.00 4.94
1503 1732 0.676782 GGTCCGCAACTAAGTGCCAT 60.677 55.000 0.00 0.00 41.73 4.40
1511 1740 3.251004 GCAACTAAGTGCCATATGCTACC 59.749 47.826 0.00 0.00 42.00 3.18
1518 1747 2.233922 GTGCCATATGCTACCTACGGAT 59.766 50.000 0.00 0.00 42.00 4.18
1570 1820 5.691754 ACTCGTATATGTGTGCATGTATGTG 59.308 40.000 0.00 0.00 37.15 3.21
1674 1924 6.793492 AGACTTCTCTTTCTTGCACAATAC 57.207 37.500 0.00 0.00 0.00 1.89
1679 1929 9.236006 ACTTCTCTTTCTTGCACAATACATAAT 57.764 29.630 0.00 0.00 0.00 1.28
1682 1932 9.890629 TCTCTTTCTTGCACAATACATAATACT 57.109 29.630 0.00 0.00 0.00 2.12
1684 1934 9.109393 TCTTTCTTGCACAATACATAATACTCC 57.891 33.333 0.00 0.00 0.00 3.85
1786 2048 7.486802 AATCCGAGGTATAAAATTAACCACG 57.513 36.000 3.98 3.98 43.93 4.94
1801 2063 8.488651 AATTAACCACGTATAGTTTTGAGAGG 57.511 34.615 3.49 0.00 0.00 3.69
1906 2168 1.752198 CCCGAACACACCTCTCCAA 59.248 57.895 0.00 0.00 0.00 3.53
1921 2185 4.935205 CCTCTCCAACGATGATGTACAAAA 59.065 41.667 0.00 0.00 0.00 2.44
1938 2202 0.179103 AAACAGCACAAAGTGGCAGC 60.179 50.000 0.00 0.00 33.64 5.25
2027 2292 4.822036 TTTTTACTGTGCACATAACGCT 57.178 36.364 22.00 2.47 0.00 5.07
2068 2333 8.050930 ACTACTCCCACCGATTTAAATTACAAT 58.949 33.333 1.43 0.00 0.00 2.71
2262 2530 1.569072 ACCACACCAGGTTCTTCCTTT 59.431 47.619 0.00 0.00 45.67 3.11
2266 2534 3.072476 CACACCAGGTTCTTCCTTTCCTA 59.928 47.826 0.00 0.00 45.67 2.94
2276 2544 3.838903 TCTTCCTTTCCTAACTCTGGTCC 59.161 47.826 0.00 0.00 0.00 4.46
2298 2566 1.977854 AGACAGGTGCTACAACCATGA 59.022 47.619 0.00 0.00 43.20 3.07
2304 2572 3.957497 AGGTGCTACAACCATGAAAAACA 59.043 39.130 0.00 0.00 43.20 2.83
2307 2575 5.405269 GGTGCTACAACCATGAAAAACATTC 59.595 40.000 0.00 0.00 40.22 2.67
2310 2578 4.664150 ACAACCATGAAAAACATTCCGT 57.336 36.364 0.00 0.00 37.07 4.69
2365 2633 6.653320 CACTGAAGTTTGTACCAATAGGCTTA 59.347 38.462 0.00 0.00 39.06 3.09
2440 2792 9.890629 TGCTTCATTAAGGGTGCTATATATTAG 57.109 33.333 0.00 0.00 32.98 1.73
2474 2826 1.407851 GCTCATGAAGCCATCCACTCA 60.408 52.381 0.00 0.00 45.92 3.41
2475 2827 2.942752 GCTCATGAAGCCATCCACTCAA 60.943 50.000 0.00 0.00 45.92 3.02
Position MSA Position Penalty Sequence TM GC Self any TH Self end TH Hairpin End Stability
32 33 1.492176 ACAGGTGGCATCCTTATGGAG 59.508 52.381 3.46 0.00 46.91 3.86
35 36 1.212688 TGGACAGGTGGCATCCTTATG 59.787 52.381 6.43 0.00 35.37 1.90
36 37 1.595311 TGGACAGGTGGCATCCTTAT 58.405 50.000 6.43 0.00 35.37 1.73
37 38 1.367346 TTGGACAGGTGGCATCCTTA 58.633 50.000 6.43 0.00 35.37 2.69
39 40 0.706433 ATTTGGACAGGTGGCATCCT 59.294 50.000 6.43 4.81 38.51 3.24
40 41 0.819582 CATTTGGACAGGTGGCATCC 59.180 55.000 0.00 0.00 0.00 3.51
42 43 1.549203 GACATTTGGACAGGTGGCAT 58.451 50.000 0.00 0.00 0.00 4.40
43 44 0.539438 GGACATTTGGACAGGTGGCA 60.539 55.000 0.00 0.00 0.00 4.92
66 67 6.418101 TCCTGCTAGCTAAGATGTTGAAAAT 58.582 36.000 17.23 0.00 0.00 1.82
94 95 5.809562 CCTGAGCTTAAGACTATTGACTGTG 59.190 44.000 6.67 0.00 0.00 3.66
214 216 7.467557 AGTTGTTGCTGTTATGTTTTTGATG 57.532 32.000 0.00 0.00 0.00 3.07
215 217 9.593134 TTAAGTTGTTGCTGTTATGTTTTTGAT 57.407 25.926 0.00 0.00 0.00 2.57
228 230 7.698836 AGCTTAAAACATTAAGTTGTTGCTG 57.301 32.000 9.37 0.00 41.19 4.41
242 244 4.787551 TGACCCTGAGAAAGCTTAAAACA 58.212 39.130 0.00 0.00 0.00 2.83
269 271 3.000925 GGATGACACGGCGTTAATTACTG 59.999 47.826 11.19 0.00 0.00 2.74
274 276 1.426041 GCGGATGACACGGCGTTAAT 61.426 55.000 11.19 3.85 0.00 1.40
280 282 0.235665 CAATATGCGGATGACACGGC 59.764 55.000 0.00 0.00 36.80 5.68
281 283 1.526887 GTCAATATGCGGATGACACGG 59.473 52.381 0.00 0.00 42.31 4.94
338 445 6.968263 TCAGAAACAAATTTCATGTGGGTA 57.032 33.333 2.86 0.00 45.78 3.69
398 505 5.670792 ATGATTTGATTGTTCACCATGCT 57.329 34.783 0.00 0.00 0.00 3.79
451 563 1.636148 AGGTAACGTGGTGGCTCTTA 58.364 50.000 0.00 0.00 46.39 2.10
531 646 4.564041 GATCGGATAGAATGCACATGTCT 58.436 43.478 0.00 0.00 0.00 3.41
532 647 3.366121 CGATCGGATAGAATGCACATGTC 59.634 47.826 7.38 0.00 0.00 3.06
533 648 3.005791 TCGATCGGATAGAATGCACATGT 59.994 43.478 16.41 0.00 0.00 3.21
595 710 6.546403 TCAGCTCCGGTAGATATTATCATACC 59.454 42.308 0.00 15.40 33.49 2.73
638 757 0.945265 CAAAGTTCGACCCGGCGTAA 60.945 55.000 6.01 0.00 0.00 3.18
639 758 1.373246 CAAAGTTCGACCCGGCGTA 60.373 57.895 6.01 0.00 0.00 4.42
656 775 1.006571 GGAGTGAGGAAACGCGACA 60.007 57.895 15.93 0.00 0.00 4.35
697 816 2.430465 GAGATGGACGGCATGCATTAT 58.570 47.619 21.36 5.96 39.93 1.28
921 1045 5.563876 AGCTTGTGTGATGGATGAGATAT 57.436 39.130 0.00 0.00 0.00 1.63
986 1110 2.401766 GCCATGCTTGACACCCTCG 61.402 63.158 0.22 0.00 0.00 4.63
1084 1208 0.596083 CTAATGACGCGCTGCTAGCT 60.596 55.000 17.23 0.00 39.60 3.32
1096 1220 5.064834 GCAACAGGTTAGTTAGCCTAATGAC 59.935 44.000 9.12 0.00 37.93 3.06
1109 1233 4.457834 AGTAGCAGTAGCAACAGGTTAG 57.542 45.455 0.00 0.00 45.49 2.34
1110 1234 5.988310 TTAGTAGCAGTAGCAACAGGTTA 57.012 39.130 0.00 0.00 45.49 2.85
1152 1276 5.900425 TGCATGAATAAAAACGGTATGCAT 58.100 33.333 3.79 3.79 42.88 3.96
1153 1277 5.124617 TCTGCATGAATAAAAACGGTATGCA 59.875 36.000 4.84 4.84 44.76 3.96
1154 1278 5.577835 TCTGCATGAATAAAAACGGTATGC 58.422 37.500 0.00 0.00 39.72 3.14
1155 1279 6.201517 CCTCTGCATGAATAAAAACGGTATG 58.798 40.000 0.00 0.00 0.00 2.39
1156 1280 5.221048 GCCTCTGCATGAATAAAAACGGTAT 60.221 40.000 0.00 0.00 37.47 2.73
1157 1281 4.095782 GCCTCTGCATGAATAAAAACGGTA 59.904 41.667 0.00 0.00 37.47 4.02
1158 1282 3.119495 GCCTCTGCATGAATAAAAACGGT 60.119 43.478 0.00 0.00 37.47 4.83
1159 1283 3.438360 GCCTCTGCATGAATAAAAACGG 58.562 45.455 0.00 0.00 37.47 4.44
1160 1284 3.119531 TGGCCTCTGCATGAATAAAAACG 60.120 43.478 3.32 0.00 40.13 3.60
1161 1285 4.454728 TGGCCTCTGCATGAATAAAAAC 57.545 40.909 3.32 0.00 40.13 2.43
1162 1286 4.771577 TCTTGGCCTCTGCATGAATAAAAA 59.228 37.500 3.32 0.00 40.13 1.94
1163 1287 4.343231 TCTTGGCCTCTGCATGAATAAAA 58.657 39.130 3.32 0.00 40.13 1.52
1164 1288 3.966979 TCTTGGCCTCTGCATGAATAAA 58.033 40.909 3.32 0.00 40.13 1.40
1165 1289 3.650281 TCTTGGCCTCTGCATGAATAA 57.350 42.857 3.32 0.00 40.13 1.40
1166 1290 3.548770 CTTCTTGGCCTCTGCATGAATA 58.451 45.455 3.32 0.00 40.13 1.75
1167 1291 2.376109 CTTCTTGGCCTCTGCATGAAT 58.624 47.619 3.32 0.00 40.13 2.57
1674 1924 6.986231 TGACAGTTGCATGTAGGAGTATTATG 59.014 38.462 0.00 0.00 32.25 1.90
1679 1929 4.758688 CATGACAGTTGCATGTAGGAGTA 58.241 43.478 0.00 0.00 38.59 2.59
1680 1930 3.603532 CATGACAGTTGCATGTAGGAGT 58.396 45.455 0.00 0.00 38.59 3.85
1681 1931 2.353889 GCATGACAGTTGCATGTAGGAG 59.646 50.000 0.00 0.00 43.79 3.69
1682 1932 2.290197 TGCATGACAGTTGCATGTAGGA 60.290 45.455 0.00 0.00 44.73 2.94
1683 1933 2.086094 TGCATGACAGTTGCATGTAGG 58.914 47.619 0.00 0.00 44.73 3.18
1786 2048 3.206964 GGCTGCCCTCTCAAAACTATAC 58.793 50.000 7.66 0.00 0.00 1.47
1906 2168 3.812609 TGTGCTGTTTTGTACATCATCGT 59.187 39.130 0.00 0.00 35.52 3.73
1921 2185 1.731433 CTGCTGCCACTTTGTGCTGT 61.731 55.000 0.00 0.00 31.34 4.40
1938 2202 2.912967 GTGAATGAATTTGTGCTCGCTG 59.087 45.455 0.00 0.00 0.00 5.18
2027 2292 3.322828 GGAGTAGTACATTTGGCGGGATA 59.677 47.826 2.52 0.00 0.00 2.59
2102 2367 3.261897 AGGTGAACTGTGATACTCCCTTG 59.738 47.826 0.00 0.00 0.00 3.61
2152 2417 8.836268 AATCATACAAAACACATGCTGAATTT 57.164 26.923 0.00 0.00 0.00 1.82
2158 2423 7.458409 AGAGAAATCATACAAAACACATGCT 57.542 32.000 0.00 0.00 0.00 3.79
2262 2530 1.353358 TGTCTCGGACCAGAGTTAGGA 59.647 52.381 11.47 0.00 39.21 2.94
2266 2534 0.178958 ACCTGTCTCGGACCAGAGTT 60.179 55.000 11.47 0.00 39.21 3.01
2276 2544 0.317160 TGGTTGTAGCACCTGTCTCG 59.683 55.000 0.00 0.00 37.75 4.04
2298 2566 2.627699 ACTGATGGCACGGAATGTTTTT 59.372 40.909 0.00 0.00 0.00 1.94
2304 2572 3.620488 ACATTAACTGATGGCACGGAAT 58.380 40.909 0.00 0.00 0.00 3.01
2307 2575 3.848272 AAACATTAACTGATGGCACGG 57.152 42.857 0.00 0.00 0.00 4.94
2310 2578 8.637986 ACTTTAGAAAAACATTAACTGATGGCA 58.362 29.630 0.00 0.00 0.00 4.92
2365 2633 6.275461 AGATAAGCCTATCCATGATTAGGGT 58.725 40.000 15.73 15.73 41.63 4.34
2440 2792 4.179926 TCATGAGCTGTTACACACTCTC 57.820 45.455 10.68 3.37 31.85 3.20
2474 2826 4.026052 CCTTTGTCATGGGATTTAGCCTT 58.974 43.478 0.00 0.00 0.00 4.35
2475 2827 3.635591 CCTTTGTCATGGGATTTAGCCT 58.364 45.455 0.00 0.00 0.00 4.58



Based at the University of Bristol with support from BBSRC. BBSRC icon Bristol icon

AutoCloner maintained by Alex Coulton.