Example #1
0
    def test_ComplexRandomizer(self):
        """Dock.ComplexRandomizer test"""
        from Biskit import Trajectory

        if self.local:
            print "\nLoading Rec and Lig files ...",

        rec_pdb = t.testRoot() + '/rec/1A2P.pdb'
        lig_pdb = t.testRoot() + '/lig/1A19.pdb'

        rec_psf = t.testRoot() + '/rec/1A2P.psf'
        lig_psf = t.testRoot() + '/lig/1A19.psf'

        rec = PCRModel(rec_psf, rec_pdb)
        lig = PCRModel(lig_psf, lig_pdb)

        if self.local:
            print "Initializing Randomizer..."

        self.cr = ComplexRandomizer(rec, lig, debug=self.DEBUG)

        if self.local:
            print "Creating 3 random complexes..."

        cs = [self.cr.random_complex() for i in range(3)]

        self.traj = Trajectory([c.model() for c in cs])

        if self.local:
            self.display(self.traj)
            globals().update(locals())

        self.assertEqual(len(self.traj), 3)
Example #2
0
def loadModels( psfName, pdbNames ):
    """
    psfName - str, psf file name, same for all pdbs
    filenames - [ str, str, ..], set of pdb filenames
    filenames with ~, ~user, ../ are expanded to absolute names

    -> {1:PCRModel, 2:PCRModel, 3:..}, model dictionary
    """
    modelDic = {}
    
    ## if only one pdb file, instead of list
    if type(pdbNames) is StringType:
        pdbNames = [pdbNames]
    
    counter = 0
    for f in  pdbNames:

        counter += 1
        model = PCRModel( absfile(psfName), absfile(f) )   

        # chain id removed by xplor, must be identical to ref complex
        model.addChainFromSegid() 

        model.removeRes( 'TIP3' )

        modelDic[ counter ] = model

    return modelDic
Example #3
0
def go( fin, fout, fpsf=None, skipRes=None, amber=0, pdb=None ):

    if fpsf:
        m = PCRModel( absfile(fpsf), absfile(fin), skipRes=skipRes )
    else:
        m = PDBModel( absfile(fin), skipRes=skipRes )

    if amber:
        renameAmberRes( m )

    m.pdbCode = pdb or m.pdbCode

    m.saveAs( absfile(fout) )
Example #4
0
def dumpModel( m, options, fout ):

    if options.has_key('psf'):
        m = PCRModel( options['psf'], m )

    m.addChainFromSegid( verbose=0 ) # chain id removed by xplor
    m.removeRes( 'TIP3' )

    m.saveAs( fout )

    return m
Example #5
0
def loadModels(psfName, pdbNames):
    """
    psfName - str, psf file name, same for all pdbs
    filenames - [ str, str, ..], set of pdb filenames
    filenames with ~, ~user, ../ are expanded to absolute names

    -> {1:PCRModel, 2:PCRModel, 3:..}, model dictionary
    """
    modelDic = {}

    ## if only one pdb file, instead of list
    if type(pdbNames) is StringType:
        pdbNames = [pdbNames]

    counter = 0
    for f in pdbNames:

        counter += 1
        model = PCRModel(absfile(psfName), absfile(f))

        # chain id removed by xplor, must be identical to ref complex
        model.addChainFromSegid()

        model.removeRes('TIP3')

        modelDic[counter] = model

    return modelDic
Example #6
0
def dumpModel( m, options, fout ):

    if options.has_key('psf'):
        m = PCRModel( options['psf'], m )

    m.addChainFromSegid( verbose=0 ) # chain id removed by xplor
    m.removeRes( 'TIP3' )

    m.saveAs( fout )

    return m
Example #7
0
def go(fin, fout, fpsf=None, skipRes=None, amber=0, pdb=None):

    if fpsf:
        m = PCRModel(absfile(fpsf), absfile(fin), skipRes=skipRes)
    else:
        m = PDBModel(absfile(fin), skipRes=skipRes)

    if amber:
        renameAmberRes(m)

    m.pdbCode = pdb or m.pdbCode

    m.saveAs(absfile(fout))
Example #8
0
 def finish(self):
     """
     When done, write result to disc.
     """
     self.rec = PCRModel(self.com.rec_model.getPsfFile(), self.rec_out)
     self.lig = PCRModel(self.com.lig_model.getPsfFile(), self.lig_out)
Example #9
0
    def test_Complex(self):
        """Dock.Complex test"""

        lig = PCRModel( t.testRoot() + "/com/1BGS.psf",
                        t.testRoot() + "/com/lig.model")

        rec = PCRModel( t.testRoot() + "/com/1BGS.psf",
                        t.testRoot() + "/com/rec.model")

        rec = rec.compress( rec.maskHeavy() )
        lig = lig.compress( lig.maskHeavy() )

        c = Complex(rec, lig)
        c.info['soln'] = 1

        cont = c.atomContacts( 6.0 )
        contProfile_lig = N.sum( cont )
        contProfile_rec = N.sum( cont, 1 )

        try:
            dope = PDBDope( c.rec_model )
            dope.addSurfaceRacer( probe=1.4 )
            rec_surf = c.rec_model.profile2mask( 'MS', 0.0000001, 1000 )

            dope = PDBDope( c.lig_model )
            dope.addSurfaceRacer( probe=1.4 )
            lig_surf = c.lig_model.profile2mask( 'MS', 0.0000001, 1000 )
        except:
            pass

        if self.local:           
            from Biskit import Pymoler

            self.pm = Pymoler()
            self.pm.addPdb( c.rec(), 'rec' )
            self.pm.addPdb( c.lig(), 'lig' )

            self.pm.colorAtoms( 'rec', contProfile_rec )
            self.pm.colorAtoms( 'lig', contProfile_lig )

            rec_sphere = c.rec().clone()
            rec_sphere.xyz = mathUtils.projectOnSphere( rec_sphere.xyz )

            lig_sphere = c.lig().clone()
            lig_sphere.xyz = mathUtils.projectOnSphere( lig_sphere.xyz )

            self.pm.addPdb( rec_sphere, 'rec_sphere' )
            self.pm.addPdb( lig_sphere, 'lig_sphere' )

            self.pm.colorAtoms( 'rec_sphere', contProfile_rec )
            self.pm.colorAtoms( 'lig_sphere', contProfile_lig )

            self.pm.add( 'hide all')

            self.pm.add( 'color grey, (b=0)' )
            self.pm.add( 'show stick, (rec or lig)' )
            self.pm.add( 'show surf, rec_sphere')

            self.pm.add( 'zoom all' )

            self.pm.show()
            
            globals().update( locals() )

        self.assertEqual( N.sum(contProfile_lig) + N.sum(contProfile_rec),
                          2462 )