Усредненный спектр - как проще всего?
Усредненный спектр - как проще всего?
Есть очень много (ну скажем 1000) уф спектров (расчетных) конформеров одного и того же соединения. Вес всех конформеров одинаков (да, вот так).
Вид каждого спектра:
556.8 0.571
533.6 0.476
415.2 0.127
411.0 0.326
первая колонка длина волны (в нм), вторая - сила осцилятора.
Задача - из 1000 спектров - сделать один "средний по больнице", с минимальными затратами труда.
Спаковать в один файл и пытаться скормить Габедиту?
Вид каждого спектра:
556.8 0.571
533.6 0.476
415.2 0.127
411.0 0.326
первая колонка длина волны (в нм), вторая - сила осцилятора.
Задача - из 1000 спектров - сделать один "средний по больнице", с минимальными затратами труда.
Спаковать в один файл и пытаться скормить Габедиту?
Re: Усредненный спектр - как проще всего?
Если эта задача не совсем уж уникальная, может мне реализовать это в Chemcraft? Например выбираете File/Open multiple files, далее Show averaged spectrum.
"Ты должен сделать добро из зла, потому что больше его сделать не из чего". АБ Стругацкие.
Re: Усредненный спектр - как проще всего?
Написание индийского кода, который это сделает, займет какие-нибудь полчаса, кмк
[ Post made via Android ]
[ Post made via Android ]

Make quantum chemistry, not war
Re: Усредненный спектр - как проще всего?
я бы сделал в экселе, если число полос одинаково
вытащил бы от туда, в отдельные для каждого спектра, столбцы сделал бы усреднение, а потом опять в кемкрафт (допустим отредактировав выходной файл).
Немного придется помучиться если их действительно 1000.
Этот способ даже не конкурирует с предложенными выше. Но как дополнительный вариант.
вытащил бы от туда, в отдельные для каждого спектра, столбцы сделал бы усреднение, а потом опять в кемкрафт (допустим отредактировав выходной файл).
Немного придется помучиться если их действительно 1000.
Этот способ даже не конкурирует с предложенными выше. Но как дополнительный вариант.
Re: Усредненный спектр - как проще всего?
Мне кажется, что если веса всех конформеров одинаковые, то это будет самое правильное. Либо использовать другой софт, способный нарисовать спектр, состоящий из 4000 полос.Гесс писал(а):Спаковать в один файл и пытаться скормить Габедиту?
Видимо, нельзя просто усреднять частоты/интенсивности каждой полосы по всем конформерам, и, скорее всего, усреднять частоты с весами, равными интенсивностям, тоже нельзя. "Истинный" спектр будет суперпозицией спектров конформеров, в нем будет куча близколежащих перекрывающихся полос.
Re: Усредненный спектр - как проще всего?
Я бы тоже сначала уширял бы каждый спектр (Лоренцем, Гауссом и т.п.), а потом складывал бы. А можно и наоборот - распложить их все в 2 столбца (длиной, соответсвтенно, в 4000 значений) - т.е. сказать, что это типа один спектр - и наслать уширялку. Если надо, простая программка для таких уширений есть, могу дать.amge писал(а): Видимо, нельзя просто усреднять частоты/интенсивности каждой полосы по всем конформерам, и, скорее всего, усреднять частоты с весами, равными интенсивностям, тоже нельзя. "Истинный" спектр будет суперпозицией спектров конформеров, в нем будет куча близколежащих перекрывающихся полос.
А.П.
Re: Усредненный спектр - как проще всего?
Габедит с трудом но переваривает. Там не 4000, там 18000 пиков, я просто дал 4 строки чтоб было понятно что я о ASCII формате (на самом деле мне и их надо было выковырнуть из 1000 вамповских аутпутов но это лирика). Ось Y правда пришлось масштабировать к 1, иначе лоренцовая усреднялка выбивала потолок, но это мелочи жизни. Сами пики удобнее отсматривать в Origine, к моему удивлению, лоренциан, описывающий все сигналы, мне в Ориджине построить не удалось - строится кривая с одним максимумом. Если честно от Ориджина я ожидал большего. Ну либо руки кривые.
Следующий спектр ожидается еще в 5 раз больше пиков, посмотрим пошлет ли меня Габедит.
Да, на данный момент я собираю все пики и потом накладываю на них уширяльник. Как наложить лоренц автоматически я не знаю, а 1000 спектров вручную - нет, спасибо...
Следующий спектр ожидается еще в 5 раз больше пиков, посмотрим пошлет ли меня Габедит.
Да, на данный момент я собираю все пики и потом накладываю на них уширяльник. Как наложить лоренц автоматически я не знаю, а 1000 спектров вручную - нет, спасибо...
Re: Усредненный спектр - как проще всего?
Гесс, я Вам послал пару сообщений, но они почему-то сидят в исходящих, а не в отправленных. дайте знать если они дошли (или не дошли).
А.П.
Re: Усредненный спектр - как проще всего?
Пока они не прочитаны - они в исходящих. Когда я их открываю они у вас превращаются в отправленные. Спасибо, я все получил и оно роскошно работает.alxyppv писал(а):Гесс, я Вам послал пару сообщений, но они почему-то сидят в исходящих, а не в отправленных. дайте знать если они дошли (или не дошли).
Re: Усредненный спектр - как проще всего?
для публики покажите/расскажиет? Я с вашими пиками нормально поигрался, но так у меня так и не получилось заставить Origin делать то что нужноГесс писал(а): Спасибо, я все получил и оно роскошно работает.
"Bite my shiny metal ass"
Bender
Bender
Re: Усредненный спектр - как проще всего?
Как решит alxyppv. Его код - его правила. 
Re: Усредненный спектр - как проще всего?
Ого. Вот она, славаГесс писал(а):Как решит 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
...У вас нет необходимых прав для просмотра вложений в этом сообщении.
А.П.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 60 гостей