Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Химия linux  (Прочитано 1625 раз)

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

Оффлайн chatrapati

  • Автор темы
  • Новичок
  • *
  • Сообщений: 26
    • Просмотр профиля
Химия linux
« : 03 Сентября 2016, 18:39:05 »
Здравствуйте! Хотелось бы немного поделиться опытом о моих попытках использования химического софта в linux, используемого для написания публикаций, презентаций и прочего оформления...
В Windows для написания статьи обычно используются Chemdrow для изображения структурных формул, ACDLabs||Topspin и др. для обработки спектров, chemkraft для рисования красивых двумерных структур и т.д и всё это вставляется в MS Office.
Я использую Libreoffice, и буду говорить всё применительно к нему.
Поначалу я полагал, что всё это в GNU/Linux я сделать не смогу. Всё я пока и не нашёл как сделать, но очень многое...
1) Вставить спектр ЯМР в презентацию или статью.
В Английской википедии можно найти наиболее известные программы для обработки спектров: https://en.wikipedia.org/wiki/Comparison_of_nuclear_magnetic_resonance_software
Из них я столкнулся со следующими: rNMR,TARQUIN,GSim из свободных и Topspin из проприетарных платных.
По отдельности о каждом:
а) rNMR показался не очень удобным и довольно сложным. Я нашёл там довольно мало функций, хотя признаться, я и не особо искал... Возможноси экспорта я там тоже не нашёл. Установка проста, но требуются R-пакеты, которые легко поставить из репозитория, подробнее http://rnmr.nmrfam.wisc.edu/
б) TARQUIN: Я не нашёл там возможности эксопорта в векторные форматы, но хотя бы там есть эксрпорт в png,jpeg и pdf - уже что-то, но этого мало, так как спектры надо сочленять, модифицировать, масштабировать и т.д...его можно найти https://sourceforge.net/projects/tarquin/?source=recommended
в)GSim: из трёх изученных мною программ показался мне наиболее простым и функциональным (в целом).Также сделан хороший многостраничный справочный материал в pdf-формате, описывающий возможности программы и способы их реализации. Экспорт есть в SVG, EPS. SVG можно открыть в Inkscape, отмасштабировать, отредактировать, дописать, если что-то пропало при экспорте (например, цифры при автоматическом пик-пикинге, при ручном пик-пикинге у меня ничего не пропадало). Inkscape имеет большие возможности, в нём можно писать вертикально, вставлять формулы в SVG и EPS - форматах и др. картинки... В разделе главного меню "view" Вы также найдёте возможность менять наличие осей, цвет заднего фона (жёлтый, чёрный или белый)... Для экспорта больших кусков спектра или спектра целиком нужно использовать view->options->print->выбрать вторую строку в выпадающем меню "Reduce fresolusion for large 1D", иначе файл svg/eps получится настолько большим, что Вы не сможете их открыть ни в Inkscape, ни в libreoffice. Есть тут также и возможность работы с 2D спектрами, но пока я её не проверял, потому что у меня сейчас их уже нет на компьютере... Есть возможность калибровки, интерирования сигналов, вставки нескольких спектров, и даже деконволюции, хотя профессионалы обычно для последнего пишут для этого свои программы... см. также: https://sourceforge.net/p/gsim/wiki/Home/
Итак я думаю, что GSim пригоден для подготовки презентации со спектрами, благодаря наличию экспорта в векторные форматы и Inkscape. EPS отказался вставляться в Libreoffice, но Inkscape его может преобразовать в SVG, и его можно вставить в libreoffice, при этом предваритьлно обработав или обрабатывая прямо в Libreoffice-draw. Кстати, EPS, экспортированный в SVG корректно полностью сохранял автоматический пик-пиккинг, но даже если это не было бы так Inkscape всё равно бы справился с задачей дописать циферки по вертикали (вручную),хотя это и довольно муторно, но не так сильно, как кажется на первый взгляд.
Коммерческий Topspin предоставляет много функций, но экспорта в какие-либо векторные форматы нет в версии для linux, в версии для windows экспорт ведётся напрямую в MS Office. К тому же в Ubuntu Linux не работает функция plot (отвечающая за изготавление картинок для статей и для печати этих картинок) в принципе и ещё несколько функций тоже... в GNU/Linux Debian всё работает, но выдрать красивые картинки оттуда всё равно нельзя, только печать.
Есть также NMR-Pipe и другие проприетарные бесплатные программы для linux, и насколько мне известно NMR-pipe - это очень мощный пакет программ, включающий множество функций и способный обрабатывать 1-4D NMR-спектры, но для его пользовния требуется "знакомство" с Unix и умение писать Unix-скрипты. Также требуется оболочка csh как оболочка по умолчанию, наличие определённых шрифтов и др. О программах для linux см. http://www.linux4chemistry.info/ и конечно же sourceforge.net
2) Рассчёты: ну тут проблем обычно нет, т.к. все серьёзные рассчёты делаются на суперкомрьютерах, а они, как известно, работают почти все на linux: свободных могу назвать NWChem (квантовая химия), Gromacs (молекулярная динамика) -это серьёзные и очень хорошие программы, которые, к сожалению,ещё не завоевали должной популярности, а для баловства пойдёт Avogadro, им же можно смотреть результаты своих вычислений (хотя для этого есть ещё множество других программ), им же можно составлять матрицы для nwchem, Gaussian, Qchem, Gammess и других серьёзных квантово-химических программ... Из бесплатных назову Gammess US, известный признанный пакет, схожий по функциональности с Gaussian и NWchem.
3)С рисованием молекул дела обстоят несколько сложней. Я испробовал самые известные свободные пакеты chemtool и bkchem.В репризеториях Ubuntu (по крайней мере 14.04) пакеты сильно устарели, лучше скачивать их с офицальных сайтов... В Debian 8 версии последние.И был неприятно удивлён... Хотя там есть экспорт в svg, eps и другие форматы..., этот экспорт часто некоректен...
Для bkchem самыми лучшим мне показались SVG (Cairo), postskript (eps) [его ещё нужно превратить в svg открывая в Inkscape, там же его пересохраняя, можноего там же подредактировать],может быть ещё OpenOffice.org-форматы.Те или иные никазистости будут при любом экспорте, так что вопрос только в том как их исправить: открыть в Inkscape и колдовать. Лучше всего над SVG (Cairo), хотя можно и над eps или простым svg. Потом я это сохранял в SVG Inkscape и вставлял в документ libreoffice.
 Некоторые моменты:
 #1 атомы (например N) слегка съезжают, всё читабельно, может быть даже красиво, но если Вы хотите это исправить, то можно:
   - а) В некоторых случаях можно вставить атом не как атом а как текст, например карбонильный кислород, если нельзя,например, азот гетероцикла,то...
   - б) Кликнуть правой кнопкой мыши, выберем цвет атома - white, затем напишем символ и всавим его на место обесцвеченного атома. При этом не забывайте,что векторную картинку можно увеличивать, если плохо видно, что Вы редактируете... потом уменьшите её в LibreOffice или Inkscape, если и это не помогает, то...
   - в) убрать символы атомов, нарисовать просто палочки в местах "некорректности" и вставить их (символы элементов) в Inkscape вручную: сначала вставим белый прямоугольник на место будующего атома, потом напишем нужным нам шрифтом символ (можно делать индексы) и затем переносим на пустое место... после можно отредактировать положение и размер белого прямоугольника, его также можно скопировать, чтобы помещать символ этого элемента в другие точки... не знаю насколько это реально, скорее это просто очень сложно, но тоже можно, по крайней мере экспортируется всё корреуктно.
   - г) ЕЩЁ одна полезная функция - редактирование .odg/.sxd-документов, правда они не всегда корректно отображаются, но такая возможность тоже имеется. Всё сказанное до этого относилось к SVG (EPS). Libreoffice позволяет редактировать длину связей, перемещать атомы, правда он делает это не так хорошо как хотелось бы, но такая возможность тоже имеется.
   - д) если Вы делаете школьный доклад или презентацию для школьников/студентов, то это может всё и не понадобится...
 #2 В SVG простом (не Cairo) будут некорректно отображаться нижние индексы, слишком большие пробелы, тоже приемлимо, но... некрасиво. Способы решения: Inkscape или просто сохранить в SVG(Сairo).
 #3 В EMS и EPS некорректно отображаются некоторые объёмные формулы, те в которых кроме связей на нас и от нас есть связи "близкие" - отображаются жирными. Эти некорректности тоже можно попытаться уладить в Inkscape и у меня это даже получалось. Хотя не всё я знаю как уладить..., но я верю, что такие несложные вещи Inkscape может сделать.
 #4 Если атом не надо вставлять через связь,то его можно вставить как текст. Очевидно, но я не сразу додумался до этого.
 #5 Пары электронов и заряды (точнее их изображение) можно перемещать.
 #6 В Libreoofice можно дорисовать стрелочки, если Вы не смогли хорошо этого сделать в bkchem или же если Вы использовали chemtool.
 #7 Если Вас не устраивает размер картинки, то его можно изменить в Inkscape. Также в bkchem: file->file properties там нужно поставить галочку и размер SVG-формата станет по размеру картинки...
