biozhuoer-Github地址:https://github.com/dongzhuoer/biozhuoer
作者:董卓尔
其本科毕业论文还用bookdown
放到了网上。
-
数据:ensembl下载的TAIR10的cds序列
-
功能介绍:
biozhuoer
有read_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
## <chr> <chr>
## 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
读入之后就可以用
dplyr
和stringr
做你想做的统计和内容提取,比如提取最长转录本。
df <- fasta %>% mutate(length = str_length(fasta$seq))
head(df)
## # A tibble: 6 x 3
## name seq length
## <chr> <chr> <int>
## 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()
是有乱码报错,但是不影响输出文件。
网友评论