Good morning,
I am trying to use Rosetta (v3.13) for drug screening analysis and I
found a specific script in the Rosetta3.13 package (also in other
versions) which has some python2 code that hampers its use in the
current python3.
The script is:
rosetta_bin_linux_2021.16.61629_bundle/main/source/scripts/python/public/batch_molfile_to_params.py
Python2 code:
1) Lines 110, 114, 117: print without brackets
2) Lines 40, 116: "is not" instead of "!="
3) Line 103: ".next()" method on itertools.product (should iterate over
the itertools.product instead)
Also, in line 89 the function "get_disallowed_ligands" iterates over the
folders in "main/database/chemical/residue_type_sets" and works with the
files in them. However, in this "residue_type_sets" folder there is also
a file "how_to_add_new_residue_types.txt" which yields an error, as the
"get_disallowed_ligands" function tries to use it as a folder. Moving
the "how_to" file to a previous folder solves the problem.
Thank you for your attention, I hope this helps.
Best regards,
Dani
Category:
Post Situation:
This does not answer your question... but I had similar strong issues with `molfile_to_params.py` being Python2. I updated it to Python3, but it was in violation of Rosetta licence, so I took it down and rewrote my own and tailored for my use, i.e. as Python3 module called within a script or notebook: https://github.com/matteoferla/rdkit_to_params (`pip install rdkit-to-params`). It optionally (but majorly) relies on RDKit, the most used Python package for CompChemistry (`pip install rdkit-pypi`).