Для Chemtool проблемы схожие, точнее решение их аналогичное, там ещё можно использовать xfig, который надо скачать из репозиториев, но это только для чернобелых картинок, и экспортироваться из xfig будет в eps, который потом можно, при желании, превратить в svg, используя Inkscape...
Сказать, что я окончательно решил все прогблемы не могу:
Во-первых, слишком муторно поправлять положение атомов в Inkscape, если это понадобится... и это может получиться в конце концов не идеальный рисунок, а другие не отправишь на диплом или в серьёзный журнал...
Во-вторых, я не знаю, как в Inkscape менять цвет элемента картинки: хотелось бы вставлять спектр не синий, и не красный, а чёрный или же самому выбирать цвета для разных пиков, но второе совсем не обязательно...
Может быть кто-то может поделиться своим опытом. Я знаю,что в OpenOffice есть дополнение для черчения хим. формул (MolSketch, JChemDraw, SketchEl,EasyChem, XDrawChem и др.)есть также другие рисовалки химические... есть ещё LaTex, он сложен для освоения, но прямо внутри него можно без использования сторонних пакетов рисовать рисуночки, из chemtool можно также экспортировать в LaTex, в него также можно вставлять EPS-изображения (не знаю насчёт остальных)... я этим всем пользоваться не пробовал, но может быть кто-то поведает...
Заранее Спасибо! И надеюсь 2 часа писания не прошли даром и это кому-то пригодится.







