在R中的Biostrings包上打开fas格式文件

时间:2018-07-25 03:30:59

标签: r fasta

我正在尝试使用“ Biostrings”软件包处理fas扩展文件。我尝试了多种不同的方式,用尽了Google搜索的技巧,但在不同的Web /博客/视频教程上却没有取得很大的成功。

请考虑以下文件路径:     “ /mydesktop/DNAfile.fas”

我已经成功安装了Biostrings软件包和XVector。

library(Biostrings)
library(Vector)

然后我在下面几行中写道:

fas1 <- system.file("extdata", "/mydesktop/DNAfile.fas", package="Biostrings")

dna <- readDNAStringSet(fas1)

但是,这会产生如下错误:

Error in .Call2("new_input_filexp", filepath, PACKAGE = "XVector") : cannot open file ''

有人可以指导我进行此操作吗?有人在其他博客上建议其他用户他应该考虑将fas更改为FASTA,但是这将如何改变工作流程?

谢谢!

1 个答案:

答案 0 :(得分:0)

我可能找到了答案。不确定我是否可以回答自己的问题。首先,@ Maurits和@Poshi的评论都是正确的。我再次感谢他们。这可能是他们上面明智提到的更长的版本,但是下面是我的思考过程。这是针对其他初学者的,他们可能会陷入与我经历的同样的误解,以节省他们的时间和精力。

首先,如果文件创建者无意通过故意使用其他扩展名来欺骗用户,则fas(或fasta,fa)文件本质上是相同的。知道它是否真正基于相同格式的一种方法是,只需在任何ASCII文本编辑器或等效环境中打开它们,然后浏览前几行。但是,请注意,如果文件太大,它将占用您的RAM,并使您的计算机不舒服。

第二,我检查了文件是否确实包含定义行以及序列。我知道这是一种钝器(可能并不完全准确),但是即使在我进入ASCII级别之前,我还是使用以下方法在R上打开了它:

g <- gzcon(file("/MyDesktop/Ecoli_Genome.fas", "r")) # set to your path
fas <- readLines(g) # read directly from .gz file
close(g) # close the file connection
head(fas) # lines of the FASTQ formatted file

您可以在这里用自己的眼睛查看所有序列。 但是很显然,这不能使您兼容在此序列上使用Biostrings!

确保正确安装了Biostrings。它无法 通过install.packages(“ Biostrings”)安装。这是来源。

source("https://bioconductor.org/biocLite.R")

该网页为:     https://bioconductor.org/packages/release/bioc/html/Biostrings.html

第三,请了解fas(或fasta)可以将所有序列存储在一行中。它基本上是列表的一种复杂形式,并且您的序列可以以不同的方式存储,但是连续的碱基通常不需要分段存储。所以我的序列全都在一行中!

所以我的问题的解决方案是:

library(Biostrings)
dna <- readDNAStringSet("/MyDesktop/Ecoli_Genome.fas")

您可以通过打开进行确认:

> dna
  A DNAStringSet instance of length 1
      width seq                                                      names               
[1] 4641652 AGCTTTTCATTCTGACTGCAACGGGCA...AAAAAACGCCTTAGTAAGTATTTTTC U00096.3 

让我知道其他需要学习的评论。谢谢