Hello Junhui Peng--

> >
> >> Sorry that I have to mail to you for this problem. I am always denied
> >> by the xplor-nih server when subscribing to xplor-nih.
> > The subscribe link is currently disabled due to an ongoing denial of
> > service attack we've been experiencing. At this point, a new user
> > should simply write me directly to be added to the mailing list. I
> > have manually added you.
> >
> >> I am refining an x-ray structure against PRE restraints.
> >> Attached is my script file and an example violation file.
> >> Very strangely that the IMPR energy is very large. Following shows a
> >> strange violation.
> >>
> >> (atom-i        |atom-j        |atom-k        |atom-L        ) angle
> >> equil.   delta    energy   const.   period
> >> (A    1    HE1 |A    1    HE2 |A    1    SD  |A    1    HE3 ) 68.429
> >> -66.000 -134.429 2752.380  500.000   0
> >>
> >>
> >> I have also test the script without PRE restraints with other
> >> starting structures. The same could happen very often. However for
> >> some cases this would not happen (For example GB1 NMR structure).
> > This is likely due to the fact that your input coordinates are
> > inconsistent with the Xplor-NIH improper definition of (in this case)
> > the epsilon methyls. You might try specifying fixMethylImpropers=True
> > to protocol.initCoords.
> >
> > best regards--
> > Charles
> >
> Thanks for adding me to the mailing list. The argument
> fixMethylImpropers=True in protocol.initCoords can help to fix
> Impropers that are related to methyl group. However, still strange
> violations can happen. Here are some examples from my violation file.
> 
> (atom-i        |atom-j        |atom-k        |atom-L        ) angle
> equil.   delta    energy   const.   period
> 
> (     1    HB1 |     1    HB2 |     1    CA  |     1    CG  ) 70.745
> -70.874 -141.619 3054.703  500.000   0

Hmm. I don't often see this sort of problem with input
coordinates. You might try calling the attached function after
protocol.initCoords. Please let me know if this helps.

best regards--
Charles

def fixProtonImpropers(sel="all",verbose=False):
    """
    Swap proton positions on methyls or methylenes such that improper
    energies are lowered. 

    Swapped coordinates include any C, N or S bound to two or three protons.
    """
    sel=convertToAtomSel(sel)
    from atomSel import intersection, AtomSel
    from xplorPot import XplorPot
    simulation=sel.simulation()
    impr=XplorPot("IMPR",simulation)
    Eimpr=impr.calcEnergy()
    for heavy in intersection(sel,AtomSel("name C* or name S* or name N*",
                                          simulation)):
        protons=AtomSel('''bondedto ATOM "%s" %d %s
                        and name H*''' %(heavy.segmentName(),
                       heavy.residueNum(),
                       heavy.atomName()),
                        simulation)
        if len(protons)==2 or len(protons)==3:
            coords=[atom.pos() for atom in protons]
            protons[0].setPos(coords[1])
            protons[1].setPos(coords[0])
            new=impr.calcEnergy()
            if new<Eimpr:
                if verbose:
                    print "fixMethylImpropers: swapped  %s and %s" % \
                          (protons[0].string(), protons[1].string())
                Eimpr=new
            else:
                protons[0].setPos(coords[0])
                protons[1].setPos(coords[1])
                pass
            pass
        pass
    return
            

_______________________________________________
Xplor-nih mailing list
[email protected]
https://dcb.cit.nih.gov/mailman/listinfo/xplor-nih

Reply via email to