RANDNA

General

RANDNA is a free software which allows to produce random DNA sequences setting both their length and the percentage of nucleotide composition. Random number generator function of Borland Delphi 6 is used, since it guarantees a good randomness, a long cycle length and a high speed. This tool is useful for Monte Carlo simulations, for example to verify the significance of genomic regularities, like the nucleotide correlations or the not uniform distribution of the motifs throughout genomic or mature mRNA sequences. Aligning random sequences (among them) is a good test to estimate the background score of an alignment, that is a threshold below of which the resulting score is merely due to the chance. Its graphic interface allows to easily set the parameters that characterize the sequences being produced and saved in a text format file. It runs on the Windows operative system.


Background

Efficiency (or information density) in a language is the ability to transfer or memorize information using the smallest possible number of symbols, whereas redundancy is the loss of efficiency caused by the presence of correlations and different frequencies of symbols or words [1]. According to the information theory, the more erratic the succession of symbols of a language, the greater its efficiency but the language is less robust in terms of the ability to preserve/transfer information in the presence of noise. Natural languages tend to reach a balance between efficiency and robustness; redundancy is therefore a characteristic of natural languages.

The application of information theory to genomic sequences can reveal regularities, that is, the presence of correlations among nucleotides and different frequencies of nucleotides or motifs. To estabilish the presence of such regularities it is important to infer their function, understand the language that specifies them and set up experimental investigations.

In particular the regularities are common in the protein coding regions of eukaryotic genes because they are highly constrained by the presence of at least two languages, one specifying the amino acid by defining the codon and the second regulating the splicing process by defining some codons among their synonyms; this contributes to the formation of enhancer or silencer regulatory elements which allow exons to be recognized as constitutive or alternative [2]. The two languages are able to coexist because the genetic code is degenerate and the splicing language can use bases that are not constrained by the first language.

Coding sequences seem to be overloaded with functions whereas the opposite is true of introns, as they contain few splicing signals while the rest have a weak regulatory role. Moreover, since in higher eukaryotes introns are numerous and often quite large, they are probably less crowded with information than exons, thus obviating the need for overlapping languages in the same nucleotides. For these reasons, the succession of nucleotides is more erratic in introns than in exons. Thus, if intronic sequences were totally erratic, they would indicate the absence of a language and therefore of a function.

The issue is that to exclude the presence of redundancy in sequences, a test should have to check infinite possibilities of linkages among nucleotides and words, an extremely time-consuming procedure. Nevertheless even simple tests can reveal the presence of correlations [3] in sequences but their significance has to be shown.

The Monte Carlo simulation can be used for this aim but it works well if true random sequences are used.

To generate good random sequences is also useful when the score of an alignment has to be evaluated. Indeed aligning random sequences it is possible to estimate a threshold below which the score of the alingment is due to chance.

Only natural physical phenomena like radioactive decay or the arrival of cosmic rays in a detector, represent perfect random number generators.

Artificial random number generators are produced by an algorithm that implements a recursive formula initialized by a random sequence called ‘seed’. Since this function is deterministic, these generators are called ‘pseudo random number generators’ and they do not have the maximum entropy and are periodic. A good algorithm has to have a large amount of seeds from which to start, a good entropy and a very high rollover time, that is, a large period.

We have developed a free software that generates pseudo random DNA sequences using pseudo random generator subroutine of Borland Delphi 6. Is not clear if such an algorithm uses an Intel processor internal function or the time and date of the computer clock to generate the seed, the former method should secure a good randomness but the quality depends on the specific processor [4], the latter could secure nearly the same quality. In Delphi 6 the seed variable is 32 bit long so there are 2 ^32 different seeds and the period of the generator is 2^32 numbers. In the program code we have called ‘Randomize’ function immediatly at the beginning of the instructions so the time that user spends to set the parameters is a further source of randomness.

