R包biozhuoer——将fasta序列读入为tibble格式

biozhuoer-Github地址:https://github.com/dongzhuoer/biozhuoer

作者:董卓尔

其本科毕业论文还用bookdown放到了网上。

  • 数据:ensembl下载的TAIR10的cds序列

  • 功能介绍:

    biozhuoerread_fasta()write_fasta() 两个功能

    read_fasta() 是将fasta序列读入为tibble格式,第一列为name 是fasta格式序列的注释行除"">" 之外的内容。第二列为seq 是序列内容。还可以读入比对后的fasta格式,选择是否去掉"-"

    write_fasta() 是将tibble格式的序列写为fasta格式序列。

    两个功能都是基于tidyverse 编写的,可以到 https://rdrr.io/ 查询其代码学习一下。

#remotes::install_github('dongzhuoer/biozhuoer')
library(biozhuoer)
library(tidyverse)
setwd("F:\\文献\\笔记\\公众号文章\\biozhuoer——将fasta读入为tibble格式")
fasta <- read_fasta("./Arabidopsis_thaliana.TAIR10.cds.all.fa.gz")
head(fasta,3)
## # A tibble: 3 x 2
##   name                                    seq                                   
##                                                                       
## 1 AT5G16970.1 cds chromosome:TAIR10:5:55~ ATGACGGCGACGAACAAGCAAGTCATATTGAAAGACT~
## 2 AT4G32100.1 cds chromosome:TAIR10:4:15~ ATGGCAACAAACGCTTGCAAATTCCTTTGCCTAGTTC~
## 3 AT2G43120.2 cds chromosome:TAIR10:2:17~ ATGGCCCACAACCAATTCAAAGACAGTCTTGATCCTC~
 class(fasta)
## [1] "tbl_df"     "tbl"        "data.frame"

tibble.png

读入之后就可以用dplyrstringr 做你想做的统计和内容提取,比如提取最长转录本。

df <- fasta %>% mutate(length = str_length(fasta$seq))
head(df)
## # A tibble: 6 x 3
##   name                                seq                                 length
##                                                                  
## 1 AT5G16970.1 cds chromosome:TAIR10:~ ATGACGGCGACGAACAAGCAAGTCATATTGAAAG~   1038
## 2 AT4G32100.1 cds chromosome:TAIR10:~ ATGGCAACAAACGCTTGCAAATTCCTTTGCCTAG~    369
## 3 AT2G43120.2 cds chromosome:TAIR10:~ ATGGCCCACAACCAATTCAAAGACAGTCTTGATC~   1119
## 4 AT2G43120.1 cds chromosome:TAIR10:~ ATGAGAGCTGCAATAAACAGAGCAAATTCACTTG~    966
## 5 AT1G30814.1 cds chromosome:TAIR10:~ ATGAAAGACCATGAAAGAGCTATACTGGAAGAAA~    918
## 6 AT1G30814.4 cds chromosome:TAIR10:~ ATGAAAGACCATGAAAGAGCTATACTGGAAGAAA~    873

将序列保存为fasta格式

write_fasta(fasta,"./at_cds.fa")

可能是由于我路径中文的原因,在使用write_fasta() 是有乱码报错,但是不影响输出文件。

读出fasta.png

你可能感兴趣的:(R包biozhuoer——将fasta序列读入为tibble格式)