如何将点图(seqinr)函数应用于包含蛋白质序列的载体中的每个可能的成对组合
我是个新手,非常感谢你的帮助。 我想将点图(seqinr)函数应用于包含3个蛋白质序列的载体中两个蛋白质序列的每个组合。这意味着我最终要得到3个点图。 我尝试使用for循环:如何将点图(seqinr)函数应用于包含蛋白质序列的载体中的每个可能的成对组合,r,loops,for-loop,plot,character,R,Loops,For Loop,Plot,Character,我是个新手,非常感谢你的帮助。 我想将点图(seqinr)函数应用于包含3个蛋白质序列的载体中两个蛋白质序列的每个组合。这意味着我最终要得到3个点图。 我尝试使用for循环: #this is the vector containing 3 protein sequences. I turned each sequence to string to get 3 character vector: seqs<-c(c2s(lepraeseq),c2
#this is the vector containing 3 protein sequences. I turned each sequence to string to get 3 character vector:
seqs<-c(c2s(lepraeseq),c2s(ulceransseq),c2s(protseq))
#the loop:
for(i in 1:(length(seqs)-1)){
for(j in (i+1):length(seqs)){
print(dotPlot(as.character(i),as.character(j)))}}
#the outcome:
NULL
NULL
NULL
#这是包含3个蛋白质序列的载体。我将每个序列转换为字符串,得到3个字符向量:
seqs我无法访问lepraeseq、Luceranseq等中的数据,但这应该是可行的。您需要使用combn
创建包含所有可能组合的索引对象
使用此索引,然后可以在循环中生成绘图。我看到你在窗户上。我添加了一行以在驱动器上保存绘图
library(seqinr)
seqs<-c("lepraeseq","ulceransseq","protseq")
comb <-combn(length(seqs),2) #get all possible pairwise combinations
for (i in 1:ncol(comb)){
dotPlot(s2c(seqs[comb[1,i]]),s2c(seqs[comb[2,i]]),
xlab=seqs[comb[1,i]],ylab=seqs[comb[2,i]])
savePlot(filename = paste0("c:/temp/",paste0(seqs[comb[1,i]],"-",seqs[comb[2,i]]),".png"),
type ="png")
}
库(seqinr)
seqs我无法访问lepraeseq、Luceranseq等中的数据,但这应该是可行的。您需要使用combn
创建包含所有可能组合的索引对象
使用此索引,然后可以在循环中生成绘图。我看到你在窗户上。我添加了一行以在驱动器上保存绘图
library(seqinr)
seqs<-c("lepraeseq","ulceransseq","protseq")
comb <-combn(length(seqs),2) #get all possible pairwise combinations
for (i in 1:ncol(comb)){
dotPlot(s2c(seqs[comb[1,i]]),s2c(seqs[comb[2,i]]),
xlab=seqs[comb[1,i]],ylab=seqs[comb[2,i]])
savePlot(filename = paste0("c:/temp/",paste0(seqs[comb[1,i]],"-",seqs[comb[2,i]]),".png"),
type ="png")
}
库(seqinr)
Seqsy您的问题不可复制[链接]()。我们看不到seqs中的数据。另外,请指定从哪个包获得dotPlot
thank's响应。我在标题中写道,dotPlot函数来自sekinr包。数据是我从uniprot以fasta格式下载的3个蛋白质序列。每个序列都是一个字符向量:“library”(“sekinr”)leprae您的问题是不可复制的[link]()。我们看不到seqs中的数据。另外,请指定从哪个包获得dotPlot
thank's响应。我在标题中写道,dotPlot函数来自sekinr包。数据是我从uniprot以fasta格式下载的3个蛋白质序列。每个序列都是一个字符向量:“library(“seqinr”)麻风谢谢,它起作用了,但我对轴的名称仍然有问题:xlab=sequence[comb[1,i]],ylab=sequence[comb[2,i]
]`这个脚本没有给出蛋白质名称,而是给出了蛋白质序列。我尝试用两列创建数据帧:seq_name和sequence,并以这种方式在上面的脚本中使用它:`comb combn(length(df$sequence),2)for(I in 1:ncol(comb)){dotPlot(s2c(df$sequence[comb[1,I]]),s2c(df sequence[comb[2,I]],xlab=df$seq_name[comb[1,I]],ylab=df$seq_name[comb[2,I]}`但它不起作用。我成功地得到了名称:combSeq谢谢,它起作用了,但我对轴的名称仍然有问题:xlab=sequence[comb[1,i]],ylab=sequence[comb[2,i]
]`这个脚本没有给出蛋白质名称,而是给出了蛋白质序列。我尝试用两列创建数据帧:seq_name和sequence,并以这种方式在上面的脚本中使用它:`comb combn(length(df$sequence),2)for(I in 1:ncol(comb)){dotPlot(s2c(df$sequence[comb[1,I]]),s2c(df sequence[comb[2,I]],xlab=df$seq_name[comb[1,I]],ylab=df$seq_name[comb[2,I]}“但是它不起作用。我成功地得到了名字:combSeq