>>>>> "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";