Биоинформатика - Tips'n'Tricks

Короткие мысли и советы о рутинных задачах биоинформатики/программирования, которые мне показались интересными. Часть приобретена на собственном опыте, часть позаимствованна из других источников. Будет здорово если кто-то поделится и своими идеями/замечаниями по этому поводу...

...

Для программного генерирования простой графики всегда предпочтительнее использовать формат png вместо jpeg. При этом и обычно и размер файлов меньше, и качество намного лучше, т.к. в формате png (в отличие от jpeg) применяется сжатие без потерь.Напомню что png - это усовершенствованный gif. Пакет R, например, прекрасно сохраняет в png при помощи одноименной функции.

Впрочем, альтернативой может являться использование векторной графики, например в формате SVG. Используя пакет для R под названием RSvgDevice и бесплатный редактор Inkscape , можно создавать иллюстрации, уже сразу пригодные для последующей вставки в статью без головных болей на тему необходимого dpi.

 

...

 

При запуске долгой вычислительной процедуры надо сохранять как можно больше информации о всех параметрах расчета. Обычно лучше всего записывать это в в самом-начале лог-файла. При этом очень желательно:

  • - заранее прикинуть время расчета
  • - писать программу таким образом, чтобы иметь возможность продолжить счет после прерывания или ошибки

 

...


При выполнении множества несложных однотипных задач временные затраты операционной системы на собственно запуск программы могут быть большими чем сам расчет, выполняемый программой. Например, если делать blast набора сиквенсов всех-против-всех как n*(n-1)/2 запусков blastall.exe, то это окажется на порядки дольше чем запуск blast с одним большим FASTA-файлом и в качестве database и в качестве query.

 

...


Занятия биоинформатикой требуют немалой доли самодисциплины - по крайней мере для меня :) . Во-первых все время есть опасность отвлечения на почту, аську и социальные сети. О некоторых способах как с этим бороться - см. заметку про плагины к Firefox. С другой стороны - нужно все время не упускать из виду главную цель, поставленную проблему. Всегда есть опасность отвлечься на самообучение или изучение чего-то нового, что не имеет прямого отношения к решаемой задаче. Например, всегда интересно осваивать новые языки программирования, IDE и т.д. Но к цели это не приблизит. Возможно это некорректно, но старайтесь постоянно напоминать себе, что если не делаете того, что способствует написанию статей - вы теряете свое время.


...

 

Есть еще один хороший совет при работе за компьютером - делать перерывы, по крайней мере каждый час. Польза при этом достигается двойная: во-первых, ваши глаза скажут вам спасибо, а во-вторых, оторвавшись на 5 минут от клавиатуры во время перерыва  часто можно увидеть более легкий путь решения проблемы.  Для постоянного контроля за необходимостью перерывов удобно использовать специальные программы - например, бесплатную и функциональную Eyes Relax (http://themech.net/eyesrelax/ )


...

 

Если запущена большая вычислительная задача, то чтобы не чувствовать замедления машины при продолжении интерактивной работы удобно понизить приоритет воспользовавшись Task Manager в Windows. В контекстном меню на вкладке Процессы поставьте приоритет "Низкий". При этом скорость расчетов замедлится незначительно, зато машина станет намного быстрее отзываться на команды.

 

...

 

Также рекомендую познакомится с заметкой, посвященной самоорганизации работы .