hello, 
i appreciate your help, your help, comments, and suggestion really are so
helpful to develop not only my R skills, but also my programming language
sense. as i said, i am not breaking any academic rules, and this is a
softwar i have to develop to deal with my project after two months along
with some algorithms .. any way, for your question jholtman, if one
particular amino acids (let say letter A) is missed in the data, that wont
appear in the graph. any way i think i found the clue for this work, here
you are what i wrote, it is working, but i would love to have any comments,
or advices. the data attached. many thanks.
x<-read.table("C:/Uni/502/CA2/hiv.dat", header=TRUE)                            
                                                
attach(x)                                                                       
                                                                                
                
AA<-c('A','C','D','E','F','G','H','I','K','L','M','N','P','Q','R','S','T','V','W','Y')
          
num<-nrow(x)                                                                    
                                                                                
        
frequency<-function(Q)
{                                                                               
                                                                                
y<-matrix(0,20,8)
colnames(y)<-c("N4","N3","N2","N1","C1","C2","C3","C4")

        for(i in 1:num){
                if (x$Label[i]== Q)
                        {       
                        for(j in 1:8){
                        res<-which(AA==substr(x$Peptide[i],j,j))
                        y[res, j]=y[res, j]+1

                                                }
                        }
}
return (y)
}
freqC<-frequency("cleaved")
freqNc<-frequency("noncleaved")

 
ClPeptide<-114
nClPeptide<-248


Norm<-function(F,N)

{
No<-matrix(0,20,8)
  colnames(No)<-c("N4","N3","N2","N1","C1","C2","C3","C4")
        for (j in 1:8){
                for (k in 1:20){
                        No[k,j]=(F[k,j]/N)*100
                }
        }
        return(No)
}
normalisedC<-Norm(freqC,ClPeptide)
normalisedNc<-Norm(freqNc,nClPeptide)


hi<-function(H)
{       
        height<-rep(0,8)
                for (j in 1:8){
                height[j]<-sum(round(H)[,j])
                max.height<-max(height)
                                        }
return(max.height)
}

CleH<-hi(normalisedC)
nCleH<-hi(normalisedNc)

colmap<-c("#009900", "#00CC00", "#00FF00", "#009933", "#00CC33",
"#00FF33", "#009966", "#00CC66", "#00FF66", "#009999", "#00CC99",
"#00FF99", "#0099CC", "#00CCCC", "#00FFCC", "#0099FF", "#00CCFF",
"#00FFFF", "#66FFFF", "#CCFFFF")

CumulativeY<-function(k,b,F)
{
  if( b<=0)
    {
            cum=0
        }
  else
    {
            cum=0
            for(d in 1:b)
    {
        cum=cum + (round(F[d,k]))
         
        }
     }
return(cum)
}
graph<- function(F)
{
for(i in 1:8)
  {
  for(j in 1:20)
    {
    rect((i-1)*10,CumulativeY(i,j-1,F),((i-1)*10)+10,CumulativeY(i,j,F),
col=colmap[j])
    if ( F[j,i] != 0)
      {
       text( ((i-1)*10)+5, (CumulativeY(i,j-1,F) + round(F[j,i])/2), AA[j],
cex=((2*round(F[j,i])/round(max(F)))),col="#990000")
       }
     }
  }  
}

par(mfrow=c(1,2))
plot(c(0,10*8),c(0,CleH),col="#303030")
graph(normalisedC)
plot(c(0,10*8),c(0,nCleH),col="#303030")
graph(normalisedNc)
http://n4.nabble.com/file/n1458002/hiv.dat hiv.dat 
-- 
View this message in context: 
http://n4.nabble.com/More-than-on-loop-tp1015851p1458002.html
Sent from the R help mailing list archive at Nabble.com.

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to