Как отключить зарегистрированные предупреждения в Pybel? - PullRequest
0 голосов
/ 19 мая 2018

Я использую Pybel - оболочку Python для API OpenBabel, и я пытаюсь отключить предупреждения, такие как:

==============================
*** Open Babel Warning  in ParseComplex
  Illegal aromatic element b-

Мои предупреждения постоянно возникали, когда дактилоскопическая молекула SMILES взято из ЧЕМБЛ

1 Ответ

0 голосов
/ 19 мая 2018

Вы можете получить дескриптор регистратора openbabel (класс OBMessageHandler) из модуля openbabel.Хитрость заключается в том, чтобы сначала получить доступ к модулю openbabel из модуля pybel , взять класс OBMessageHandler и создать экземпляр регистратора ( docs ):

import pybel

ob_log_handler = pybel.ob.OBMessageHandler()

Используя ручку, вы можете установить log_level на 0 , чтобы отключить все сообщения, кроме критических ( документы ):

ob_log_handler.SetOutputLevel(0)

Вы можете использовать следующие перечисления ( документы здесь ), чтобы выбрать уровень ведения журнала.По умолчанию 1 , в котором записываются все предупреждений :

  • 0 : критических
  • 1: Предупреждение ( по умолчанию )
  • 2 : Информация
  • 3 : Аудит (, когда молекулыуничтожены / восприняты )
  • 4 : отладка
...