АвторТема: aisconvert  (Прочитано 4615 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн AnodeАвтор темы

  • Группа N
  • *
  • Сообщений: 1423
  • Страна: ca
  • Рейтинг +147/-0
  • PS1 -> TT1 -> EE1 -> PS2
  • Y-ДНК: N1c1
  • мтДНК: H10a1, U5b1
aisconvert
« : 30 Апрель 2011, 06:42:40 »
Этот раздел - для обсуждения aisconvert ("упсомер" из коммандной строки) и набора инструментов для преобразования форматов, как raw2ped, ped2raw, экстактора регионов гомозиготности и других (если такие появятся).

Основной репозиторий тулкита:
http://sourceforge.net/projects/aisconvert/

Там же можно вести дискуссии на английском языке (там есть система тикетов, возможность просматривать код в браузере итд). Но на молгене мы начинали все дискуссии (что нужно сделать, и как) и я думаю, на русском языке обсуждения удобно вести здесь.

Оффлайн AnodeАвтор темы

  • Группа N
  • *
  • Сообщений: 1423
  • Страна: ca
  • Рейтинг +147/-0
  • PS1 -> TT1 -> EE1 -> PS2
  • Y-ДНК: N1c1
  • мтДНК: H10a1, U5b1
Re: aisconvert
« Ответ #1 : 30 Апрель 2011, 07:22:21 »
Только что построчно перекопировал логику конвертера ped2raw из ANSI C проекта в джавовский aisconvert ("сишный" проект здесь: https://sourceforge.net/projects/ped2raw/).

И был удивлён скоростью. Скорость на джаве обработки 2 мегабайтового файла VVerenich.ped (используя полный мап, который 13.2М и имеет 558706 рекордов) - всего 2.5 секунды (сишный нативный код отрабатывает за 1.5-2 секунды).
Но при больших файлах со многими строками - джавовская виртуальная машина будет грузится один раз и оверхед её однократной загрузки нивелируется. Замеряя же время отработки того же файла в джавовском коде - я получаю всего 1.8 секунды, что неразличимо с сишной программой, и разница - в пределах ошибки.

Во-первых - на джаве легче (быстрее) писать. Во-вторых - существующий тулкит уже имеет массу полезных общих свойств использования как например общий паттерн использования фильтров. Например, в виде инпута можно передать директорию, и все файлы в ней будут отработаны (т.е. юзеру возможно и даже желательно не писать скрипты). В будущем можно расширить уже существующий ГУИ (нет проблем было-бы сделать и TCL/Tк враппер для сишной проги, который бы работал везде, но он будет гораздо беднее виджетами). Итд. В-третьих - гораздо проще поддерживать один codebase вместо двух.

Тут же загрузил новую версию (1.11) aisconvert на сорсфордж. Так что можно уже сейчас использовать ped2raw оттуда, например вот так:

$ aisconvert -p /home/anode/VVerenich.ped -s /home/anode/VVerenich.map

а под виндовс вот так:
C:\aisconvert> aisconvert -p C:\data\VVerenich.ped -s C:\data\VVerenich.map

или передав директорию для результатов, и в другом виде задав аргументы (в хелпе всё новое добавлено):
C:\aisconvert> aisconvert C:\data\VVerenich.ped --snips C:\data\VVerenich.map -dir C:\temp

Оффлайн AnodeАвтор темы

  • Группа N
  • *
  • Сообщений: 1423
  • Страна: ca
  • Рейтинг +147/-0
  • PS1 -> TT1 -> EE1 -> PS2
  • Y-ДНК: N1c1
  • мтДНК: H10a1, U5b1
Re: aisconvert
« Ответ #2 : 30 Апрель 2011, 07:39:29 »
Загрузил специальную версию с встроенной джавой (она весит 21.7М против 6.9М) - только для win32 пока (ссылка). А здесь - прямая ссылка на даунлод 
Это для тех, кто не хочет устанавливать джаву (если её нет).

Из прошлого опыта шиппинга джава программ (без виртуальной машины) - бывало, что много раз установленные/снесённые/переустановленные версии джав - могут приводить к конфликтам (Сан несколько раз ломал что-то в регистри). И запуск прог представлял для энд-юзера трудность. Чтобы легче было саппортить - вот, теперь есть самодостаточная версия. Типа - "сгрузи и работай".
Пока не сделал её умолчательной (из-за размера), хотя я там прописал так - что вначале берётся юзеровская джава, и только потом - если она не найдена - берётся локальная.

Так что если у кого не работает родная джава, либо не хочется ставить - можно сгрузить файл aisconvert-1.11-bin-with-jre-win32.zip как альтернативу.

Если необходимо изготовить для линукса - дайте знать. Но вот win64 пока нет. И "Солярку" давно похоронил.
« Последнее редактирование: 30 Апрель 2011, 08:07:29 от Anode »

Оффлайн AnodeАвтор темы

  • Группа N
  • *
  • Сообщений: 1423
  • Страна: ca
  • Рейтинг +147/-0
  • PS1 -> TT1 -> EE1 -> PS2
  • Y-ДНК: N1c1
  • мтДНК: H10a1, U5b1
Re: aisconvert
« Ответ #3 : 30 Апрель 2011, 10:02:55 »
Запустил файлы Вадима на линуксе, на Пентиуме 2/450Mhz/153М RAM (да, я иногда сижу дома и за такими компьютерами, и даже работать получается, не смейтесь) - программа отработала строку за 12-15 секунд (семпл из 5ти запусков, всё на глазок, замер - time'ом). Т.е. даже на первых пентиумах можно считать (лень раскочегаривать мой P133MMX, который у меня ещё работает на архивной машине).

На основном же моём линуксовом компьютере (AMD64 3400, 1Гиг) - 2 секунды. Предыдущие тесты (выше) - были под виндой тоже под AMD64 3400, с 32-битной виндой.

Так что PED файлы - даже с очень многими строками - aisconvert должен щёлкать очень шустро на современной машине. Как минимум с перформансом - проблем не должно возникать (оптимизировать больше уже совсем  некуда).

Оффлайн napobo3

  • Сообщений: 1257
  • Страна: il
  • Рейтинг +348/-2
  • Y-ДНК: J-FGC5231
  • мтДНК: N1b2
Re: aisconvert
« Ответ #4 : 12 Май 2011, 23:04:59 »
Загрузил специальную версию с встроенной джавой (она весит 21.7М против 6.9М) - только для win32 пока (ссылка). А здесь - прямая ссылка на даунлод 
Это для тех, кто не хочет устанавливать джаву (если её нет).

Из прошлого опыта шиппинга джава программ (без виртуальной машины) - бывало, что много раз установленные/снесённые/переустановленные версии джав - могут приводить к конфликтам (Сан несколько раз ломал что-то в регистри). И запуск прог представлял для энд-юзера трудность. Чтобы легче было саппортить - вот, теперь есть самодостаточная версия. Типа - "сгрузи и работай".
Пока не сделал её умолчательной (из-за размера), хотя я там прописал так - что вначале берётся юзеровская джава, и только потом - если она не найдена - берётся локальная.

Так что если у кого не работает родная джава, либо не хочется ставить - можно сгрузить файл aisconvert-1.11-bin-with-jre-win32.zip как альтернативу.

Если необходимо изготовить для линукса - дайте знать. Но вот win64 пока нет. И "Солярку" давно похоронил.
Версия для "Солярки" запускается тысячи раз каждый день. Если бы за каждый запуск Вам полагалась одна копейка, миллионером бы стали.

Оффлайн Valery

  • Сообщений: 10107
  • Страна: 00
  • Рейтинг +1380/-7
  • Ultimate Matriarchy
Re: aisconvert
« Ответ #5 : 12 Май 2011, 23:26:36 »
Цитировать
Так что если у кого не работает родная джава, либо не хочется ставить

видели бы вы друзья глючную жабамашину для итаниума то прониклись куда большей любовью к х86-ым жабам :)

иклипс на ней отжирает порядка гига

Оффлайн AnodeАвтор темы

  • Группа N
  • *
  • Сообщений: 1423
  • Страна: ca
  • Рейтинг +147/-0
  • PS1 -> TT1 -> EE1 -> PS2
  • Y-ДНК: N1c1
  • мтДНК: H10a1, U5b1
Re: aisconvert
« Ответ #6 : 12 Май 2011, 23:38:43 »
Версия для "Солярки" запускается тысячи раз каждый день. Если бы за каждый запуск Вам полагалась одна копейка, миллионером бы стали.

Я не люблю сослагательное наклонение, буду солидарен с историей ;)

Оффлайн AnodeАвтор темы

  • Группа N
  • *
  • Сообщений: 1423
  • Страна: ca
  • Рейтинг +147/-0
  • PS1 -> TT1 -> EE1 -> PS2
  • Y-ДНК: N1c1
  • мтДНК: H10a1, U5b1
Re: aisconvert
« Ответ #7 : 12 Май 2011, 23:39:49 »
Цитировать
Так что если у кого не работает родная джава, либо не хочется ставить

видели бы вы друзья глючную жабамашину для итаниума то прониклись куда большей любовью к х86-ым жабам :)

