Amber-MD / cpptraj

Biomolecular simulation trajectory/data analysis.
Other
138 stars 64 forks source link

Res TYR:1063 is missing atoms N #1090

Closed H-EKE closed 4 months ago

H-EKE commented 4 months ago

Hi ,

I am trying to calculate the secondary structure of a protein using charmm36

parm prod1/structure.psf
for i=1;i<5;i++
  trajin prod$i/output.xtc 1 5000
  strip :TIP3,SOD,CLA,POPC
  secstruct :1029-1063 nameh HN out ss_per_res_y_$i.dat sumout dssp_y_$i.dat totalout total_y_$i.out
go
done

When I run that script I get the following output

CPPTRAJ: Trajectory Analysis. V6.4.4 (GitHub) MPI OpenMP
    ___  ___  ___  ___
     | \/ | \/ | \/ | 
    _|_/\_|_/\_|_/\_|_

| Running on 1 processes.
| 1 OpenMP threads available.
| Date/time: 06/23/24 11:20:51
| Available memory: 266.581 GB

INPUT: Reading input from 'STDIN'
  [parm prod1/structure.psf]
        Reading 'prod1/structure.psf' as Charmm PSF
    Reading Charmm PSF file structure.psf as topology file.
        PSF contains 570230 atoms, 145435 residues.
Warning: Determining bond length parameters from element types for 'structure.psf'.
  [for i=1;i<5;i++]
    Setting up 'for' loop.
CONTROL: Parsing control block.
  BLOCK  0: for ((i=1; i<5; i+=1)) do
  [trajin prod$i/output.xtc 1 5000]
        Added command 'trajin' to control block 0.
  [strip :TIP3,SOD,CLA,POPC]
        Added command 'strip' to control block 0.
  [done]
  BLOCK  0: END
CONTROL: Executing 1 control block(s).
        Loop over 'i' will execute for 4 iterations.
  [trajin prod1/output.xtc 1 5000]
        Reading 'prod1/output.xtc' as Gromacs XTC
Warning: Trajectory box type is 'Orthorhombic' but topology box type is 'None'.
Warning: Setting topology box information from trajectory.
  [strip :TIP3,SOD,CLA,POPC]
    STRIP: Stripping atoms in mask [:TIP3,SOD,CLA,POPC]
  [trajin prod2/output.xtc 1 5000]
        Reading 'prod2/output.xtc' as Gromacs XTC
  [strip :TIP3,SOD,CLA,POPC]
    STRIP: Stripping atoms in mask [:TIP3,SOD,CLA,POPC]
  [trajin prod3/output.xtc 1 5000]
        Reading 'prod3/output.xtc' as Gromacs XTC
  [strip :TIP3,SOD,CLA,POPC]
    STRIP: Stripping atoms in mask [:TIP3,SOD,CLA,POPC]
  [trajin prod4/output.xtc 1 5000]
        Reading 'prod4/output.xtc' as Gromacs XTC
  [strip :TIP3,SOD,CLA,POPC]
    STRIP: Stripping atoms in mask [:TIP3,SOD,CLA,POPC]
CONTROL: Control block finished.

  [secstruct :1029-1063 nameh HN out ss_per_res_y.dat sumout dssp_y.dat totalout total_y.out]
    SECSTRUCT: Calculating secondary structure using mask [:1029-1063]
        Parallelizing calculation with 1 threads.
        Dumping results to ss_per_res_y.dat
        Sum results to dssp_y.dat
        SS data for each residue will be stored as integers.
                0 = None
                1 = Extended
                2 = Bridge
                3 = 3-10
                4 = Alpha
                5 = Pi
                6 = Turn
                7 = Bend
        Backbone Atom Names: N=[N]  H=[HN]  C=[C]  O=[O]  CA=[CA]
        Disulfide sulfur atom name: SG
# Citation: Kabsch, W.; Sander, C.; "Dictionary of Protein Secondary Structure:
#           Pattern Recognition of Hydrogen-Bonded and Geometrical Features."
#           Biopolymers (1983), V.22, pp.2577-2637.
  [go]
---------- RUN BEGIN -------------------------------------------------

PARAMETER FILES (1 total):
 0: structure.psf, 570230 atoms, 145435 res, box: Orthorhombic, 144375 mol, 142697 solvent

INPUT TRAJECTORIES (4 total):
 0: 'output.xtc' is a GROMACS XTC file, Parm structure.psf (Orthorhombic box) (reading 5000 of 7501)
 1: 'output.xtc' is a GROMACS XTC file, Parm structure.psf (Orthorhombic box) (reading 5000 of 7501)
 2: 'output.xtc' is a GROMACS XTC file, Parm structure.psf (Orthorhombic box) (reading 5000 of 6357)
 3: 'output.xtc' is a GROMACS XTC file, Parm structure.psf (Orthorhombic box) (reading 5000 of 7491)
  Coordinate processing will occur on 20000 frames.

PARALLEL INFO:
  Process 0 will handle 20000 frames.
