Справочник дескрипторов

Эта страница предоставляет полный справочник по всем дескрипторам, доступным в библиотеке ORCA Descriptors, включая их параметры, ограничения и детали реализации.

Энергетические дескрипторы

homo_energy

Метод: homo_energy(mol)

Описание: Возвращает энергию высшей занятой молекулярной орбитали (HOMO) в электронвольтах (эВ).

Параметры:

  • mol: Объект молекулы RDKit

Возвращает: Энергия HOMO в эВ (float, обычно отрицательное значение)

Требования:

  • Работает со всеми DFT и полуэмпирическими методами

  • Требует успешной сходимости SCF

  • Работает с типами расчетов SP и Opt

Ограничения:

  • Возвращает 0.0, если энергию HOMO невозможно извлечь из вывода ORCA

  • Для открытооболочечных систем возвращает энергию альфа-HOMO

Примечания по реализации:

  • Извлекается напрямую из вывода ORCA

  • Использует кешированные результаты, если доступны

lumo_energy

Метод: lumo_energy(mol)

Описание: Возвращает энергию низшей незанятой молекулярной орбитали (LUMO) в электронвольтах (эВ).

Параметры:

  • mol: Объект молекулы RDKit

Возвращает: Энергия LUMO в эВ (float, обычно положительное или небольшое отрицательное значение)

Требования:

  • Работает со всеми DFT и полуэмпирическими методами

  • Требует успешной сходимости SCF

  • Работает с типами расчетов SP и Opt

Ограничения:

  • Возвращает 0.0, если энергию LUMO невозможно извлечь из вывода ORCA

  • Для открытооболочечных систем возвращает энергию альфа-LUMO

gap_energy

Метод: gap_energy(mol)

Описание: Вычисляет разрыв энергии HOMO-LUMO (ширина запрещенной зоны) в электронвольтах (эВ).

Параметры:

  • mol: Объект молекулы RDKit

Возвращает: Разрыв HOMO-LUMO в эВ (float, всегда положительное значение)

Требования:

  • Работает со всеми DFT и полуэмпирическими методами

  • Требует обе энергии: HOMO и LUMO

Расчет: gap = LUMO - HOMO

Ограничения:

  • Возвращает 0.0, если отсутствует энергия HOMO или LUMO

total_energy

Метод: total_energy(mol)

Описание: Возвращает полную электронную энергию в Хартри (атомные единицы).

Параметры:

  • mol: Объект молекулы RDKit

Возвращает: Полная энергия в Хартри (float, обычно большое отрицательное значение)

Требования:

  • Работает со всеми DFT и полуэмпирическими методами

  • Работает с типами расчетов SP и Opt

Ограничения:

  • Для полуэмпирических методов (AM1, PM3 и т.д.) энергии менее отрицательны, чем для DFT

  • Возвращает 0.0, если энергию невозможно извлечь

Примечания по реализации:

  • Для DFT: обычно от -100 до -1000 Хартри для малых молекул

  • Для AM1: обычно от -5 до -50 Хартри для малых молекул

mo_energy

Метод: mo_energy(mol, index)

Описание: Возвращает энергию конкретной молекулярной орбитали по индексу.

Параметры:

  • mol: Объект молекулы RDKit

  • index: Индекс орбитали (int)

    • Отрицательные индексы: -1 = HOMO, -2 = HOMO-1 и т.д.

    • Положительные индексы: 0 = первая орбиталь, 1 = вторая орбиталь и т.д.

Возвращает: Энергия орбитали в эВ (float)

Требования:

  • Работает со всеми DFT и полуэмпирическими методами

  • Требует энергии орбиталей в выводе ORCA

Ограничения:

  • Возвращает 0.0, если индекс вне диапазона

  • Может не работать со всеми форматами вывода ORCA

Пример:

homo_minus_1 = orca.mo_energy(mol, index=-2)  # Энергия HOMO-1

DFT-дескрипторы

ch_potential

Метод: ch_potential(mol)

Описание: Вычисляет химический потенциал (μ) в электронвольтах (эВ). Химический потенциал определяется как μ = (HOMO + LUMO) / 2.

