Здравствуйте! Хотелось бы немного поделиться опытом о моих попытках использования химического софта в 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 часа писания не прошли даром и это кому-то пригодится.