Как загрузить файлы.prmtop и.crd из Amber с помощью MDAnalysis?

Я пытаюсь загрузить .crd файл из Amber, но это не удается, потому что он не в формате ожидаемого MDAnalysis (см. ошибку в конце):

topology = 'top.prmtop'
trajectory = 'amberOut.crd'
u = MDAnalysis.Universe(topology, trajectory)

Я видел эту ветку, а также эту библиотеку, которую я не хочу использовать, если я могу читать файл Amber .crd с помощью MDAnalysis.

Есть идеи, почему это не работает? Если я загружаю траекторию в VMD, я использую эту команду (и она работает):

vmd -parm7 top.prmtop -crdbox amberOut.crd

Traceback (most recent call last):
  File "analysis.py", line 5, in <module>
    u = MDAnalysis.Universe(topology, trajectory)
  File "/anaconda3/envs/mdaenv/lib/python2.7/site-packages/MDAnalysis/core/universe.py", line 305, in __init__
    self.load_new(coordinatefile, **kwargs)
  File "/anaconda3/envs/mdaenv/lib/python2.7/site-packages/MDAnalysis/core/universe.py", line 535, in load_new
    self.trajectory = reader(filename, **kwargs)
  File "/anaconda3/envs/mdaenv/lib/python2.7/site-packages/MDAnalysis/coordinates/base.py", line 1943, in __init__
    self._read_first_frame()
  File "/anaconda3/envs/mdaenv/lib/python2.7/site-packages/MDAnalysis/coordinates/CRD.py", line 73, in _read_first_frame
    natoms = int(fields[0])
ValueError: invalid literal for int() with base 10: '96.380'

1 ответ

Решение

Использовать format="TRJ" Ключевой аргумент для Вселенной в вашей команде:

u = MDAnalysis.Universe("top.prmtop", "amberOut.crd", format="TRJ")

Вы сказали, что использовали VMD с "crdbox", а расширение "crdbox" распознается MDAnalysis как траектория Amber Amber Amber. Однако расширение "crd", которое вы использовали для своего файла, уже используется для файлов координат CHARMM (файлов "CRD"), поэтому вам необходимо явно указать формат траектории для Universe,

(Если вы дадите своим траекториям расширение "crdbox" или "trj", такое как "amberOut.crdbox" или "amberOut.trj", тогда MDAnalysis автоматически распознает его как траекторию Amber ASCII. Однако вы всегда можете переопределить определение формата с помощью явный format ключевой аргумент.)

Обновление: Основываясь на этом вопросе, мы обновили документы MDAnalysis для считывателя траектории Amber, чтобы включить примечание о том, как читать янтарные "crd" траектории.

Другие вопросы по тегам