I've been trying to incorporate a noncanonical selenium-containing residue into my protein sequence, however, when running molefile_to_params_polymer.py I keep getting an error saying "unknown element SE." I've tried looking at the code where the error occurs, and it seems there are a series of elif statements that specify some atoms that are allowed. That being said, I swapped selenium out for xenon (not listed in the code) in the sdf file and the function ran to completion. I've attached a screenshot of my SDF.
Thank you in advance for your help!
Here is the error message:
Traceback (most recent call last):
File "./molfile_to_params_polymer.py", line 1995, in <module>
File "./molfile_to_params_polymer.py", line 1932, in main
File "./molfile_to_params_polymer.py", line 255, in assign_rosetta_types
else: raise ValueError("Unknown element '%s'" % a.elem)
ValueError: Unknown element 'SE'
I think you should be able to edit that code to add a line for the SE element. The corresponding a.ros_type would be "Se "
Thank you for your response! I've gone through and added an elif statement for selenium. The code also seems to require me to add an entry for selenium in an array called std_charges in the assign_partial_charges() function. I've made up a bogus charge for selenium and the params file seems to generate, but do you know where or how I would go about getting a proper standard charge for selenium? I've attached the file I've been working with as a txt. The elif statement I added is on line 244, and the placeholder standard charge I added is on line 763.
Thank you again for your help!