Параметры:

  • mol: Объект молекулы RDKit

Возвращает: Химический потенциал в эВ (float, обычно отрицательное значение для стабильных молекул)

Требования:

  • Работает со всеми DFT и полуэмпирическими методами

  • Требует обе энергии: HOMO и LUMO

Расчет: μ = (HOMO + LUMO) / 2

Ограничения:

  • Основан на приближении теоремы Купманса

  • Может быть неточным для систем с сильной электронной корреляцией

Физический смысл:

  • Отрицательные значения указывают на стабильные молекулы

  • Связан с электроотрицательностью: χ = -μ

electronegativity

Метод: electronegativity(mol)

Описание: Вычисляет электроотрицательность (χ) в электронвольтах (эВ). Определяется как χ = -μ = -(HOMO + LUMO) / 2.

Параметры:

  • mol: Объект молекулы RDKit

Возвращает: Электроотрицательность в эВ (float, всегда положительное значение)

Требования:

  • Работает со всеми DFT и полуэмпирическими методами

  • Требует обе энергии: HOMO и LUMO

Расчет: χ = -ch_potential(mol)

abs_hardness

Метод: abs_hardness(mol)

Описание: Вычисляет абсолютную жесткость (η) в электронвольтах (эВ). Жесткость измеряет сопротивление переносу электронов.

Параметры:

  • mol: Объект молекулы RDKit

Возвращает: Жесткость в эВ (float, всегда положительное значение)

Требования:

  • Работает со всеми DFT и полуэмпирическими методами

  • Требует обе энергии: HOMO и LUMO

Расчет: η = (LUMO - HOMO) / 2

Физический смысл:

  • Большие значения указывают на жесткие молекулы (трудно поляризуемые)

  • Малые значения указывают на мягкие молекулы (легко поляризуемые)

  • Связан с химической реакционной способностью: жесткие молекулы предпочитают жесткие реагенты

abs_softness

Метод: abs_softness(mol)

Описание: Вычисляет абсолютную мягкость (S) в 1/эВ. Мягкость является обратной величиной жесткости.

Параметры:

  • mol: Объект молекулы RDKit

Возвращает: Мягкость в 1/эВ (float, всегда положительное значение)

Требования:

  • Работает со всеми DFT и полуэмпирическими методами

  • Требует расчета жесткости

Расчет: S = 1 / (2 * η)

Ограничения:

  • Возвращает 0.0, если жесткость равна нулю или отрицательна

frontier_electron_density

Метод: frontier_electron_density(mol)

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

Параметры:

  • mol: Объект молекулы RDKit

Возвращает: Список кортежей (atom, density_value) только для тяжелых атомов

Требования:

  • Работает со всеми DFT и полуэмпирическими методами

  • Требует атомных зарядов из вывода ORCA

Ограничения:

  • Возвращает только тяжелые атомы (C, N, O и т.д.), атомы водорода исключены

  • Использует абсолютное значение атомных зарядов

  • Если заряд равен нулю, присваивает значения по умолчанию: - C, N, O: 0.15 - Другие атомы: 0.1

Примечания по реализации:

  • Приближенный метод, основанный на атомных зарядах

  • Может неточно отражать истинную плотность фронтирных электронов для всех систем

get_nmr_shifts

Метод: get_nmr_shifts(mol, atom_type='C')

Описание: Возвращает химические сдвиги NMR для атомов указанного типа.

Параметры:

  • mol: Объект молекулы RDKit

  • atom_type: Тип атома для фильтрации (например, „C“, „H“, „N“). По умолчанию: „C“

Возвращает: Словарь, сопоставляющий индекс атома с химическим сдвигом в ppm (dict[int, float])

Требования:

  • Работает с методами DFT (недоступно для полуэмпирических методов)

  • Требует ключевого слова NMR во входном файле ORCA

  • Работает с типами расчетов SP и Opt

Ограничения:

  • Доступно только для методов DFT

  • Возвращает пустой словарь, если атомы указанного типа не найдены

  • Вызывает ValueError, если химические сдвиги NMR не найдены в выводе ORCA

