【发布时间】:2020-07-02 22:23:02
【问题描述】:
我正在使用R package msa,一个核心Bioconductor 包,用于多序列比对。在msa 中,我使用 MUSCLE 比对算法来比对蛋白质序列。
library(msa)
myalign <- msa("test.fa", method=c("Muscle"), type="protein",verbose=FALSE)
test.fa 文件是一个标准的 fasta 文件如下(为了简洁,被截断):
>sp|P31749|AKT1_HUMAN_RAC
MSDVAIVKEGWLHKRGEYIKTWRPRYFLL
>sp|P31799|AKT1_HUMAN_RAC
MSVVAIVKEGWLHKRGEYIKTWRFLL
当我在文件上运行代码时,我得到:
MUSCLE 3.8.31
Call:
msa("test.fa", method = c("Muscle"), type = "protein", verbose = FALSE)
MsaAAMultipleAlignment with 2 rows and 480 columns
aln
[1] MSDVAIVKEGWLHKRGEYIKTWRPRYFLL
[2] MSVVAIVKEGWLHKRGEYIKTWR---FLL
Con MS?VAIVKEGWLHKRGEYIKTWR???FLL
如您所见,非常合理的对齐方式。
我想将有间隙的比对写入 fasta 文件,最好不使用共有序列(例如 Con 行)。所以,我想要:
>sp|P31749|AKT1_HUMAN_RAC
MSDVAIVKEGWLHKRGEYIKTWRPRYFLL
>sp|P31799|AKT1_HUMAN_RAC
MSVVAIVKEGWLHKRGEYIKTWR---FLL
我查看了msa 帮助,并且该软件包似乎没有内置方法可以写入任何文件类型,fasta 或其他文件。
seqinr package 看起来很有希望,因为它可能会将此输出读取为 msf 格式,尽管它很奇怪。但是,seqinr 似乎需要一个文件作为起点读入。我什至无法使用write(myalign, ...) 保存它。
【问题讨论】:
-
你真的应该停止使用大写的包名。
标签: r alignment bioinformatics fasta