Welcome, Guest. Please Login or Register
UGENE Bulletin Board
  Welcome to our forum.
  HomeHelpSearchLoginRegister  
 
 
Pages: 1 2 
Выравнивание большого числа сэнгеровских ридов на референс (Read 32066 times)
Jul 23rd, 2014 at 3:34pm

Ilya Flyamer   Offline
Full Member

Gender: male
Posts: 126
***
 
Хотел спросить, как лучше всего сделать следующее. У меня есть плазмида, а в ней ген. Я с помощью сэнгеровского секвенирования получил сравнительно много (18, кажется) длинных ридов этого гена и его ближайших окрестностей. Как лучше всего выровнять их на плазмиду или ее участок?
Проблема заключается в том, что по краям ридов как всегда сиквенс ужасный, то есть его никак нельзя использовать. Было бы это 1 или 2 рида, я бы вручную выбрал нормальные участки и был бы доволен. Но тут их довольно много, мне, конечно, лень. Может есть способ автоматически обрезать эти файлы по качеству букв? Или стоит добавить особую фичу для такого типа задач? Это было бы мега-удобно. Например, в одном окне открываются друг над другом все выбранные ab1 файлы, предлагаются автоматически определенные границы для обрезки концов, которые можно вручную подправить, потом все сразу экспортируются в фаста файл(ы), а потом выравниваются на заданную последовательность.
 
IP Logged
 
Reply #1 - Jul 23rd, 2014 at 4:48pm

Yuriy Vaskin   Offline
Global Moderator

Gender: male
Posts: 138
*****
 
Илья, мы делаем укорачивание ридов по качеству для FASTQ файлов, которые идут из NGS-секвенирования.
Это делаеться с помощью воркфлоу-элемента FASTQ Quality Trimmer, повторяющего функционал fastq_quality_trimmer из FASTX Toolkit(http://hannonlab.cshl.edu/fastx_toolkit/). Этот элемент доступен в UGENE 1.14 (http://ugene.unipro.ru/shared-db.html или http://ugene.unipro.ru/snapshot.html).

Как бы теперь преобразать abi в FASTQ с сохранением quality scores? Можно попробовать тоже с нашим Workflow Designer, через элемент Convert File Format, но я не уверен, что он сохраняет quality scores. Если не сохраняет, то можно попробовать сторонние тулы для этого (http://seqanswers.com/forums/showthread.php?t=3165)
 
IP Logged
 
Reply #2 - Jul 23rd, 2014 at 5:28pm

Olga Golosova   Offline
YaBB Administrator

Posts: 338
*****
 
Илья, Вы не могли бы прикрепить примеры файлов ABI?
 
IP Logged
 
Reply #3 - Jul 23rd, 2014 at 6:24pm

Ilya Flyamer   Offline
Full Member

Gender: male
Posts: 126
***
 
Юрий,
ясно, спасибо, надо будет попробовать, когда выйдет 1.14. Кажется, там намечается много полезного!

Ольга,
вот архив с ab1 файлами, которые я как раз использую: https://yadi.sk/d/EWIHJjgSXBRST
А во вложении последовательность плазмиды, которую я проверяю.
 
IP Logged
 
Reply #4 - Jul 23rd, 2014 at 6:40pm

Olga Golosova   Offline
YaBB Administrator

Posts: 338
*****
 
К сожалению, в текущей версии UGENE quality values не сохраняются при конвертации ABI в FASTQ. Завела баг, починен будет наверно уже в 1.14.1, т.к. 1.14 уже на подходе.

Так что, Илья, пока что придется Вам законвертить ABI в FASTQ вручную Smiley
Обращайтесь, если понадобится помощь с FASTQ Quality Trimmer.
 
IP Logged
 
Reply #5 - Jul 23rd, 2014 at 7:23pm

Ilya Flyamer   Offline
Full Member

Gender: male
Posts: 126
***
 
Ну, я, честно сказать, сейчас накатал скрипт на питоне, который с помощью abifpy автоматически обрезает плохие буквы (а там это реализовано по алгоритму из phred), и пишет fastq файлы с сохранением качества.

Может, кому пригодится.
Code:
#!/usr/bin/env python
# -*- coding: utf-8 -*-

import sys
from os import path
from abifpy import Trace

def convert(filename, cutoff=0.05):
    print 'Quality-trimming and converting file', filename
    outfile = path.splitext(filename)[0]+'.fastq'
    print 'Saving .fastq file to', outfile
    f = Trace(filename)
    f.trim(f.seq, cutoff)
    f.trim(f.qual, cutoff)
    f.trim(f.qual_val, cutoff)
    f.export(outfile, 'fastq')

for i in sys.argv[1:]:
    infile = i.decode('UTF8')
    convert(infile) 



Принимает .ab1 файлы на вход, пишет в ту же директорию обрезанные .fastq с тем же названием, но другим расширением.

Вручную это не пойдет Smiley

Но все равно буду рад, если в юджине появится возможность это сделать, большинству биологов сделать это в юджине будет сильно проще.
« Last Edit: Jul 24th, 2014 at 12:12pm by Ilya Flyamer »  
IP Logged
 
Reply #6 - Jul 25th, 2014 at 8:16pm

Yuriy Vaskin   Offline
Global Moderator

Gender: male
Posts: 138
*****
 
Ilya Flyamer wrote on Jul 23rd, 2014 at 7:23pm:
Ну, я, честно сказать, сейчас накатал скрипт на питоне, который с помощью abifpy автоматически обрезает плохие буквы (а там это реализовано по алгоритму из phred), и пишет fastq файлы с сохранением качества.

Может, кому пригодится.
Code:
#!/usr/bin/env python
# -*- coding: utf-8 -*-

import sys
from os import path
from abifpy import Trace

def convert(filename, cutoff=0.05):
    print 'Quality-trimming and converting file', filename
    outfile = path.splitext(filename)[0]+'.fastq'
    print 'Saving .fastq file to', outfile
    f = Trace(filename)
    f.trim(f.seq, cutoff)
    f.trim(f.qual, cutoff)
    f.trim(f.qual_val, cutoff)
    f.export(outfile, 'fastq')   
   
for i in sys.argv[1:]:
    infile = i.decode('UTF8')
    convert(infile) 



Принимает .ab1 файлы на вход, пишет в ту же директорию обрезанные .fastq с тем же названием, но другим расширением.

Вручную это не пойдет Smiley

Но все равно буду рад, если в юджине появится возможность это сделать, большинству биологов сделать это в юджине будет сильно проще.


Илья, спасибо за скрипт. Нам на почту написал пользователь по аналогичному вопросу и я ему отправил ваш труд
 
IP Logged
 
Reply #7 - Jul 25th, 2014 at 8:24pm

Ilya Flyamer   Offline
Full Member

Gender: male
Posts: 126
***
 
Всегда рад помочь! Если у пользователя есть какие-то вопросы, я готов помочь.
 
IP Logged
 
Reply #8 - Aug 19th, 2014 at 3:14pm

Ilya Flyamer   Offline
Full Member

Gender: male
Posts: 126
***
 
Вот еще момент, непосредственно к теме не относится, но идея у меня возникла при выполнении именно такого выравнивания и его просмотре. Можно ли добавить возможность автоматической перестройки порядка последовательностей в выравнивании, так, чтобы наверху всегда были те из них, которые лучше всего выровнены на референс в той области, которую сейчас видно? То есть, например, я заклонировал плазмиду и знаю, какая должна быть последовательность суммарная. Секвенирую многими праймерами, выравниваю, а при сверке полученных последовательностей с референсом всегда надо смотреть на верхние строчки выравнивания (а референс тогда автоматически помещается на самую верхнюю строку).
Мне бы это было очень полезно и удобно, не знаю, может, это редко встречающаяся необходимость...
 
IP Logged
 
Reply #9 - Aug 19th, 2014 at 3:55pm

Olga Golosova   Offline
YaBB Administrator

Posts: 338
*****
 
Я правильно понимаю, что Вы хотели бы видеть в редакторе выравниваний следующий новый режим: в заданном участке выравнивания проверяется схожесть всех последова0тельностей с референсной (только на отображаемом участке) и порядок последовательностей меняется в соответствии со степенью схожести. При этом:
  1) при любом изменении множественного выравнивания
  2) при перемещении на другой регион
  3) при увеличении/уменьшении масштаба
