Re: bad angle error!!

From: Josh Vermaas (joshua.vermaas_at_gmail.com)
Date: Fri Feb 28 2020 - 16:44:18 CST

Ok, this is confusing to me. I tried out your script, uncommenting the
regenerate angles dihedrals stuff (you can't skip it!), and I got something
that looked reasonable when I started from the pdb structure. Why are you
changing the atom names? The O atoms are usually the carbonyl oxygens in
the protein backbone, and renaming them is probably going to be bad. The
script I settled on was below.

-Josh

package require psfgen
topology top_all36_prot.rtf
topology top_all36_na.rtf

;## BUNDLE 1 OF RIBOSOME
mol new 6spb.pdb type pdb waitfor all

;# protein get chains
set sel [atomselect top "protein"]
set chains [lsort -unique [$sel get chain]] ;# return A B C D
foreach chain $chains {
    puts "Adding protein chain $chain to psfgen"
    pdbalias residue HIS HSD
    pdbalias atom ILE CD1 CD
    set seg ${chain}PRO
    set sel [atomselect top "protein and chain $chain"]
    $sel set segid $seg
    $sel writepdb tmp.pdb
    segment $seg { pdb tmp.pdb
                 first NTER
                 last CTER
                 }
    regenerate angles dihedrals ; # critical after patching
    coordpdb tmp.pdb
}
guesscoord

;# DNA get chains
mol delete all
mol delete $sel
mol new 6spb.pdb type pdb waitfor all
set sel [atomselect top "nucleic"]
set chains [lsort -unique [$sel get chain]] ;# return A B C D
foreach chain $chains {
    puts "Adding DNA chain $chain to psfgen"
    ;# Nucleic acid pdbalias
    pdbalias residue A ADE
    pdbalias residue G GUA
    pdbalias residue C CYT
    ;#pdbalias residue T THY ;# Only for DNA
    pdbalias residue U URA ;# Only for RNA
    pdbalias atom A OP1 O1P
    pdbalias atom A OP2 O2P
    pdbalias atom G OP1 O1P
    pdbalias atom G OP2 O2P
    pdbalias atom C OP1 O1P
    pdbalias atom C OP2 O2P
    pdbalias atom U OP1 O1P
    pdbalias atom U OP2 O2P
    set seg ${chain}RNA
    set sel [atomselect top "nucleic and chain $chain"]
     $sel set segid $seg
    $sel writepdb tmp.pdb

    segment $seg { pdb tmp.pdb }
   #only for DNA
    #set resids [lsort -unique [$sel get resid]]
    #foreach r $resids {
    # patch DEOX $seg:$r
    #}
    regenerate angles dihedrals
    coordpdb tmp.pdb
}
guesscoord

;## Escribiendo los output
writepsf ribosome_top.psf ; # Output PSF
writepdb ribosome_top.pdb ; # Output PDB
quit

On Fri, Feb 28, 2020 at 3:51 PM ROPÓN-PALACIOS G. <biodano.geo_at_gmail.com>
wrote:

> i'm using v1.9.4 last version.
>
> i'm try prepare ribosome topology this is mi code:
> manually i'm change name atom O --> OT1
>
> ############################################
> if {1} {
> package require psfgen
> ;#topology toppar/top_all22_prot.rtf
> topology toppar/top_all36_prot.rtf
> topology toppar/top_all36_na_nbfix.rtf
> ;#topology toppar/top_all36_carb.rtf
> topology toppar/toppar_water_ions_nbfix.str
> }
>
> ;## BUNDLE 1 OF RIBOSOME
> mol new 6SPB.pdb type pdb waitfor all
>
> ;# protein get chains
> set sel [atomselect top "protein"]
> set chains [lsort -unique [$sel get chain]] ;# return A B C D
> foreach chain $chains {
> puts "Adding protein chain $chain to psfgen"
> pdbalias residue HIS HSD
> pdbalias atom ILE CD1 CD
> set seg ${chain}PRO
> set sel [atomselect top "protein and chain $chain"]
> $sel set segid $seg
> #pdbalias atom VAL O OT1
> #pdbalias atom LYS O OT1
> #pdbalias atom ARG O OT1
> #pdbalias atom GLY O OT1
> #pdbalias atom LYS O OT1
> #pdbalias atom ALA O OT1
> #pdbalias atom PRO O OT1
> #pdbalias atom LEU O OT1
> #pdbalias atom GLU O OT1
> #pdbalias atom ASP O OT1
> #pdbalias atom THR O OT1
> #pdbalias atom PHE O OT1
> #pdbalias atom GLN O OT1
> $sel writepdb tmp.pdb
> segment $seg { pdb tmp.pdb
> #first NTER
> #last CTER
> }
> #regenerate angles
> #regenerate resids
> #regenerate angles dihedrals ; # critical after patching
> coordpdb tmp.pdb
> }
> #guesscoord
>
> ;# DNA get chains
> mol delete all
> mol delete $sel
> exec rm tmp.pdb
> mol new 6SPB.pdb type pdb waitfor all
> set sel [atomselect top "nucleic"]
> set chains [lsort -unique [$sel get chain]] ;# return A B C D
> foreach chain $chains {
> puts "Adding DNA chain $chain to psfgen"
> ;# Nucleic acid pdbalias
> pdbalias residue A ADE
> pdbalias residue G GUA
> pdbalias residue C CYT
> ;#pdbalias residue T THY ;# Only for DNA
> pdbalias residue U URA ;# Only for RNA
> pdbalias atom A OP1 O1P
> pdbalias atom A OP2 O2P
> pdbalias atom G OP1 O1P
> pdbalias atom G OP2 O2P
> pdbalias atom C OP1 O1P
> pdbalias atom C OP2 O2P
> pdbalias atom U OP1 O1P
> pdbalias atom U OP2 O2P
> set seg ${chain}RNA
> set sel [atomselect top "nucleic and chain $chain"]
> $sel set segid $seg
> $sel writepdb tmp.pdb
>
> segment $seg { pdb tmp.pdb }
> #only for DNA
> #set resids [lsort -unique [$sel get resid]]
> #foreach r $resids {
> # patch DEOX $seg:$r
> #}
> #regenerate angles dihedrals
> coordpdb tmp.pdb
> }
> guesscoord
>
> ;## Escribiendo los output
> writepsf ribosome_top.psf ; # Output PSF
> writepdb ribosome_top.pdb ; # Output PDB
> quit
>
>
>
>
>
>
> El vie., 28 de feb. de 2020 a la(s) 08:53, Josh Vermaas (
> joshua.vermaas_at_gmail.com) escribió:
>
>> What were the steps/script you used to get to this error. Guessing
>> coordinates makes me think that this is in the psf generation process, but
>> without knowing what you did, its difficult to diagnose the issue.
>>
>> -Josh
>> On 2/27/20 10:10 PM, ROPÓN-PALACIOS G. wrote:
>>
>> Dear namd Users,
>>
>> I have following problem, please help me :
>>
>> #############################################
>> failed to guess coordinate due to bad angle OT1 C OT2
>> ##############################################
>>
>> How can fix this problem?
>>
>> att:
>>
>> geo.
>>
>> --
>>
>>
>
> --
>
>

This archive was generated by hypermail 2.1.6 : Thu Dec 31 2020 - 23:17:12 CST