2015-08-25 11 views
0

Я провел небольшую последовательность РНК и попытался проанализировать файл результата fastq.Извлечь последовательность положительных ударов из vcountPattern в R

Сначала я импортировал файл fastq в R с использованием пакета ShortRead и преобразуется в DNAstringSet

reads <- readFastq("test.fq") 
seq <- sread(reads) 

Чтобы искать для чтения, которые содержат определенную строку последовательностей, я использовал vcountPattern из библиотеки Biostrings. Я должен разрешить мутации и цели для моей цели анализа.

hit <-vcountPattern("TCTGCATTTAAGGCAAGTT", seq, max.mismatch=5, with.indels=TRUE) 

Что я мог сделать здесь, чтобы подсчитать количество прочтений, что содержащий "TCTGCATTTAAGGCAAGTT"

sum (hit) 

возвращает

[1] 11500

Так есть 11500 последовательность читать, содержащие «TCTGCATTTAAGGCAAGTT»

Но, кроме того, w Я хочу, чтобы извлечь фактические последовательности, которые соответствуют 11500 чтениям из файла fastq.

Как я могу это достичь?

hit 

Если я просто сделать это, это дает кучу «0», небольшого числа «1», очень немногие из «2». Поэтому я считаю, что это в основном вектор, соответствующий количеству попаданий в каждом чтении.

Я попытался извлечь информацию о последовательности, используя эту информацию, но не смог этого сделать.

Любые помощь приветствуется!

+0

FYI: Пользователь использует пакет Bioconducter «ShortRead» https://darrenjw.wordpress.com/2010/11/29/a-quick-introduction-to-the-bioconductor-shortread-package-for-the- анализ-о-НГС-данные /. Нелегко повторить этот код, если вы не можете дать нам файл fq для игрушек. Знание анализа последовательности полезно здесь. – Sean

+0

Дорогой Холмс, я подготовил игрушку fastq, которую вы можете скачать здесь [link] (https://drive.google.com/file/d/0ByEbUQPY_T_oci1fbDFHSHQ4WUk/view?usp=sharing).Когда я попробовал свой скрипт, используя этот файл fastq, есть 3 положительных момента. В основном я хочу извлечь только положительные удары из файлов fastq. Размер моих исходных файлов fastq в 200 раз больше этого. – gdy

+0

Не обращайте внимания на Холмса, я посмотрел ссылку, которую вы предоставили, и я получил от нее ответ. sread (reads [hit]) решил проблему – gdy

ответ

1

Как следует из названия, vcountPattern только кол-во совпадения по образцу. Он не предоставляет вам место. Используйте для этого vmatchPattern. К сожалению, эта функция не поддерживает with.indels = TRUE (еще?) - это и раздражает, и немного сложно понять.

Вместо этого вы можете использовать matchPattern. Поскольку matchPattern работает только на одной последовательности, а не набор, вам необходимо вручную применить функцию к XStringSet:

hits = lapply(seq, matchPattern, 
       pattern = "TCTGCATTTAAGGCAAGTT", 
       max.mismatch = 5, with.indels = TRUE) 

Очевидная причина, вероятно, что vmatchPattern реализован с использованием другого алгоритма чем matchPattern, и этот алгоритм не поддерживает индексы. Однако на самом деле нет веской причины не просто предоставить обертку вокруг lapply, которую мы используем выше.

+0

Спасибо Konrad, я думал, что ваш метод должен работать, но это не так. В основном он не выбирает позитивный удар, скорее он показывает все последовательности fastq, например «Представления по 31-буквенному объекту DNAString тема: GCATTGGTGGATCAGTGGTAGAATTCTCCCCC просмотров: NONE». Номера таких записей совпадают с количеством последовательностей из исходного fastq. – gdy

+0

Я подготовил игрушку fastq файл, который является небольшой частью моего файла fastq. если вы попробуете это, у меня будет 3 положительных удара. В основном я хочу извлечь информацию о последовательности из трех положительных ударов из этого файла fastq и отбросить большинство других отрицательных ударов. Вы можете скачать игру файл fastq в следующей ссылке [link] (https://drive.google.com/file/d/0ByEbUQPY_T_oci1fbDFHSHQ4WUk/view?usp=sharing) – gdy

+0

Дорогой Конрад, я просмотрел ссылку, которую предоставил Холмс, и я У меня есть ответ. sread (reads [hit]) будет извлекать только положительные последовательности. Но я ценю вашу помощь! – gdy

 Смежные вопросы

  • Нет связанных вопросов^_^