如何将函数应用于文本文件中的多个 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"
我在一个文本文件中有多个 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"