« Последнее редактирование: 03 Сентября 2016, 20:50:31 от chatrapati »
Без труда золото, серебро и медь были бы бесполезной пустой породой.
ⓒМахатма Ганди

Punko

  • Гость
Re: Химия linux
« Ответ #1 : 03 Сентября 2016, 18:44:19 »
chatrapati, шикарно! Спасибо за Ваш опыт! Возможно, немного отформатируем и закинем в нашу местную вики.

Оффлайн chatrapati

  • Автор темы
  • Новичок
  • *
  • Сообщений: 26
    • Просмотр профиля
Re: Химия linux
« Ответ #2 : 03 Сентября 2016, 18:57:20 »
Я надеюсь, что кто-нибудь ещё дополнит. Подобные нетривиальные вещи важно описывать...
Как, например, http://iportnov.blogspot.ru/2006/06/linux-dropc-linux.html сделали для математики, а для химического софта сложно найти какие-то советы. На мой взгляд, отсутствие специфического linux-софта и даже незнание о нём очень сильно уменьшают возможности и аудиторию linux-пользователей.
Без труда золото, серебро и медь были бы бесполезной пустой породой.
ⓒМахатма Ганди

Оффлайн Sly_tom_cat

  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 12130
  • Xubuntu 22.04
    • Просмотр профиля
    • Github
