normal PEGylated protein

More
4 years 11 months ago #8095 by jk
PEGylated protein was created by jk
Hi all,

I am new to CG simulations and would like to coarse grain a protein with a covalently attached mPEG polymer. I know that I can coarse grain the protein part of my system using martinize.py and there are also itp files for PEG molecules and PEGylated lipids available. What would be the easiest way to construct such a system? Do I need to prepare my protein and a PEG polymer separately and somehow manually add a covalent bond between them afterwards? Or would it be possible to modify martinize.py so that it can automatically coarse grain the PEG monomers of the protein to EO beads? Ideally, I would also like to try out the GoMartini force field (based on elnedyn) on my system.

Thank you in advance!

Please Log in or Create an account to join the conversation.

More
4 years 11 months ago #8098 by fgrunewald
Replied by fgrunewald on topic PEGylated protein
Hey,

Yes should be easy enough. I suppose you can modify martinize but unless you want to scan hundreds of proteins I don't think it's worth it. So I suggest you prepare your protein and then add the polymer part. If you have the protein itp file you can use this program github.com/fgrunewald/Martini_PolyPly to append the polymer part.

Once you installed the program use the following command to generate the polymer of length N attached to the protein:

polyply -itp protein.itp peg_monomer.itp -n_mon 1 N -o mPEG_protein.itp -name protein -endgroup end.itp end.itp -links link.itp

You can get the peg_monomer.itp from here:

github.com/fgrunewald/Martini_PolyPly/bl...ps/PEO.martini.2.itp

The end.itp in your case should just be an empty file. Sounds strange but works. The link.itp file needs to contain all relevant bonded interactions to make the link. For example say the atom in the protein you want to attach your PEG to is number 100 and your proteins is 400 atoms large, you should generate a file looking like this for example:

[ bonds ]
100 401 1 0.322 1000 ; attaches PEG to protein by bond
[ angles ]
99 100 401 2 135. 50 ; puts the corresponding angle

As such there are no design rules for making this link so you need to come up with the parameters yourself. Generally in my opinion the link should not be super crucial for the behavior, so a bond and angle might already do just fine. But that's up to you.

The program can also generate structures. Generating structures is a bit tricky, because the program in that respect is a bit buggy here and there. But if you decide to use it and run into any trouble please don't hesitate to raise an issue on the github page and I'll help you.

Please Log in or Create an account to join the conversation.

More
4 years 11 months ago #8101 by jk
Replied by jk on topic PEGylated protein
Hi,

thanks for your help. I just recently read about PolyPly and wondered whether it could be used for proteins as well.
I prepared the itp file for my protein as usual using martinize.py. PolyPly seemed to have a problem with the "position_restraints" section (Error: Your section type is currently not implemented). But after removal, the command worked just fine:

polyply -itp Protein_A.itp PEO.martini.2.itp -n_mon 1 4 -o mPEG_protein.itp -name protein -endgroup end.itp end.itp -links link.itp

Now of course, if I would like to use the generated itp file for simulations I would also need a corresponding structure file. I edited the top file from martinize to include the mPEG_protein.itp topology. Then I tried to generate a structure using PolyPly:

polyply -p protein.top -o output.gro -env vac -n_mon 1 -name output

Whereas protein.top contains:

#include "martini_v2.2.itp"
#include "mPEG_protein.itp"

[ system ]
test
[ molecules ]
protein 1


Is this the right syntax for structure generation via PolyPly, or can it only be used for the polymer alone? Is there an alternative way to easily obtain a suitable gro file? The above command gave the following error:

Traceback (most recent call last):
  File "/usr/local/bin/polyply", line 79, in <module>
    main()
  File "/usr/local/bin/polyply", line 69, in main
    build_system(top_options, env_options, mc_options, args.outfile, magic_numbers)
  File "/usr/local/lib/python3.6/site-packages/polyply/structure_tool/mc_poly_growth.py", line 265, in build_system
    ff, system = read_top(topfile)
  File "/usr/local/lib/python3.6/site-packages/polyply/structure_tool/force_field_tools.py", line 83, in read_top
    parameters =  read_itp(itp)
  File "/usr/local/lib/python3.6/site-packages/polyply/structure_tool/force_field_tools.py", line 207, in read_itp
    print(not_implemented[section])