иклипс на ней отжирает порядка гига

А мы итаник никогда не жаловали. Я купил AMD64 наверное из первой партии, в 2003 или даже 2002 году. И до сих пор та машина работает. И джава на х86_64 была портирована довольно быстро. Либо уж спарки в то время, царство им небесное. Хотя гуглы вроде всегда использовали х86 и не жаловались. Так что у меня как-то обошлось без итаников. И под линуксом и под виндами с джавой под х86 проблем нет, Вы правы.

Оффлайн AnodeАвтор темы

  • Группа N
  • *
  • Сообщений: 1423
  • Страна: ca
  • Рейтинг +147/-0
  • PS1 -> TT1 -> EE1 -> PS2
  • Y-ДНК: N1c1
  • мтДНК: H10a1, U5b1
Re: aisconvert
« Ответ #8 : 12 Май 2011, 23:54:04 »
Вот, коли уж написал я "козу" конвертера на Борне/Баше - положу линк на неё (для референса) также и здесь:
http://siberean.livejournal.com/12488.html

Этот темплейт довольно простой и его можно экстендить. Он заполняет неполный PED (с количеством рекордов меньшим в некоторых строках) до полного нулями. Легко поменять - чтобы заполнить чем-то другим (я обычно лезу в туториалы по прошествии лет и отсутствия постоянной практики, поэтому подобные темплейты держу где-то недалеко - для наполнения их иным смыслом).
Т.е. этот скрипт можно обозвать PED2PED.

