如何查找参数中字符出现的百分比?
How to find percentage of occurrence of characters in an argument?
如果数据是
,我应该如何计算参数中字符出现的百分比
t<-c(UUU,UUC,UUA,UUG,CUU,CUC,CUA,CUG,AUU,AUC,AUA,AUG,GUU,GUC,GUA,GUG,UCU,UCC,UCA,UCG,CCU,CCC,CCA,CCG,ACU,ACC,ACA,ACG,GCU,GCC,GCA,GCG,UAU,UAC,UAA,UAG,CAU,CAC,CAA,CAG,AAU,AAC,AAA,AAG,GAU,GAC,GAA,GAG,UGU,UGC,UGA,UGG,CGU,CGC,CGA,CGG,AGU,AGC,AGA,AGG,GGU,GGC,GGA,GGG)
我想做一个关于这个的函数,这可能会帮助我将来计算更多的问题。
假设我们的论点是-
(UUUUUCUUAUUGCUUCUCCUACUGAUUAUCAUAAUGGUUGUCGUAGUGUCUUCCUCAUCGCCUCCCCCACCGACUACCACAACGGCUGCCGCAGCGUAUUACUAAUAGCAUCACCAACAGAAUAACAAAAAGGAUGACGAAGAGUGUUGCUGAUGGCGUCGCCGACGGAGUAGCAGAAGAGGUGGCGGAGGG)
此外,阅读框将从 3(例如 AUG、GUG)的数量开始
我得到了下面的代码,但我希望我的答案以列表的形式出现,其中有两列名为计数和百分比,请帮助我修改此代码以按要求的方式给出百分比。
seqn <- c("UUA","AUC","GUA", "UUA", "GAU", "UUA") #your sequence
l_seq <- length(seqn)
u_seq <- unique(seqn)
seq_long <- "UUUAUGGGCG"
seqn <- unlist(str_extract_all(seq_long, pattern = "[AUGC]{3}"))
colSums(sapply(u_seq, function(s) str_count(string = seqn,pattern = s)))/l_seq
帮助我更正此代码我希望我的论点像 UGCUGCUAUGAAUGAUG 一样连续
这可能适合你:
require(stringr)
bases <- c("U","A","G","C")
sapply(bases, function(b) str_count(string = c("UUA","AUC","GUA"),pattern = b))
U A G C
[1,] 2 1 0 0
[2,] 1 1 0 1
[3,] 1 1 1 0
编辑:基础遗传学
EDIT2:根据您的评论,这可能有效
seqn <- c("UUA","AUC","GUA", "UUA", "GAU", "UUA") #your sequence
l_seq <- length(seqn) #length of sequence
u_seq <- unique(seqn) #unique codons
# This calculates the fractions of the unique codons in your sequence
colSums(sapply(u_seq, function(s) str_count(string = seqn,pattern = s)))/l_seq
UUA AUC GUA GAU
0.5000000 0.1666667 0.1666667 0.1666667
EDIT3:根据你的第二个问题,你可以将字符串分成 3 个字母密码子,如下所示:
seq_long <- "UUUAUGGGCG"
seqn <- unlist(str_extract_all(seq_long, pattern = "[AUGC]{3}"))
和 运行 来自 EDIT2 的代码。如果您的序列不是 3 的倍数,您将丢失最后一个字母。你可以用一些填充来解决这个问题。
如果数据是
,我应该如何计算参数中字符出现的百分比t<-c(UUU,UUC,UUA,UUG,CUU,CUC,CUA,CUG,AUU,AUC,AUA,AUG,GUU,GUC,GUA,GUG,UCU,UCC,UCA,UCG,CCU,CCC,CCA,CCG,ACU,ACC,ACA,ACG,GCU,GCC,GCA,GCG,UAU,UAC,UAA,UAG,CAU,CAC,CAA,CAG,AAU,AAC,AAA,AAG,GAU,GAC,GAA,GAG,UGU,UGC,UGA,UGG,CGU,CGC,CGA,CGG,AGU,AGC,AGA,AGG,GGU,GGC,GGA,GGG)
我想做一个关于这个的函数,这可能会帮助我将来计算更多的问题。
假设我们的论点是-
(UUUUUCUUAUUGCUUCUCCUACUGAUUAUCAUAAUGGUUGUCGUAGUGUCUUCCUCAUCGCCUCCCCCACCGACUACCACAACGGCUGCCGCAGCGUAUUACUAAUAGCAUCACCAACAGAAUAACAAAAAGGAUGACGAAGAGUGUUGCUGAUGGCGUCGCCGACGGAGUAGCAGAAGAGGUGGCGGAGGG)
此外,阅读框将从 3(例如 AUG、GUG)的数量开始 我得到了下面的代码,但我希望我的答案以列表的形式出现,其中有两列名为计数和百分比,请帮助我修改此代码以按要求的方式给出百分比。
seqn <- c("UUA","AUC","GUA", "UUA", "GAU", "UUA") #your sequence
l_seq <- length(seqn)
u_seq <- unique(seqn)
seq_long <- "UUUAUGGGCG"
seqn <- unlist(str_extract_all(seq_long, pattern = "[AUGC]{3}"))
colSums(sapply(u_seq, function(s) str_count(string = seqn,pattern = s)))/l_seq
帮助我更正此代码我希望我的论点像 UGCUGCUAUGAAUGAUG 一样连续
这可能适合你:
require(stringr)
bases <- c("U","A","G","C")
sapply(bases, function(b) str_count(string = c("UUA","AUC","GUA"),pattern = b))
U A G C
[1,] 2 1 0 0
[2,] 1 1 0 1
[3,] 1 1 1 0
编辑:基础遗传学
EDIT2:根据您的评论,这可能有效
seqn <- c("UUA","AUC","GUA", "UUA", "GAU", "UUA") #your sequence
l_seq <- length(seqn) #length of sequence
u_seq <- unique(seqn) #unique codons
# This calculates the fractions of the unique codons in your sequence
colSums(sapply(u_seq, function(s) str_count(string = seqn,pattern = s)))/l_seq
UUA AUC GUA GAU
0.5000000 0.1666667 0.1666667 0.1666667
EDIT3:根据你的第二个问题,你可以将字符串分成 3 个字母密码子,如下所示:
seq_long <- "UUUAUGGGCG"
seqn <- unlist(str_extract_all(seq_long, pattern = "[AUGC]{3}"))
和 运行 来自 EDIT2 的代码。如果您的序列不是 3 的倍数,您将丢失最后一个字母。你可以用一些填充来解决这个问题。