Усредненный спектр - как проще всего?

вопросы строения молекул и квантовой химии
Ответить
Аватара пользователя
Гесс
Сообщения: 13067
Зарегистрирован: Ср фев 15, 2012 11:19 pm

Усредненный спектр - как проще всего?

Сообщение Гесс » Сб сен 19, 2015 2:32 am

Есть очень много (ну скажем 1000) уф спектров (расчетных) конформеров одного и того же соединения. Вес всех конформеров одинаков (да, вот так).
Вид каждого спектра:
556.8 0.571
533.6 0.476
415.2 0.127
411.0 0.326
первая колонка длина волны (в нм), вторая - сила осцилятора.
Задача - из 1000 спектров - сделать один "средний по больнице", с минимальными затратами труда.
Спаковать в один файл и пытаться скормить Габедиту?

Аватара пользователя
Vit Nhoc
Сообщения: 1401
Зарегистрирован: Сб июн 06, 2015 12:28 pm

Re: Усредненный спектр - как проще всего?

Сообщение Vit Nhoc » Сб сен 19, 2015 9:16 am

Если эта задача не совсем уж уникальная, может мне реализовать это в Chemcraft? Например выбираете File/Open multiple files, далее Show averaged spectrum.
"Ты должен сделать добро из зла, потому что больше его сделать не из чего". АБ Стругацкие.

Аватара пользователя
Shorku
Сообщения: 1075
Зарегистрирован: Вт дек 13, 2011 2:17 pm

Re: Усредненный спектр - как проще всего?

Сообщение Shorku » Сб сен 19, 2015 2:23 pm

Написание индийского кода, который это сделает, займет какие-нибудь полчаса, кмк

[ Post made via Android ] Изображение
Make quantum chemistry, not war

Fanfate
Сообщения: 106
Зарегистрирован: Вс мар 17, 2013 1:38 pm

Re: Усредненный спектр - как проще всего?

Сообщение Fanfate » Пн сен 21, 2015 5:21 am

я бы сделал в экселе, если число полос одинаково
вытащил бы от туда, в отдельные для каждого спектра, столбцы сделал бы усреднение, а потом опять в кемкрафт (допустим отредактировав выходной файл).
Немного придется помучиться если их действительно 1000.
Этот способ даже не конкурирует с предложенными выше. Но как дополнительный вариант.

Аватара пользователя
amge
Сообщения: 2050
Зарегистрирован: Вт июл 31, 2007 11:42 am

Re: Усредненный спектр - как проще всего?

Сообщение amge » Пн сен 21, 2015 7:49 am

Гесс писал(а):Спаковать в один файл и пытаться скормить Габедиту?
Мне кажется, что если веса всех конформеров одинаковые, то это будет самое правильное. Либо использовать другой софт, способный нарисовать спектр, состоящий из 4000 полос.

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

alxyppv
Сообщения: 560
Зарегистрирован: Сб апр 07, 2007 11:23 am

Re: Усредненный спектр - как проще всего?

Сообщение alxyppv » Пн сен 21, 2015 8:50 am

amge писал(а): Видимо, нельзя просто усреднять частоты/интенсивности каждой полосы по всем конформерам, и, скорее всего, усреднять частоты с весами, равными интенсивностям, тоже нельзя. "Истинный" спектр будет суперпозицией спектров конформеров, в нем будет куча близколежащих перекрывающихся полос.
Я бы тоже сначала уширял бы каждый спектр (Лоренцем, Гауссом и т.п.), а потом складывал бы. А можно и наоборот - распложить их все в 2 столбца (длиной, соответсвтенно, в 4000 значений) - т.е. сказать, что это типа один спектр - и наслать уширялку. Если надо, простая программка для таких уширений есть, могу дать.
А.П.

Аватара пользователя
Гесс
Сообщения: 13067
Зарегистрирован: Ср фев 15, 2012 11:19 pm

Re: Усредненный спектр - как проще всего?

Сообщение Гесс » Пн сен 21, 2015 11:35 am

Габедит с трудом но переваривает. Там не 4000, там 18000 пиков, я просто дал 4 строки чтоб было понятно что я о ASCII формате (на самом деле мне и их надо было выковырнуть из 1000 вамповских аутпутов но это лирика). Ось Y правда пришлось масштабировать к 1, иначе лоренцовая усреднялка выбивала потолок, но это мелочи жизни. Сами пики удобнее отсматривать в Origine, к моему удивлению, лоренциан, описывающий все сигналы, мне в Ориджине построить не удалось - строится кривая с одним максимумом. Если честно от Ориджина я ожидал большего. Ну либо руки кривые.
Следующий спектр ожидается еще в 5 раз больше пиков, посмотрим пошлет ли меня Габедит.
Да, на данный момент я собираю все пики и потом накладываю на них уширяльник. Как наложить лоренц автоматически я не знаю, а 1000 спектров вручную - нет, спасибо...

