首页 > 解决方案 > 多序列比对 R

问题描述

这里的第一个问题!

我一般是 R 和序列比对的新手。

我正在尝试使用 MSA(多序列比对)包对 R(R'studio)进行多序列比对。我使用 seqinr 包将我的 fasta 文件上传到 R 中。它只包含两个大小大致相同的序列——一个模板和一个查询。但是,我遇到了用户手册未描述的错误。

这是我在终端中输入的

> query<-"file name"$"sequence within the file"

> template<-"file name"$"sequence within the file"

> msaClustalOmega(query,template)

这就是结果

“checkInputSeq(inputSeqs) 中的错误:参数 inputSeq 无效!可能的输入是 <character>、<XStringSet> 或文件。”

文件中的文件名和序列确实“弹出”作为选择选项,因此 R 识别它们存在。我不确定发生了什么,而且它还处于 MSA 流程的早期阶段。

任何帮助都会很棒,谢谢!

标签: ralignmentsequence

解决方案


据我了解,您正在使用一种需要 Biostring 的算法,以便它知道您正在处理核苷酸数据或氨基酸数据。如果距离的算法是由例如完成的,你正在给它喂 ascii 字符。Hamming distance. 核苷酸替换矩阵是特定的,以及为什么允许使用特定类型的字符。

你需要图书馆Biostringsmsa. 这是一个最小的工作示例,灵感来自我认为您正在尝试的内容(无法判断您的文件是什么样的):

library("Biostrings")
library("msa")
dnaSet = DNAStringSet(c("AACCTT","CCGGTTTT","AAAGGGTTT"))
res = msa(dnaSet,method="ClustalOmega")
print(res)

您看到提到的错误< XStringSet >是因为它需要它的一种类型,它DNAStringSet是它的子类,并且想要它或另一个子类的对象,例如 DNAString。这就是为什么当它运行该函数checkInputSeq(inputSeqs)时会产生错误,导致类型检查失败。


推荐阅读