Exemplo n.º 1
0
def randomSurfaces( base_folder, label, mask ):
    """
    calculate surfaces for all peptides and return the
    average and SD
    """
    ## container for results and standard deviations
    MS,    AS    = {}, {}
    MS_sd, AS_sd = {}, {}

    ## loop over peptide directories
    for k in MOU.aaAtoms.keys():
        dir = base_folder + 'GLY-%s-GLY_pcr/pcr_00'%(k)
        fLst = glob.glob( dir + '/*.pdb')
        
        msLst = []
        asLst = []
        
        ## loop over pdb files for each peptide
        T.flushPrint( '\nNow collecting data in %s'%dir )
        for f in fLst:

            ## load peptide and remove waters and hydrogens
            m = PDBModel( f )
            m = m.compress( m.maskProtein() * m.maskHeavy() )
            T.flushPrint( '.')

            ## add surface data
            try:
                d = PDBDope( m )
                d.addSurfaceRacer( probe=1.4 )

                ## remove tailing GLY
                m = m.compress( m.res2atomMask(mask) )
                
                ## collect surface data for each peptide
                msLst += [ m.profile('MS') ]
                asLst += [ m.profile('AS') ]
                       
            except:
                print 'Failed calculating exposure for GLY-%s-GLY'%(k)
                print '\t and file %s'%f
                
        ## get result dictionary for peptide
        T.flushPrint('\nCollecting data ...\n')
        msDic = {}
        asDic = {}
        msDic_sd = {}
        asDic_sd = {}

        j = 0
        #atoms =  [ a['name'] for a in m.atoms ]
        for n in m['name']:
            msDic[n]    = N0.average(msLst)[j]
            asDic[n]    = N0.average(asLst)[j]
            msDic_sd[n] = MAU.SD( msLst )[j]
            asDic_sd[n] = MAU.SD( asLst )[j]
            j += 1

        MS[ k ] = msDic
        AS[ k ] = asDic
        MS_sd[ k ] = msDic_sd
        AS_sd[ k ] = asDic_sd

    return MS, AS, MS_sd, AS_sd
Exemplo n.º 2
0
def randomSurfaces( base_folder, label, mask ):
    """
    calculate surfaces for all peptides and return the
    average and SD
    """
    ## container for results and standard deviations
    MS,    AS    = {}, {}
    MS_sd, AS_sd = {}, {}

    ## loop over peptide directories
    for k in MOU.aaAtoms.keys():
        dir = base_folder + 'GLY-%s-GLY_pcr/pcr_00'%(k)
        fLst = glob.glob( dir + '/*.pdb')
        
        msLst = []
        asLst = []
        
        ## loop over pdb files for each peptide
        T.flushPrint( '\nNow collecting data in %s'%dir )
        for f in fLst:

            ## load peptide and remove waters and hydrogens
            m = PDBModel( f )
            m = m.compress( m.maskProtein() * m.maskHeavy() )
            T.flushPrint( '.')

            ## add surface data
            try:
                d = PDBDope( m )
                d.addSurfaceRacer( probe=1.4 )

                ## remove tailing GLY
                m = m.compress( m.res2atomMask(mask) )
                
                ## collect surface data for each peptide
                msLst += [ m.profile('MS') ]
                asLst += [ m.profile('AS') ]
                       
            except:
                print 'Failed calculating exposure for GLY-%s-GLY'%(k)
                print '\t and file %s'%f
                
        ## get result dictionary for peptide
        T.flushPrint('\nCollecting data ...\n')
        msDic = {}
        asDic = {}
        msDic_sd = {}
        asDic_sd = {}

        j = 0
        #atoms =  [ a['name'] for a in m.atoms ]
        for n in m['name']:
            msDic[n]    = N.average(msLst)[j]
            asDic[n]    = N.average(asLst)[j]
            msDic_sd[n] = MAU.SD( msLst )[j]
            asDic_sd[n] = MAU.SD( asLst )[j]
            j += 1

        MS[ k ] = msDic
        AS[ k ] = asDic
        MS_sd[ k ] = msDic_sd
        AS_sd[ k ] = asDic_sd

    return MS, AS, MS_sd, AS_sd