KeyError: 'atoms'

Please Log in or Create an account to join the conversation.

More
4 years 11 months ago #8102 by fgrunewald
Replied by fgrunewald on topic PEGylated protein
Hi,

Lovely to hear that the itp file generation seems to work. About the restraints: Indeed it cannot read them. But removing them and later adding them as needed is the best way to deal with it.

The problem is the definition of water at the bottom of the file. To fix the problem you need to remove the water definition. That should work. But there could be other errors. Just let me know and I'll walk you through.

On the other hand if your polymer is not so terribly long you can just draw some beads /atoms in your favorite molecule editor (e.g. Avogadro) and energy minimize in vacuum. That should work for chains less than ~50ish, perhaps even more.

Cheers,
Fabian

Please Log in or Create an account to join the conversation.

More
4 years 11 months ago #8105 by jk
Replied by jk on topic PEGylated protein
Hi Fabian,

since I've already performed AA simulations (with only a few monomers) I now tried to use the itp file simply by adding PEO beads at the positions of the oxygen atoms from the all atom PEGylated pdb file. A short simulation ran through without errors, so this alternative way works.

I still plan to simulate larger chains (~ 100-200 monomers), so a more automatic structure generation via PolyPly would help. I removed the water section from the martini_v2.2.itp file, this seems to help. The next problem I encountered was that masses for protein beads are missing in the generated mPEG_protein.itp file (there is a value of 45 in the 8th column for EO beads but none for the others):

Too few or too many paramters found in file  protein on line  4 .
The relevant topolgy section is:  atoms
The follwing function types of this section are currently not implemented:
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/polyply/structure_tool/force_field_tools.py", line 152, in read_itp
    n, typ, resnr, res, atom, cgnr, charge, mass = strip_comments(line)
ValueError: not enough values to unpack (expected 8, got 7)
...

I then just entered a value of zero to all other beads, this way it runs through. Unfortunately the generated gro file can not be handled by Gromacs (VMD can load the file but does not display any atoms):

Gromacs output (editconf):
Fatal error:
Something is wrong in the coordinate formatting of file pegylated.gro. Note
that gro is fixed format (see the manual)

Just for comparison, here are the beginning lines from (1) the working gro file of the normal protein and (2) the generated gro file from PolyPly:

(1):
Georgetown Riga Oslo Madrid Amsterdam Chisinau Stockholm
83
6LYS BB 1 3.013 3.242 3.310
6LYS SC1 2 3.165 3.407 3.095
6LYS SC2 3 2.952 3.570 2.991
7LEU BB 4 2.748 3.297 3.142
...

(2):
Monte Carlo generated PEO
87
2protein BB 1 0.000 0.000 0.000
2protein SC1 2 0.012 -0.260 -0.202
2protein SC2 3 0.251 -0.251 -0.349
2protein BB 4 0.085 0.228 -0.251
...

I am not so familiar with Gromacs files yet, but is it just because there is no distinction anymore between individual residues in the first column ("2protein" for all beads)?

Please Log in or Create an account to join the conversation.

More
4 years 11 months ago #8108 by fgrunewald
Replied by fgrunewald on topic PEGylated protein
Hi,

Yes you'll need to add the masses explicitly into the itp for the protein. In my opinion martinize should/could do that as well but well ...

So the problem with the gro file is that it is not the correct format because the residue name is not shortened. In other words protein is a too long name. I've made a patch. Could you run:

pip3 install --upgrade git+https://github.com/fgrunewald/Martini_PolyPly.git#polyply

And then try again. Now the residue name should be "prote" because it only allows 5 characters tops and I believe the residue name is taken from the name of the molecule.

