неожиданные результаты при сравнении подпоследовательностей Biostrings с использованием идентичной функции - PullRequest
1 голос
/ 03 марта 2020

Я проверяю, присутствует ли последовательность в начале и в конце более длинной последовательности. Я подумал об использовании identical, но это дает мне удивительный результат:

library(Biostrings)

EcoRI <- DNAString("GAATTC")
myseq <- DNAString("GAATTCGGGGAAAATTTTCCCCGAATTC")

EcoRI
#  6-letter "DNAString" instance
#seq: GAATTC

subseq(myseq, 1, 6)
#  6-letter "DNAString" instance
#seq: GAATTC

subseq(myseq, 23, 28)
#  6-letter "DNAString" instance
#seq: GAATTC

identical(EcoRI, subseq(myseq, 1, 6))
#TRUE

identical(EcoRI, subseq(myseq, 23, 28)) 
#FALSE

identical(subseq(myseq, 1, 6), subseq(myseq, 23, 28)) 
#FALSE

Простое решение заключается в использовании:

identical(toString(EcoRI), toString(subseq(myseq, 23, 28)))
# TRUE

Но я не понимаю, почему identical вкл DNAString объекты возвращают FALSE иногда.
Сравнивает ли identical также атрибуты offset?

attributes(EcoRI)$offset
#[1] 0
attributes(subseq(myseq, 1, 6))$offset
#[1] 0
attributes(subseq(myseq, 23, 28))$offset
#[1] 22
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...