• comparision of three approaches to motif finding (basic PSSM method, SELEX and improved PSSM).
    Tested on the set of known motifs (using JASPAR http://jaspar.genereg.net/ motifs).

get PSSM from list of sequences

setwd("c:/motywy/robocze/")

macierz = read.table("matrix_list.txt",header=F,sep="\t")

listaMotywow = list.files(pattern = "sites") 

usunMale <- function(s) {
  lista = unlist(strsplit(chartr("atcg", "    ", s),""))
  lista[lista!=" "]
}

getSekwencje <- function(plik) {
  linie  = readLines(plik)
  indy   = seq(2,length(linie)-5,2)
  t(sapply(indy, function(i) usunMale(linie[[i]])))
}

listaTabel = lapply(seq_along(listaMotywow), function(i) getSekwencje(listaMotywow[[i]]))
names(listaTabel) = listaMotywow

getPSSM <- function(tabela) {
  rbind(A = colSums(tabela=="A"), C = colSums(tabela=="C"), 
        G = colSums(tabela=="G"), T = colSums(tabela=="T"))
}

listaPSSM = lapply(listaTabel, getPSSM)
listaPSSM[[1]]