Mercurial > repos > cafletezbrant > kmersvm
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 |
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 } |