Member Site › Forums › Rosetta 3 › Rosetta 3 – General › CryoEM model refinement with covalent conjugated prosthetic Phosphopantetheine carrying acyl group
- This topic has 11 replies, 2 voices, and was last updated 4 years, 3 months ago by Anonymous.
-
AuthorPosts
-
-
September 4, 2020 at 1:36 am #3565Anonymous
Dear all,
I’m a new user of Rosetta. The CryoEM protocol provided by Dimaiolab is excellent.
My protein contains a peptidyl carrier protein domain. The peptidyl carrier protein domain has a prosthetic group Phosphopantetheine which is conjugated at a serine residue. More complicated is that the phosphopantetheine arm carries a cysteine peptide group via the terminal thioester linkage. I don’t know how to model this peptidyl carrying phosphopantetheine arm into the CryoEM map and then perform the iterative or simple refinement against the map.
I’m wondering:
Whether I should draw a peptidyl-phosphopantetheine structure first? And then convert it to a pdb file? Can I draw the chemical using pymol, so that it can be saved directly? I know I should then again convert it to mol2 file using OpenBabel. After that molfile_to_params.py can be employed to obtain two params files.
Since the phosphopantetheine is conjugated to the serine residue, how should I tell rosetta that it is convalently bound?
Should I also need to link the peptidyl-phosphopantetheine to the serine residue in the peptidyl carrier protein domain model first using Coot before the Rosetta simple relax refinement against the CryoEM map?
And are there other materials I should prepare?
Thanks so much for your help.
Regards,
Zhijun
-
September 7, 2020 at 5:59 pm #15479Anonymous
(Phosphopantetheine was discussed a few months ago in https://www.rosettacommons.org/node/10906 but this is a different question, not a duplicate)
> Whether I should draw a peptidyl-phosphopantetheine structure first? And then convert it to a pdb file? Can I draw the chemical using pymol, so that it can be saved directly? I know I should then again convert it to mol2 file using OpenBabel. After that molfile_to_params.py can be employed to obtain two params files.
The big problem with the PDB format is bond order is poorly encoded (repeated CONECT lines for double bonds only). And formal charge is not really a thing. So if you draw something in ChemDraw or similar don’t go through the PDB format, export as sdf or copy a SMILES (a string of text). Actually if you go to Wikipedia or PubChem etc. you can get a SMILES string from the infobox: https://en.wikipedia.org/wiki/Phosphopantetheine. –> `O=C(NCCS)CCNC()[C@H](O)C(C)(C)COP()(O)O`. But `OP()(O)O` is wrong charge-wise and you want two connections. `O=C(NCCS[1:*])CCNC()[C@H](O)C(C)(C)COP()([O-])O[2:*]`, where R1 (okay, that’s isotope 1, but shh everyone does it) is your peptide thioester connection and R2 is to your serine. Now, to make things worse, you really ought to obey the atomnames from the PDB database for residue `PNS` (https://www.rcsb.org/ligand/PNS).
I made a rdkit to params module for python3 that is more flexible than mol_to_params.py… so I’ll skip you the toil:
NAME PNS
# *OP()([O-])OC([H])([H])C(C([H])([H])[H])(C([H])([H])[H])[C@@]([H])(O[H])C()N([H])C([H])([H])C([H])([H])C()N([H])C([H])([H])C([H])([H])S*
IO_STRING PNS Z
TYPE LIGAND
ATOM O40 ONH2 X -0.2750672
ATOM C39 CNH2 X 0.2212996
ATOM N41 Nbb X -0.3551238
ATOM C38 CH2 X 0.0439116
ATOM C42 CH2 X 0.0289581
ATOM C37 CH2 X 0.0262302
ATOM C43 CH2 X 0.0424627
ATOM N36 Nbb X -0.3533171
ATOM S44 S X 0.0461081
ATOM C34 CNH2 X 0.2490077
ATOM O35 ONH2 X -0.2720773
ATOM C32 CH1 X 0.1395636
ATOM O33 OH X -0.3826122
ATOM C29 CH0 X 0.0236395
ATOM C30 CH3 X -0.0546613
ATOM C31 CH3 X -0.0546613
ATOM C28 CH2 X 0.0633638
ATOM O27 OPha X -0.3159965
ATOM P24 Pha X 0.3032098
ATOM O23 OPha X -0.2735101
ATOM O25 OPha X -0.1191541
ATOM O26 OPha X -0.7542792
ATOM H24 Hpol X 0.1629752
ATOM H29 Hapo X 0.0385204
ATOM H30 Hapo X 0.0385204
ATOM H25 Hapo X 0.0500663
ATOM H26 Hapo X 0.0500663
ATOM H31 Hapo X 0.0496391
ATOM H32 Hapo X 0.0496391
ATOM H27 Hapo X 0.0425664
ATOM H28 Hapo X 0.0425664
ATOM H33 Hpol X 0.1630531
ATOM H34 Hapo X 0.0711527
ATOM H35 Hpol X 0.2112195
ATOM H36 Hapo X 0.0237891
ATOM H37 Hapo X 0.0237891
ATOM H38 Hapo X 0.0237891
ATOM H39 Hapo X 0.0237891
ATOM H40 Hapo X 0.0237891
ATOM H41 Hapo X 0.0237891
ATOM H42 Hapo X 0.0578802
ATOM H43 Hapo X 0.0578802
BOND_TYPE O40 C39 2
BOND C39 N41
BOND N41 C42
BOND C42 C43
BOND C43 S44
BOND C39 C38
BOND C38 C37
BOND C37 N36
BOND N36 C34
BOND_TYPE C34 O35 2
BOND C34 C32
BOND C32 O33
BOND C32 C29
BOND C29 C30
BOND C29 C31
BOND C29 C28
BOND C28 O27
BOND O27 P24
BOND_TYPE P24 O23 2
BOND P24 O25
BOND P24 O26
BOND N41 H24
BOND C42 H25
BOND C42 H26
BOND C43 H27
BOND C43 H28
BOND C38 H29
BOND C38 H30
BOND C37 H31
BOND C37 H32
BOND N36 H33
BOND C32 H34
BOND O33 H35
BOND C30 H36
BOND C30 H37
BOND C30 H38
BOND C31 H39
BOND C31 H40
BOND C31 H41
BOND C28 H42
BOND C28 H43
CONNECT S44
CONNECT O25
NBR_ATOM C34
NBR_RADIUS 8.932782471236475
ICOOR_INTERNAL O40 0.000000 0.000000 0.000000 O40 C39 N41
ICOOR_INTERNAL C39 0.000000 180.000000 1.228943 O40 C39 N41
ICOOR_INTERNAL N41 0.000000 56.835855 1.387156 C39 O40 N41
ICOOR_INTERNAL C38 178.932240 55.860329 1.512546 C39 O40 N41
ICOOR_INTERNAL C42 -5.338736 60.059665 1.453127 N41 C39 O40
ICOOR_INTERNAL C37 7.851468 68.789880 1.526621 C38 C39 O40
ICOOR_INTERNAL C43 168.049100 66.497925 1.526577 C42 N41 C39
ICOOR_INTERNAL N36 178.217625 68.758756 1.450550 C37 C38 C39
ICOOR_INTERNAL S44 -65.259592 66.684675 1.826381 C43 C42 N41
ICOOR_INTERNAL C34 -91.257456 58.367786 1.388977 N36 C37 C38
ICOOR_INTERNAL O35 -3.632285 57.108006 1.229684 C34 N36 C37
ICOOR_INTERNAL C32 179.626056 67.873844 1.540275 C34 N36 O35
ICOOR_INTERNAL O33 -78.625897 74.221937 1.441655 C32 C34 N36
ICOOR_INTERNAL C29 -126.095484 64.344778 1.562933 C32 C34 O33
ICOOR_INTERNAL C30 -51.828981 69.558648 1.552429 C29 C32 C34
ICOOR_INTERNAL C31 122.950190 67.652600 1.541116 C29 C32 C30
ICOOR_INTERNAL C28 -116.675845 71.538316 1.552620 C29 C32 C30
ICOOR_INTERNAL O27 -57.661924 69.051411 1.414976 C28 C29 C32
ICOOR_INTERNAL P24 160.469213 63.387282 1.640844 O27 C28 C29
ICOOR_INTERNAL O23 165.693922 72.455456 1.506959 P24 O27 C28
ICOOR_INTERNAL O25 114.113822 81.139433 1.640875 P24 O27 O23
ICOOR_INTERNAL O26 -133.784860 71.668966 1.504957 P24 O27 O23
ICOOR_INTERNAL H24 -156.735770 63.167313 1.008791 N41 C39 C42
ICOOR_INTERNAL H29 122.307435 70.685882 1.105877 C38 C39 C37
ICOOR_INTERNAL H30 -120.670733 71.915447 1.103073 C38 C39 C37
ICOOR_INTERNAL H25 -124.848313 70.643056 1.098646 C42 N41 C43
ICOOR_INTERNAL H26 120.044208 73.336540 1.097589 C42 N41 C43
ICOOR_INTERNAL H31 -121.323016 69.634966 1.099037 C37 C38 N36
ICOOR_INTERNAL H32 119.095111 68.771552 1.096665 C37 C38 N36
ICOOR_INTERNAL H27 -121.140337 70.449794 1.095146 C43 C42 S44
ICOOR_INTERNAL H28 120.201533 69.715799 1.095695 C43 C42 S44
ICOOR_INTERNAL H33 164.372117 60.451020 1.015717 N36 C37 C34
ICOOR_INTERNAL H34 113.757793 73.119766 1.101086 C32 C34 O33
ICOOR_INTERNAL H35 -168.846618 73.321149 0.987533 O33 C32 C34
ICOOR_INTERNAL H36 -171.196307 69.364893 1.096873 C30 C29 C32
ICOOR_INTERNAL H37 -119.827465 67.018020 1.095524 C30 C29 H36
ICOOR_INTERNAL H38 119.981287 69.682359 1.096936 C30 C29 H36
ICOOR_INTERNAL H39 59.690298 68.319986 1.095787 C31 C29 C32
ICOOR_INTERNAL H40 120.144912 69.369703 1.102703 C31 C29 H39
ICOOR_INTERNAL H41 -120.861929 68.361048 1.094362 C31 C29 H39
ICOOR_INTERNAL H42 -119.430790 69.787152 1.094921 C28 C29 O27
ICOOR_INTERNAL H43 121.151098 70.032696 1.094115 C28 C29 O27
ICOOR_INTERNAL CONN1 -55.924887 82.065569 1.599532 S44 C43 C42
ICOOR_INTERNAL CONN2 -53.618412 68.239894 1.417132 O25 P24 O27
This works with the default PNS residue and has two connects. CONN1 to S (peptide C-terminus), CONN2 to serine.
I gave it a go and it works if there is no LINK for the S is absent.
I tried it with a the sequence RESETTA (fab in pymol and pair_fit) and the lines:
LINK P24 PNS A 1 CB SER B 4 1555 1555 2.72
LINK S44 PNS A 1 C ALA B 8 1555 1555 2.72I don’t know off the solution to this issue and the flag `-Ctermini false` and changing the CONNECT to LOWER_CONNECT did not work. But someone must have encountered and asked after a C-terminal conjugation in the forums —pretty sure that is how ubiquitin works.
> Since the phosphopantetheine is conjugated to the serine residue, how should I tell rosetta that it is convalently bound?
Two requirements.
- You have to add a LINK record in your PDB (but can be done in pyrosetta after the pose is made and I am sure with scripts it can be done).
- Your params file needs to have a CONNECT, in this case two!
-
September 8, 2020 at 1:24 pm #15480Anonymous
Thank you so much Matteo Ferla. Your web app “https://direvo.mutanalyst.com/params” is also a great place to make params files.
The information you provied helped me understand smile file and how to make a param file for a new ligand.
I’m trying to use the params file in Rosetta relax. Will let you know the results.
Zhijun
-
September 10, 2020 at 7:26 am #15486Anonymous
Hey Matteo Ferla, I still have problems to proceed.
The Rosetta software seems to be able to process the phosphopantetheine ligand now. So if I provide the “PNS.cen.params” and “PNS.fa.params” or the “Phosphopantetheine.params” in the command. The program can not run. If I run the program without the params file, the program can run but will generate a pdb disconnect the covalent bond between the ser residue and the phosphopantetheine phosphate.
Searching the rosetta forum, I seems that I should use the enzdes constraint. But I don’t understand how to write for my protein and how to use it in the CryoEM protocol.
I attached a homologuous pdb file which can also refine into my CyroEM file.
Below is the command:
#!/bin/bash
relax.static.macosclangrelease
-database /Users/zhijun/bin/Rosetta/rosetta_bin_mac_2020.08.61146_bundle/main/database/
-in::file: 6mfyA.pdb
-parser::protocol B_relax_density.xml
-edensity::mapreso 3.0
-edensity::cryoem_scatterers
-crystal_refine
-beta
-out::suffix _params
-default_max_cycles 200
The xml:
<ROSETTASCRIPTS>
<SCOREFXNS>
<ScoreFunction name=”dens” weights=”beta_cart”>
<Reweight scoretype=”elec_dens_fast” weight=”35.0″/>
<Set scale_sc_dens_byres=”R:0.76,K:0.76,E:0.76,D:0.76,M:0.76,C:0.81,Q:0.81,H:0.81,N:0.81,T:0.81,S:0.81,Y:0.88,W:0.88,A:0.88,F:0.88,P:0.88,I:0.88,L:0.88,V:0.88″/>
</ScoreFunction>
</SCOREFXNS>
<MOVERS>
<SetupForDensityScoring name=”setupdens”/>
<LoadDensityMap name=”loaddens” mapfile=”refine141run_class001_Epi_B.mrc”/>
<FastRelax name=”relaxcart” scorefxn=”dens” repeats=”2″ cartesian=”1″ />
</MOVERS>
<PROTOCOLS>
<Add mover=”setupdens”/>
<Add mover=”loaddens”/>
<Add mover=”relaxcart”/>
</PROTOCOLS>
<OUTPUT scorefxn=”dens”/>
</ROSETTASCRIPTS>
-
September 10, 2020 at 8:57 am #15487Anonymous
Hey Matteo Ferla,
I used the params file you generated, the program can run. But if I use the params file generated from the web app, the program did not work.
Still in the generated pdb file, although in the original pdb the phosphopantetheine is covalently conjugated to the serine residue, it is now detached.
-
September 10, 2020 at 9:01 am #15488Anonymous
If I should use a Enzdes cst file, I can not figure out how to specify the relationship of the serine residue and the phosphopantethiene in the template below.
CST::BEGIN
TEMPLATE:: ATOM_MAP: 1 atom_name: O2 C6 O4
TEMPLATE:: ATOM_MAP: 1 residue3: D2N
TEMPLATE:: ATOM_MAP: 2 atom_type: Nhis,
TEMPLATE:: ATOM_MAP: 2 residue1: H
CONSTRAINT:: distanceAB: 3.10 0.20 100.00 0
CONSTRAINT:: angle_A: 120.00 5.00 30.00 360.00
CONSTRAINT:: angle_B: 125.90 10.00 20.00 360.00
CONSTRAINT:: torsion_A: -5.00 15.00 0.00 360.00
CONSTRAINT:: torsion_B: -155.0 15.00 25.00 360.00
CONSTRAINT:: torsion_AB: 0.00 0.00 0.00 180.00
CST::END
-
September 10, 2020 at 2:58 pm #15490Anonymous
Sorry, I was pressed for time so cut my reply short and could not find the solution.
I tried it in pyrosetta with a short sequence and it segfaulted. Basically my guess at the problem were two options.
A common issue (say in loop closure) is the terminus (OXT) gets added, but this does not appear to be the case as using `-use_truncated_termini true` fails (I tried the wrong command before but the correct one fails too).
The second is that polymers have a different type of connection in params files, for amino acids these are:
LOWER_CONNECT N
UPPER_CONNECT CWhile what I was hoping would work was that a CONNECT will work with a UPPER_CONNECT. But it segfaults at loading the pose.
The terminal caps ACE and NME are not handled like patches, so I had a look at them (terminal folder in db) just now and they turned out to be interesting. They are regular amino acids. This means that the residue needs to follow the peptide (same chain, resi+1 and no TER line in between). If this is not respected you’ll get a warning saying “ERROR <name3> <name3> UPPER TERMINUS” or something. Modding the topology file by cannibalising NME:
TYPE POLYMER # not ligand!
AA UNK
...
LOWER_CONNECT S44
CONNECT O25
UPPER_CONNECT NONE #interesting...
PROPERTIES TERMINUS
VARIANT UPPER_TERMINUS_VARIANT
FIRST_SIDECHAIN_ATOM C43
MAINCHAIN_ATOMS S44
..
# instead of CONN1 --> LOWER
ICOOR_INTERNAL LOWER -55.924887 82.065569 1.599532 S44 C43 C42
ICOOR_INTERNAL CONN2 -53.618412 68.239894 1.417132 O25 P24 O27This seems to work, except for a ideal coordinate error. This happens when you have a residue and the first three internal coordinate lines aren’t the backbone. So… The params file needs to be done again with the “backbone” at the front to make the ICOOR block koscher. `*SCCNC()CCNC()[C@H](O)C(C)(C)COP()([O-])O*`.
NAME PNS
# *OP()([O-])OC([H])([H])C(C([H])([H])[H])(C([H])([H])[H])[C@@]([H])(O[H])C()N([H])C([H])([H])C([H])([H])C()N([H])C([H])([H])C([H])([H])S*
IO_STRING PNS Z
TYPE POLYMER
AA UNK
ATOM S44 S X 0.0461081
ATOM C43 CH2 X 0.0424627
ATOM C42 CH2 X 0.0289581
ATOM N41 Nbb X -0.3551238
ATOM C39 CNH2 X 0.2212996
ATOM O40 ONH2 X -0.2750672
ATOM C38 CH2 X 0.0439116
ATOM C37 CH2 X 0.0262302
ATOM N36 Nbb X -0.3533171
ATOM C34 CNH2 X 0.2490077
ATOM O35 ONH2 X -0.2720773
ATOM C32 CH1 X 0.1395636
ATOM O33 OH X -0.3826122
ATOM C29 CH0 X 0.0236395
ATOM C30 CH3 X -0.0546613
ATOM C31 CH3 X -0.0546613
ATOM C28 CH2 X 0.0633638
ATOM O27 OPha X -0.3159965
ATOM P24 Pha X 0.3032098
ATOM O23 OPha X -0.2735101
ATOM O25 OPha X -0.7542792
ATOM O26 OPha X -0.1191541
ATOM H24 Hapo X 0.0425664
ATOM H25 Hapo X 0.0425664
ATOM H26 Hapo X 0.0500663
ATOM H27 Hapo X 0.0500663
ATOM H28 Hpol X 0.1629752
ATOM H29 Hapo X 0.0385204
ATOM H30 Hapo X 0.0385204
ATOM H31 Hapo X 0.0496391
ATOM H32 Hapo X 0.0496391
ATOM H33 Hpol X 0.1630531
ATOM H34 Hapo X 0.0711527
ATOM H35 Hpol X 0.2112195
ATOM H36 Hapo X 0.0237891
ATOM H37 Hapo X 0.0237891
ATOM H38 Hapo X 0.0237891
ATOM H39 Hapo X 0.0237891
ATOM H40 Hapo X 0.0237891
ATOM H41 Hapo X 0.0237891
ATOM H42 Hapo X 0.0578802
ATOM H43 Hapo X 0.0578802
BOND S44 C43
BOND C43 C42
BOND C42 N41
BOND N41 C39
BOND_TYPE C39 O40 2
BOND C39 C38
BOND C38 C37
BOND C37 N36
BOND N36 C34
BOND_TYPE C34 O35 2
BOND C34 C32
BOND C32 O33
BOND C32 C29
BOND C29 C30
BOND C29 C31
BOND C29 C28
BOND C28 O27
BOND O27 P24
BOND_TYPE P24 O23 2
BOND P24 O25
BOND P24 O26
BOND C43 H24
BOND C43 H25
BOND C42 H26
BOND C42 H27
BOND N41 H28
BOND C38 H29
BOND C38 H30
BOND C37 H31
BOND C37 H32
BOND N36 H33
BOND C32 H34
BOND O33 H35
BOND C30 H36
BOND C30 H37
BOND C30 H38
BOND C31 H39
BOND C31 H40
BOND C31 H41
BOND C28 H42
BOND C28 H43
LOWER_CONNECT S44
CONNECT O26
UPPER_CONNECT NONE
PROPERTIES TERMINUS
#UPPERTERM_CAP
VARIANT UPPER_TERMINUS_VARIANT
FIRST_SIDECHAIN_ATOM N41
MAINCHAIN_ATOMS S44 C43 C42
NBR_ATOM O33
NBR_RADIUS 6.449616302055956
ICOOR_INTERNAL S44 0.000000 0.000000 0.000000 S44 C43 C42
ICOOR_INTERNAL C43 0.000000 179.999999 1.809125 S44 C43 C42
ICOOR_INTERNAL C42 -0.000000 68.802305 1.517021 C43 S44 C42
ICOOR_INTERNAL N41 -173.808356 67.426119 1.466895 C42 C43 S44
ICOOR_INTERNAL C39 -66.397485 57.060071 1.360647 N41 C42 C43
ICOOR_INTERNAL O40 3.600645 56.070608 1.226781 C39 N41 C42
ICOOR_INTERNAL C38 -177.532276 66.542644 1.506965 C39 N41 O40
ICOOR_INTERNAL C37 98.218873 70.156023 1.523095 C38 C39 N41
ICOOR_INTERNAL N36 -68.172965 68.791825 1.449876 C37 C38 C39
ICOOR_INTERNAL C34 -74.166348 59.093699 1.387933 N36 C37 C38
ICOOR_INTERNAL O35 -19.249834 57.317725 1.230391 C34 N36 C37
ICOOR_INTERNAL C32 173.940107 68.331302 1.539906 C34 N36 O35
ICOOR_INTERNAL O33 -73.720490 77.007196 1.444326 C32 C34 N36
ICOOR_INTERNAL C29 -124.578579 62.651859 1.547999 C32 C34 O33
ICOOR_INTERNAL C30 -52.677728 69.368683 1.536506 C29 C32 C34
ICOOR_INTERNAL C31 122.071602 67.894999 1.528975 C29 C32 C30
ICOOR_INTERNAL C28 -117.718339 71.332842 1.555024 C29 C32 C30
ICOOR_INTERNAL O27 -51.850540 70.578664 1.419632 C28 C29 C32
ICOOR_INTERNAL P24 143.311096 60.363622 1.634054 O27 C28 C29
ICOOR_INTERNAL O23 -40.689041 72.014536 1.516157 P24 O27 C28
ICOOR_INTERNAL O25 -129.492908 74.456570 1.510937 P24 O27 O23
ICOOR_INTERNAL O26 116.549793 79.427865 1.633599 P24 O27 O23
ICOOR_INTERNAL H24 -122.022823 70.730925 1.095949 C43 S44 C42
ICOOR_INTERNAL H25 122.074311 71.899473 1.083075 C43 S44 C42
ICOOR_INTERNAL H26 -121.224389 69.182368 1.091381 C42 C43 N41
ICOOR_INTERNAL H27 118.523149 69.038644 1.094817 C42 C43 N41
ICOOR_INTERNAL H28 -164.768828 63.682200 1.023362 N41 C42 C39
ICOOR_INTERNAL H29 -123.279002 69.597531 1.088717 C38 C39 C37
ICOOR_INTERNAL H30 120.596824 73.054009 1.096453 C38 C39 C37
ICOOR_INTERNAL H31 119.388718 68.905436 1.090661 C37 C38 N36
ICOOR_INTERNAL H32 -120.575601 70.005501 1.095508 C37 C38 N36
ICOOR_INTERNAL H33 147.079624 63.876661 1.019413 N36 C37 C34
ICOOR_INTERNAL H34 112.149188 72.623108 1.092842 C32 C34 O33
ICOOR_INTERNAL H35 -179.651841 75.184378 0.984138 O33 C32 C34
ICOOR_INTERNAL H36 70.387618 68.520322 1.094655 C30 C29 C32
ICOOR_INTERNAL H37 120.818633 68.139745 1.101182 C30 C29 H36
ICOOR_INTERNAL H38 -120.439186 69.123946 1.104630 C30 C29 H36
ICOOR_INTERNAL H39 -179.012365 69.373930 1.101939 C31 C29 C32
ICOOR_INTERNAL H40 -119.508272 67.442098 1.087566 C31 C29 H39
ICOOR_INTERNAL H41 119.373757 68.284592 1.095696 C31 C29 H39
ICOOR_INTERNAL H42 121.576336 70.274162 1.090829 C28 C29 O27
ICOOR_INTERNAL H43 -119.936434 69.049107 1.092382 C28 C29 O27
ICOOR_INTERNAL LOWER -69.300048 81.473925 1.586157 S44 C43 C42
ICOOR_INTERNAL CONN2 -61.638403 67.984427 1.421957 O26 P24 O27In pyrosetta this seems to work fine in for a PDB with two LINK records and the PNS residue after the C-terminal end of the peptide, with resi+1, same chain and no TER record beforehand.
-
September 10, 2020 at 3:30 pm #15491Anonymous
Forgot to mention, I used the `-use_truncated_termini true` and `-use_terminal_residues true` flags.
About the other points you raised:
> I used the params file you generated, the program can run. But if I use the params file generated from the web app, the program did not work.
Yes, I hadn’t realised yet another corner case and the web app was several versions behind the github repo —the server does not update on a Github webhook trigger as it’s piggybacking of another app out of laziness and indecision as I am not sure where to host it —I am still waiting on my university’s legal team (approx. 7 months) to sign a memorandum of understanding to let me use pyrosetta for a different university web app…
> If I run the program without the params file, the program can run but will generate a pdb disconnect the covalent bond between the ser residue and the phosphopantetheine phosphate.
That is because it is using PDB component library. This autogenerated set is great, but imperfect. `-ignore_unrecognized_res true -load_PDB_components false` flags without a params file will give you no PNS.
> enzdes constraint
The aim of using constraint of the regular type is to force the two atoms to be close, even if they have a horrid LJ potential. It is not an ideal strategy. In Gromacs a covalent bond is made by making the sulfur or oxygen atom virtual and adding a constraint to prevent the system from blowing up. That works better, but you’d need to make an alanine with a virtual atom instead of one of the beta hydrogens. The enzdes constraints has a value that disables the LJ (two terms in rosetta) clash between the two atoms —this is the zero or one at the end of distanceAB line— but it still is odd and results in some funky scores. Also it is a pain to set up as it requires a resfile too to specify which are the residues.
Nevertheless, the residue crosslinks discussed previously do not preseve torsion angles, only distance. Hence why you also often need a constraint of the regular type (or enzdes type) to keep the two atoms close in a chemical acceptable way. My GitHub repo for params has this, but I did not make a webapp page for it.
-
September 10, 2020 at 11:40 pm #15492Anonymous
It’s a great relief that I need not to focus on the study of Enzdes.
I tried the params file you updated. I removed the TER between the C terminus and PNS in the pdb file. It did not work. The error message is “ERROR: unable to find desired variant residue: PNS PNS LOWER_TERMINUS_VARIANT”
The commands:
relax.static.macosclangrelease
-database /Users/zhijun/bin/Rosetta/rosetta_bin_mac_2020.08.61146_bundle/main/database/
-in::file: 1-141-PNS.pdb
-extra_res_fa Phosphopantetheine.params
-use_truncated_termini true
-use_terminal_residues true
-parser::protocol B_relax_density.xml
-edensity::mapreso 3.0
-edensity::cryoem_scatterers
-crystal_refine
-beta
-out::suffix _params
-default_max_cycles 200
-
September 11, 2020 at 8:47 am #15493Anonymous
Yes, that is the fiddly error I was warning about. So it is something to do withe PNS residue not looking like a proper polymer residue…
Looking at the file, the entry type is `HETATM`, whereas it should be a `ATOM`. Sorry, my bad.
-
September 11, 2020 at 9:25 am #15494Anonymous
I edited the pdb file and replace the “HETAM” to “ATOM”. The error message is “ERROR: unable to find desired variant residue: PNS PNS LOWER_TERMINUS_VARIANT”.
The pdb file is attached.
-
September 12, 2020 at 10:02 am #15496Anonymous
Okay. I gave your file a spin. There are three remaining issues.
LINK
It lacks LINK records:
LINK P24 PNS B 142 OG SER B 66 1555 1555 2.72
LINK S44 PNS B 142 C GLY B 141 1555 1555 2.72PyMOL is one of those programs that does proximity bonding in addition to obeying CONECT records, so a PDB may look bonded nicely in PyMOL, but it may be wrong in reality.
Atoms
The second issue is that the serine atom has a OG atom, while PNS lacks O26.
So two options:
- rename OG to O26 in the PDB*
- change the PNS params to be chemically bonded more sensibly
From the chemical point of view the PDB is correct as the OG atom attacked the P24 atom, while the topology file, while correct, is conceptually wrong. So attached is yet another params. For a case where there is no O26 as the Ser66 OG connects to the phosphate.
Distance
To clarify PNS binds to the C-terminal of a peptide via a thioester bond and to a serine sidechain. Ehr. In the case you linked, it is binding to the same protein twice?There is a 20 Å bond. Is the Glycine 141:B really connected to the PNS via a thioester bond??
-
-
AuthorPosts
- You must be logged in to reply to this topic.