# Permutations of A,G,C,T.

Tue May 30 17:56:08 EST 1995

```>>>>> "Robert" == Robert D Darby <darby at halcyon.com> writes:
In article <Pine.ULT.3.91.950529010952.29923A-100000 at coho.halcyon.com> "Robert D. Darby" <darby at halcyon.com> writes:

Robert> Does anyone have a simple program, Basic, Assembler, C,
Robert> whatever to create the permutations of A,G,C,T for a
Robert> specified output length.  Or, can you point me to an FTP
Robert> location.  Yes, yes, I know this is not terribly complex,
Robert> but I am in a rush and don't have time to code and debug.

It is very easy to do this in perl.  Here is a script that I
just wrote for you.  If your system has perl installed (many Unix
systems do) just put the following program in a file called
"random-dna" or something and make it executable.

Don Bashford
The Scripps Research Institute
bashford at scripps.edu
----------------------------------------------------------------------
#!/usr/bin/perl
\$usage = "\
This program writes a random DNA sequence to standard output.  Usage:
\$0 len [seed]
where len is an integer specifying the length of the sequence desired,
and seed sets the seed for the random number generator.
";

@bases = ("A", "G", "C", "T");

(@ARGV == 1 || @ARGV == 2) && int (\$ARGV[0]) || die \$usage;

# If you don't like setting the seed from the command line,
# change this to just "srand;" and it will set the seed from
# the time.
srand (\$ARGV[1]) if @ARGV == 2;

for (\$i=1; \$i<=\$ARGV[0]; ++\$i) {
\$n = int (rand(4));
print \$bases[\$n];
}
print "\n";

```