遍历以R为基础的.txt文件中的多个子字符串

问题描述 投票:1回答:1

我的任务是使用base R(无软件包)计算FASTA文件的GC内容。我的问题是,在存储序列名称以及Cs和Gs的数量时,我不知道如何实用地遍历序列。

我可以读入的示例FASTA文件(作为.txt文件:]

>T7_promoter
ATTAGACGAG
>T3_promoter
TTTGCGCGAAATTTTTTTTT

*这里没有引号,但>表示不同的顺序。

这样我的输出将在概念上类似于-

T7_promoter: 0.4 (ratio of GC from # of Gs and Cs)
T3_promoter: 0.25

非常感谢所有帮助。我目前正在使用readLines()通过文件。我尝试对unlist(strsplit())自然产生的每个元素使用strsplit(),以尝试将每个序列作为元素存储在列表中。然后,我可以遍历每个元素以获取计算,但是我的执行未成功。

r bioinformatics biopython fasta
1个回答
0
投票

您可以使用dat <- read.csv("file.txt", sep = " ", header = FALSE)读取数据框的行。

然后您可以用来计算G和C的数量

dat$Gs <- lengths(regmatches(lines$V2, gregexpr("G", dat$V2)))
dat$Cs <- lengths(regmatches(lines$V2, gregexpr("C", dat$V2)))

最后需要做的是比率的计算:dat$ratio <- dat$Gs/dat$Cs

© www.soinside.com 2019 - 2024. All rights reserved.