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
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
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
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()
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()