R语言中多重序列比对(MultipleAlignment)结果导出到文件(fasta文件和Phylip文件)

这里是使用Biostrings​包导入fasta格式的多重比对序列,并导出多重序列比对后的数据为fasta和phylip文件。

导入多重比对序列

1
2
3
readDNAMultipleAlignment(filepath, format) #DNA
readRNAMultipleAlignment(filepath, format) #RNA
readAAMultipleAlignment(AAMultipleAlignment, format) #蛋白序列

导出多重比对序列

核酸序列

  1. 导出到fasta文件

  • 如果你需要将你的多重序列比对对象(MultipleAlignment object)导出为fasta文件,你可以将其转换为DNAStringSet​对象,然后像下面这样将其写入fasta文件:

1
2
DNAStr <- as(origMAlign, "DNAStringSet")
writeXStringSet(DNAStr, file="myFile.fa")
  • 这里的as(origMAlign, "DNAStringSet")​是将origMAlign​(原始的多重序列比对对象)转换为DNAStringSet​类型。writeXStringSet(DNAStr, file="myFile.fa")​则是将转换后的DNAStringSet​对象DNAStr​写入名为myFile.fa​的fasta文件中。

  1. 导出到Phylip文件

  • Phylip格式不仅存储你正在导出的序列,还存储对象的列掩码(column masking)。如果你对序列进行了掩码处理,并且在导出Phylip文件时,这个掩码会被记录到你导出的文件中。

  • 与上面的fasta文件示例类似,任何被你掩码掉的行(rows)也会从导出的文件中移除。

  • 导出Phylip文件的代码如下:

1
write.phylip(phylipMAlign, filepath="myFile.txt")
  • 这里的write.phylip(phylipMAlign, filepath="myFile.txt")​是将phylipMAlign​(可能是已经进行了某些处理的多重序列比对对象)写入名为myFile.txt​的Phylip文件中。

蛋白序列

1
2
AA_MA <- as(AAMultipleAlignment, "AAStringSet")
writeXStringSet(AA_MA, file="AAMultipleAlignment.fasta")
  • 这里的as(AAMultipleAlignment, "AAStringSet")是将AAMultipleAlignment(原始的多重序列比对对象)转换为AAStringSet类型。writeXStringSet(AA_MA, file="AAMultipleAlignment.fasta")则是将转换后的AAStringSet对象AA_MA写入名为AAMultipleAlignmentfasta文件中。

参考

https://bioconductor.org/packages/devel/bioc/vignettes/Biostrings/inst/doc/MultipleAlignments.html#exporting-to-file