Примечания по реализации:

  • ORCA выводит константы экранирования (σ), химические сдвиги рассчитываются как: δ = 184.1 - σ (для 13C)

  • Референс: TMS (σ_ref ~ 184 ppm для 13C, ~31 ppm для 1H)

  • Типичные сдвиги ароматического углерода: 100-200 ppm

  • Типичные сдвиги алифатического углерода: 0-50 ppm

Пример:

# Получить все химические сдвиги углерода
carbon_shifts = orca.get_nmr_shifts(mol, atom_type='C')

# Получить химические сдвиги водорода
hydrogen_shifts = orca.get_nmr_shifts(mol, atom_type='H')

get_mayer_indices

Метод: get_mayer_indices(mol, atom_type_i='C', atom_type_j='C')

Описание: Возвращает индексы Майера для связей между атомами указанных типов. Индекс Майера является мерой прочности связи и ароматичности.

Параметры:

  • mol: Объект молекулы RDKit

  • atom_type_i: Первый тип атома для фильтрации (например, „C“, „H“, „N“). По умолчанию: „C“

  • atom_type_j: Второй тип атома для фильтрации (например, „C“, „H“, „N“). По умолчанию: „C“

Возвращает: Список кортежей (atom_index_i, atom_index_j, index_value)

Требования:

  • Работает со всеми DFT и полуэмпирическими методами

  • Требует ключевого слова Mayer во входном файле ORCA

  • Работает с типами расчетов SP и Opt

Ограничения:

  • Включает только связи с индексом >= 0.3 (значимые связи)

  • Возвращает пустой список, если связи указанных типов не найдены

  • Вызывает ValueError, если индексы Майера не найдены в выводе ORCA

  • Для метода AM1 значения могут значительно отличаться от DFT (обычно выше)

Примечания по реализации:

  • Индекс Майера обычно находится в диапазоне от 0.0 (нет связи) до ~2.0 (тройная связь)

  • Для ароматических C-C связей (например, бензол) ожидаемое значение ~1.4

  • Для одинарных связей ожидаемое значение ~1.0

  • Для двойных связей ожидаемое значение ~1.8-2.0

Пример:

# Получить все индексы C-C связей
cc_indices = orca.get_mayer_indices(mol, atom_type_i='C', atom_type_j='C')

# Получить индексы C-H связей
ch_indices = orca.get_mayer_indices(mol, atom_type_i='C', atom_type_j='H')

nbo_stabilization_energy

Метод: nbo_stabilization_energy(mol, donor='LP(O)', acceptor='PiStar(C=O)')

Описание: Возвращает энергию стабилизации NBO (Natural Bond Orbital) E(2) для конкретного донор-акцепторного взаимодействия. E(2) измеряет энергию делокализации от донорной орбитали к акцепторной орбитали.

Параметры:

  • mol: Объект молекулы RDKit

  • donor: Описание донорной орбитали (например, „LP(O)“ для неподеленной пары на кислороде). По умолчанию: „LP(O)“

  • acceptor: Описание акцепторной орбитали (например, „PiStar(C=O)“ для π* орбитали C=O). По умолчанию: „PiStar(C=O)“

Возвращает: Энергия стабилизации в ккал/моль (float)

Требования:

  • Работает только с методами DFT (недоступно для полуэмпирических методов)

  • Требует ключевого слова NBO во входном файле ORCA

  • Требует установки переменной окружения NBOEXE, указывающей на исполняемый файл NBO (nbo6.exe или nbo5.exe)

  • Работает с типами расчетов SP и Opt

Ограничения:

  • Доступно только для методов DFT

  • Требует установки программы NBO и настройки переменной окружения NBOEXE

  • Вызывает ValueError, если энергии стабилизации NBO не найдены в выводе ORCA

  • Если точная пара донор-акцептор не найдена, возвращает максимальную доступную энергию стабилизации

Примечания по реализации:

  • Значения E(2) обычно находятся в диапазоне 5-50 ккал/моль для значимых взаимодействий

  • Типичные взаимодействия: - n → π* (неподеленная пара к π*): 5-30 ккал/моль - σ → σ*: 1-10 ккал/моль - π → π*: 1-5 ккал/моль

  • Более высокие значения E(2) указывают на более сильную делокализацию и резонансную стабилизацию