Re: Химия linux
« Ответ #3 : 03 Сентября 2016, 19:46:07 »
chatrapati, наверно стоит в форме статьи в вики оформить. Очень полезный материал, дополнить может и сможет кто но думаю основной материал уже вполне полноценен.
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: https://help.ubuntu.ru/wiki/uefiboot

Оффлайн chatrapati

  • Автор темы
  • Новичок
  • *
  • Сообщений: 26
    • Просмотр профиля
Re: Химия linux
« Ответ #4 : 03 Сентября 2016, 20:09:58 »
К сожалению, мне сейчас некогда этим заниматься, но я может быть ещё буду дополнять эту тему или вики-статью...
Без труда золото, серебро и медь были бы бесполезной пустой породой.
ⓒМахатма Ганди

Оффлайн chatrapati

  • Автор темы
  • Новичок
  • *
  • Сообщений: 26
    • Просмотр профиля
Re: Химия linux
« Ответ #5 : 04 Сентября 2016, 23:43:45 »
Дополняю:
1) GSim и Inkscape: была проблема с тем, чтобы менять цвет элементов SVG-картинки, но эта проблема решается по крайней мере в Inkscape. Для этого кликнуть правой кнопкой мыши на "контур" (собственно элемент картинки):сам спектр, интеграл или какую-нибудь цифру, например, потом выбрать в выпадающем меню "заливка и обводка" и потом изменить цвет заливки (для цифер, точнее текста) или обводки (для спектра). Если в выпададающем меню такого пункта не оказалось, откройте его кликнув на другой объект, а потом перейдите на вас интересующий... это всё очень просто.
Дополнительно опишу проблемы:
№1 Когда делаете экспорт из GSim в SVG, то цифры немного съезжают, но это можно легко исправить, соединив середину рисунка, точнее числа(там стелочка стоит), с соответстующим штрихом. Можно конечно этого не делать, но спектр не особо красивый
№2 (Дополнение к №1) когда Вы проинтегрировали спектр (а чаще всего в статьях и презентациях 1D-спектры интегрируют), то оси перестают быть разобранными на отдельные части (по крайней мере я столкнулся с такой проблемой), и тогда цифры перемещать уже неполучится отдельно от оси, их можно просто закрасить белым прямоугольником аккуратно, и вручную написать и расставить на нужные места. Функция сетка в разделе главного меню "Вид" позволит расположить их на одном уровне (высоте) , потом её убираем и двигаем вправо/влево, зажав клавишу Ctrl.
Это не так муторно, как кажется, за 5-10 минут управитесь с обработкой одного спектра, что приемлемо.
Насчёт пик-пикинга, я был не прав - он и при автомотическом, и при ручном пик-пикиге не экспортируется из SVG в libreoffice с числами, но это тоже легко исправляется в Inkscape. Просто используем ластик, чиселки стираются (ластик в векторной графике немного другой, нежели чем в растровой - он стирает весь объект целиком, а числа пик-пикинга - это отдельные объекты). Потом пишем текст по вертикали. Есть решение проще - сохранить как EPS в Inkscape сделанный в GSim SVG-файл. Экспорт из GSim в EPS и сразу в Libreoffice не получится в данной программе (а например в chemtool получится,но это совсем другая история...). НОпри этом слегка теряется качество, хотя и такое качество может быть достаточно для публикации, думаю, скорее да, чем нет, но я не уверен...
ОБЩИЙ ВОПРОС: А что если "они требуют в формате MS Office"? Такое может быть, но и тут есть решение (не проверял в полной мере):
Вы можете Ваши корректные картинки SVG перевести в формат EPS с помощью Inkscape; по моему опыту проверок, при сохранении документа в формате .docx EPS-картинки остаются без изменений. Но учтите, что EPS-картинки хуже немного, хотя тоже симпотичные и будута абсолютно такие же как и Ваши SVG (по крайней мере у меня так получалось). Насчёт наезжания на них текста или нет сказать не могу... Второй пункт: создаём учётную запись Microsoft и в Bing находим онлайн-оффис... Думаю, в нём можно проверить и подправить. Но я никогда этого не делал. Я сам первый раз сталкиваюсь с вопросом "сделать химические картинки в линуксе"...

