如何删除R中FASTA格式参数中的间隙或可用空格?
我有一个DNA序列如何删除R中FASTA格式参数中的间隙或可用空格?,r,bioinformatics,fasta,dna-sequence,R,Bioinformatics,Fasta,Dna Sequence,我有一个DNA序列 x<-"CCACACCACACCCACACACCCACACACCACACCACACACCACACCACACCCACACACACA CATCCTAACACTACCCTAACACAGCCCTAATCTAACCCTGGCCAACCTGTCTCTCAACTT ACCCTCCATTACCCTGCCTCCACTCGTTACCCTGTCCCATTCAACCATACCACTCCGAAC CACCATCCATCCCTCTACTTACTACCACTCACCCACCGTTACCCTCCAAT
x<-"CCACACCACACCCACACACCCACACACCACACCACACACCACACCACACCCACACACACA
CATCCTAACACTACCCTAACACAGCCCTAATCTAACCCTGGCCAACCTGTCTCTCAACTT
ACCCTCCATTACCCTGCCTCCACTCGTTACCCTGTCCCATTCAACCATACCACTCCGAAC
CACCATCCATCCCTCTACTTACTACCACTCACCCACCGTTACCCTCCAATTACCCATATC
CAACCCACTGCCACTTACCCTACCATTACCCTACCATCCACCATGACCTACTCACCATAC
TGTTCTTCTACCCACCATATTGAAACGCTAACAAATGATCGTAAATAACACACACGTGCT
TACCCTACCACTTTATACCACCACCACATGCCATACTCACCCTCACTTGTATACTGATTT
TACGTACGCACACGGATGCTACAGTATATACCATCTCAAACTTACCCTACTCTCAGATTC
CACTTCACTCCATGGCCCATCTCTCACTGAATCAGTACCAAATGCACTCACATCATTATG
CACGGCACTTGCCTCAGCGGTCTATACCCTGTGCCATTTACCCATAACGCCCATCATTAT
CCACATTTTGATATCTATATCTCATTCGGCGGTCCCAAATATTGTATAACTGCCCTTAAT
ACATACGTTATACCACTTTTGCACCATATACTTACCACTCCATTTATATACACTTATGTC
AATATTACAGAAAAATCCCCACAAAAATCACCTAAACATAAAAATATTCTACTTTTCAAC
AATAATACATAAACATATTGGCTTGTGGTAGCAACACTATCATGGTATCACTAACGTAAA
AGTTCCTCAATATTGCAATTTGCTTGAACGGATGCTATTTCAGAATATTTCGTACTTACA
CAGGCCATACATTAGAATAATATGTCACATCACTGTCGTAACACTCTTTATTCACCGAGC
AATAATACGGTAGTGGCTCAAACTCATGCGGGTGCTATGATACAATTATATCTTATTTCC
ATTCCCATATGCTAACCGCAATATCCTAAAAGCATAACTGATGCATCTTTAATCTTGTAT
GTGACACTACTCATACGAAGGGACTATATCTAGTCAAGACGATACTGTGATAGGTACGTT
ATTTAATAGGATCTATAACGAAATGTCAAATAATTTTACGGTAATATAACTTATCAGCGG
CGTATACTAAAACGGACGTTACGATATTGTCTCACTTCATCTTACCACCCTCTATCTTAT
TGCTGATAGAACACTAACCCCTCAGCTTTATTTCTAGTTACAGTTACACAAAAAACTATG
CCAACCCAGAAATCTTGATATTTTACGTGTCAAAAAATGAGGGTCTCTAAATGAGAGTTT
GGTACCATGACTTGTAACTCGCACTGCCCTGATCTGCAATCTTGTTCTTAGAAGTGACGC
ATATTCTATACGGCCCGACGCGACGCGCCAAAAAATGAAAAACGAAGCAGCGACTCATTT
TTATTTAAGGACAAAGGTTGCGAAGCCGCACATTTCCAATTTCATTGTTGTTTATTGGAC"
预期输出应从ATG开始,但不是。请帮我解决这个问题。
此外,参数的长度可以是50k或更长。还有,有没有办法将这个fasta文件转换成字符串。请原谅我的语言,我是R的新手。使用基本R
substr(x, 1, 3)
"CCA"
有关详细信息,请键入
?substr
。您可以查看如何将fasta格式导入R我不确定您为什么同时加载stringr
和stringi
。无论如何,提取子字符串的问题是x
中的换行符(“\n”
)。您只需使用gsub
将其删除即可
选项1使用Biostrings
使用Biostrings
库是这里的首选选项,特别是如果您需要进一步研究DNA序列Biostrings
(以及其他Bioconductor库)的开发使得大多数涉及DNA/RNA序列数据的典型操作更加容易
library(Biostrings);
extractAt(BString(gsub("\n", "", x)), IRanges(335, 649));
#A BStringSet instance of length 1
# width seq
#[1] 315 ATGATCGTAAATAACACACACGTGCTTACCCTAC...ATATCTCATTCGGCGGTCCCAAATATTGTATAA
旁注:如果您的序列数据实际上在FASTA文件中,您只需使用readdnastingset
读取FASTA文件,它将自动处理换行。有关详细信息,请参阅?readDNAStringSet
选项2使用stringr::stru sub
选项3使用stringi::stri_sub
如何删除R中DNAstringset、AAStringSet或RNastringSet中的间隙、空格或不明确字符 需要删除具有不明确字符X的AAstringset的示例
库(deepredeff)
将AAstringset转换为数据帧
库(解密)
#提供浏览均衡、对齐功能
library(“Biostrings”)
#提供AAStringSet、DNAStringSet
seq可能您想使用Bioconductor处理fasta文件(通过readDNAStringSet()
)?无法复制:x
library(Biostrings);
extractAt(BString(gsub("\n", "", x)), IRanges(335, 649));
#A BStringSet instance of length 1
# width seq
#[1] 315 ATGATCGTAAATAACACACACGTGCTTACCCTAC...ATATCTCATTCGGCGGTCCCAAATATTGTATAA
stringr::str_sub(gsub("\n", "", x), start = 335, end = 649);
#[1] "ATGATCGTAAATAACACACACGTGCTTACCCTACCACTTTATACCACCACCACATGCCATACTCACCCTCACTTGTATACTGATTTTACGTACGCACACGGATGCTACAGTATATACCATCTCAAACTTACCCTACTCTCAGATTCCACTTCACTCCATGGCCCATCTCTCACTGAATCAGTACCAAATGCACTCACATCATTATGCACGGCACTTGCCTCAGCGGTCTATACCCTGTGCCATTTACCCATAACGCCCATCATTATCCACATTTTGATATCTATATCTCATTCGGCGGTCCCAAATATTGTATAA"
stringi::stri_sub(gsub("\n", "", x), from = 335, to = 649);
#[1] "ATGATCGTAAATAACACACACGTGCTTACCCTACCACTTTATACCACCACCACATGCCATACTCACCCTCACTTGTATACTGATTTTACGTACGCACACGGATGCTACAGTATATACCATCTCAAACTTACCCTACTCTCAGATTCCACTTCACTCCATGGCCCATCTCTCACTGAATCAGTACCAAATGCACTCACATCATTATGCACGGCACTTGCCTCAGCGGTCTATACCCTGTGCCATTTACCCATAACGCCCATCATTATCCACATTTTGATATCTATATCTCATTCGGCGGTCCCAAATATTGTATAA"
`BrowseSeqs(seq, highlight=0)`#browse
seqAA <- AAStringSet (seq)
names(seqAA) <- names
BrowseSeqs(seqAA, highlight=0)