Also VMD for some reason sometimes is buggy and does not show a freshly generated gro file. If you open and close it with a text-editor or edit it with gromacs it should work. I haven't figured out what exactly VMDs problem is.

One more question because we might run into this issue: How big is your protein?

Cheers,
Fabian

Please Log in or Create an account to join the conversation.

More
4 years 11 months ago #8110 by jk
Replied by jk on topic PEGylated protein
Hi again,

I did not know about this character limitation before. But with the provided patch, it now works! As mentioned before, I added masses to the beads manually (45/72 amu) and, for structure generation, temporarily removed the restraints from the itp file. This way, I can run through a short simulation without errors.
The problem is that this monte carlo structure generation via polyply generates a misfolded/unfolded starting conformation of my protein which is not really suitable for simulation. Maybe I need to tweak some settings or somehow have to constrain the backbone beads during this process?

I currently work with a really small structure (~ 40 amino acids) but am planning to work with larger ones as well (~ 200 amino acids).

Please Log in or Create an account to join the conversation.

More
4 years 11 months ago #8111 by fgrunewald
Replied by fgrunewald on topic PEGylated protein
Hi,

Good to hear that the patch worked. We're getting somewhere. Can you please patch the program once more. I removed the need to have masses in the topology. Also now the residue-names are retained as in the original protein part. That could be important if you plan to back-map. Also I made some other fixes.

With respect to your problem I suspect that you try to "grow" the protein plus PEG chain. Unfortunately that does not work because the protein is much to ordered. It has a well defined secondary structure that cannot be guessed from the itp file. Instead you should be using the restart feature. That is:

polyply -p system.top -o output.gro -env restart -n_mon 1 -name mPEG -sys protein.gro -start X

In this case X indicates the atom-index (starting at 1) of the protein-bead you want to connect the PEG to and protein.gro is the gro file with the protein. This will take your protein for instance from the pdb and simply grow the PEG from it. A few things to note:

- if the bead X is too buried inside the protein you will not be able to grow anything. Ideally the bead sits on the surface of the protein.
- the protein needs to be whole, because pbc conditions are ignored.
- I managed to grow a PEG chain of 1500 monomers onto ubiquitin in about 40min. So depending on the size of the system it might take a while. So be patient.

Please Log in or Create an account to join the conversation.

More
4 years 11 months ago #8114 by jk
Replied by jk on topic PEGylated protein
Hi,

just for clarification:

system.top: top file referencing the itp file of the PEGylated protein, which was generated via polyply before
output.gro: output structure from the polyply restart feature
protein.gro: gro file of the coarse grained protein without PEGylation
X: bead number of the bead to attach the PEG to (so the same number as given under [bonds] in link.itp for the generation of the system.top file)

I tried this with the desired protein side chain bead as X but the MC structure generation does not progress (0 %) and cancels when it reaches the maximum step size. So this could be because the bead is too buried? I then tried to attach it to a completely "exposed" bead at the N-terminus but the same thing happens.

Also, the patch works nicely for the first step (mPEG_protein.itp file generation). But when trying to start the MC structure generation afterwards, an itp file with bead masses is still needed.

Thank you for your support.

Please Log in or Create an account to join the conversation.

More
4 years 11 months ago #8115 by fgrunewald
Replied by fgrunewald on topic PEGylated protein
Hi,

Can you send me the .top, .itp and .gro file you are using to f.grunewald [at] rug.nl? It's hard to say what goes wrong. As I said I tried ubiquitin yesterday and that was fine.

Concerning the masses, I'll take another look. I thought the problem was fixed.

Happy to help!
Fabian

Please Log in or Create an account to join the conversation.

More
4 years 11 months ago #8116 by fgrunewald
Replied by fgrunewald on topic PEGylated protein
The program works, but you need to energy minimize the protein first. At the moment some of the beads are sort of closely overlapping and the program doesn't like that.

Also I forgot to commit the very last change. Now you shouldn't need masses anymore in any step.

Please Log in or Create an account to join the conversation.

Time to create page: 0.110 seconds