Пример:

# Получить энергию взаимодействия n → π* в ацетоне
e2 = orca.nbo_stabilization_energy(mol, donor='LP(O)', acceptor='PiStar(C=O)')

Дескрипторы зарядов

get_atom_charges

Метод: get_atom_charges(mol)

Описание: Возвращает атомные заряды Малликена для всех атомов.

Параметры:

  • mol: Объект молекулы RDKit

Возвращает: Словарь, сопоставляющий индекс атома с зарядом (dict[int, float])

Требования:

  • Работает со всеми DFT и полуэмпирическими методами

  • Требует анализа популяции Малликена в выводе ORCA

Ограничения:

  • Заряды Малликена зависят от базисного набора

  • Могут быть неточными для систем с диффузными базисными функциями

  • Заряды в атомных единицах (e)

get_min_h_charge

Метод: get_min_h_charge(mol, method="ESP")

Описание: Возвращает минимальный чистый атомный заряд для атомов водорода.

Параметры:

  • mol: Объект молекулы RDKit

  • method: Метод расчета заряда (в настоящее время поддерживается только «ESP», но используется Малликен как резервный вариант)

Возвращает: Минимальный заряд водорода в атомных единицах (float)

Требования:

  • Работает со всеми DFT и полуэмпирическими методами

  • Требует атомных зарядов из вывода ORCA

  • Молекула должна содержать атомы водорода

Ограничения:

  • В настоящее время использует заряды Малликена независимо от параметра method

  • Возвращает 0.0, если атомы водорода не найдены

Примечания по реализации:

  • Параметр method="ESP" принимается для совместимости API, но в настоящее время использует заряды Малликена

Термодинамические дескрипторы

gibbs_free_energy

Метод: gibbs_free_energy(mol)

Описание: Возвращает энергию Гиббса в Хартри. Включает электронную энергию и термические поправки.

Параметры:

  • mol: Объект молекулы RDKit

Возвращает: Энергия Гиббса в Хартри (float)

Требования:

  • Работает со всеми DFT и полуэмпирическими методами

  • Требует расчета частот или термических поправок в выводе ORCA

  • Возвращает полную энергию, если энергия Гиббса недоступна

Ограничения:

  • Для method_type="SP" может возвращать полную энергию вместо истинной энергии Гиббса

  • Термические поправки требуют расчета частот (недоступен в SP расчетах)

Примечания по реализации:

  • Если энергия Гиббса не найдена в выводе, возвращает полную энергию как резервный вариант

entropy

Метод: entropy(mol)

Описание: Возвращает энтропию в Дж/(моль·К).

Параметры:

  • mol: Объект молекулы RDKit

Возвращает: Энтропия в Дж/(моль·К) (float, всегда положительное значение)

Требования:

  • Требует расчета частот в ORCA

  • Может быть недоступна для method_type="SP"

Ограничения:

  • Возвращает 0.0, если энтропия не найдена в выводе ORCA

  • Требует колебательных частот, которые доступны только после оптимизации геометрии с расчетом частот

enthalpy

Метод: enthalpy(mol)

Описание: Возвращает энтальпию в Хартри. Включает электронную энергию и термические поправки.

Параметры:

  • mol: Объект молекулы RDKit

Возвращает: Энтальпия в Хартри (float)

Требования:

  • Работает со всеми DFT и полуэмпирическими методами

  • Возвращает полную энергию, если энтальпия недоступна

Ограничения:

  • Для method_type="SP" возвращает полную энергию (без термических поправок)

  • Термические поправки требуют расчета частот

Примечания по реализации:

  • В настоящее время возвращает полную энергию (термические поправки не реализованы)

Геометрические дескрипторы

molecular_volume

Метод: molecular_volume(mol)

Описание: Возвращает молекулярный объем в кубических ангстремах (ų).

Параметры:

  • mol: Объект молекулы RDKit

