#! C:\Perl\bin\perl ######################################################### # probe.pl- converts affy probe set files to excel files# # by D. Newkirk on 9/9/03 # ######################################################### use strict; use warnings; print STDOUT 'Please state the file containing the probes: '; chomp(my $input=); open (INPUT, "$input")or die "Cannot open file: $!"; print STDOUT 'Please name the output file: '; chomp(my $output=); open (OUTPUT, ">$output")or die "Cannot open file: $!"; $_=; my ($target_name, %probes); $target_name=$1 if m[:(\d{6})_]x; #print "$target_name\n"; do { if ($_=~ m/$target_name/) { chomp(my $probe=); if ($probe=~ /^(\w{20})/) {print "$probe\n"; push @{$probes{$target_name}}, $probe; } } if ($_ !=~ [$target_name]) { $_= m[:(\d{6})_]x; $target_name=$_; print "$target_name\n"; } }until eof INPUT; for $target_name(sort{@{probes{$b}}<=>@{probes{a}}}keys %probes) { print OUTPUT "$target_name, ", join(", ", sort @{$probes{$target_name}}), "\n"; } close (INPUT); close (OUTPUT); exit; _input_ >probe:ATH1-121501:244901_at:594:703;Interrogation_Position=56;Antisense;TTGCTGCTATTCTATCTATTTGTGC Times 11 >probe:ATH1121501:244902_at:522:511;Interrogation_Position=153;Antisense; GGTATTTTCCGTTTCTTCGGATGAT Times 11 _output_ 244901, AACACTTACAAATGCCACTTCTTCC, AGCAATTTGCCTACTCTTGTATCTC, AGCTGTGAATTCGAACTTTTTGGTA, ATATTCCTATTATGTCAATGCCAAT, CCAACGGTGGCAGCTGCGGAATCCG, GAAGAATCGCAGCAATTCCCCAATC, GAAGTAGTTCCTCCGGAATCCAATG, GACTTTCAAAGTGACTCTCGACGGG, GAGCCTCCAGGCTATTCAGGAAGAA, GAGTCCGAGGTACTATTGCTGTAGA, GATGGGTCAAGTATTTGCTTCATTG, GCAAGCTTTGTTATGCCGAAACCTA, GCGGAATCCGCTATTGGGTTAGCCA, GGTATTTTCCGTTTCTTCGGATGAT, GTATTCGGGGAATCCTCCTTAATAG, GTCGCATCCGTTTTCAGGACGATCT, TAACTTTCCGAGTCCGAGGTACTAT, TAGCCATTTTCGTTATAACTTTCCG, TCAGCTTGCGAATTTGTGGCACCGT, TGCTTCATTGGTTCCAACGGTGGCA, TTACCAATGGCACGCTGTGCGCCTA, TTGCTGCTATTCTATCTATTTGTGC