You are here

CryoEM model refinement with covalent conjugated prosthetic Phosphopantetheine carrying acyl group

12 posts / 0 new
Last post
CryoEM model refinement with covalent conjugated prosthetic Phosphopantetheine carrying acyl group
#1

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

 

 

 

Post Situation: 
Thu, 2020-09-03 18:36
ZhijunW

(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(=O)[C@H](O)C(C)(C)COP(=O)(O)O`. But `OP(=O)(O)O` is wrong charge-wise and you want two connections. `O=C(NCCS[1:*])CCNC(=O)[C@H](O)C(C)(C)COP(=O)([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)([O-])OC([H])([H])C(C([H])([H])[H])(C([H])([H])[H])[C@@]([H])(O[H])C(=O)N([H])C([H])([H])C([H])([H])C(=O)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.72

I 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!

 

Mon, 2020-09-07 10:59
matteoferla

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

Tue, 2020-09-08 06:24
ZhijunW

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::s 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>
 

Thu, 2020-09-10 00:26
ZhijunW

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.
 

File attachments: 
Thu, 2020-09-10 01:57
ZhijunW

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

Thu, 2020-09-10 02:01
ZhijunW

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 C

While 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   O27

This 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(=O)CCNC(=O)[C@H](O)C(C)(C)COP(=O)([O-])O*`.

NAME PNS
# *OP(=O)([O-])OC([H])([H])C(C([H])([H])[H])(C([H])([H])[H])[C@@]([H])(O[H])C(=O)N([H])C([H])([H])C([H])([H])C(=O)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   O27 

In 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.

Thu, 2020-09-10 07:58
matteoferla

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.

 

 

Thu, 2020-09-10 08:30
matteoferla

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::s 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 \

 

 

File attachments: 
Thu, 2020-09-10 16:40
ZhijunW

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.

Fri, 2020-09-11 01:47
matteoferla

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.

File attachments: 
Fri, 2020-09-11 02:25
ZhijunW

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.72

PyMOL 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??

 

Sat, 2020-09-12 03:02
matteoferla