Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将点图(seqinr)函数应用于包含蛋白质序列的载体中的每个可能的成对组合_R_Loops_For Loop_Plot_Character - Fatal编程技术网

如何将点图(seqinr)函数应用于包含蛋白质序列的载体中的每个可能的成对组合

如何将点图(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

我是个新手,非常感谢你的帮助。 我想将点图(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),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