function fasta($n) { $iub = array(array('a', 0.27), array('c', 0.12), array('g', 0.12), array('t', 0.27), array('B', 0.02), array('D', 0.02), array('H', 0.02), array('K', 0.02), array('M', 0.02), array('N', 0.02), array('R', 0.02), array('S', 0.02), array('V', 0.02), array('W', 0.02), array('Y', 0.02)); $homosapiens = array(array('a', 0.302954942668), array('c', 0.1979883004921), array('g', 0.1975473066391), array('t', 0.3015094502008)); $alu = 'GGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGG' . 'GAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGA' . 'CCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAAT' . 'ACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCA' . 'GCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGG' . 'AGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCC' . 'AGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAA'; makeCumulative($iub); makeCumulative($homosapiens); makeRepeatFasta('ONE', 'H**o sapiens alu', $alu, $n * 2); makeRandomFasta('TWO', 'IUB ambiguity codes', $iub, $n * 3); makeRandomFasta('THREE', 'H**o sapiens frequency', $homosapiens, $n * 5); }
$lineLength = $n; } if ($i + $lineLength < $sLength) { print substr($s, $i, $lineLength); print "\n"; $i += $lineLength; } else { print substr($s, $i); $i = $lineLength - ($sLength - $i); print substr($s, 0, $i); print "\n"; } $n -= $lineLength; } } /* Main -- define alphabets, make 3 fragments */ $iub = array('a' => 0.27, 'c' => 0.12, 'g' => 0.12, 't' => 0.27, 'B' => 0.02, 'D' => 0.02, 'H' => 0.02, 'K' => 0.02, 'M' => 0.02, 'N' => 0.02, 'R' => 0.02, 'S' => 0.02, 'V' => 0.02, 'W' => 0.02, 'Y' => 0.02); $homosapiens = array('a' => 0.302954942668, 'c' => 0.1979883004921, 'g' => 0.1975473066391, 't' => 0.3015094502008); $alu = 'GGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGG' . 'GAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGA' . 'CCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAAT' . 'ACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCA' . 'GCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGG' . 'AGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCC' . 'AGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAA'; $n = 1000; if ($_SERVER['argc'] > 1) { $n = $_SERVER['argv'][1]; } makeCumulative($iub); makeCumulative($homosapiens); echo ">ONE H**o sapiens alu\n"; makeRepeatFasta($alu, $n * 2); echo ">TWO IUB ambiguity codes\n"; makeRandomFasta($iub, $n * 3); echo ">THREE H**o sapiens frequency\n"; makeRandomFasta($homosapiens, $n * 5);