alxyppv
Сообщения: 560
Зарегистрирован: Сб апр 07, 2007 11:23 am

Re: Усредненный спектр - как проще всего?

Сообщение alxyppv » Пн сен 21, 2015 4:12 pm

Гесс, я Вам послал пару сообщений, но они почему-то сидят в исходящих, а не в отправленных. дайте знать если они дошли (или не дошли).
А.П.

Аватара пользователя
Гесс
Сообщения: 13067
Зарегистрирован: Ср фев 15, 2012 11:19 pm

Re: Усредненный спектр - как проще всего?

Сообщение Гесс » Пн сен 21, 2015 5:04 pm

alxyppv писал(а):Гесс, я Вам послал пару сообщений, но они почему-то сидят в исходящих, а не в отправленных. дайте знать если они дошли (или не дошли).
Пока они не прочитаны - они в исходящих. Когда я их открываю они у вас превращаются в отправленные. Спасибо, я все получил и оно роскошно работает.

Аватара пользователя
surius
Сообщения: 1489
Зарегистрирован: Пт сен 21, 2007 11:20 am

Re: Усредненный спектр - как проще всего?

Сообщение surius » Пн сен 21, 2015 6:39 pm

Гесс писал(а): Спасибо, я все получил и оно роскошно работает.
для публики покажите/расскажиет? Я с вашими пиками нормально поигрался, но так у меня так и не получилось заставить Origin делать то что нужно :shuffle:
"Bite my shiny metal ass"
Bender

Аватара пользователя
Гесс
Сообщения: 13067
Зарегистрирован: Ср фев 15, 2012 11:19 pm

Re: Усредненный спектр - как проще всего?

Сообщение Гесс » Пн сен 21, 2015 7:01 pm

Как решит alxyppv. Его код - его правила. :)

alxyppv
Сообщения: 560
Зарегистрирован: Сб апр 07, 2007 11:23 am

Re: Усредненный спектр - как проще всего?

Сообщение alxyppv » Пн сен 21, 2015 7:46 pm

Гесс писал(а):Как решит alxyppv. Его код - его правила. :)
Ого. Вот она, слава :)
Речь идет всего лишь о простой утилите, которая уширяет пики по Лоренцу. В приложении екзешник (консольное приложение под винду) и входной файл (freq.txt), который должен быть в той же директории, что и lorenz.exe. После запуска создается ASCII-файл lorenz.dat со спектром.

Формат freq.txt (не меняйте интервалы между строками, лучше просто редактируйте файл).
В первой строке - пределы спектра (от и до, в примере ниже - от 0.0 до 3200). Затем пустая строка. Затем строка с тремя числами: ширина пика, шаг, и сколько всего пиков (в примере ниже - ширина 2, шаг 0.25, всего 600 пиков - это число может быть больше чем у Вас их на самом деле, главное чтобы не меньше). Затем опять пустая строка, а затем идут собственно пики - значения X и Y. На настоящий момент программа может воспринять 128000 пар (этот предел можно изменить). Что далее происходит (числа из примера внизу) - начинаяя с x=0.0 и с шагом 0.25 в каждой точке суммируются значения лоренцевой функции для всех пиков. Суммарное значение пишется в выдачу. Делается следующий шаг по x, и так пока не будет достигнуто 3200. Я собственно написал эту програмку чтобы уширять ИК и КР спектры когда Chemraft еще этого не делал.

Код: Выделить всё

0.0 3200

2.0 0.25 600

9.89 0.436
10.64 0.239
17.21 0.437
17.85 0.128
21.75 0.045 
...
Желающие сделать все не через одно место (ибо автор не программист), а нормально, могут взять С++ шный код (lor.cpp.txt) и подправить на свое усмотрение.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
А.П.

Аватара пользователя
surius
Сообщения: 1489
Зарегистрирован: Пт сен 21, 2007 11:20 am

Re: Усредненный спектр - как проще всего?

Сообщение surius » Сб сен 26, 2015 10:31 am

спасибо
"Bite my shiny metal ass"
Bender

Ответить

Вернуться в «квантовая химия и моделирование»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 50 гостей