Welcome, Guest. Please Login or Register
UGENE Bulletin Board
  Welcome to our forum.
  HomeHelpSearchLoginRegister  
 
 
Pages: 1 2 3 
Улучшение плагина Repeat Finder (Read 32812 times)
Reply #15 - Mar 1st, 2013 at 3:43pm

Yuriy Vaskin   Offline
Global Moderator

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

Тут лучше не рисовать отдельных диалоговых окон, а встроить его в существующее в качестве нового алгоритма/новой опции фильтрации.  По возможности, лучше не трогать уже написанный код, а наследоваться от сущесвующих классов и переопределять методы. Но если тут так не получится, то можно и старый код менять.
 
IP Logged
 
Reply #16 - Mar 1st, 2013 at 3:54pm

SergeyJ   Offline
YaBB Newbies

Posts: 29
*
 
Yuriy Vaskin wrote on Mar 1st, 2013 at 3:43pm:
Конечно согласны! Вы довольно адекватно описываете, да и для биологам такой фильтр может быть полезен.

Тут лучше не рисовать отдельных диалоговых окон, а встроить его в существующее в качестве нового алгоритма/новой опции фильтрации.  По возможности, лучше не трогать уже написанный код, а наследоваться от сущесвующих классов и переопределять методы. Но если тут так не получится, то можно и старый код менять.


Ок, пошёл делать. Единственно я английский почти не знаю, использую переводчик. Поэтому у меня будет просьба - помогать мне в переводах. Вот для начала, давайте выберем имена новых методов. Я ввожу

enum RepeatsFilterAlgorithm {
    DontCrossedRepeats, /*это ваш метод*/
    DoNotFilter, /*это соответствует нажатой галочке*/
    UniqueRepeats /*это мой метод*/
};

И в комбо будет следующие

filterAlgorithms->addItem(tr("Don't crossed repeats"), DontCrossedRepeats);
filterAlgorithms->addItem(tr("Do not filter"), DoNotFilter);
filterAlgorithms->addItem(tr("Unique repeats"), UniqueRepeats);

поправьте если что не так.
 
IP Logged
 
Reply #17 - Mar 1st, 2013 at 4:05pm

Yuriy Vaskin   Offline
Global Moderator

Gender: male
Posts: 138
*****
 
Думаю, лучше будут такие переводы:

"Непересекающиеся повторы" - "Disjoint repeats"
"Уникальные повторы" - "Unique repeats"
"Без фильтрации" - "No filtering"

А в коде чем проще названия будут - тем лучше.
 
IP Logged
 
Reply #18 - Mar 1st, 2013 at 4:13pm

Yuriy Vaskin   Offline
Global Moderator

Gender: male
Posts: 138
*****
 
Сергей,

возможно недостаточно будет поменять метод FindRepeatsTask::filterNestedRepeats. Вполне вероятно, что фильтрация частично зашита в сам алгоритм и там стоят всякие условия/assert'ы. Их можно будет убрать. У нас есть функциональные тесты на поиск повторов и в дебаг-режиме каждый повтор проверяется специальным assert'ом (RFAlgorithmBase::checkResult), что это действительно повтор. Если у вас для любого алгоритма проходит эта проверка, то можно счтитать, что ничего не поломалось. А с функциональными тестами я потом сам разберусь.

 
IP Logged
 
Reply #19 - Mar 1st, 2013 at 5:14pm

SergeyJ   Offline
YaBB Newbies

Posts: 29
*
 
Yuriy Vaskin wrote on Mar 1st, 2013 at 4:13pm:
Сергей,

возможно недостаточно будет поменять метод FindRepeatsTask::filterNestedRepeats. Вполне вероятно, что фильтрация частично зашита в сам алгоритм



Так и есть, в filterNestedRepeats result уже приходит отфильтрованный Smiley

я разберусь с этим, но тут надо будет несколько поменять старый код.

Главное, у меня получилось откомпилировать UGENE и запустить  без ошибок под дебагером Smiley .. можете поздравить Smiley ... дальше уже дело практики.

Может надо куда то перейти в ваш ридмайн - где вы вставляете новые подзадачи и т.п. или где вы ведете разговоры по разработке ?

Или на форуме будем обсуждать?

А и у вас наверняка под контролем версий. GIT? Что и как мне скачивать, чтобы потом было легко коммитеть. Есть ли у вас ревью (ну, кто-то просматривает изменения и делает окончательный коммит в выпуск)?

Как вообще организован процесс разработки?
 
IP Logged
 
Reply #20 - Mar 1st, 2013 at 5:52pm

Yuriy Vaskin   Offline
Global Moderator

Gender: male
Posts: 138
*****
 
Для контроля версий у нас используется subversion. Самая простая программа тут - TortoiseSVN, думаю, вы и так в курсе. Лучше всего будет, если вы сделаете checkout отсюда https://ugene.unipro.ru/svn/ugene/trunk и будете вносить все изменения в этот код, а потом сделаете patch и пришлете нам.