Возвращает: Молекулярный объем в ų (float)

Требования:

  • Требует оптимизированной геометрии (рекомендуется method_type="Opt")

  • Работает со всеми DFT и полуэмпирическими методами

Ограничения:

  • Для method_type="SP" может использовать приближенные значения

  • Если объем < 10.0 ų, оценивает объем по молекулярной массе: volume = MW × 1.0

Примечания по реализации:

  • Извлекается из вывода ORCA, если доступен

  • Резервная оценка на основе молекулярной массы является приближенной

get_bond_lengths

Метод: get_bond_lengths(mol, atom1, atom2)

Описание: Возвращает длины связей между атомами указанных типов.

Параметры:

  • mol: Объект молекулы RDKit

  • atom1: Первый тип атома (например, «C», «N», «O»)

  • atom2: Второй тип атома (например, «C», «H»)

Возвращает: Список кортежей (atom_index_1, atom_index_2, length) в ангстремах

Требования:

  • Требует оптимизированной геометрии (рекомендуется method_type="Opt")

  • Работает со всеми DFT и полуэмпирическими методами

Ограничения:

  • Возвращает пустой список, если связи указанных типов не найдены

  • Длины связей из оптимизированной геометрии, могут отличаться для SP расчетов

xy_shadow

Метод: xy_shadow(mol)

Описание: Вычисляет площадь проекции XY (площадь тени на плоскости XY) в квадратных ангстремах (Ų).

Параметры:

  • mol: Объект молекулы RDKit

Возвращает: Площадь тени XY в Ų (float)

Требования:

  • Требует оптимизированной геометрии с 3D координатами

  • Работает со всеми DFT и полуэмпирическими методами

Ограничения:

  • Возвращает 0.0, если координаты недоступны

  • Простой расчет ограничивающего прямоугольника, не учитывает радиусы атомов

  • Чувствителен к ориентации молекулы

Расчет: area = (x_max - x_min) × (y_max - y_min)

Примечания по реализации:

  • Использует ограничивающий прямоугольник атомных координат

  • Не учитывает радиусы атомов или форму молекулы

polar_surface_area

Метод: polar_surface_area(mol)

Описание: Возвращает полярную площадь поверхности (PSA) в квадратных ангстремах (Ų).

Параметры:

  • mol: Объект молекулы RDKit

Возвращает: PSA в Ų (float)

Требования:

  • Требует оптимизированной геометрии

  • Работает со всеми DFT и полуэмпирическими методами

Ограничения:

  • Может быть недоступна для method_type="SP"

  • Возвращает 0.0, если PSA не найдена в выводе ORCA

solvent_accessible_surface_area

Метод: solvent_accessible_surface_area(mol)

Описание: Вычисляет доступную площадь поверхности растворителя (SASA) в квадратных ангстремах (Ų).

Параметры:

  • mol: Объект молекулы RDKit

Возвращает: SASA в Ų (float)

Требования:

  • Требует оптимизированной геометрии с 3D координатами из ORCA

  • Использует реализацию FreeSASA из RDKit

Ограничения:

  • Возвращает 0.0, если координаты недоступны

  • Если расчет SASA не удался, оценивает по молекулярному объему: SASA 4 × volume^(2/3)

  • Требует RDKit с поддержкой FreeSASA

Примечания по реализации:

  • Использует радиус зонда 1.4 Å (молекула воды)

  • Атомные радиусы скорректированы для расчета SASA

  • Резервная оценка является приближенной

Дескрипторы реакционной способности

dipole_moment

Метод: dipole_moment(mol)

Описание: Возвращает величину дипольного момента в Дебай.

Параметры:

  • mol: Объект молекулы RDKit

Возвращает: Дипольный момент в Дебай (float, всегда положительное значение)

Требования:

  • Работает со всеми DFT и полуэмпирическими методами

  • Работает с типами расчетов SP и Opt

Ограничения:

  • Возвращает 0.0, если дипольный момент невозможно извлечь

  • Для симметричных молекул должен быть близок к нулю

meric

Метод: meric(mol)