Вообще говоря, ODF-формат, используемый Libreoffice и Openoffice, является международным стандартом и ГОСТом РФ (см. https://ru.wikipedia.org/wiki/OpenDocument  https://ru.wikipedia.org/wiki/LibreOffice), в отличие от MS Office, но жизнь такова, что...  сами знаете...
"OpenDocument является единственным стандартом для редактируемых офисных документов, утверждённым независимым комитетом по стандартам и реализованным несколькими поставщиками программного обеспечения. OpenDocument может быть использован любым поставщиком ПО, включая, в том числе, поставщиков закрытого программного обеспечения и разработчиков, использующих GNU GPL."
А вот SVG-графика и odg-рисунки нормально не экспортирубтся в MS Office, насколько я помню...
" Использование специального формата математических формул, который имеет альтернативу в виде MathML и вдобавок был отвергнут консорциумом W3C ещё в 1997 году. В других местах также используются собственные форматы Microsoft — например, для векторной графики применяется внутренний формат Windows WMF, а не стандартизированный SVG." (https://ru.wikipedia.org/wiki/Office_Open_XML)
WMF = EMF, насколько я понял...

Пользователь добавил сообщение 05 Сентября 2016, 00:04:21:
Итак, не претендуя на конечную истину, могу сказать, что 1D спектры и химические формулы можно изготовить в в хорошем качестве и в разных представлениях, и экспортировать в Libreoffice или сделать PDF-документ (из предыдущего). Это не очень сложно, хотя и далеко не так просто как в windows. Может быть, ещё буду дополнять когда-нибудь...
Всем удачи, стабильного и свободного ПО))
Есть вопросы - пишите.
« Последнее редактирование: 05 Сентября 2016, 00:04:21 от chatrapati »
Без труда золото, серебро и медь были бы бесполезной пустой породой.
ⓒМахатма Ганди

Оффлайн chatrapati

  • Автор темы
  • Новичок
  • *
  • Сообщений: 26
    • Просмотр профиля
Re: Химия linux
« Ответ #6 : 09 Сентября 2016, 18:47:15 »
Это всё надо переписать. Я многое нашёл за это время. Особенно это касается возможностей Inkscape на основании опыта перечерчивания картинок из реальных статей серьёзных журналов.
Когда-нибудь я этим займусь. Может быть даже стоит снять видео экрана и выложить куда-нибудь, например, а youtube (естественно без прямой или косвенной монетизации), пока не знаю...
Без труда золото, серебро и медь были бы бесполезной пустой породой.
ⓒМахатма Ганди

Punko

  • Гость
Re: Химия linux
« Ответ #7 : 09 Сентября 2016, 20:10:58 »
chatrapati, если вы не против, то я попробую оформить в нашей вики материал, который есть.

Оффлайн chatrapati

  • Автор темы
  • Новичок
  • *
  • Сообщений: 26
    • Просмотр профиля
Re: Химия linux
« Ответ #8 : 10 Сентября 2016, 16:52:23 »
Я не против. Вопрос в том, что там не хватает много чего, а что-то "устарело" и описанные действия похожи на извращения - таких действий быть не должно... Поэтому я и говорю, что надо всё переделывать. Что-то упростилось, в чём-то нет необходимости, узнал много нового... Надо бы и проилюстрировать какими-то картинками... Вы пишите, а я потом подправлю. Надеюсь, у меня будет возможность последнего.
Без труда золото, серебро и медь были бы бесполезной пустой породой.
ⓒМахатма Ганди

 

Страница сгенерирована за 0.057 секунд. Запросов: 25.