Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 12, 2017 19:19:25

GeorgyKurakin
Зарегистрирован: 2017-04-12
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с PythonMoleculeViewer

Добрый день всем!
Я занимаюсь био- и хемоинофрматикой, у меня установлен PythonMoleculeViewer (PMV).
Сегодня скачал новую программку для молекулярного моделирования, PharmDock. К ней скрипт прилагается питоновский, чтобы интегрировать её в графическую оболочку.
Пытаюсь прочитать скрипт в питоне, он мне выдаёт вот такое сообщение об ошибке.

Python 2.5.2 (r252:60911, Feb 21 2008, 13:11:45) on win32
Type “copyright”, “credits” or “license()” for more information.

****************************************************************
Personal firewall software may warn about the connection IDLE
makes to its subprocess using this computer's internal loopback
interface. This connection is not visible on any external
interface and no data is sent to or received from the Internet.
****************************************************************

IDLE 1.2.2 ==== No Subprocess ====
>>> Traceback (most recent call last):
File “C:\Program Files\MGLTools-1.5.6\lib\site-packages\ViewerFramework\customizationCommands.py”, line 560, in doit
execfile( filename, glob)#, localDict)
UnicodeEncodeError: ‘ascii’ codec can't encode characters in position 3-9: ordinal not in range(128)
ERROR *********************************************
Traceback (most recent call last):
File “C:\Program Files\MGLTools-1.5.6\lib\site-packages\ViewerFramework\VF.py”, line 898, in tryto
result = command( *args, **kw )
File “C:\Program Files\MGLTools-1.5.6\lib\site-packages\ViewerFramework\customizationCommands.py”, line 567, in doit
warnings.warn('the exception reported above occured while sourcing **** ‘+filename+’ ****')
File “C:\Program Files\MGLTools-1.5.6\lib\warnings.py”, line 62, in warn
globals)
File “C:\Program Files\MGLTools-1.5.6\lib\warnings.py”, line 126, in warn_explicit
showwarning(message, category, filename, lineno)
File “C:\Program Files\MGLTools-1.5.6\lib\idlelib\PyShell.py”, line 61, in idle_showwarning
file.write(warnings.formatwarning(message, category, filename, lineno))
File “C:\Program Files\MGLTools-1.5.6\lib\idlelib\PyShell.py”, line 72, in idle_formatwarning
s += “%s: %s\n>>> ” % (category.__name__, message)
UnicodeEncodeError: ‘ascii’ codec can't encode characters in position 61-67: ordinal not in range(128)
Traceback (most recent call last):
File “C:\Program Files\MGLTools-1.5.6\lib\site-packages\ViewerFramework\customizationCommands.py”, line 560, in doit
execfile( filename, glob)#, localDict)
UnicodeEncodeError: ‘ascii’ codec can't encode characters in position 3-9: ordinal not in range(128)
ERROR *********************************************
Traceback (most recent call last):
File “C:\Program Files\MGLTools-1.5.6\lib\site-packages\ViewerFramework\VF.py”, line 898, in tryto
result = command( *args, **kw )
File “C:\Program Files\MGLTools-1.5.6\lib\site-packages\ViewerFramework\customizationCommands.py”, line 567, in doit
warnings.warn('the exception reported above occured while sourcing **** ‘+filename+’ ****')
File “C:\Program Files\MGLTools-1.5.6\lib\warnings.py”, line 62, in warn
globals)
File “C:\Program Files\MGLTools-1.5.6\lib\warnings.py”, line 126, in warn_explicit
showwarning(message, category, filename, lineno)
File “C:\Program Files\MGLTools-1.5.6\lib\idlelib\PyShell.py”, line 61, in idle_showwarning
file.write(warnings.formatwarning(message, category, filename, lineno))
File “C:\Program Files\MGLTools-1.5.6\lib\idlelib\PyShell.py”, line 72, in idle_formatwarning
s += “%s: %s\n>>> ” % (category.__name__, message)
UnicodeEncodeError: ‘ascii’ codec can't encode characters in position 61-67: ordinal not in range(128)
Traceback (most recent call last):
File “C:\Program Files\MGLTools-1.5.6\lib\site-packages\ViewerFramework\customizationCommands.py”, line 560, in doit
execfile( filename, glob)#, localDict)
UnicodeEncodeError: ‘ascii’ codec can't encode characters in position 3-9: ordinal not in range(128)
ERROR *********************************************
Traceback (most recent call last):
File “C:\Program Files\MGLTools-1.5.6\lib\site-packages\ViewerFramework\VF.py”, line 898, in tryto
result = command( *args, **kw )
File “C:\Program Files\MGLTools-1.5.6\lib\site-packages\ViewerFramework\customizationCommands.py”, line 567, in doit
warnings.warn('the exception reported above occured while sourcing **** ‘+filename+’ ****')
File “C:\Program Files\MGLTools-1.5.6\lib\warnings.py”, line 62, in warn
globals)
File “C:\Program Files\MGLTools-1.5.6\lib\warnings.py”, line 126, in warn_explicit
showwarning(message, category, filename, lineno)
File “C:\Program Files\MGLTools-1.5.6\lib\idlelib\PyShell.py”, line 61, in idle_showwarning
file.write(warnings.formatwarning(message, category, filename, lineno))
File “C:\Program Files\MGLTools-1.5.6\lib\idlelib\PyShell.py”, line 72, in idle_formatwarning
s += “%s: %s\n>>> ” % (category.__name__, message)
UnicodeEncodeError: ‘ascii’ codec can't encode characters in position 61-67: ordinal not in range(128)
Traceback (most recent call last):
File “C:\Program Files\MGLTools-1.5.6\lib\site-packages\ViewerFramework\customizationCommands.py”, line 560, in doit
execfile( filename, glob)#, localDict)
UnicodeEncodeError: ‘ascii’ codec can't encode characters in position 3-9: ordinal not in range(128)


