annotate lib/shuffle.pl @ 3:17ce4f3bffa2 default tip

Uploaded
author jesse-erdmann
date Tue, 24 Jan 2012 18:33:41 -0500
parents 1437a2df99c0
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
1 @list = (1,2,3,4);
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
2 foreach $val(@list){
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
3 print "$val";
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
4 }
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
5 print "\n";
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
6 shuffle(\@list);
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
7 foreach $val(@list){
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
8 print "$val";
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
9 }
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
10
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
11 open SOURCE, "< cis4cluster.txt";
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
12 open OUT, "> shuffled.txt";
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
13 while (defined($line = <SOURCE>)) {
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
14 chomp $line;
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
15 @field= split(/\t/, $line);
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
16 $name = shift(@field);
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
17 shuffle(\@field);
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
18 print OUT "$name";
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
19 foreach $val(@field) {
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
20 print OUT "\t$val";
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
21 }
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
22 print OUT "\n";
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
23 }
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
24
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
25 sub shuffle {
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
26 my $array = shift;
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
27 my $i;
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
28 for ($i = @$array; --$i; ) {
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
29 my $j = int rand ($i+1);
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
30 next if $i == $j;
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
31 @$array[$i,$j] = @$array[$j,$i];
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
32 }
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
33 }
1437a2df99c0 Uploaded
jesse-erdmann
parents:
diff changeset
34