Re: [ccp4bb] writing scripts-off topic
On Jan 23, 2012, at 9:46 PM, Yuri Pompeu wrote: > Hello Everyone, > I want to play around with some coding/programming. Just simple calculations > from an input PDB file, B factors averages, occupancies, molecular weight, so > forth... > What should I use python,C++, visual basic? > thanks Python is the most practical. Here is a simple python program: print "Hello World" Feel the power. Python can be that simple or can be arbitrarily complex, nuanced, or abstract. You can write entire applications in python or small utilities. If you practice good habits, you will begin building reusable libraries from day one, saving time over the long haul. STAY AWAY from proprietary nonsense like visual basic and from languages that do not facilitate reusability, like perl or other 1980's era shell languages. You will find yourself porting or abandoning your code, which is not a good use of your time. I also do not recommend overweight languages like java, which create "programs" that never seem to deploy correctly and take about 5 times more code to create than should be necessary. Here's the java "Hello World": class HelloWorldApp { public static void main(String[] args) { System.out.println("Hello World!"); // Display the string. } } Public static void main? Don't bother. And python can be VERY fast for calculations if you use free and popular libraries like numpy and scipy. These librares are wrappers around optimized fortran and C libraries that you will never have to use directly. I recommend staying away from very low level languages like C or fortran, too. It is good to know these languages, but not so good to use them. Your creativity should go towards implementing cool ideas and should not be squandered on plugging memory leaks. It's better to use high level languages that leverage your time most effectively. James
Re: [ccp4bb] writing scripts-off topic
On 12-01-23 09:59 PM, Ethan Merritt wrote: On Monday, 23 January 2012, Yuri Pompeu wrote: Hello Everyone, I want to play around with some coding/programming. Just simple calculations from an input PDB file, B factors averages, occupancies, molecular weight, so forth... What should I use python,C++, visual basic? What you describe is primarily a task of processing the text in a PDB file. I would recommend perl, with python as a more trendy alternative. If this is to be a springboard for a larger project, then you might choose instead to use a standard library like cctbx to do the fiddly stuff and call it from a higher level language (C or C++). Ethan I have used a number of languages and have found only one I really disliked, that being perl. It is hard for me to imagine that this language was developed by a linguist yet in my eyes it is the least natural language from human comprehension point of view. In contrast, python is much more intuitive and should be very suitable for the tasks you describe. my 2p Bart
Re: [ccp4bb] writing scripts-off topic
Yuri, I second everythig Ethan Merritt said, but would add: awk is easier and as functional as Perl for "quick and dirty" projects. Once you need Perl's complexity, you're probably better off moving to Python or a compiled language; Perl is powerful, but it allows you to do really dirty coding; I found myself writing an "elegant" Perl script that I did not understand anymore 1/2y later. I would also add Fortran (maybe Fortran90) to the list of higher level languages. Disclaimer: I'm not a programmer, I "hack" things together... Cheers, Jens -Original message- From: Ethan Merritt To: CCP4BB@JISCMAIL.AC.UK Sent: 1970 Jan, Thu, 1 00:00:00 GMT+00:00 Subject: Re: [ccp4bb] writing scripts-off topic On Monday, 23 January 2012, Yuri Pompeu wrote: Hello Everyone, I want to play around with some coding/programming. Just simple calculations from an input PDB file, B factors averages, occupancies, molecular weight, so forth... What should I use python,C++, visual basic? What you describe is primarily a task of processing the text in a PDB file. I would recommend perl, with python as a more trendy alternative. If this is to be a springboard for a larger project, then you might choose instead to use a standard library like cctbx to do the fiddly stuff and call it from a higher level language (C or C++). Ethan
Re: [ccp4bb] writing scripts-off topic
Hi Yuri, for example, you can use cctbx for this. Using cctbx you can do somethings as simple as b-factor statistics (see example below) or as complex as write your own refinement program (phenix.refine can serve as an example). Example: compute min/max/mean B-factor for all atoms and for CA atoms in chain A: from scitbx.array_family import flex import iotbx.pdb import sys def run(args): assert len(args) == 1 pdb_file_name = args[0] pdb_input = iotbx.pdb.input(file_name = pdb_file_name) atoms = pdb_input.atoms() b_factors = atoms.extract_b() print "Min, max, mean b_factor:", flex.min(b_factors), flex.max(b_factors), \ flex.mean(b_factors) pdb_hierarchy = pdb_input.construct_hierarchy() selection_ca_atoms = pdb_hierarchy.atom_selection_cache().selection( string = "chain A and name CA") b_factors_ca = b_factors.select(selection_ca_atoms) print "Number of CA atoms in chain A:", selection_ca_atoms.count(True) print "Total number of atoms:", selection_ca_atoms.size() print "Min, max, mean b_factor for CA atoms in chain A:", \ flex.min(b_factors_ca), flex.max(b_factors_ca), flex.mean(b_factors_ca) if (__name__ == "__main__"): run(args=sys.argv[1:]) Save the code enclosed between "" into a file, say example.py, and then run it with your PDB file like this: cctbx.python example.py model.pdb and it will output something like this: Min, max, mean b_factor: 4.4 44.08 9.8277917 Number of CA atoms in chain A: 16 Total number of atoms: 240 Min, max, mean b_factor for CA atoms in chain A: 5.14 8.29 6.390625 Pavel On Mon, Jan 23, 2012 at 8:59 PM, Ethan Merritt wrote: > On Monday, 23 January 2012, Yuri Pompeu wrote: > > Hello Everyone, > > I want to play around with some coding/programming. Just simple > calculations from an > > input PDB file, B factors averages, occupancies, molecular weight, so > forth... > > What should I use python,C++, visual basic? > > What you describe is primarily a task of processing the text in a PDB file. > I would recommend perl, with python as a more trendy alternative. > > If this is to be a springboard for a larger project, then you might choose > instead to use a standard library like cctbx to do the fiddly stuff and > call it from a higher level language (C or C++). > >Ethan >
Re: [ccp4bb] writing scripts-off topic
On Monday, 23 January 2012, Yuri Pompeu wrote: > Hello Everyone, > I want to play around with some coding/programming. Just simple calculations > from an > input PDB file, B factors averages, occupancies, molecular weight, so forth... > What should I use python,C++, visual basic? What you describe is primarily a task of processing the text in a PDB file. I would recommend perl, with python as a more trendy alternative. If this is to be a springboard for a larger project, then you might choose instead to use a standard library like cctbx to do the fiddly stuff and call it from a higher level language (C or C++). Ethan
[ccp4bb] writing scripts-off topic
Hello Everyone, I want to play around with some coding/programming. Just simple calculations from an input PDB file, B factors averages, occupancies, molecular weight, so forth... What should I use python,C++, visual basic? thanks
Re: [ccp4bb] Problem with getting Rfree and Rf down
Hi Sam, some obvious questions: 1-Space group right? ( i´d say so from your R values...) 2-Is your data good throughout all of the 180 frames? whats Rsym if take only 100? 3-how good/complete is model? Missing parts, residues, base pairs?? 4-evaluate your refinement strategy... HTH
Re: [ccp4bb] Problem with getting Rfree and Rf down
These R-values are reasonable: http://xray.bmc.uu.se/gerard/supmat/rfree2000/plotter.html On Mon, 2012-01-23 at 21:48 +, Sam Arnosti wrote: > Hi every one > > I have some crystals in the space group P3121. I collect 180 frames of data. > > My crystals do not diffract better than at most 2.0 angstrom, but the Rf > barely goes below 23%, > > and Rfree also remains somewhere between 28-33%. I have tried to refine my > data as much as I can. > > I do not know whether the problem is because of the bad diffraction or > collecting extra frames. > > The structure factors are also high but they get better as the crystals > diffract better. > > Thanks > > Sam -- After much deep and profound brain things inside my head, I have decided to thank you for bringing peace to our home. Julian, King of Lemurs
[ccp4bb] Problem with getting Rfree and Rf down
Hi every one I have some crystals in the space group P3121. I collect 180 frames of data. My crystals do not diffract better than at most 2.0 angstrom, but the Rf barely goes below 23%, and Rfree also remains somewhere between 28-33%. I have tried to refine my data as much as I can. I do not know whether the problem is because of the bad diffraction or collecting extra frames. The structure factors are also high but they get better as the crystals diffract better. Thanks Sam
[ccp4bb] Building Coot with SSM
Hi, I'm having trouble building Coot on a Gentoo system. When I try to perform a SSM overlay I am told that I need to build the program with libmmdbssm. I can't find a Gentoo package that provides libmmdbssm but there is a libmmdb and a libssm. When "configure" runs I'm told checking for GtkGLExt - version >= 1.0.0... yes (version 1.2.0) checking for GLUT... yes checking for MMDB... yes checking for MMDB... yes checking for MMDBSSM... yes checking for Clipper... yes Congratulations, you are using Guile checking for guile... /usr/bin/guile checking for guile-config... /usr/bin/guile-config checking for guile-tools... /usr/bin/guile-tools and during the compile an option is -lssm, which seems to be linking to libssm. Where is the need for libmmdbssm checked for and how to I get one? Thanks, Dale Tronrud
Re: [ccp4bb] protein structure for high schoolers
I would suggest MolProbity along with KiNG (on Firefox!) would be most appropriate (http://kinemage.biochem.duke.edu/). HTH, Nadir Pr. Nadir T. Mrabet Structural& Molecular Biochemistry N-gere - INSERM U-954 Nancy University, School of Medicine 9, Avenue de la Foret de Haye, BP 184 54505 Vandoeuvre-les-Nancy Cedex France Phone: +33 (0)3.83.68.32.73 Fax: +33 (0)3.83.68.32.79 E-mail: Nadir.Mrabet medecine.uhp-nancy.fr On 20/01/2012 22:41, James Whittle wrote: Hi- I am trying to help my former chemistry teacher set up a demonstration of protein structure for her class. I'd like to include electron density maps, and maybe show an enzyme active site. Are there suggestions from the BB on the easiest way to do this? Would pymol be the program of choice, or is there a simpler program that could show electron density? Has anyone already created such a demonstration they could and have advice on it? James
Re: [ccp4bb] Intermolecular interactions
You can use Ncont or distang to get all contacts then farm the output for ones you want.. By N O ansd C do you mean main chain atoms only or all such links? I am a great grep expert to do things such as this. Eleanor On 01/22/2012 06:47 PM, REX PALMER wrote: Can anyone recommend a program that will search a crystal structure for CH---N, CH---O and CH---C contacts by applying space group symmetry and lattice translations. I also need the geometry and symmetry operations in each case to be output. Rex Palmer http://www.bbk.ac.uk/biology/our-staff/emeritus-staff http://rexpalmer2010.homestead.com