происходит автоматический пересчет и порядок меняется.
 
IP Logged
 
Reply #10 - Aug 19th, 2014 at 4:10pm

Ilya Flyamer   Offline
Full Member

Gender: male
Posts: 126
***
 
Да, все точно! Smiley
Как считать схожесть, конечно, вопрос - в идеале, должен быть выбор из разных способов, но в принципе должно быть достаточно просто по числу точно совпадающих символов.
 
IP Logged
 
Reply #11 - Aug 19th, 2014 at 5:51pm

Olga Golosova   Offline
YaBB Administrator

Posts: 338
*****
 
Создала UGENE-3397, но замечу, что вряд ли в ближайшее время сделаем. Только если найдете единомышленников, которые нам оставят подобные отзывы.
 
IP Logged
 
Reply #12 - Aug 19th, 2014 at 5:59pm

Ilya Flyamer   Offline
Full Member

Gender: male
Posts: 126
***
 
Спасибо!
Да, я понимаю, что это, возможно, не самый тривиальный запрос, да и нужно не слишком часто. Повторюсь, при данной конкретной задаче это было бы, возможно, просто killer feature - сильно бы упростило проверку сиквенса длинной вставки после клонирования и т.п.
 
IP Logged
 
Reply #13 - Aug 19th, 2014 at 6:03pm

Olga Golosova   Offline
YaBB Administrator

Posts: 338
*****
 
Понятно, учтем!
 
IP Logged
 
Reply #14 - Jan 23rd, 2015 at 5:23pm

German   Offline
Full Member

Posts: 118
***
 
Илья, в текущем релизе мы планируем сделать небольшой шаг вперед по анализу результатов секвенирования по Сэнгеру. В UGENE 1.16 планируется новая схема в Workflow Designer со следующими характеристиками и возможностями:
1) Схема принимает в качестве входных данных:
  а) Набор файлов в формате ABI, в которых хранятся результаты секвенирвания (риды).
  б) Файл с референсной последовательностью.
2) В процессе работы концы ридов с плохим качеством обрезаются. Используется FASTQ Quality Trimmer.
3) После этого полученные последовательности по одному выравниваются на референс. Используется алгоритма Смита-Ватермана, то есть локальное выравнивание.
4) Кроме того, автоматически определяется, нужно ли заменить последовательность рида на обратно-комплементарную. При секвенировании часто бывает, что некоторые из ридов были получены из комплементарной цепи. Автоматическое разворачивание было бы удобным.
5) Результатом работы схемы является файл с множественным выравниванием. Первая последовательность выравнивания - референсная, остальные - выровненные риды. Если рид был заменен на обратно-комплементарный, то к его имени добавляется суффикс "_rev".
 
IP Logged
 
Pages: 1 2