RSAT doesn't work well, for example I have matrices in meme format. Consider the example
MOTIF ID0001
letter-probability matrix: alength= 4 w= 12 nsites= 1 E= 0
0.000000 0.000000 1.000000 0.000000
0.000000 0.500000 0.500000 0.000000
0.428571 0.142857 0.142857 0.285714
0.000000 0.000000 1.000000 0.000000
0.000000 0.714286 0.285714 0.000000
0.000000 0.000000 0.571429 0.428571
0.214286 0.000000 0.785714 0.000000
0.000000 0.000000 1.000000 0.000000
0.857143 0.000000 0.142857 0.000000
0.571429 0.428571 0.000000 0.000000
0.642857 0.000000 0.285714 0.071429
0.000000 0.214286 0.785714 0.000000
and it is converted to transfac as follows:
AC ID0001
XX
ID ID0001
XX
DE gsngcgggaaag
P0 A C G T
1 0.00 0.00 1.00 0.00
2 0.00 1.00 1.00 0.00
3 0.00 0.00 0.00 0.00
4 0.00 0.00 1.00 0.00
5 0.00 1.00 0.00 0.00
6 0.00 0.00 1.00 0.00
7 0.00 0.00 1.00 0.00
8 0.00 0.00 1.00 0.00
9 1.00 0.00 0.00 0.00
10 1.00 0.00 0.00 0.00
11 1.00 0.00 0.00 0.00
12 0.00 0.00 1.00 0.00
I've used default settings. Please, look at the third row, why there are zeroes? Also, why there only ones and zeroes?
Is there any other conversion tool? RSAT is really complicated - has many options.
2 answers
For future reference, universalmotif package from Bioconductor works like a charm.
I needed two commands:
read_meme("filename", skip = 0, readsites = FALSE, readsites.meta = FALSE)
and
write_transfac(motifs, "filename", overwrite = FALSE, append = FALSE)
I came across the same problem and it seems like MEME has to be scaled to 100 (not to 1) for this convert-matrix conversion tool to work properly.
letter-probability matrix: alength= 4 w= 6 nsites= 1 E= 0e+0
1.140 0.640 0.890 97.330
68.700 5.470 9.410 16.410
14.500 4.960 11.070 69.470
87.150 3.310 3.820 5.720
24.810 11.200 34.860 29.140
31.420 18.190 34.730 15.650
P0 A C G T
1 1 1 1 97
2 69 5 9 16
3 15 5 11 69
4 87 3 4 6
5 25 11 35 29
6 31 18 35 16
Log in to answer this question.