Может, эта заготовка будет кому-то тоже полезна...

Оффлайн Valery

  • Сообщений: 10107
  • Страна: 00
  • Рейтинг +1380/-7
  • Ultimate Matriarchy
Re: aisconvert
« Ответ #9 : 12 Май 2011, 23:55:47 »
И до сих пор та машина работает

Подумаешь - и у меня итаник немолодой, и до сих пор работает  ;D Если менять пропЭллеры вовремя то и людей переживет. Шуршит себе сказей и шуршит. Хотя ... недавно пылесосил его и отломал ненароком кусок от девайса под названием AGP Retainer :( Теперь радеончег держится на одном костыле. Вообще тачка очень умная, с dpmi. Как то раз неряшливо бросил на нее чье-то пальто. Другой хоть бы хны - а эта через несколько минут заорала благим матом и замигала всеми ледами. Открыл мануал, почитал - написано что эта комбинация сигналов означает "Слишком жарко. Проверьте воздуховод или перенесите машину в кондиционируемое помещение"  ;D


спарки в то время, царство им небесное

а че мистер Эллисон теперь о них не заботится?

Оффлайн AnodeАвтор темы

  • Группа N
  • *
  • Сообщений: 1423
  • Страна: ca
  • Рейтинг +147/-0
  • PS1 -> TT1 -> EE1 -> PS2
  • Y-ДНК: N1c1
  • мтДНК: H10a1, U5b1
Re: aisconvert
« Ответ #10 : 13 Май 2011, 00:24:08 »
Подумаешь - и у меня итаник немолодой, и до сих пор работает  ;D Если менять пропЭллеры вовремя то и людей переживет. Шуршит себе сказей и шуршит. Хотя ... недавно пылесосил его и отломал ненароком кусок от девайса под названием AGP Retainer :( Теперь радеончег держится на одном костыле. Вообще тачка очень умная, с dpmi. Как то раз неряшливо бросил на нее чье-то пальто. Другой хоть бы хны - а эта через несколько минут заорала благим матом и замигала всеми ледами. Открыл мануал, почитал - написано что эта комбинация сигналов означает "Слишком жарко. Проверьте воздуховод или перенесите машину в кондиционируемое помещение"  ;D


И у меня скази есть :P (на вышеприведённом Пентиуме 2/450Mhz). Только он у меня не просто шуршит, а так звонко звенит, что сразу чувствуешь себя либо на заводе точмаш, либо в серверной :)
Костыли я выгибаю из консервных банок и железок (а также детских сосок, как на приведённом ниже снимке). Знаете, есть PCI карточки для мини-ящиков, есть для нормальных. У меня, так получилось, есть и такие и такие. Дык вот, когда очередное барахло (типа Пентиума 166) подыхает - я переставляю железки в другую коробку (хобби такое;), часто например wireless карточку нужно переставить из одного форм-фактора в другой. Ну не покупать же для такого барахла новую! Хобби же. Дык обрезать - нет проблем. Но потом, после нескольких лет иногда приходится снова доставлять :)))