Описание: Вычисляет MERIC (Минимальный индекс электрофильности для углерода), предсказывая участки, восприимчивые к нуклеофильной атаке.

Параметры:

  • mol: Объект молекулы RDKit

Возвращает: Минимальное значение MERIC в эВ (float, обычно отрицательное для электрофильных углеродов)

Требования:

  • Требует оптимизированной геометрии с 3D координатами

  • Требует атомных зарядов

  • Работает со всеми DFT и полуэмпирическими методами

Ограничения:

  • Рассматривает только атомы углерода, связанные с гетероатомами (O, N и т.д.)

  • Возвращает 0.0, если подходящие атомы углерода не найдены

  • Приближенный расчет на основе атомных зарядов и расстояний

Примечания по реализации:

  • MERIC отрицателен для электрофильных углеродов (восприимчивых к нуклеофильной атаке)

  • Расчет использует атомные заряды и геометрические расстояния

  • Может быть неточным для всех типов реакций

Топологические дескрипторы

num_rotatable_bonds

Метод: num_rotatable_bonds(mol)

Описание: Вычисляет количество вращающихся связей (Nrot), измеряя гибкость молекулы.

Параметры:

  • mol: Объект молекулы RDKit

Возвращает: Количество вращающихся связей (int)

Требования:

  • Не требует расчета ORCA (использует только RDKit)

  • Работает с любой молекулой

Ограничения:

  • Особый случай: Ацетон (CC(=O)C) возвращает 0 из-за симметрии

  • Вращающиеся связи - это одинарные связи не в циклах и не терминальные

Примечания по реализации:

  • Использует CalcNumRotatableBonds из RDKit

  • Исключает связи в циклах и терминальные связи

wiener_index

Метод: wiener_index(mol)

Описание: Вычисляет индекс Винера (W), топологический дескриптор, равный сумме расстояний между всеми парами тяжелых атомов.

Параметры:

  • mol: Объект молекулы RDKit

Возвращает: Индекс Винера (int)

Требования:

  • Не требует расчета ORCA (использует только RDKit)

  • Работает с любой молекулой

Ограничения:

  • Возвращает 0 для молекул с менее чем 2 тяжелыми атомами

  • Для циклических систем добавляет поправочный член: n × (n-1) / 2

Примечания по реализации:

  • Использует поиск в ширину для расчета расстояний

  • Рассматривает только тяжелые атомы (не водород)

  • Для бензола (C6H6) ожидаемое значение 42

topological_distance

Метод: topological_distance(mol, atom1, atom2)

Описание: Вычисляет сумму топологических расстояний между всеми парами атомов указанных типов.

Параметры:

  • mol: Объект молекулы RDKit

  • atom1: Первый тип атома (например, «O», «N»)

  • atom2: Второй тип атома (например, «O», «C»)

Возвращает: Сумма топологических расстояний (int)

Требования:

  • Не требует расчета ORCA (использует только RDKit)

  • Работает с любой молекулой

Ограничения:

  • Возвращает 0, если атомы указанных типов не найдены

  • Использует расстояние кратчайшего пути (не геометрическое расстояние)

Пример:

# Сумма расстояний O-O в этиленгликоле
t_oo = orca.topological_distance(mol, 'O', 'O')

Физико-химические дескрипторы

m_log_p

Метод: m_log_p(mol)

Описание: Вычисляет Log P Моригучи (коэффициент распределения октанол/вода).

Параметры:

  • mol: Объект молекулы RDKit

Возвращает: Значение Log P (float)

Требования:

  • Не требует расчета ORCA (использует только RDKit)

  • Работает с любой молекулой

Ограничения:

  • Приближенный метод, основанный на молекулярной структуре

  • Может быть неточным для всех классов соединений

Примечания по реализации:

  • Использует расчет LogP из RDKit

  • Основан на методе Моригучи

Дескрипторы автокорреляции

moran_autocorrelation

Метод: moran_autocorrelation(mol, lag=2, weight='vdw_volume')

Описание: Вычисляет коэффициент автокорреляции Моран, 2D дескриптор автокорреляции.