Exemplo n.º 3
0
class Test(BT.BiskitTest):
    """Test AmberParmBuilder"""

    TAGS = [BT.EXE]

    def prepare(self):
        root = T.testRoot() + '/amber/'
        self.ref = PDBModel(T.testRoot() + '/amber/1HPT_0.pdb')
        self.refdry = root + '1HPT_0dry.pdb'

        self.dryparm = tempfile.mktemp('.parm', 'dry_')
        self.drycrd = tempfile.mktemp('.crd', 'dry_')
        self.drypdb = tempfile.mktemp('.pdb', 'dry_')
        self.wetparm = tempfile.mktemp('.parm', 'wet_')
        self.wetcrd = tempfile.mktemp('.crd', 'wet_')
        self.wetpdb = tempfile.mktemp('.pdb', 'wet_')
        self.leapout = tempfile.mktemp('.out', 'leap_')

    def cleanUp(self):
        if not self.DEBUG:
            T.tryRemove(self.dryparm)
            T.tryRemove(self.drycrd)
            T.tryRemove(self.drypdb)
            T.tryRemove(self.wetparm)
            T.tryRemove(self.wetcrd)
            T.tryRemove(self.wetpdb)
            T.tryRemove(self.leapout)

    def test_AmberParmMirror(self):
        """AmberParmBuilder.parmMirror test"""
        ref = self.ref
        mask = N.logical_not(ref.maskH2O())  ## keep protein and Na+ ion
        self.mdry = ref.compress(mask)

        self.a = AmberParmBuilder(self.mdry,
                                  verbose=self.local,
                                  leap_out=self.leapout,
                                  debug=self.DEBUG)

        self.a.parmMirror(f_out=self.dryparm, f_out_crd=self.drycrd)

        self.a.parm2pdb(self.dryparm, self.drycrd, self.drypdb)

        self.m1 = PDBModel(self.drypdb)
        self.m2 = PDBModel(self.refdry)

        eq = N.array(self.m1.xyz == self.m2.xyz)
        self.assert_(eq.all())

    def test_AmberParmSolvated(self):
        """AmberParmBuilder.parmSolvated test"""
        ## remove waters and hydrogens
        self.mdry = self.ref.compress(self.ref.maskProtein())
        self.mdry = self.mdry.compress(self.mdry.maskHeavy())

        self.a = AmberParmBuilder(self.mdry,
                                  leap_out=self.leapout,
                                  verbose=self.local,
                                  debug=self.DEBUG)

        self.a.parmSolvated(self.wetparm,
                            f_out_crd=self.wetcrd,
                            f_out_pdb=self.wetpdb,
                            box=2.5)

        self.m3 = PDBModel(self.wetpdb)

        m3prot = self.m3.compress(self.m3.maskProtein())
        refprot = self.ref.compress(self.ref.maskProtein())
        refprot.xplor2amber()

        self.assertEqual(self.ref.lenChains(), self.m3.lenChains())
        self.assertEqual(refprot.atomNames(), m3prot.atomNames())

    def test_capIrregular(self):
        """AmberParmBuilder.capNME & capACE test"""
        gfp = PDBModel('1GFL')
        normal = gfp.takeResidues([10, 11])
        chromo = gfp.takeResidues([64, 65])

        self.a = AmberParmBuilder(normal)
        self.m4 = self.a.capACE(normal, 0)

        self.assertEqual(len(self.m4), 17)

        ##        del chromo.residues['biomol']

        self.m5 = self.a.capACE(chromo, 0)
        self.m5 = self.a.capNME(self.m5, 0)

        self.assertEqual(self.m5.sequence(), 'XSYX')
Exemplo n.º 4
0
class Test( BT.BiskitTest ):
    """Test AmberParmBuilder"""

    TAGS = [ BT.EXE ]

    def prepare(self):
        root = T.testRoot() + '/amber/'
        self.ref = PDBModel( T.testRoot() + '/amber/1HPT_0.pdb')
        self.refdry = root + '1HPT_0dry.pdb'

        self.dryparm = tempfile.mktemp('.parm', 'dry_')
        self.drycrd  = tempfile.mktemp('.crd', 'dry_')
        self.drypdb  = tempfile.mktemp('.pdb', 'dry_')
        self.wetparm = tempfile.mktemp('.parm', 'wet_')
        self.wetcrd  = tempfile.mktemp('.crd', 'wet_')
        self.wetpdb  = tempfile.mktemp('.pdb', 'wet_')
        self.leapout = tempfile.mktemp('.out', 'leap_')

    def cleanUp(self):
        if not self.DEBUG:
            T.tryRemove( self.dryparm )
            T.tryRemove( self.drycrd )
            T.tryRemove( self.drypdb )
            T.tryRemove( self.wetparm )
            T.tryRemove( self.wetcrd )
            T.tryRemove( self.wetpdb )
            T.tryRemove( self.leapout )
        

    def test_AmberParmMirror(self):
        """AmberParmBuilder.parmMirror test"""
        ref = self.ref
        mask = N.logical_not( ref.maskH2O() ) ## keep protein and Na+ ion
        self.mdry = ref.compress( mask )

        self.a = AmberParmBuilder( self.mdry, verbose=self.local,
                                   leap_out=self.leapout,
                                   debug=self.DEBUG )

        self.a.parmMirror(f_out=self.dryparm,
                          f_out_crd=self.drycrd )

        self.a.parm2pdb( self.dryparm, self.drycrd, self.drypdb )

        self.m1 = PDBModel(self.drypdb)
        self.m2 = PDBModel(self.refdry)

        eq = N.array( self.m1.xyz == self.m2.xyz )
        self.assert_( eq.all() )


    def test_AmberParmSolvated( self ):
        """AmberParmBuilder.parmSolvated test"""
        ## remove waters and hydrogens
        self.mdry = self.ref.compress( self.ref.maskProtein() )
        self.mdry = self.mdry.compress( self.mdry.maskHeavy() )

        self.a = AmberParmBuilder( self.mdry,
                                   leap_out=self.leapout,
                                   verbose=self.local, debug=self.DEBUG)

        self.a.parmSolvated( self.wetparm, f_out_crd=self.wetcrd,
                             f_out_pdb=self.wetpdb,
                             box=2.5 )

        self.m3 = PDBModel( self.wetpdb )

        m3prot = self.m3.compress( self.m3.maskProtein() )
        refprot= self.ref.compress( self.ref.maskProtein() )
        refprot.xplor2amber()
        
        self.assertEqual( self.ref.lenChains(), self.m3.lenChains() )
        self.assertEqual( refprot.atomNames(), m3prot.atomNames() )


    def test_capIrregular( self ):
        """AmberParmBuilder.capNME & capACE test"""
        gfp = PDBModel('1GFL')
        normal = gfp.takeResidues([10,11])
        chromo = gfp.takeResidues([64,65])

        self.a = AmberParmBuilder( normal )
        self.m4 = self.a.capACE( normal, 0 )

        self.assertEqual( len(self.m4), 17 )
        