We have checked the quality of pseudo random number generator of Delphi 6, by means of well-known tests, both by itself and versus a sequence generated by radioactive decas processes, so has to have a genuine random sequence [http://www.fourmilab.ch/hotbits/].

We have used the following test packages : ENT [http://www.fourmilab.ch/random/], DIEHARD [http://www.stat.fsu.edu/pub/diehard/] and RNGTEST [http://www.gapoptic.unige.ch/Prototypes/QRNG/].

Generator used in our software seems very good and we show the results of the tests at www.introni.it/en/software/.


Systems

RANDNA is written in Borland Delphi v.6 and runs on ix86 compatible processors under Microsoft Windows as well as on Apple Macintosh, Linux and Unix-based platforms using Windows emulator software with one of the required Microsoft Windows versions.


Installation

RANDNA is compound from the following files:
randna.exe : Executable file
randna.chm, randna.hhp : Help files
output.txt : Example of an output text format file
randna_test.txt :output of the test of the Borland Delphi 6 pseudo random number generator

On the web there are both zip archive and separete files. To install the software you should download and uncompress the zip files into a directory.
Alternatively you can download files separately and at least you should run the executable file.


Program use

The user can choose to obtain a uniform distribution of nucleotides by setting all the frequencies at 25% or have a different distribution leaving from the equiprobability. Setting the flag ‘U instead of T’ the software generates RNA instead of DNA sequences. Maximum length of the sequence being produced can be choosed up to two thousand millions of nucleotides, maximum number of sequences generated is up to 255. After processing, an output text format file is produced.

Output

Example of output file:

>1

ggggccgttcgtgggtacattatcaccgccacagcaataggaatagcatgccggtaatatacctagtgatcgaaaaaggctgatataggagatcaaacactgctagcattatgacccgccgggaaagtacaaaccaagttctactaccccttacctgcagataggctcaaagctgtagtttagttctacctactatggga

>2

ggtcggggtatgatatacagtgccattgtgacggcgccgtgaggcgttcggactcacccacgtaaccgcgggagtatagctccggggtagcctaatcgcgcgggataattcgtacttacagctgtggcgatactatagggaccgcacttgtatccttgcgctttagacacggcagaaaagtaaaattcacgccctatacg

>3

aaatacatccctggaacccctaagggagacggggaaccccgaggaaagtaaacgatgcttcctaaagttgaggcacatccagtcgatgctgggattttgcagggagtgcgttgacactaagctcacacacgagtggaccgagtacgaacactattcggtgtacttaattaaccgtttctctttacattcgagtaactgtc

>4

ttgggtatgattgggtctaagcagggatcataaagccttgcgtataagacgcccccgaaaaccggaacttaccgctagaccacagttaccaattgaccttcgctgtgtagattacttcacatatttgcccccgccgcagacgtaatcatcgtctttcctatgtagttataggggttgtcccgtgctgcagtggttgcgcg

>5

acatgtcggtgtgaagggaggtgtacaggtgatgcagacgtcttgcaccggccagctgtccgcttctcaaggcggtttaccggatatctcaatcataaataacgtacttccaaacgacacaggcgaatcagaaagaggcttctctgcagatgaagagattctttatactgggattaaaggagacttctcaggtgatcttg


Glossary

Correlation: Link between nucleotides. There is a correlation between nucleotides when the presence of a particular base (implier) implies or promotes the presence of another particular (implied) base in a different position. If the distance between correlated nucleotides is relatively short (about less than 10), they can have a functional role, for example be involved in a binding site. Long distance correlations in transcription sequences can be involved in mRNA secondary structure.

Information Theory: Efficiency in a language is the ability to transfer or memorize information using the smallest possible number of symbols, whereas redundancy is the loss of efficiency caused by the presence of correlations and different frequencies of symbols or words. According to the information theory, the more chaotic the succession of symbols of a language, the greater its efficiency but the less robust the language in terms of the ability to preserve/transfer information in the presence of noise. Natural languages tend to reach a balance between efficiency and robustness; redundancy is therefore a characteristic of natural languages.

Language: The protein coding regions of genes are highly constrained by the presence of at least two languages, one specifying the amino acid by defining the codon (coding function) and the second regulating the splicing process by defining some codons among their synonyms; this contributes to the formation of enhancer or silencer regulatory elements which allow exons to be recognized as constitutive or alternative. The two languages are able to coexist because the genetic code is degenerate and the splicing language can use bases that are not constrained by the first language. Since not all exonic synonymous mutations affect splicing efficiency, the splicing language obviously does not specify all synonymous codons and can drive splicing by creating alternative signals with equivalent function. Consequently, other constraints or languages can be present in gene coding sequences. In fact, there is evidence that synonymous codon usage is partly constrained by the isochore composition of the region in which the gene lies. Some codons create motifs to bind proteins involved in transcription, in the export of mRNA towards the cytoplasm, and in translation. In addition, coding sequences seem to be overloaded with functions whereas the opposite is true of introns, as they contain few splicing signals while the rest have a weak regulatory role.


References

1. Shannon, CE. (1948) A Mathematical Theory of Communication. The Bell System Technical Journal, 27: 379–423, 623–656

2. Pagani, F., Raponi, M., and Baralle, FE. (2005) Synonymous mutations in CFTR exon 12 affect splicing and are not neutral in evolution. Proc Natl Acad Sci U S A. 102:6368-6372.

3. Piva, F. and Principato, G. (2005) CORRELATION FINDER. In Silico Biol. 5:0042

4. Huang, F., and Shen, H. (2004) Intel random number generator-based true random number generator. Di Yi Jun Yi Da Xue Xue Bao. 24:1091-1095


Authors:

Francesco Piva, Giovanni Principato

Institute of Biology and Genetics

Polytechnic University of Marche

Via Brecce Bianche, Monte D'Ago

60131 Ancona

ITALY

f.piva@univpm.it

Acknowledgments:

We would like to thank Matteo Giulietti for the help in collecting the genuine random sequences.