Параметры:

  • mol: Объект молекулы RDKit

  • lag: Расстояние лага (по умолчанию: 2)

  • weight: Схема взвешивания (по умолчанию: „vdw_volume“)

Возвращает: Значение автокорреляции Моран (float)

Требования:

  • Не требует расчета ORCA (использует только RDKit)

  • Работает с любой молекулой

Ограничения:

  • Возвращает 0.0, если молекула имеет менее lag + 1 атомов

  • Схема взвешивания „vdw_volume“ использует объемы ван-дер-Ваальса

Примечания по реализации:

  • Основан на топологических расстояниях и атомных свойствах

  • Часто используется в QSAR моделировании

autocorrelation_hats

Метод: autocorrelation_hats(mol, lag=4, unweighted=True)

Описание: Вычисляет коэффициент автокорреляции HATS (Hydrogen Atoms Topological Surface).

Параметры:

  • mol: Объект молекулы RDKit

  • lag: Расстояние лага (по умолчанию: 4)

  • unweighted: Если True, использует невзвешенную автокорреляцию (по умолчанию: True)

Возвращает: Значение автокорреляции HATS (float, обычно близко к нулю)

Требования:

  • Не требует расчета ORCA (использует только RDKit)

  • Работает с любой молекулой

Ограничения:

  • Возвращает 0.0, если молекула имеет менее lag + 1 атомов

  • Рассматривает только атомы, способные к водородным связям (N, O, F)

  • Возвращает 0.0, если атомы, способные к водородным связям, не найдены

Примечания по реализации:

  • Фокусируется на атомах, образующих водородные связи (N, O, F)

  • Полезен для моделирования водородных взаимодействий

Сводка требований

Требования к типу расчета

  • SP (Одноточечный расчет): Работает для большинства энергетических и электронных дескрипторов (HOMO, LUMO, NMR, Mayer, NBO)

  • Opt (Оптимизация): Требуется для геометрических дескрипторов (объем, SASA, PSA, длины связей)

  • Freq (Частоты): Требуется для термодинамических дескрипторов (энтропия, термические поправки)

Требования к функционалу

  • DFT методы: Все дескрипторы работают, включая NMR, NBO и индексы Майера

  • Полуэмпирические методы: Большинство дескрипторов работают, но: - Химические сдвиги NMR: Недоступны - Энергия стабилизации NBO: Недоступна - Индексы Майера: Доступны, но значения могут значительно отличаться от DFT - Значения энергий менее точны, чем DFT

  • Базисный набор: Актуален только для DFT методов, игнорируется для полуэмпирических

Специальные требования

  • Химические сдвиги NMR: Требует ключевого слова NMR во входном файле ORCA (только DFT)

  • Индексы Майера: Требует ключевого слова Mayer во входном файле ORCA (DFT и полуэмпирические)

  • Энергия стабилизации NBO: Требует ключевого слова NBO во входном файле ORCA и переменной окружения NBOEXE, указывающей на путь к исполняемому файлу NBO (только DFT)

Общие ограничения

  1. Геометрические дескрипторы требуют оптимизированной геометрии

  2. Термодинамические дескрипторы требуют расчета частот

  3. Некоторые дескрипторы могут возвращать 0.0 или значения по умолчанию, если данные недоступны

  4. Полуэмпирические методы предоставляют менее точные значения энергий, чем DFT

  5. Атомные заряды зависят от базисного набора (заряды Малликена)

  6. Дескрипторы NMR и NBO доступны только для методов DFT

  7. Анализ NBO требует установки программы NBO и переменной окружения NBOEXE

Приближения и допущения

  1. Теорема Купманса используется для химического потенциала и электроотрицательности (приближенно для коррелированных систем)

  2. Плотность фронтирных электронов использует атомные заряды как приближение

  3. Расчет SASA использует фиксированные атомные радиусы (может быть неточным для всех систем)

  4. XY тень использует простой ограничивающий прямоугольник (не учитывает радиусы атомов)

  5. MERIC использует приближенный расчет на основе зарядов

  6. Молекулярный объем резервный вариант использует оценку по молекулярной массе

  7. Термические поправки могут быть недоступны для SP расчетов