我有一个txt文件,已经作为列表读入R。但是当我做biostring和matchpattern时,它可以读作biostring。这就是我所做的。
seq<-read.delim("sequence.txt",skip=1,header=F)
> head(seq)
AATTGTCCTTATTAATTGACGATGCTATATTATTAGTCTTTCCGACATTA
1 ATATCAAAGCTATGCGGTGTTGTACTGAACCGAGAAATATTTGTTAATGG
2 ATCTAAGTTTATGTTTGGCACTGGATCAGTTTGACGTCGTGCATTACTCG
3 CTATTGCTTTATCAAATTCGTTTTCTCCGACTGGTTTGTTGTTTTTTATG
4 TGTAAAGAATGCATATAACTAGGAACAGAAAATCGCCCGCTAGTGAAATT
5 GTGATATTCTGAATCTTTCCGCTGTAAGCGCTTTAAGTTTGTTGCAATTA
6 AGTGGGACGATGGAGGTGGGGGTAGACTGCTATTGTAAATTCCAACACCC
> nchar(seq)
AATTGTCCTTATTAATTGACGATGCTATATTATTAGTCTTTCCGACATTA
20379411
> seq1<-BString("seq",start=1,nchar=NA)
> bd<-DNAString("CAGGTAG")
> zld<-matchPattern(bd,seq1, max.mismatch=0)
> zld
Views on a 3-letter BString subject
subject: seq
views: NONE
出了什么问题?为什么它只能读3个字母?
非常感谢你的帮助!!!!
答案 0 :(得分:0)
您创建一个包含字符串&#34; seq&#34;的BString对象,而不是seq
变量的内容。我想你想把数据作为一个字符向量(而不是数据帧)来读取
seq <- readLines("Sequence.txt")[-1]
然后创建一个DNAStringSet(如果每一行都是一个差异序列)
dna <- DNAStringSet(seq)
或单个DNAString(如果多条线表示单个序列)
dna <- DNAString(paste(seq, collapse=""))
或者,也许您正在阅读FASTA file并且您跳过的那一行实际上是序列标识符&#34;&gt;一些| id&#34;,在这种情况下只是
dna <- readDNAStringSet("Sequence.txt")
最好在Bioconductor mailing list上询问有关Bioconductor包的问题(无需订阅)