gregorpatof / nrgten_package

Najmanovich Research Group Toolkit for Elastic Networks
MIT License
10 stars 3 forks source link

write_dynamical_signature error #1

Closed jiali0411 closed 3 years ago

jiali0411 commented 3 years ago

Hi, I am trying to get the dynamic signature from a PDB file as you have in the documentation. I used the same scripts in your documentation and with your test file:

if __name__ == "__main__":
    model = ENCoM("test_medium.pdb")
    model.write_dynamical_signature("signature.txt")

When I run the script, I got this error:

Traceback (most recent call last):
  File "rmsip_example.copy.py", line 10, in <module>
    insulin_nmr.write_dynamical_signature("signature.txt")
  File "/envs/mypython3/lib/python3.8/site-packages/nrgten/enm.py", line 593, in write_dynamical_signature
    assert len(masses) == len(bfacts)
TypeError: object of type 'NoneType' has no len()

I tried every pdf file in your example folder but they all get the same error.

I also tried the compute_bfacts() function, here my script:

if __name__ == "__main__":
    model = ENCoM("2lwz.pdb")
    dyna_sig = model.compute_bfacts()
    print(dyna_sig)

And I got an error:

Traceback (most recent call last):
  File "nrgten_dynamics.py", line 12, in <module>
    dyna_sig = model.compute_bfacts()
AttributeError: 'ENCoM' object has no attribute 'compute_bfacts'

Seems like compute_bfacts() didn't work. Would you help me to fix it?

Thank you!

gregorpatof commented 3 years ago

Hi!

Sorry about that, I made some changes and need to update the documentation. The reason you are getting the error is that you need to compute the bfactors before trying to access the dynamical signature. The method is now called compute_bfactors() instead of compute_bfacts(). Try it like this:

model = ENCoM("test_medium.pdb") model.compute_bfactors() model.write_dynamical_signature("signature.txt")

Cheers, Olivier

On Mon, Aug 2, 2021 at 18:28 Jiali Yu @.***> wrote:

Hi, I am trying to get the dynamic signature from a PDB file as you have in the documentation. I used the same scripts in your documentation and with your test file:

if name == "main": model = ENCoM("test_medium.pdb") model.write_dynamical_signature("signature.txt")

When I run the script, I got this error:

Traceback (most recent call last): File "rmsip_example.copy.py", line 10, in insulin_nmr.write_dynamical_signature("signature.txt") File "/envs/mypython3/lib/python3.8/site-packages/nrgten/enm.py", line 593, in write_dynamical_signature assert len(masses) == len(bfacts) TypeError: object of type 'NoneType' has no len()

I tried every pdf file in your example folder but they all get the same error.

I also tried the compute_bfacts() function, here my script:

if name == "main": model = ENCoM("2lwz.pdb") dyna_sig = model.compute_bfacts() print(dyna_sig)

And I got an error:

Traceback (most recent call last): File "nrgten_dynamics.py", line 12, in dyna_sig = model.compute_bfacts() AttributeError: 'ENCoM' object has no attribute 'compute_bfacts'

Seems like compute_bfacts() didn't work. Would you help me to fix it?

Thank you!

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/gregorpatof/nrgten_package/issues/1, or unsubscribe https://github.com/notifications/unsubscribe-auth/AD7OPMN7ZO42U7A7UINPT3TT24LZJANCNFSM5BNTSUNA . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email .

jiali0411 commented 3 years ago

Thank you! It worked with function compute_bfactors()

Thanks, Jiali