annotate kmersvm/kmer2meme.pl @ 7:fd740d515502 draft default tip

Uploaded revised kmer-SVM to include modules from kmer-visual.
author cafletezbrant
date Sun, 16 Jun 2013 18:06:14 -0400
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7
fd740d515502 Uploaded revised kmer-SVM to include modules from kmer-visual.
cafletezbrant
parents:
diff changeset
1 use strict;
fd740d515502 Uploaded revised kmer-SVM to include modules from kmer-visual.
cafletezbrant
parents:
diff changeset
2
fd740d515502 Uploaded revised kmer-SVM to include modules from kmer-visual.
cafletezbrant
parents:
diff changeset
3 open(my $w_fh, "<", $ARGV[0]);
fd740d515502 Uploaded revised kmer-SVM to include modules from kmer-visual.
cafletezbrant
parents:
diff changeset
4 my $num_kmers = $ARGV[1];
fd740d515502 Uploaded revised kmer-SVM to include modules from kmer-visual.
cafletezbrant
parents:
diff changeset
5 my @weights = <$w_fh>;
fd740d515502 Uploaded revised kmer-SVM to include modules from kmer-visual.
cafletezbrant
parents:
diff changeset
6
fd740d515502 Uploaded revised kmer-SVM to include modules from kmer-visual.
cafletezbrant
parents:
diff changeset
7 my @temp_k = @weights[8..(7+$num_kmers), (-$num_kmers..-1)];
fd740d515502 Uploaded revised kmer-SVM to include modules from kmer-visual.
cafletezbrant
parents:
diff changeset
8
fd740d515502 Uploaded revised kmer-SVM to include modules from kmer-visual.
cafletezbrant
parents:
diff changeset
9 my @kmers = ();
fd740d515502 Uploaded revised kmer-SVM to include modules from kmer-visual.
cafletezbrant
parents:
diff changeset
10 #cleanup kmers
fd740d515502 Uploaded revised kmer-SVM to include modules from kmer-visual.
cafletezbrant
parents:
diff changeset
11 for my $i (0..($#temp_k)){
fd740d515502 Uploaded revised kmer-SVM to include modules from kmer-visual.
cafletezbrant
parents:
diff changeset
12 my @temp = split('\t',$temp_k[$i]);
fd740d515502 Uploaded revised kmer-SVM to include modules from kmer-visual.
cafletezbrant
parents:
diff changeset
13 #modified by dongwon 042713
fd740d515502 Uploaded revised kmer-SVM to include modules from kmer-visual.
cafletezbrant
parents:
diff changeset
14 #push(@kmers, ($temp[0], $temp[1]));
fd740d515502 Uploaded revised kmer-SVM to include modules from kmer-visual.
cafletezbrant
parents:
diff changeset
15 push(@kmers, $temp[0]);
fd740d515502 Uploaded revised kmer-SVM to include modules from kmer-visual.
cafletezbrant
parents:
diff changeset
16 }
fd740d515502 Uploaded revised kmer-SVM to include modules from kmer-visual.
cafletezbrant
parents:
diff changeset
17
fd740d515502 Uploaded revised kmer-SVM to include modules from kmer-visual.
cafletezbrant
parents:
diff changeset
18 open(my $o_fh, ">", "kmer2meme.meme");
fd740d515502 Uploaded revised kmer-SVM to include modules from kmer-visual.
cafletezbrant
parents:
diff changeset
19
fd740d515502 Uploaded revised kmer-SVM to include modules from kmer-visual.
cafletezbrant
parents:
diff changeset
20 print $o_fh
fd740d515502 Uploaded revised kmer-SVM to include modules from kmer-visual.
cafletezbrant
parents:
diff changeset
21 "MEME version 4
fd740d515502 Uploaded revised kmer-SVM to include modules from kmer-visual.
cafletezbrant
parents:
diff changeset
22
fd740d515502 Uploaded revised kmer-SVM to include modules from kmer-visual.
cafletezbrant
parents:
diff changeset
23 ALPHABET= ACGT
fd740d515502 Uploaded revised kmer-SVM to include modules from kmer-visual.
cafletezbrant
parents:
diff changeset
24
fd740d515502 Uploaded revised kmer-SVM to include modules from kmer-visual.
cafletezbrant
parents:
diff changeset
25 strands: + -
fd740d515502 Uploaded revised kmer-SVM to include modules from kmer-visual.
cafletezbrant
parents:
diff changeset
26
fd740d515502 Uploaded revised kmer-SVM to include modules from kmer-visual.
cafletezbrant
parents:
diff changeset
27 Background letter frequencies (from no specific genome):
fd740d515502 Uploaded revised kmer-SVM to include modules from kmer-visual.
cafletezbrant
parents:
diff changeset
28 A 0.25 C 0.25 G 0.25 T 0.25\n\n";
fd740d515502 Uploaded revised kmer-SVM to include modules from kmer-visual.
cafletezbrant
parents:
diff changeset
29
fd740d515502 Uploaded revised kmer-SVM to include modules from kmer-visual.
cafletezbrant
parents:
diff changeset
30 foreach my $kmer (@kmers) {
fd740d515502 Uploaded revised kmer-SVM to include modules from kmer-visual.
cafletezbrant
parents:
diff changeset
31 print $o_fh "MOTIF $kmer\n";
fd740d515502 Uploaded revised kmer-SVM to include modules from kmer-visual.
cafletezbrant
parents:
diff changeset
32 my $l = length($kmer);
fd740d515502 Uploaded revised kmer-SVM to include modules from kmer-visual.
cafletezbrant
parents:
diff changeset
33 print $o_fh "letter-probability matrix: alength= 4 w= $l nsites= 1 E= 0\n";
fd740d515502 Uploaded revised kmer-SVM to include modules from kmer-visual.
cafletezbrant
parents:
diff changeset
34 foreach my $i (0..($l-1)) {
fd740d515502 Uploaded revised kmer-SVM to include modules from kmer-visual.
cafletezbrant
parents:
diff changeset
35 my $nc = substr($kmer, $i, 1);
fd740d515502 Uploaded revised kmer-SVM to include modules from kmer-visual.
cafletezbrant
parents:
diff changeset
36 if ($nc eq "A") {
fd740d515502 Uploaded revised kmer-SVM to include modules from kmer-visual.
cafletezbrant
parents:
diff changeset
37 print $o_fh " 1.00 0.00 0.00 0.00\n";
fd740d515502 Uploaded revised kmer-SVM to include modules from kmer-visual.
cafletezbrant
parents:
diff changeset
38 }elsif ($nc eq "C") {
fd740d515502 Uploaded revised kmer-SVM to include modules from kmer-visual.
cafletezbrant
parents:
diff changeset
39 print $o_fh " 0.00 1.00 0.00 0.00\n";
fd740d515502 Uploaded revised kmer-SVM to include modules from kmer-visual.
cafletezbrant
parents:
diff changeset
40 }elsif ($nc eq "G") {
fd740d515502 Uploaded revised kmer-SVM to include modules from kmer-visual.
cafletezbrant
parents:
diff changeset
41 print $o_fh " 0.00 0.00 1.00 0.00\n";
fd740d515502 Uploaded revised kmer-SVM to include modules from kmer-visual.
cafletezbrant
parents:
diff changeset
42 }elsif ($nc eq "T") {
fd740d515502 Uploaded revised kmer-SVM to include modules from kmer-visual.
cafletezbrant
parents:
diff changeset
43 print $o_fh " 0.00 0.00 0.00 1.00\n";
fd740d515502 Uploaded revised kmer-SVM to include modules from kmer-visual.
cafletezbrant
parents:
diff changeset
44 }else {
fd740d515502 Uploaded revised kmer-SVM to include modules from kmer-visual.
cafletezbrant
parents:
diff changeset
45 print " 0.25 0.25 0.25 0.25\n";
fd740d515502 Uploaded revised kmer-SVM to include modules from kmer-visual.
cafletezbrant
parents:
diff changeset
46 }
fd740d515502 Uploaded revised kmer-SVM to include modules from kmer-visual.
cafletezbrant
parents:
diff changeset
47 }
fd740d515502 Uploaded revised kmer-SVM to include modules from kmer-visual.
cafletezbrant
parents:
diff changeset
48 print $o_fh "\n";
fd740d515502 Uploaded revised kmer-SVM to include modules from kmer-visual.
cafletezbrant
parents:
diff changeset
49 }