allpy
changeset 1156:8405ddf8f8c1
compare-aln-3d/web: add short and full description
author | Boris Nagaev <bnagaev@gmail.com> |
---|---|
date | Fri, 25 Jan 2013 18:11:21 +0400 |
parents | f2a7332dbc09 |
children | b75dc5174a7f |
files | pair_cores/web/approot/locales/pair-cores-web.xml pair_cores/web/approot/locales/pair-cores-web_ru.xml pair_cores/web/compare-aln-3d.cpp |
diffstat | 3 files changed, 99 insertions(+), 1 deletions(-) [+] |
line diff
1.1 --- a/pair_cores/web/approot/locales/pair-cores-web.xml Tue Jan 15 18:51:35 2013 +0400 1.2 +++ b/pair_cores/web/approot/locales/pair-cores-web.xml Fri Jan 25 18:11:21 2013 +0400 1.3 @@ -87,7 +87,6 @@ 1.4 </message> 1.5 1.6 <message id='pair.main.Description_header'>Description</message> 1.7 - <message id='pair.main.Header_compare'><h1>CompareAln3D</h1></message> 1.8 <message id='pair.main.Refresh'>Refresh</message> 1.9 <message id='pair.main.Reset'>Reset</message> 1.10 <message id='pair.main.Description'> 1.11 @@ -137,6 +136,43 @@ 1.12 superimposition of protein structures by plus-blocks (Pymol); 1.13 table output. 1.14 </message> 1.15 + <message id='pair.main.Description_compare'> 1.16 + <a name='description'></a> 1.17 + Compare alternative alignments of set of sequences using 3D structure. 1.18 + Both alignments are compared with plus-blocks found in them by 1.19 + <a href="http://mouse.belozersky.msu.ru:56929/">pair-cores</a>. 1.20 + Ratio of mistakes numbers for two alignment is ultimate result 1.21 + (named <i>score</i>). The more <i>score</i>, the better second alignment 1.22 + is confirmed by 3D structure (compared to first one). 1.23 + <br/> 1.24 + Alignment or set of plus-blocks is turned into set of homology classes. 1.25 + All upper-cased residues in a column are moved to a homology class, 1.26 + remaining residues (lower-cased) form homology classes of one residue. 1.27 + Residues from same plus-block and same column form a homology class. 1.28 + Remaining residues (not in plus-blocks) form homology classes 1.29 + of one residue. 1.30 + <br/> 1.31 + For two sets of homology classes (other vs self), 1.32 + weighted averege number of mistakes is defined: 1.33 + number of mistakes <i>other</i> vs <i>self</i> 1.34 + in a homology class of self is 1.35 + number of classes of other intersecting with the class of self minus one 1.36 + In other words, one mistake of other is splitting a class of self 1.37 + (believed to be true monomer homology class) into two classes. 1.38 + Wieght of a class of self is size of the class divided by 1.39 + total number of monomeres. 1.40 + <br/> 1.41 + Weighted averege numbers of mistakes (as <i>other</i> vs <i>self</i>): 1.42 + <ul> 1.43 + <li>aln1_e1 - plus-blocks of first alignment vs first alignment.</li> 1.44 + <li>aln1_e2 - first alignment vs plus-blocks of first alignment.</li> 1.45 + <li>aln2_e1 - plus-blocks of second alignment vs second alignment.</li> 1.46 + <li>aln2_e2 - second alignment vs plus-blocks of second alignment.</li> 1.47 + </ul> 1.48 + score = (aln1_e1 + aln1_e2) / (aln2_e1 + aln2_e2). 1.49 + <br/> 1.50 + If aln2_e1 + aln2_e2 = 0, score is not given. 1.51 + </message> 1.52 <message id='pair.main.Example'> 1.53 <a name='example'></a> 1.54 Here is an example of an alignment for input for the program. 1.55 @@ -184,6 +220,11 @@ 1.56 Find reliable blocks of an alignment using 3D structure. 1.57 <a href='#description'>Algorithm description</a>. 1.58 </message> 1.59 + <message id='pair.main.Header_compare'> 1.60 + <h1>CompareAln3D</h1> 1.61 + Compare alternative alignments of set of sequences using 3D structure. 1.62 + <a href='#description'>Algorithm description</a>. 1.63 + </message> 1.64 <message id='pair.main.Rfbr'> 1.65 The work was partly supported by 1.66 the Russian Foundation for Basic Research,
2.1 --- a/pair_cores/web/approot/locales/pair-cores-web_ru.xml Tue Jan 15 18:51:35 2013 +0400 2.2 +++ b/pair_cores/web/approot/locales/pair-cores-web_ru.xml Fri Jan 25 18:11:21 2013 +0400 2.3 @@ -158,6 +158,50 @@ 2.4 для программы PyMol, визуализирующей структуры, 2.5 табличное описание плюс-блоков. 2.6 </message> 2.7 + <message id='pair.main.Description_compare'> 2.8 + <a name='description'></a> 2.9 + Сравнить альтернативные выравнивания набора последовательностей 2.10 + с использованием пространственной структуры. 2.11 + Оба входных выравнивания сравниваются с плюс-блоками, 2.12 + найденными в них при помощи 2.13 + <a href="http://mouse.belozersky.msu.ru:56929/">pair-cores</a>. 2.14 + Отношение количества ошибок для двух выравниваний является окончательным 2.15 + результатом (называемым <i>score</i>). Чем больше <i>score</i>, 2.16 + тем лучше второе выравнивание подтверждается пространственной структурой 2.17 + (в сравнении с первым выравниванием). 2.18 + <br/> 2.19 + Выравнивание или набор плюс-блоков превращается в множество классов 2.20 + гомологичности. Все остатки, записанные в верхнем регистре, заносятся 2.21 + в один класс гомологичности, остальные остатки 2.22 + (записанные в нижнем регистре), образуют классы гомологичности, 2.23 + состоящие из одного остатка. 2.24 + Остатки из одной колонки плюс-блока заносятся в один класс 2.25 + гомологичности. Остатки, не попавшие в плюс-блоки, образуют классы 2.26 + гомологичности, состоящие из одного остатка. 2.27 + <br/> 2.28 + Для двух множеств классов гомологичности (второе относительно первого) 2.29 + определено средневзвешенное количество ошибок: 2.30 + количество ошибок <i>второго</i> относительно <i>первого</i> 2.31 + в классе гомологичности первого множества классов гомологичности - 2.32 + это количество классов гомологичности второго, 2.33 + пересекающихся с этим классом гомологичности первого минус один. 2.34 + Другими словами, одна ошибка второго множества - это расщепление 2.35 + класса первого множества (которое считается верным) на два класса. 2.36 + Весом каждого класса первого множества является размер класса, 2.37 + разделенный на суммарное число остатков. 2.38 + <br/> 2.39 + Средневзвешенное количество ошибок 2.40 + (<i>второго</i> относительно <i>первого</i>): 2.41 + <ul> 2.42 + <li>aln1_e1 - плюс-блоки первого выравнивания относительно первого выравнивания.</li> 2.43 + <li>aln1_e2 - первое выравнивание относительно плюс-блоков первого выравнивания.</li> 2.44 + <li>aln2_e1 - плюс-блоки второго выравнивания относительно второго выравнивания.</li> 2.45 + <li>aln2_e2 - второе выравнивание относительно плюс-блоков второго выравнивания.</li> 2.46 + </ul> 2.47 + score = (aln1_e1 + aln1_e2) / (aln2_e1 + aln2_e2). 2.48 + <br/> 2.49 + Если aln2_e1 + aln2_e2 = 0, то score не приводится. 2.50 + </message> 2.51 <message id='pair.main.Example'> 2.52 <a name='example'></a> 2.53 Пример входного выравнивания для программы. 2.54 @@ -171,6 +215,12 @@ 2.55 с использованием пространственной структуры. 2.56 <a href='#description'>Описание алгоритма</a>. 2.57 </message> 2.58 + <message id='pair.main.Header_compare'> 2.59 + <h1>CompareAln3D</h1> 2.60 + Сравнить альтернативные выравнивания набора последовательностей 2.61 + с использованием пространственной структуры. 2.62 + <a href='#description'>Описание алгоритма</a>. 2.63 + </message> 2.64 <message id='pair.main.Rfbr'> 2.65 Работа частично поддержана 2.66 Российским Фондом Фундаментальных Исследований,
3.1 --- a/pair_cores/web/compare-aln-3d.cpp Tue Jan 15 18:51:35 2013 +0400 3.2 +++ b/pair_cores/web/compare-aln-3d.cpp Fri Jan 25 18:11:21 2013 +0400 3.3 @@ -13,6 +13,7 @@ 3.4 3.5 #include "wc/src/Wbi.hpp" 3.6 #include "wc/src/FileView.hpp" 3.7 +#include "wc/src/TableForm.hpp" 3.8 #include "wc/src/util.hpp" 3.9 3.10 using namespace Wt; 3.11 @@ -104,9 +105,15 @@ 3.12 task->set_queue(&queue); 3.13 new TaskCountup(task, root()); 3.14 // 3.15 + // header Description 3.16 new WBreak(root()); 3.17 + TableForm* descption_tableform = new TableForm(root()); 3.18 + descption_tableform->section(tr("pair.main.Description_header")); 3.19 + // 3.20 new Wt::WTemplate(tr("pair.main.Example"), root()); 3.21 new Wt::WTemplate(tr("pair.main.Example_fasta_compare"), root()); 3.22 + new Wt::WTemplate(tr("pair.main.Description_compare"), root()); 3.23 + new WBreak(root()); 3.24 new Wt::WTemplate(tr("pair.main.Rfbr"), root()); 3.25 } 3.26