##        del chromo.residues['biomol']

        self.m5 = self.a.capACE( chromo, 0 )
        self.m5 = self.a.capNME( self.m5, 0 )
        
        self.assertEqual( self.m5.sequence(), 'XSYX' )
Exemplo n.º 5
0
class Test(BT.BiskitTest):
    """Test AmberParmBuilder"""

    TAGS = [BT.EXE]

    def prepare(self):
        root = T.testRoot() + '/amber/'
        self.ref = PDBModel(T.testRoot() + '/amber/1HPT_0.pdb')
        self.refdry = root + '1HPT_0dry.pdb'

        self.dryparm = tempfile.mktemp('.parm', 'dry_')
        self.drycrd = tempfile.mktemp('.crd', 'dry_')
        self.drypdb = tempfile.mktemp('.pdb', 'dry_')
        self.wetparm = tempfile.mktemp('.parm', 'wet_')
        self.wetcrd = tempfile.mktemp('.crd', 'wet_')
        self.wetpdb = tempfile.mktemp('.pdb', 'wet_')
        self.leapout = tempfile.mktemp('.out', 'leap_')

    def cleanUp(self):
        if not self.DEBUG:
            T.tryRemove(self.dryparm)
            T.tryRemove(self.drycrd)
            T.tryRemove(self.drypdb)
            T.tryRemove(self.wetparm)
            T.tryRemove(self.wetcrd)
            T.tryRemove(self.wetpdb)
            T.tryRemove(self.leapout)

    def test_AmberParmMirror(self):
        """AmberParmBuilder.parmMirror test"""
        ref = self.ref
        mask = N0.logical_not(ref.maskH2O())  ## keep protein and Na+ ion
        self.mdry = ref.compress(mask)

        self.a = AmberParmBuilder(self.mdry,
                                  verbose=self.local,
                                  leap_out=self.leapout,
                                  debug=self.DEBUG)

        self.a.parmMirror(f_out=self.dryparm, f_out_crd=self.drycrd)

        self.a.parm2pdb(self.dryparm, self.drycrd, self.drypdb)

        self.m1 = PDBModel(self.drypdb)
        self.m2 = PDBModel(self.refdry)

        eq = N0.array(self.m1.xyz == self.m2.xyz)
        self.assert_(eq.all())

    def test_AmberParmSolvated(self):
        """AmberParmBuilder.parmSolvated test"""
        ## remove waters and hydrogens
        self.mdry = self.ref.compress(self.ref.maskProtein())
        self.mdry = self.mdry.compress(self.mdry.maskHeavy())

        self.a = AmberParmBuilder(self.mdry,
                                  leap_out=self.leapout,
                                  verbose=self.local,
                                  debug=self.DEBUG)

        self.a.parmSolvated(self.wetparm,
                            f_out_crd=self.wetcrd,
                            f_out_pdb=self.wetpdb,
                            box=2.5)

        self.m3 = PDBModel(self.wetpdb)

        m3prot = self.m3.compress(self.m3.maskProtein())
        refprot = self.ref.compress(self.ref.maskProtein())
        refprot.xplor2amber()

        self.assertEqual(self.ref.lenChains(), self.m3.lenChains())
        self.assertEqual(refprot.atomNames(), m3prot.atomNames())