, поэтому я хочу выполнить несколько сложную задачу с файлом FASTA с последовательностями экзонов, такими как:
>MSTRG.1.1_1_30
AAAACGGAGGACCAAGCCGTTTGCCGTACG
>MSTRG.1.1_2_20
CCCGAAGGGCGTTAGTGAGC
>MSTRG.2.1_1_30
ACGGGAGCGTTGTCGACCGGTTGCGAGCGT
>MSTRG.2.1_2_10
AACGGGACCT
>MSTRG.2.1_3_15
AACGTTTGCGTCTCT
Как видно, у меня есть две расшифровки, называемые MSTRG.1.1 и MSTRG.2.1.Первый транскрипт имеет два экзона, первый называется MSTRG.1.1_1_30 и имеет длину 30 букв.Второй экзон (фрагмент) состоит из 20 букв.Напротив, другой транскрипт имеет три экзона, по 30, 10 и 15 букв в каждом.
Есть еще много транскриптов и более 3 экзонов, максимум до 20, более или менее.
Как видите, идентификатор последовательности букв состоит из имени транскрипта "MSTRG.XX", нумерации экзона и длины строки.
Что я хочудля достижения является следующее:
>MSTRG.1.1_1_2
AAAACGGAGGACCAAGCCGTTTGCCGTACGNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCCCGAAGGGCGTTAGTGAGC
>MSTRG.2.1_1_2
ACGGGAGCGTTGTCGACCGGTTGCGAGCGTNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNAACGGGACCT
>MSTRG.2.1_2_3
AACGGGACCTNNNNNNNNNNNNNNNNAACGTTTGCGTCTCT
Некоторое объяснение:
Я хочу объединить все последовательные экзоны в одном транскрипте, поэтому для транскрипта 1, поскольку есть два экзона, только один объединенпоследовательность, полученная в результате объединения экзонов 1 и 2. Для транскрипта 2 результатом будут две комбинации: экзоны 1 и 2 и экзоны 2 и 3 и т. д., в случае существования большего количества экзонов, чтобы получить n-1 комбинаций, где n - количество экзонов.
Помимо этого, я хочу ввести строку Ns между двумя комбинированными экзонами, длина которой равна самому длинному экзону меня.средняя пара + 1. Скажем, в первом случае вводим строку из 31 Нс между экзоном 1 и 2. Тогда как во втором случае вводим строку из 31 Нс между экзоном 1 и 2 и строку из 16 Нс между экзоном2 и 3.
Это в основном моя главная и хитрая задача.Кто-нибудь знает или придумал решение, основанное на Python, BASH, AWK, R, Perl или аналогичном?
Я пытался решить эту проблему, но не смог найти хорошее общее решение для обхода одного и того жестенограммы при их объединении ...
Большое спасибо.