Насчёт вентиляторов я полностью согласен. Уменьшение температуры на градус - увеличивает срок службы диска на 10%, а на 5% - почти в 2 раза. Так что я ставлю жуткие вентиляторы, которые всё сдувают: http://pics.livejournal.com/siberean/pic/0000fkbt/ , но зато у меня есть диски аж прошлого тысячелетия, которые ещё работают :)
Вот так и развлекаемся.

Оффлайн AnodeАвтор темы

  • Группа N
  • *
  • Сообщений: 1423
  • Страна: ca
  • Рейтинг +147/-0
  • PS1 -> TT1 -> EE1 -> PS2
  • Y-ДНК: N1c1
  • мтДНК: H10a1, U5b1
Re: aisconvert
« Ответ #11 : 13 Май 2011, 00:31:24 »
а че мистер Эллисон теперь о них не заботится?

Да вроде как отчим, не родной он нам, этот Ларри. А батюшка Сан приказал долго жить.
Честно говоря, не совсем в курсе, но вроде последний ультраспарк уже у Сана долго не выходил, почти как "каменный цветок".
А сегодня уж тем более ничего что-то не слышно (опять же - могу просто не быть в курсе).

Оффлайн AnodeАвтор темы

  • Группа N
  • *
  • Сообщений: 1423
  • Страна: ca
  • Рейтинг +147/-0
  • PS1 -> TT1 -> EE1 -> PS2
  • Y-ДНК: N1c1
  • мтДНК: H10a1, U5b1
Re: aisconvert
« Ответ #12 : 13 Май 2011, 00:39:04 »
Ещё 4 года назад - когда судьба случайно занесла на курсы сана по администрированию соляриса - тамошние фанаты санок (дядечки предпенсионного возраста, всю жизнь проработавшие под солярой в околовоенных индустриях) ещё тогда начали переползать на линуксы. И я тогда окончательно понял, в том числе смотря на глючащую администрационную консоль, стек-трейсы и тех дядечек, даунлодящих гнутый, намного лучше работающий софт - что долго это (сановский бизнес) не продержится. А начало конца (санок, как поставщика серверных железок) было положено 10 лет назад, после появления масштабируемого линуксового ядра, как я понимаю.

 

© 2007 Молекулярная Генеалогия (МолГен)

Внимание! Все сообщения отражают только мнения их авторов.
Все права на материалы принадлежат их авторам (владельцам) и сетевым изданиям, с которых они взяты.