温馨提示:本文翻译自stackoverflow.com,查看原文请点击:其他 - How to count amino acids in a FASTA file with multiple protein sequences, using R
bioinformatics count fasta r

其他 - 其他-如何使用R计算具有多个蛋白质序列的FASTA文件中的氨基酸

发布于 2020-07-02 23:28:08

有一个fasta文件包含如下所示的这两个蛋白序列,我想计算一下氨基酸A在每个序列中出现多少次。

>sp|P01920|DQB1_HUMAN HLA class II histocompatibility antigen, DQ beta 1 chain OS=Homo sapiens OX=9606 GN=HLA-DQB1 PE=1 SV=2
MSWKKALRIPGGLRAATVTLMLAMLSTPVAEGRDSPEDFVYQFKAMCYFTNGTERVRYVT
RYIYNREEYARFDSDVEVYRAVTPLGPPDAEYWNSQKEVLERTRAELDTVCRHNYQLELR
TTLQRRVEPTVTISPSRTEALNHHNLLVCSVTDFYPAQIKVRWFRNDQEETTGVVSTPLI
RNGDWTFQILVMLEMTPQHGDVYTCHVEHPSLQNPITVEWRAQSESAQSKMLSGIGGFVL
GLIFLGLGLIIHHRSQKGLLH

>sp|P18440|ARY1_HUMAN Arylamine N-acetyltransferase 1 OS=Homo sapiens OX=9606 GN=NAT1 PE=1 SV=2
MDIEAYLERIGYKKSRNKLDLETLTDILQHQIRAVPFENLNIHCGDAMDLGLEAIFDQVV
RRNRGGWCLQVNHLLYWALTTIGFETTMLGGYVYSTPAKKYSTGMIHLLLQVTIDGRNYI
VDAGFGRSYQMWQPLELISGKDQPQVPCVFRLTEENGFWYLDQIRREQYIPNEEFLHSDL
LEDSKYRKIYSFTLKPRTIEDFESMNTYLQTSPSSVFTSKSFCSLQTPDGVHCLVGFTLT
HRRFNYKDNTDLIEFKTLSEEEIEKVLKNIFNISLQRKLVPKHGDRFFTI

此代码

library(seqinr)
data <- read.fasta(file = "yourlist.fasta", as.string = TRUE)
library(stringr)
ACount <- stri_count_regex("A",data)

给出显示在图片上的结果。在此处输入图片说明

尽管字符A在这两个序列中都存在,但不计算在内。有什么想法为什么会这样?感谢您的关注。

查看更多

提问者
Rea Kalampaliki
被浏览
2
dqt 2020-04-09 06:17

您的代码似乎有一些错误。按照您的程序,这对我来说效果很好:

library(seqinr)
data <- read.fasta(file = "yourlist.fasta", seqtype = "AA", as.string = TRUE, set.attributes = FALSE)

library(stringi)
ACount <- stri_count_regex(data, "A")

您必须使用seqtype参数指定序列的类型,默认为“ DNA”。您必须将其更改为“ AA”(蛋白质)。stri_count_regex功能是stringi基本R软件包的一部分。

我现在得到:

> str(ACount)
 int [1:2] 14 7