Hi, I still have trouble. I am not sure if it is because the tunnel pdb is not standard. (it's an output file from another software called CAVER.) My tunnel pdb looks like: ATOM 1 H FIL T 537 -44.636 -88.973 27.394 5.02 ATOM 2 H FIL T 537 -44.620 -88.474 27.363 4.90 CONECT 1 2 ATOM 3 H FIL T 537 -44.574 -87.982 27.350 4.82 CONECT 2 3 ATOM 4 H FIL T 537 -44.568 -87.484 27.315 4.78 CONECT 3 4 ATOM 5 H FIL T 537 -44.561 -86.985 27.279 4.78 CONECT 4 5 ATOM 6 H FIL T 537 -44.554 -86.486 27.243 4.82 CONECT 5 6 My codes: from pymol import cmd, stored def vertical_distance( start_point, end_point, tunnel ): stored.centers = [] cmd.iterate("tunnel", 'stored.centers.append("/%s/%s/%s/%s`%s/%s" % (model, segi, chain, resn, resi, name))') for s in stored.centers: print s angle = cmd.get_angle(start_point, end_point, s) print "%s: %3.2f" % (s, angle) cmd.extend( "vertical_distance", vertical_distance );
output: /tunnel//T/FIL`537/H GetAngle-Error: Selection 3 doesn't contain a single atom/vertex. If I use cmd.angle, I get: cmd-Error: The 'pk3' selection is undefined. On Wed, Sep 24, 2014 at 4:44 PM, Sampson, Jared <jared.samp...@nyumc.org> wrote: > Hi Lei - > > The `get_angle` command needs an atom selection for your “tunnel" atoms, > which, like the B-factor as Matt mentioned, you can also get using > `iterate`: > > ### > > # create a list > stored.centers = [] > > # get the macro selection string for each atom in tunnel > cmd.iterate("tunnel", 'stored.centers.append("/%s/%s/%s/%s`%s/%s" % (model, > segi, chain, resn, resi, name))') > > # loop through the list of centers and print each angle > for s in stored.centers: > angle = cmd.get_angle('start_point', 'end_point', s) > print "%s: %3.2f" % (s, angle) > > ### > > Hope that helps. > > Cheers, > Jared > > -- > Jared Sampson > Xiangpeng Kong Lab > NYU Langone Medical Center > http://kong.med.nyu.edu/ > > > > > > > On Sep 24, 2014, at 6:52 PM, Matthew Baumgartner <mp...@pitt.edu> wrote: > > Hi, > you can just use the 'angle' command. > > cmd.angle('angle1', 'start_point', 'end_point', a) > > To print the b-factor you can use the iterate command > (http://www.pymolwiki.org/index.php/Iterate) > cmd.iterate('(a)', 'print b') > > HTH, > Matt Baumgartner > > > On 09/24/2014 06:35 PM, rainfieldcn wrote: > > Hi all, > I generate two pseudoatoms "start_point" and "end_point" by > center_of_mass.py. I load an object "tunnel" which has a sets of atoms > in one chain. > I want to measure the angle from each atoms in "tunnel" to "end_point" > to "start_point". at the same time, I want to print the B-factor of > atoms in "tunnel". > To measure the angle, I programmed like this,but it doesn't work. > I guess it's because get_angle function needs some particular variable > format. > By the way, how can I print the b factor of atom? > Thanks, > Lei > > from pymol import cmd, stored > def vertical_distance( start_point, end_point, tunnel ): > centers = cmd.get_model(tunnel,1) > for a in centers.atom: > angle= cmd.get_angle(start_point, end_point,a) > print angle > return (start_point, end_point, tunnel) > cmd.extend( "vertical_distance", vertical_distance ); > > > > > > > ------------------------------------------------------------------------------ > Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer > Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports > Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper > Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer > http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.clktrk > _______________________________________________ > PyMOL-users mailing list (PyMOL-users@lists.sourceforge.net) > Info Page: https://lists.sourceforge.net/lists/listinfo/pymol-users > Archives: http://www.mail-archive.com/pymol-users@lists.sourceforge.net > > > > ------------------------------------------------------------------------------ > Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer > Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports > Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper > Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer > http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.clktrk > _______________________________________________ > PyMOL-users mailing list (PyMOL-users@lists.sourceforge.net) > Info Page: https://lists.sourceforge.net/lists/listinfo/pymol-users > Archives: http://www.mail-archive.com/pymol-users@lists.sourceforge.net > > ------------------------------------------------------------------------------ Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.clktrk _______________________________________________ PyMOL-users mailing list (PyMOL-users@lists.sourceforge.net) Info Page: https://lists.sourceforge.net/lists/listinfo/pymol-users Archives: http://www.mail-archive.com/pymol-users@lists.sourceforge.net