R 如何将函数应用于文本文件中的多个FASTA序列?

R 如何将函数应用于文本文件中的多个FASTA序列?,r,bioinformatics,fasta,R,Bioinformatics,Fasta,我在一个文本文件中有多个fasta序列,如下所示: >header1 ACTGACTG >header2 ATGCATGC ... 我想一次应用所有序列的函数。有没有一个功能可以实现这一点 每一个答案都将不胜感激。答案很简单=sapply()。如果您想将函数应用于某些对象的列表,可以使用sapply()方法,这是一个map()函数(您可能从python中知道这一点)。以下是一个例子: v <- sample(1:100, 10) > v [1] 92 69 87 42

我在一个文本文件中有多个fasta序列,如下所示:

>header1
ACTGACTG
>header2
ATGCATGC
...
我想一次应用所有序列的函数。有没有一个功能可以实现这一点


每一个答案都将不胜感激。

答案很简单=
sapply()
。如果您想将函数应用于某些对象的列表,可以使用
sapply()
方法,这是一个
map()
函数(您可能从python中知道这一点)。以下是一个例子:

v <- sample(1:100, 10)
> v
 [1] 92 69 87 42  7 33 51 62 26 80
f <- function(x){
+     # T if even else F
+     return(!x %% 2)
+ }
> sapply(v, FUN = f)
 [1]  TRUE FALSE FALSE  TRUE FALSE FALSE FALSE  TRUE  TRUE  TRUE
v
[1] 92 69 87 42  7 33 51 62 26 80
f sapply(v,FUN=f)
[1] 真假假假真假假假真真
DNA的例子:

> library('dplyr')
> v <- c('ATGCTAGCT', 'GTGTACGTAC')
> sapply(v, FUN = function(dna){
+     return(dna %>% tolower)
+ })
   ATGCTAGCT   GTGTACGTAC 
 "atgctagct" "gtgtacgtac" 
>库('dplyr')
>v sappy(v,FUN=函数(dna){
+返回(dna%>%tolower)
+ })
ATGCTAGCT GTACGTAC
“atgctagct”“gtgtacgtac”

如果您正在寻找并行计算,有像
parallel
这样的R包可以提供帮助。但是这个问题太难回答了,请编辑并提供更多细节。如果您提供了一个简单的示例输入和所需的输出,可以用来测试和验证可能的解决方案,这将更容易帮助您。以下是关于在生物信息学中使用GNU并行的教程:(这个网站是为编程相关的问题;可能是你将来想要的)看看这个软件包是否有帮助-。澄清什么是预期的输出-“应用函数”-太广泛了。