Он мне такое выдаёт и при попытке записать/прочитать файлы наших, молекулярных, специфических форматов (сессия PMV, файлы структуры белка RDBQT и иже с ними). Та же самая ошибка: UnicodeEncode Error.

Пытался почитать про неё, но так и не понял, в чём дело у меня.

Кто-нибудь может подсказать, что это такое и как решить проблему?
Заранее спасибо.

P. S. Скрипт прикрепляю. Также вы можете посмотреть его здесь: Скрипт на сайте производителя

Прикреплённый файлы:
attachment PharmDock.py (73,5 KБ)

Офлайн

#2 Апрель 12, 2017 21:45:59

vic57
Зарегистрирован: 2015-07-07
Сообщения: 913
Репутация: +  127  -
Профиль  

Проблема с PythonMoleculeViewer

Офлайн

#3 Апрель 12, 2017 21:59:49

GeorgyKurakin
Зарегистрирован: 2017-04-12
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с PythonMoleculeViewer

Vic57, пробовал в самом начале прописать кодировку UTF-8 и то, что рекомендуют в самом конце присланной Вами статьи. Скрипт сохранят в Notepad++, кодировку менял на UTF-8 перед этим. Та же ошибка, та же проблема. По-прежнему система жалуется на ошибку с ASCII. Не могу понять, почему он всё за ASCII цепляется и на UTF-8 не переключается?

Офлайн

#4 Апрель 12, 2017 22:06:42

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Проблема с PythonMoleculeViewer

Слепой метод не всегда помогает.
поставьте брейк на
C:\Program Files\MGLTools-1.5.6\lib\site-packages\ViewerFramework\customizationCommands.py”, line 560
или пропишите в файле в этом месте обработку ошибки с записью в файл того что передается в execfile.

Сразу станет понятно в чем дело.

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



Офлайн

#5 Апрель 12, 2017 22:23:39

GeorgyKurakin
Зарегистрирован: 2017-04-12
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с PythonMoleculeViewer

Doza_and, а Вы не могли бы подсказать, как это делается? Что именно надо прописывать?
Просто я в программировании не понимаю ровно ничего.
Что такое брейк (насколько я знаю, break – это команда “Разорви цикл!”)? Чем он мне поможет и как его прописать?
И как прописать обработку ошибки?
И в какое место в скрипте писать эти инструкции?

Что касается путей. У меня файлы, к которым ведут пути, называются по-английски. А вот папки, в которых находятся файлы (и, соответственно, присутствующие в путях), называются по-русски. Может быть, дело в этом? Все пути должны быть целиком на латинице?

Офлайн

#6 Апрель 12, 2017 22:27:15

GeorgyKurakin
Зарегистрирован: 2017-04-12
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с PythonMoleculeViewer

Переименовал папку по-английски. Ошибка кодировки пропала. Видимо, дело в этом.
Но теперь программа выводит другую ошибку.

Python 2.5.2 (r252:60911, Feb 21 2008, 13:11:45) on win32
Type “copyright”, “credits” or “license()” for more information.

****************************************************************
Personal firewall software may warn about the connection IDLE
makes to its subprocess using this computer's internal loopback
interface. This connection is not visible on any external
interface and no data is sent to or received from the Internet.
****************************************************************

IDLE 1.2.2 ==== No Subprocess ====
>>> Traceback (most recent call last):
File “C:\Program Files\MGLTools-1.5.6\lib\site-packages\ViewerFramework\customizationCommands.py”, line 560, in doit
execfile( filename, glob)#, localDict)
File “DPharmDock scripts/PharmDock.py”, line 15, in <module>
from pymol import cmd, stored, util
ImportError: No module named pymol

Что делать теперь?

Офлайн

#7 Апрель 12, 2017 22:42:08

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Проблема с PythonMoleculeViewer

установить модуль pymol или если он у вас есть… сделать чтобы питон его видел



Офлайн

#8 Апрель 12, 2017 22:46:10

GeorgyKurakin
Зарегистрирован: 2017-04-12
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с PythonMoleculeViewer

Doza_and, ладно, если дойдут руки до модуля, напишу сюда ещё раз, с вопросом, как этом делается. Просто, после того как я все пути латиницей переименовал, ошибка кодировки исчезла, и ситуация с AutoDock (он тоже на базе питона) нормализовалась. Буду сейчас пытаться решить свою задачу через AutoDock.
Спасибо огромное, что навели меня на мысль! Я и не подозревал, что надо просто пути переименовать латиницей! Ларчик, как говорят, просто открывался.
Спасибо ещё раз огромное!

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version