Вот здесь находится наш трекер: https://ugene.unipro.ru/tracker/ Можете зарегистрироваться туда и создать туда issue. Но лучше я сам это сделаю. Когда вы реализуете алгоритм это issue перейдет в состояние resolved, где мы его протестируем, а потом в состояние tested, тут мы обновим документацию/перевод и еще раз проверим все. После этого issue закроется.

Как и большинство открытых проектов, мы принимаем изменения в виде патчей, которые могут генерировать subversion программы. Вы ревьюим эти патчи, перед тем как коммитить их.

Помимо этого мы используем TeamCity, как Continious integration. У них бесплатные лицензии для open-source проектов.

Лучше всего общаться на форуме. В трекере мы не очень часто что-то обсуждаем, да и там по-английски все.


P.S. Раньше, чтобы попасть к нам в команду, сборка UGENE была одним из испытаний Smiley
 
IP Logged
 
Reply #21 - Mar 1st, 2013 at 6:27pm

SergeyJ   Offline
YaBB Newbies

Posts: 29
*
 
SergeyJ wrote on Mar 1st, 2013 at 1:28pm:
Нет файл создается и находит две последовательности.

Я кажется понял в чем дело - там по умолчанию выставляется минимальная дистанция = 0, и поэтому он находит только такие. Еще повезло, что в примере как раз есть такое.


Меня не оставляет этот вопрос. Вроде так, да не так. Конечно плохо, что минимальную дистанцию нельзя поставить в "не ограниченно". Но мин. дистанция = 0 не должна все таки влиять. Вот если бы это была максимальная дистанция =0, тогда и находились бы только те повторы, которые находятся у меня.

Еще меня смущает, что у вас не совсем так. Может это зависеть от того, что я делал до этого?

В общем не знаю, но где-то тут скрывается баг с начальными/неуказанными параметрами в схемах.
 
IP Logged
 
Reply #22 - Mar 1st, 2013 at 6:41pm

Yuriy Vaskin   Offline
Global Moderator

Gender: male
Posts: 138
*****
 
я еще раз попробовал и мне удалось воспроизвести. Раньше я создавал схему на еще не выпущенной версии - там все нормально. А в 1.11.4 ошибка с максимальной дистанцией (Any). То есть в новой версии это уже поправлено. Но я сейчас проверю еще раз.
 
IP Logged
 
Reply #23 - Mar 1st, 2013 at 7:22pm

SergeyJ   Offline
YaBB Newbies

Posts: 29
*
 
Yuriy Vaskin wrote on Mar 1st, 2013 at 5:52pm:
Лучше всего будет, если вы сделаете checkout отсюда https://ugene.unipro.ru/svn/ugene/trunk и будете вносить все изменения в этот код


Правильно я понял, что промежуточные версии можно коммитеть прямо в trunk ? (ветки не используете?)

И еще такой вопрос (offtop) - а сколько активных людей у вас в команде, я смотрю не так много? И как вы это все подняли на такой нормальный уровень? Вы представляете какой-то институт, коммерческую фирму - или действительно команда энтузиастов? Ваш костяк команды работает 40 часов в неделю и на зарплате, или в своем большинстве как получается и бесплатно? Про если энтузисты то не верю что за 3 года сделали так много Smiley

Среди вас много реальных биологов? Почему вы решили делать UGENE?

upd. Извиняюсь за свою не осведомленность, но тут о вас http://unipro.ru/ru/about/history.html ? Это много объясняет - новосибирский гигант за этим стоит?  Wink
Но тогда не ясно почему это стал открытый проект? И вообще интересно какие взаимоотношения разработчиков UGENE с "новосибирским гигантом"? (ну вкратце  Roll Eyes)

upd2. Кое-что почитал в нете, понял что структура у вас разветвленная  Cool .. Лучшие студенты, поддержка сильных мира сего и т.д. Но где она правда не ясно  Wink
 
IP Logged
 
Reply #24 - Mar 1st, 2013 at 8:24pm

SergeyJ   Offline
YaBB Newbies

Posts: 29
*
 
Yuriy Vaskin wrote on Mar 1st, 2013 at 5:52pm:
P.S. Раньше, чтобы попасть к нам в команду, сборка UGENE была одним из испытаний Smiley


Вам смешно Smiley А сколько я проектов пересобирал, и очень мало было тех где легко собрать. Ваш один из таких, которые легко ! (причем, я даже несколько удивлен качеству кода - сравнительно он лучше многих англо-продуктов .. впрочем недостатки я конечно найду Wink ) В общем если не против я помаленьку буду вливаться в вашу разработку принося туда свои идеи и код  Cool
« Last Edit: Mar 2nd, 2013 at 4:12pm by SergeyJ »  
IP Logged
 
