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

How to apply a function to multiple FASTA sequences within a text file?

我在一个文本文件中有多个 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

DNA 示例:

> library('dplyr')
> v <- c('ATGCTAGCT', 'GTGTACGTAC')
> sapply(v, FUN = function(dna){
+     return(dna %>% tolower)
+ })
   ATGCTAGCT   GTGTACGTAC 
 "atgctagct" "gtgtacgtac"