Существует множество форматов файлов для хранения выравниваний последовательностей. Я пытаюсь выяснить, какой формат файла наиболее часто используется для хранения выравнивания и связанных аннотаций, таких как объекты, наборы таксонов и наборы символов. Представьте себе выравнивание нескольких геномов из двух разных мест, каждый геном имеет несколько генов и особенности, характерные для определенных геномов. В каком формате файла выравнивания лучше всего хранить всю эту информацию и быть уверенным, что разумное количество программ сможет интерпретировать информацию? M
Я перечислил в качестве ответов все разные файлы форматы, которые я мог придумать, чтобы хранить выравнивания последовательностей. Пожалуйста, проголосуйте за те, которые вы используете чаще всего, и выберите наиболее полезные. Пожалуйста, добавьте любые дополнительные форматы файлов выравнивания, о которых я не думал.
PS: Нам действительно нужна опция опроса в Biostar, потому что мне приходит в голову, что люди, вероятно, не будут голосовать ни за один из них. варианты.
PPS: У кого-нибудь есть идеи, как я могу получить отзывы от сообщества биоинформатиков по этому вопросу?
SAM/BAM, вероятно, наиболее распространенный формат для хранения выравниваний (по крайней мере, с данными NGS).
FASTA — отличный формат файла, который может хранить выравнивание. Последовательность иногда переносится на несколько строк, но не сверхурочно. Его иногда называют FASTA align или A2M in emboss, как объясняет @ddiez в комментариях ниже.
Следующие филогенетические программы принимают FASTA в качестве входных данных, хотя они ожидают, что PHYLIP: PhyML и RaxML. Большинство программ выравнивания принимают FASTA в качестве входных данных: Jalview, ClustalX, Clustalw, t-coffee, Clustalo, MAFFT.
Это выглядит так при наложении на несколько строк
> seqid1ATGCTGATCGTAGCTGACTGAAAAATGGGTTGGTTGGTG> seqid2ATG - GATCGTAGCTGACTTAAAAATGGGTTGGTTGGTG> seqid3ATG - GATCGTAGCTGACT
or
code >> seqid1ATGCTGATCGTAGCTGACTGAAAAATGGGTTGGTTGGTG> seqid2ATG - GATCGTAGCTGACTTAAAAATGGGTTGGTTGGTG> seqid3ATG - GATCGTAGTAGCTGACTTAAGTGGTG> формат{"seqs": [{"name": "seqid1/1-39", "start": 1, "end": 39, "id": "367323668", "seq": "ATGCTGATCGTAGCTGACTGAAAAATGGGTTGGTTGGTG", "order": 1}, {"name": "seqid2/1-37", "start": 1, "end": 37, "id": "931822522 "," seq ":" ATG - GATCGTAGCTGACTTAAAAATGGGTTGGTTGGTG "," order ": 2}, {" name ":" seqid3/1-34 "," start ": 1," end ": 34," id ":" 636867707 "," seq ":" ATG - GATCGTAGCTGACTTAA --- TGGGTTGGTTGGTG "," order ": 3} ]," appSettings ": {" globalColorScheme ":" None "," webStartUrl ":" http://www .jalview.org/services/launchApp "," application ":" Jalview "," showSeqFeatures ":" true "," version ":" 2.10.0 "}," seqGroups ": [{" displayText ": true, «startRes»: 0, «sequenceRefs»: [«367323668», «931822522» ], «groupName»: «GroupAAA», «endRes»: 38, «colourText»: false, «description»: «Группа с гомополимером. insert "," showNonconserved ": false," displayBoxes ": true," colourScheme ":" None "} ]," alignAnnotation ": []," svid ":" 1.0 "," seqFeatures ": [{ «fillColor»: «# 8c25cd», «score»: 0, «sequenceRef»: «367323668», «featureGroup»: «ho mopolymer "," description ":" нуклеотидный повтор "," xStart ": 20," xEnd ": 25," type ":" Гомополимерная область "}, {" fillColor ":" # 8c25cd "," score ": 0, «sequenceRef»: «931822522», «featureGroup»: «гомополимер», «description»: «нуклеотидный повтор», «xStart»: 20, «xEnd»: 25, «type»: «Homopolymer regien»}, {«fillColor ":" # 8c25cd "," score ": 0," sequenceRef ":" 636867707 "," featureGroup ":" гомополимер "," description ":" нуклеотидный повтор "," xStart ": 20," xEnd ": 22, "type": "Homopolymer regien"} ]}
Формат файла NEXUS намного богаче. В нем много разных блоков, но наиболее важным является блок MATRIX. В приведенном ниже примере блока показано, как различные последовательности могут быть сгруппированы вместе в наборы таксонов (taxset), а различные сайты могут быть сгруппированы в наборы символов (charset). Это, например, позволило бы аннотировать разные гены в выравнивании, таким образом обеспечивая разные разделы, которые можно было бы анализировать с использованием различных моделей в филогенетической реконструкции.
Следующие программы принимают NEXUS в качестве входных данных: BEAST, Mesquite, ModelTest, MrBayes, PAUP *, GARLI, GDA, MacClade.
#nexus begin data; размеры ntax = 3 nchar = 39; формат datatype = dna missing =? разрыв = -; матрица seqid1 ATGCTGATCGTAGCTGACTGAAAAATGGGTTGGTTGGTG seqid2 ATG - GATCGTAGCTGACTTAAAAATGGGTTGGTTGGTG seqid3 ATG - GATCGTAGCTTGACTTAA --- TGG - +TG [---- + 30 - ----GTG | ----]; конец; начало наборов; кодировка гомополимера = 21-25; кодировка allsites = 1-39; кодировка гомополимера = 1-20 26-39; taxset GroupAAA = seqid1 seqid2; end;
Формат NEXUS также позволяет использовать древовидные блоки, что упрощает сохранение совмещения и филогенетического дерева в одном файле.
Возможно, не очень популярен за пределами своей области, но стокгольмский формат - это формат файла MSA, используемый для выравнивания в базах данных Pfam и Rfam, а также в инструменте HMMER. Этот формат позволяет аннотировать остатки и может включать встроенные деревья. Краткий пример из статьи в Википедии:
# STOCKHOLM 1.0 # = GF ID UPSK # = GF SE Predicted; Infernal # = GF SS опубликовано; PMID 9223489 # = GF RN [1] # = GF RM 9223489 # = GF RT Роль псевдоузла на 3'-конце мозаики желтой репы # = РНК вируса GF RT в синтезе минус-цепи вирусной РНК-зависимой РНК # = GF RT полимераза. # = GF RA Deiman BA, Kortlever RM, Pleij CW; # = GF RL J Virol 1997; 71: 5990-5996.AF035635.1/619-641 UGAGUUCGAUCUCUAAAAUCGM24804.1/82-104 UGAGUUCAUCAUAUC3.1/82-104 UGAGUUCAUCAUAUC3. /6212-6234 UAAGUUCUCGAUCUUUAAAAUCGM24803.1/1-23 UAAGUUCGAUCUCUAAAAUCG # = GC SS_cons .AAA .... >>>//
Формат NBRF и PIR, более подробную информацию о формате можно найти здесь: http://www.bioinformatics.nl/tools/crab_pir.html. Я думаю, что, вероятно, есть и другая информация, которую можно закодировать в PIR.
> N1; seqid1seqid1 39 basesATGCTGATCGTAGCTGACTGAAAAATGGGTTGGTTGGTG *> N1; seqid2seqid2 37 basesATG - GATCGTAGCTGACTTAAAAATGGGTTGGTTGGTG *> N1; seqid3seqid3 34 basesATG - GATCGTAGCTGACTTAA --- TGGGTTGGTTGGTG * код>
Я не думаю, что существуют популярные форматы файлов для хранения выравниваний последовательностей и связанных аннотаций, потому что это очень разные типы данных, и они должны быть отдельными.
Например, допустим, вы выравниваете чтения. Многие чтения будут соответствовать одному гену. Если в каждом из этих чтений есть аннотация, это будет расточительно. У вас может быть другой файл (например, BED или GTF), в котором указано, какие области соответствуют определенному гену. Эта структура дополнительно позволяет легко обновлять аннотации без изменения файла выравнивания.
Я думаю, что формат .aln от CLUSTAL, вероятно, очень часто используется. Это выходной формат для многих средств выравнивания последовательностей, таких как CLUSTALW, CLUSTALX, CLUSTALO, MAFFT, t-Coffee и, возможно, многих других. Это выглядит так, но я считаю, что его также можно найти в нескольких строках (с чередованием).
CLUSTALseqid1/1-39 ATGCTGATCGTAGCTGACTGAAAAATGGGTTGGTTGGTGseqid2/1–37 ATG - GATCGTAGCTGACTTAAAAATGGGGTTGTAGACTGACTTAAAAATGGGTTTGTGACTGACTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTG/1 hr>
Формат файла bcl, в котором последовательности расположены вертикально. Разработан для простого объединения и подмножества выравнивания из командной строки. Я не думаю, что это позволяет аннотации функций или аннотации групп последовательностей. Я не верю, что многие программы используют импорт/экспорт этого типа формата, но я стараюсь быть максимально полным.
> seqid1> seqid2> seqid3 * iteration 1AAATTTGGGC-- T - GGGAAATTTCCCGGGTTTAAAGGGCCCTTTTGGGAAACCCTTTGTTAAAAAAAA-AA-AA-TTTGGGGGGGGGTTTTTTTTGGGGGGTTTTTTTGGGGGGGTGGTTTTTTTGGGGGGGTTTGGG *
. Это ожидаемый ввод для PhyML, RAxML и, очевидно, набора инструментов PHYLIP. Иногда этот формат можно чередовать (переносить на несколько строк). По моему опыту, у меня всегда было много проблем с совместимостью между программами с этим форматом файлов, поскольку существует множество различных его разновидностей, которые не всегда обслуживаются.
3 39seqid1 ATGCTGATCGTAGCTGACTGAAAAATGGGTTGGTTGGTGseqid2 ATG - GATCGTAGCTGACTTAAAAATGGGTTGGTTGGTGseqid3 ATG - GATCGTAGCTGACTTAA --- TGGGTTGGTTGGTG