Reply #25 - Mar 2nd, 2013 at 11:40am

SergeyJ   Offline
YaBB Newbies

Posts: 29
*
 
Yuriy Vaskin wrote on Mar 1st, 2013 at 5:52pm:
Для контроля версий у нас используется subversion. Самая простая программа тут - TortoiseSVN, думаю, вы и так в курсе. Лучше всего будет, если вы сделаете checkout отсюда https://ugene.unipro.ru/svn/ugene/trunk и будете вносить все изменения в этот код, а потом сделаете patch и пришлете нам.

Вот здесь находится наш трекер: https://ugene.unipro.ru/tracker/ Можете зарегистрироваться туда и создать туда issue. Но лучше я сам это сделаю.


На трекере зарегистрировался, но логин не проходит. А что на счет регистрации для коммитов в SVN?
 
IP Logged
 
Reply #26 - Mar 2nd, 2013 at 1:26pm

SergeyJ   Offline
YaBB Newbies

Posts: 29
*
 
Еще я что-то не могут разобраться с переводами.

запускаю

lupdate repeat_finder.pro перевод в .ts добавляется (я его перевожу), но он при запуске UGENE этот перевод остается не виден

что я не так делаю ?

Ну, а в остальном готово - могу коммитеть, если дадите доступ.
« Last Edit: Mar 2nd, 2013 at 4:11pm by SergeyJ »  
IP Logged
 
Reply #27 - Mar 4th, 2013 at 12:54pm

Yuriy Vaskin   Offline
Global Moderator

Gender: male
Posts: 138
*****
 
SergeyJ wrote on Mar 1st, 2013 at 7:22pm:
Yuriy Vaskin wrote on Mar 1st, 2013 at 5:52pm:
Лучше всего будет, если вы сделаете checkout отсюда https://ugene.unipro.ru/svn/ugene/trunk и будете вносить все изменения в этот код


Правильно я понял, что промежуточные версии можно коммитеть прямо в trunk ? (ветки не используете?)

И еще такой вопрос (offtop) - а сколько активных людей у вас в команде, я смотрю не так много? И как вы это все подняли на такой нормальный уровень? Вы представляете какой-то институт, коммерческую фирму - или действительно команда энтузиастов? Ваш костяк команды работает 40 часов в неделю и на зарплате, или в своем большинстве как получается и бесплатно? Про если энтузисты то не верю что за 3 года сделали так много Smiley

Среди вас много реальных биологов? Почему вы решили делать UGENE?

upd. Извиняюсь за свою не осведомленность, но тут о вас http://unipro.ru/ru/about/history.html ? Это много объясняет - новосибирский гигант за этим стоит?  Wink
Но тогда не ясно почему это стал открытый проект? И вообще интересно какие взаимоотношения разработчиков UGENE с "новосибирским гигантом"? (ну вкратце  Roll Eyes)

upd2. Кое-что почитал в нете, понял что структура у вас разветвленная  Cool .. Лучшие студенты, поддержка сильных мира сего и т.д. Но где она правда не ясно  Wink


UGENE разробатывается в компании Unipro, в команде больше десяти штатных сотрудников. Работа хоть и с биологическими объектами, но, в основном техническая, не такая, как в институтах, например. Поэтому люди с IT-образованием с ней довольно успешно справляются.

А "новосибирский гигант" - это кто? Smiley
 
IP Logged
 
Reply #28 - Mar 4th, 2013 at 1:02pm

Yuriy Vaskin   Offline
Global Moderator

Gender: male
Posts: 138
*****
 
SergeyJ wrote on Mar 2nd, 2013 at 1:26pm:
Еще я что-то не могут разобраться с переводами.

запускаю

lupdate repeat_finder.pro перевод в .ts добавляется (я его перевожу), но он при запуске UGENE этот перевод остается не виден

что я не так делаю ?

Ну, а в остальном готово - могу коммитеть, если дадите доступ.


у нас еть branch, в котором мы только фиксим баги. Из него мы выпускаем частые биг-фикс релизы. И есть trunk, куда мы коммитим и баг фиксы и новые фичи. Оттуда релизы выходят редко. Так как вы разрабатываете фичу, то она пойдет в trunk.

А вы переключили язык в настройках, чтобы увидеть перевод?

Нам нужно сначла посмотреть на код и протестировать его, перед тем как коммитить. Вы не могли бы сделать патч на все ваши изменения (включая перевод) и прислать его?
 
IP Logged
 
Reply #29 - Mar 4th, 2013 at 1:46pm

SergeyJ   Offline
YaBB Newbies

Posts: 29
*
 
Yuriy Vaskin wrote on Mar 4th, 2013 at 1:02pm:
Нам нужно сначла посмотреть на код и протестировать его, перед тем как коммитить. Вы не могли бы сделать патч на все ваши изменения (включая перевод) и прислать его?


послал
 
IP Logged
 
Pages: 1 2 3