예제 #1
0
def test( model ):

    from Biskit import Pymoler
    
    g = PatchGenerator( model )
    r = g.randomPatches( 85, 50, max_overlap=25 )

    profile = N.sum( N.array(r) )

    pm  = Pymoler()
    pm.addPdb( model, 'o' )

    ms = [ model.take( N.flatnonzero(mask) ) for mask in r ]

    pm.addMovie( ms )

    return pm
예제 #2
0
def test(model, center2center, nAtoms=10, exclude=None):

    from Biskit import Pymoler, PDBModel

    g = PatchGeneratorFromOrbit(model, center2center)

    overlap = int(round(nAtoms / 4.0))

    r = g.randomPatches(nAtoms, 500, max_overlap=overlap, exclude=exclude)

    profile = N0.sum(N0.array(r))

    pm = Pymoler()
    pm.addPdb(model, 'all')

    ms = [model.take(N0.nonzero(mask)) for mask in r]

    pm.addMovie(ms)

    return pm
예제 #3
0
def test( model, center2center, nAtoms=10, exclude=None ):

    from Biskit import Pymoler, PDBModel

    g = PatchGeneratorFromOrbit( model, center2center )

    overlap = int( round( nAtoms / 4.0 ) )

    r = g.randomPatches( nAtoms, 500, max_overlap=overlap, exclude=exclude )

    profile = N0.sum( N0.array(r) )

    pm  = Pymoler()
    pm.addPdb( model, 'all' )

    ms = [ model.take( N0.nonzero(mask) ) for mask in r ]

    pm.addMovie( ms )

    return pm
예제 #4
0
class Test(BT.BiskitTest):
    """Test case

    The test generates 3 random complexes. In interactive mode,
    the 3 complexes are displayed as movie in Pymol. They are
    written out as Amber trajectory if debug=True.
    """

    TAGS = [ BT.EXE, BT.LONG ]

    def prepare(self):
        import tempfile
        self.f_pfb = tempfile.mktemp('_test.pdb')
        self.f_crd = tempfile.mktemp('_test.crd')

    def cleanUp(self):
        t.tryRemove( self.f_pfb )
        t.tryRemove( self.f_crd )

    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 )


    def display(self, traj ):
        """Display random complexes as trajectory in Pymol.
        Only run in local interactive mode.
        """
        from Biskit import Pymoler

        print "activate debug switch to get random complexes written to disc!"
        if self.DEBUG:
            print "writing random complex as trajectory to file..."
            traj.ref.writePdb( self.f_pfb )
            traj.writeCrd( self.f_crd )
            print 'Wrote reference pdb file to: %s' % self.f_pfb
            print 'Wrote crd file to: %s' % self.f_crd

        self.pm = Pymoler( full=0 )

        mname = self.pm.addMovie( [ traj[i] for i in range(len(traj)) ] )
        self.pm.add('hide all')
        self.pm.add('show cartoon')
        self.pm.add('spectrum')
        self.pm.add('mplay')

        self.pm.run()
예제 #5
0
class Test(BT.BiskitTest):
    """Test case

    The test generates 3 random complexes. In interactive mode,
    the 3 complexes are displayed as movie in Pymol. They are
    written out as Amber trajectory if debug=True.
    """

    TAGS = [BT.EXE, BT.LONG]

    def prepare(self):
        import tempfile
        self.f_pfb = tempfile.mktemp('_test.pdb')
        self.f_crd = tempfile.mktemp('_test.crd')

    def cleanUp(self):
        t.tryRemove(self.f_pfb)
        t.tryRemove(self.f_crd)

    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)

    def display(self, traj):
        """Display random complexes as trajectory in Pymol.
        Only run in local interactive mode.
        """
        from Biskit import Pymoler

        print "activate debug switch to get random complexes written to disc!"
        if self.DEBUG:
            print "writing random complex as trajectory to file..."
            traj.ref.writePdb(self.f_pfb)
            traj.writeCrd(self.f_crd)
            print 'Wrote reference pdb file to: %s' % self.f_pfb
            print 'Wrote crd file to: %s' % self.f_crd

        self.pm = Pymoler(full=0)

        mname = self.pm.addMovie([traj[i] for i in range(len(traj))])
        self.pm.add('hide all')
        self.pm.add('show cartoon')
        self.pm.add('spectrum')
        self.pm.add('mplay')

        self.pm.run()