.....................................................
ACTION SETUP FOR PARM 'structure.psf' (5 actions):
  0: [strip :TIP3,SOD,CLA,POPC]
        Stripping 553057 atoms.
        Stripped topology: 17173 atoms, 1063 res, box: Orthorhombic, 3 mol
  1: [strip :TIP3,SOD,CLA,POPC]
        Stripping 0 atoms.
Warning: No atoms to strip. Skipping.
Warning: Setup incomplete for [strip]: Skipping
  2: [strip :TIP3,SOD,CLA,POPC]
        Stripping 0 atoms.
Warning: No atoms to strip. Skipping.
Warning: Setup incomplete for [strip]: Skipping
  3: [strip :TIP3,SOD,CLA,POPC]
        Stripping 0 atoms.
Warning: No atoms to strip. Skipping.
Warning: Setup incomplete for [strip]: Skipping
  4: [secstruct :1029-1063 nameh HN out ss_per_res_y.dat sumout dssp_y.dat totalout total_y.out]
        Setting up for 1063 solute residues.
Warning: Res PRO:1029 is missing atoms HN
Warning: Res PRO:1038 is missing atoms HN
Warning: Res TYR:1063 is missing atoms N
        35 of 1063 solute residues selected.

If Im not wrong, the error message for prolines is normal. However, is it normal the one for tyrosine? That tyrosyne is a C-terminal residue.

Thanks in advance!

drroe commented 4 months ago

Since you are using the CHARMM FF, I assume the C-terminus is patched somehow, but without knowing how you generated the PSF I can only guess. Try checking the atoms in your C-terminal tyrosine with e.g.

parm prod1/structure.psf
atoms :1063

Do you see an N atom?

H-EKE commented 4 months ago

Hi,

Thanks again for the help and the answer!

I applied a Cter patch


REMARKS segment B { first ACE; last CTER; auto angles dihedrals }

CPPTRAJ: Trajectory Analysis. V6.4.4 (AmberTools)
    ___  ___  ___  ___
     | \/ | \/ | \/ | 
    _|_/\_|_/\_|_/\_|_

| Date/time: 06/30/24 01:36:19
| Available memory: 9.339 GB

        Loading previous history from log 'cpptraj.log'
> parm prod1/structure.psf 
  [parm prod1/structure.psf]
        Reading 'prod1/structure.psf' as Charmm PSF
    Reading Charmm PSF file structure.psf as topology file.
        PSF contains 570230 atoms, 145435 residues.
Warning: Determining bond length parameters from element types for 'structure.psf'.
> atoms :1063
  [atoms :1063]
22 atoms selected.
#Atom  Name   #Res Name   #Mol Type   Charge     Mass GBradius El
 17152 N      1063 TYR       3 NH1   -0.4700  14.0070   0.0000  N
 17153 HN     1063 TYR       3 H      0.3100   1.0080   0.0000  H
 17154 CA     1063 TYR       3 CT1    0.0700  12.0110   0.0000  C
 17155 HA     1063 TYR       3 HB1    0.0900   1.0080   0.0000  H
 17156 CB     1063 TYR       3 CT2   -0.1800  12.0110   0.0000  C
 17157 HB1    1063 TYR       3 HA2    0.0900   1.0080   0.0000  H
 17158 HB2    1063 TYR       3 HA2    0.0900   1.0080   0.0000  H
 17159 CG     1063 TYR       3 CA     0.0000  12.0110   0.0000  C
 17160 CD1    1063 TYR       3 CA    -0.1150  12.0110   0.0000  C
 17161 HD1    1063 TYR       3 HP     0.1150   1.0080   0.0000  H
 17162 CE1    1063 TYR       3 CA    -0.1150  12.0110   0.0000  C
 17163 HE1    1063 TYR       3 HP     0.1150   1.0080   0.0000  H
 17164 CZ     1063 TYR       3 CA     0.1100  12.0110   0.0000  C
 17165 OH     1063 TYR       3 OH1   -0.5400  15.9990   0.0000  O
 17166 HH     1063 TYR       3 H      0.4300   1.0080   0.0000  H
 17167 CD2    1063 TYR       3 CA    -0.1150  12.0110   0.0000  C
 17168 HD2    1063 TYR       3 HP     0.1150   1.0080   0.0000  H
 17169 CE2    1063 TYR       3 CA    -0.1150  12.0110   0.0000  C
 17170 HE2    1063 TYR       3 HP     0.1150   1.0080   0.0000  H
 17171 C      1063 TYR       3 CC     0.3400  12.0110   0.0000  C
 17172 OT1    1063 TYR       3 OC    -0.6700  15.9990   0.0000  O
 17173 OT2    1063 TYR       3 OC    -0.6700  15.9990   0.0000  O

My N atom is 17152

drroe commented 4 months ago

OK, so it turns out there is a mistake in the Warning message code. The actual atom that is missing in the C-terminal TYR is the O atom, but the warning mistakenly reports the N atom instead. This makes sense since this is a C-terminal residue, so I think you can safely ignore the warning. I will update the code to fix the mistaken report. Thanks!

H-EKE commented 4 months ago

Happy to contribute! :) Let me know if you want me to run tests or anything else!