From fbielejec at gmail.com Mon Nov 1 12:20:22 2010 From: fbielejec at gmail.com (filip) Date: Mon, 1 Nov 2010 17:20:22 +0100 Subject: [Biojava-l] reading Nexus files Message-ID: <20101101172022.01524217@Emperor> Hi, I would like to write a class with methods for parsing tip labels, edges (parent-sibling) and edge lengths from nexus tree file (single tree block). Could You point me to some biojava classes I could use? From ayates at ebi.ac.uk Mon Nov 1 13:17:55 2010 From: ayates at ebi.ac.uk (Andy Yates) Date: Mon, 1 Nov 2010 17:17:55 +0000 Subject: [Biojava-l] reading Nexus files In-Reply-To: <20101101172022.01524217@Emperor> References: <20101101172022.01524217@Emperor> Message-ID: <69FB76A5-963C-4638-BC03-2FC6D9C3BBFB@ebi.ac.uk> Hi, I believe the forester is the best library for this job & can be retrieved from BioJava's Maven repository http://www.biojava.org/download/maven/ I'm not 100% sure but I think if you do not go for the BioJava version you'll have to compile your own. Forester is also used in biojava3-phylo; Scooter Willis is probably the best person to talk to about this Regards, Andy On 1 Nov 2010, at 16:20, filip wrote: > Hi, > I would like to write a class with methods for parsing tip labels, > edges (parent-sibling) and edge lengths from nexus tree file (single > tree block). Could You point me to some biojava classes I could use? > > _______________________________________________ > Biojava-l mailing list - Biojava-l at lists.open-bio.org > http://lists.open-bio.org/mailman/listinfo/biojava-l -- Andrew Yates Ensembl Genomes Engineer EMBL-EBI Tel: +44-(0)1223-492538 Wellcome Trust Genome Campus Fax: +44-(0)1223-494468 Cambridge CB10 1SD, UK http://www.ensemblgenomes.org/ From tiagoantao at gmail.com Mon Nov 1 13:39:03 2010 From: tiagoantao at gmail.com (=?ISO-8859-1?Q?Tiago_Ant=E3o?=) Date: Mon, 1 Nov 2010 17:39:03 +0000 Subject: [Biojava-l] reading Nexus files In-Reply-To: <20101101172022.01524217@Emperor> References: <20101101172022.01524217@Emperor> Message-ID: Hi, Biojava does have org.biojavax.bio.phylo.io.nexus. Sometime ago I refactored that code and made an example with it: http://tiago.org/cc/2009/11/17/reading-newicknexus-phylogenetic-trees-with-biojava/ I don't know if this suites you needs. If you find a bug with the code, just drop an email here on the list and I will take care of it (time permitting). On Mon, Nov 1, 2010 at 4:20 PM, filip wrote: > Hi, > I would like to write a class with methods for parsing tip labels, > edges (parent-sibling) and edge lengths from nexus tree file (single > tree block). Could You point me to some biojava classes I could use? > > _______________________________________________ > Biojava-l mailing list ?- ?Biojava-l at lists.open-bio.org > http://lists.open-bio.org/mailman/listinfo/biojava-l > -- "If you want to get laid, go to college.? If you want an education, go to the library." - Frank Zappa From fbielejec at gmail.com Mon Nov 1 14:59:42 2010 From: fbielejec at gmail.com (filip) Date: Mon, 1 Nov 2010 19:59:42 +0100 Subject: [Biojava-l] reading Nexus files In-Reply-To: References: <20101101172022.01524217@Emperor> Message-ID: <20101101195942.314906a3@Emperor> On Mon, 1 Nov 2010 17:39:03 +0000 Tiago Ant?o wrote: > Hi, > > Biojava does have org.biojavax.bio.phylo.io.nexus. Sometime ago I > refactored that code and made an example with it: > http://tiago.org/cc/2009/11/17/reading-newicknexus-phylogenetic-trees-with-biojava/ > I don't know if this suites you needs. > If you find a bug with the code, just drop an email here on the list > and I will take care of it (time permitting). > > On Mon, Nov 1, 2010 at 4:20 PM, filip wrote: > > Hi, > > I would like to write a class with methods for parsing tip labels, > > edges (parent-sibling) and edge lengths from nexus tree file (single > > tree block). Could You point me to some biojava classes I could use? > > > > _______________________________________________ > > Biojava-l mailing list ?- ?Biojava-l at lists.open-bio.org > > http://lists.open-bio.org/mailman/listinfo/biojava-l > > > > > Hi, Thank You for the swift response - I tried the code snippets from Tiago's blog. It seems that the version of API I posess does not have "getTopNode()" method for TreesBlock class: TreesBlock node = getTreeNode(nexus); WeightedGraph graph = node.getTreeAsWeightedJGraphT(name); topNode = node.getTopNode(); My quick search through the sources confirms that. I will also take a look at forester libs - thank You for the tip. Are there any code examples for those I can look at? -- while(!succeed) { try(); } From tiagoantao at gmail.com Mon Nov 1 15:14:09 2010 From: tiagoantao at gmail.com (=?ISO-8859-1?Q?Tiago_Ant=E3o?=) Date: Mon, 1 Nov 2010 19:14:09 +0000 Subject: [Biojava-l] reading Nexus files In-Reply-To: <20101101195942.314906a3@Emperor> References: <20101101172022.01524217@Emperor> <20101101195942.314906a3@Emperor> Message-ID: I actually found the code here: http://code.open-bio.org/svnweb/index.cgi/biojava/view/biojava-live/trunk/phylo/src/main/java/org/biojavax/bio/phylo/io/nexus/TreesBlock.java But I absolutely have now idea if it was distributed or packaged for the general public. Clearly the API docs do not have that version. Tiago (not a biojava developer, just someone who heavily patched the nexus parser long time ago) 2010/11/1 filip : > On Mon, 1 Nov 2010 17:39:03 +0000 > Tiago Ant?o wrote: > >> Hi, >> >> Biojava does have org.biojavax.bio.phylo.io.nexus. Sometime ago I >> refactored that code and made an example with it: >> http://tiago.org/cc/2009/11/17/reading-newicknexus-phylogenetic-trees-with-biojava/ >> I don't know if this suites you needs. >> If you find a bug with the code, just drop an email here on the list >> and I will take care of it (time permitting). >> >> On Mon, Nov 1, 2010 at 4:20 PM, filip wrote: >> > Hi, >> > I would like to write a class with methods for parsing tip labels, >> > edges (parent-sibling) and edge lengths from nexus tree file (single >> > tree block). Could You point me to some biojava classes I could use? >> > >> > _______________________________________________ >> > Biojava-l mailing list ?- ?Biojava-l at lists.open-bio.org >> > http://lists.open-bio.org/mailman/listinfo/biojava-l >> > >> >> >> > > > Hi, > > Thank You for the swift response - I tried the code snippets from > Tiago's blog. It seems that the version of API I posess does not > have "getTopNode()" method for TreesBlock class: > > ? ? ? ?TreesBlock node = getTreeNode(nexus); > ? ? ? ?WeightedGraph graph = > ? ? ? ?node.getTreeAsWeightedJGraphT(name); topNode = > ? ? ? ?node.getTopNode(); > > My quick search through the sources confirms that. > > I will also take a look at forester libs - thank You for the tip. Are > there any code examples for those I can look at? > > > -- > while(!succeed) { try(); } > -- "If you want to get laid, go to college.? If you want an education, go to the library." - Frank Zappa From jayunit100 at gmail.com Mon Nov 1 16:19:54 2010 From: jayunit100 at gmail.com (Jay Vyas) Date: Mon, 1 Nov 2010 16:19:54 -0400 Subject: [Biojava-l] biojava 3 jmol Message-ID: hi guys : how do you invoke jmol via biojava 3 ? -- Jay Vyas MMSB/UCHC From andreas at sdsc.edu Mon Nov 1 21:57:02 2010 From: andreas at sdsc.edu (Andreas Prlic) Date: Mon, 1 Nov 2010 21:57:02 -0400 Subject: [Biojava-l] biojava 3 jmol In-Reply-To: References: Message-ID: Hi Jay, you need to make sure that JmolApplet.jar is in your classpath. Then you can do something like that: http://biojava.org/wiki/BioJava:CookBook:PDB:Jmol Andreas On Mon, Nov 1, 2010 at 4:19 PM, Jay Vyas wrote: > hi guys : how do you invoke jmol via biojava 3 ? > > > > -- > Jay Vyas > MMSB/UCHC > _______________________________________________ > Biojava-l mailing list ?- ?Biojava-l at lists.open-bio.org > http://lists.open-bio.org/mailman/listinfo/biojava-l > From willishf at ufl.edu Mon Nov 1 22:28:14 2010 From: willishf at ufl.edu (Scooter Willis) Date: Mon, 1 Nov 2010 22:28:14 -0400 Subject: [Biojava-l] reading Nexus files In-Reply-To: <20101101195942.314906a3@Emperor> References: <20101101172022.01524217@Emperor> <20101101195942.314906a3@Emperor> Message-ID: I would go with the Forester library. It has everything you need and then some. You can download the source and take a look at the command line examples. It is more of an application versus an API but that doesn't mean you can integrate into your application. This is part of the motivation for doing a biojava wrapper so that you can pass around biojava classes to the forester application library to make it more of an API. 2010/11/1 filip > On Mon, 1 Nov 2010 17:39:03 +0000 > Tiago Ant?o wrote: > > > Hi, > > > > Biojava does have org.biojavax.bio.phylo.io.nexus. Sometime ago I > > refactored that code and made an example with it: > > > http://tiago.org/cc/2009/11/17/reading-newicknexus-phylogenetic-trees-with-biojava/ > > I don't know if this suites you needs. > > If you find a bug with the code, just drop an email here on the list > > and I will take care of it (time permitting). > > > > On Mon, Nov 1, 2010 at 4:20 PM, filip wrote: > > > Hi, > > > I would like to write a class with methods for parsing tip labels, > > > edges (parent-sibling) and edge lengths from nexus tree file (single > > > tree block). Could You point me to some biojava classes I could use? > > > > > > _______________________________________________ > > > Biojava-l mailing list - Biojava-l at lists.open-bio.org > > > http://lists.open-bio.org/mailman/listinfo/biojava-l > > > > > > > > > > > > Hi, > > Thank You for the swift response - I tried the code snippets from > Tiago's blog. It seems that the version of API I posess does not > have "getTopNode()" method for TreesBlock class: > > TreesBlock node = getTreeNode(nexus); > WeightedGraph graph = > node.getTreeAsWeightedJGraphT(name); topNode = > node.getTopNode(); > > My quick search through the sources confirms that. > > I will also take a look at forester libs - thank You for the tip. Are > there any code examples for those I can look at? > > > -- > while(!succeed) { try(); } > > _______________________________________________ > Biojava-l mailing list - Biojava-l at lists.open-bio.org > http://lists.open-bio.org/mailman/listinfo/biojava-l > > From dasarnow at gmail.com Tue Nov 2 03:25:42 2010 From: dasarnow at gmail.com (Daniel Asarnow) Date: Tue, 2 Nov 2010 00:25:42 -0700 Subject: [Biojava-l] Superimposing structure pieces In-Reply-To: References: Message-ID: I'm working with the SEQRES numbering because my start and end indices have been derived from sequence-based filters that employed the complete chain sequences. I am currently using exception handling to deal with missing density, etc. for now (adding a "continue;" in a loop's catch block is very simple), but I assume this will turn out slower than explicit logic after profiling. I'm also planning to compare CA-only vs. other backbone and side-chain coords., thus using the getAtom("CA") method over parsing only CAs from the beginning. In this project the 'frame' of the structure alignments is enforced, so there's no need for a real alignment algorithm...but I am planning to use the CE and FATCAT methods in another program. Also, thanks for pointing out my rotation error. I actually noticed it shortly after my last email when my code returned RMSDs on the order of 10^6 Angstroms (for 10 CAs from consecutive residues)! -da On Sun, Oct 31, 2010 at 20:08, Andreas Prlic wrote: > Hi Daniel, > > couple of thoughts when I see this: > > - in case you have not seen this yet, take a look at docu on structure > alignment: http://biojava.org/wiki/BioJava:CookBook:PDB:align > - the direction of your rotations is wrong,the SVDSuperimposer gives > you the operations to be applied on the second atom set. > - there is some utility methods in StructureTools, that might come in > handy. e.g. > ? ? ? ? ? Atom[] ca1 = StructureTools.getAtomCAArray(structure1); > ? ? ? ? ? Atom[] ca2 = StructureTools.getAtomCAArray(structure2); > > - any particular reason why you are working with SEQRES records? for > the superposition it might be sufficient to work with the ATOM records > only, which can give you a quicker parsing of the files, since you can > turn off the alignment of ATOM and SEQRES. Having said that, there can > be situations when you actually might want it, e.g. see > SmithWaterman3Daligner, which does a sequence based structure > alignment... > > hope that helps, > > Andreas > > > On Sun, Oct 31, 2010 at 7:56 PM, Daniel Asarnow wrote: >> I've been trying to pull out pieces of protein chains and superimpose >> them...my current code (as generic-ified code snips below) works, but >> I wonder if it couldn't be faster. >> Has anyone worked on similar methods? ?Any other advice? >> >> Best regards everyone, >> da >> >> Getting residue CA's as Atom[]: >> >> for (int i; i < length; i++) { >> ? ?someAtoms[i] = someChain.getSeqResGroup(start + i).getAtom("CA"); >> } >> >> Superimposing/aligning: >> >> SVDSuperimposer svds = new SVDSuperimposer(someAtoms1, someAtoms2); >> Matrix rot = svds.getRotation(); >> Atom trans = svds.getTranslation(); >> for (int i = 0; i < length; i++) { >> ? ?Calc.rotate(someAtoms1[i], rot); >> ? ?Calc.shift(someAtoms1[i], trans); >> } >> SVDSuperimposer.getRmsd(someAtoms1, someAtoms2); >> _______________________________________________ >> Biojava-l mailing list ?- ?Biojava-l at lists.open-bio.org >> http://lists.open-bio.org/mailman/listinfo/biojava-l >> > From jayunit100 at gmail.com Wed Nov 3 13:57:01 2010 From: jayunit100 at gmail.com (Jay Vyas) Date: Wed, 3 Nov 2010 13:57:01 -0400 Subject: [Biojava-l] merging structures Message-ID: Hi guys : Im using the biojava structure api to merge some structures . Ive written the following test method, which I believe should work to merge the first chain of several different structures into on Structure object. Im only concerned about CA's for now. is there an easier way to do this ? public static Structure merge(List struc) throws Exception { StructureImpl si = new StructureImpl(); si.setPDBCode("1JAY"); si.setId(0L); si.setName("Merged"); si.setPDBHeader(new PDBHeader()); si.setNmr(true); int index=0; for(Structure s : struc) { ChainImpl ch = new ChainImpl(); ch.setName(alphabet.charAt(index++)+""); ch.setChainID(ch.getName()); //strip atoms of the backbone, add them to a chain. Atom[] atoms = StructureTools.getAtomCAArray(s.getChain(0)); char[] aminoAcids = s.getChain(0).getAtomSequence().toCharArray(); for(int i = 0 ; i < atoms.length; i++) { AminoAcid a = new AminoAcidImpl(); a.setAminoType(aminoAcids[i]); a.setPDBName(new AminoAcidBean(aminoAcids[i]).getThreeLetter()); a.setResidueNumber(new ResidueNumber(ch.getChainID(), i, null)); a.getAtoms().add(atoms[i]); a.setChain(ch); ch.addGroup(a); } Jlog.info("adding chain " + si.getName()); si.addChain(ch); } System.out.println(si.toPDB()); return si; } but it crashes due to a null pointer exception at org.biojava.bio.structure.io.FileConvert.alignLeft(FileConvert.java:86) at org.biojava.bio.structure.io.FileConvert.toPDB(FileConvert.java:296) at org.biojava.bio.structure.StructureImpl.toPDB(StructureImpl.java:566) at common.Utilities.merge(Utilities.java:92) at common.Utilities.main(Utilities.java:115) From andreas at sdsc.edu Wed Nov 3 17:33:27 2010 From: andreas at sdsc.edu (Andreas Prlic) Date: Wed, 3 Nov 2010 14:33:27 -0700 Subject: [Biojava-l] merging structures In-Reply-To: References: Message-ID: Hi Jay, what you are doing seems complicated... after atoms = StructureTools.getAtomCAArray(s.getChain(0)); you could do: for (Atom atom: atoms) { Group parent = atom.getGroup(); ch.addGroup(parent)... } the error is caused by this line: a.setPDBName(new AminoAcidBean(aminoAcids[i]).getThreeLetter()); you could just do a.setPDBName(atom.getGroup().getPDBName()) if you wanted to create a 2nd copy of the data in memory. Not sure what the AminoAcidBean is doing. This seems to be some of your own code, right? Andreas On Wed, Nov 3, 2010 at 10:57 AM, Jay Vyas wrote: > Hi guys : Im using the biojava structure api to merge some structures . > > Ive written the following test method, which I believe should work to merge > the first chain of several different structures into on Structure object. Im > only concerned about CA's for now. > > is there an easier way to do this ? > > public static Structure merge(List struc) throws Exception > > { > > StructureImpl si = new StructureImpl(); > > ? ? ? ? si.setPDBCode("1JAY"); > > si.setId(0L); > > si.setName("Merged"); > > si.setPDBHeader(new PDBHeader()); > > si.setNmr(true); > > > ?int index=0; > > for(Structure s : struc) > > { > > ChainImpl ch = new ChainImpl(); > > ch.setName(alphabet.charAt(index++)+""); > > ch.setChainID(ch.getName()); > > //strip atoms of the backbone, add them to a chain. > > Atom[] atoms = StructureTools.getAtomCAArray(s.getChain(0)); > > char[] aminoAcids = s.getChain(0).getAtomSequence().toCharArray(); > > ?for(int i = 0 ; i < atoms.length; i++) > > { > > AminoAcid a = new AminoAcidImpl(); > > a.setAminoType(aminoAcids[i]); > > a.setPDBName(new AminoAcidBean(aminoAcids[i]).getThreeLetter()); > > a.setResidueNumber(new ResidueNumber(ch.getChainID(), i, null)); > > a.getAtoms().add(atoms[i]); > > a.setChain(ch); > > ch.addGroup(a); > > } > > Jlog.info("adding chain " + si.getName()); > > si.addChain(ch); > > } > > System.out.println(si.toPDB()); > > return si; > > } > > > but it crashes due to a null pointer exception > > at org.biojava.bio.structure.io.FileConvert.alignLeft(FileConvert.java:86) > > at org.biojava.bio.structure.io.FileConvert.toPDB(FileConvert.java:296) > > at org.biojava.bio.structure.StructureImpl.toPDB(StructureImpl.java:566) > > at common.Utilities.merge(Utilities.java:92) > > at common.Utilities.main(Utilities.java:115) > _______________________________________________ > Biojava-l mailing list ?- ?Biojava-l at lists.open-bio.org > http://lists.open-bio.org/mailman/listinfo/biojava-l > -- ----------------------------------------------------------------------- Dr. Andreas Prlic Senior Scientist, RCSB PDB Protein Data Bank University of California, San Diego (+1) 858.246.0526 ----------------------------------------------------------------------- From jayunit100 at gmail.com Wed Nov 3 18:56:27 2010 From: jayunit100 at gmail.com (Jay Vyas) Date: Wed, 3 Nov 2010 18:56:27 -0400 Subject: [Biojava-l] merging structures In-Reply-To: References: Message-ID: Thanks andreas..... What is strange is that the particular exception is thrown by biojava in the alignLeft method.... at org.biojava.bio.structure.io.FileConvert.alignLeft(FileConvert.java:86) Any idea why that line throws an exception ? From raphael.andre.bauer at gmail.com Thu Nov 4 07:07:42 2010 From: raphael.andre.bauer at gmail.com (=?UTF-8?Q?Raphael_Andr=C3=A9_Bauer?=) Date: Thu, 4 Nov 2010 12:07:42 +0100 Subject: [Biojava-l] Fyi: Client side high performance computing project using Biojava Message-ID: Hi, OUR IDEA: We want to make web browsers and their javascript engines to act as part of the largest computing grid of the world. If you think of projects like folding at home or seti at home you know what we are talking about. But our approach is much simpler and way more powerful: Go to a website and you are participating in a huge grid - computing interesting (scientific) stuff. No software installation required. CURRENT STATUS: We are bioinformaticians from Berlin and San Diego. Naturally we are using scientific tasks from the field. Our first success was to crosscompile a package called biojava (biojava.org) into javascript using Google Web Toolkit. We are now able to calculate protein sequence alignments on the client side. The tasks are distributed by the server. Check out our live demo at: http://js-cloud-computing.appspot.com/. First results and detailed information can be found under: http://code.google.com/p/js-cloud-computing/ WHERE TO GO FROM HERE: First of all this mail is a simple fyi. We would be very happy to get in touch with people which are interested (check out our mailing list at http://groups.google.com/group/js-cloud-computing-dev). Feedback is great - and of course our source code is freely available at google code ( http://code.google.com/p/js-cloud-computing/source/browse/). The next steps in this project will include the cross-compilation of the structure-package of the biojava package. using GWT. The idea is to align proteins in 3D space on the javascript client side :) We are looking forward hearing from you - and sorry for crosspostings :) Cheers, JSCC Core Team Nico, G?ttler, Marcus Schroeder, Raphael Bauer, Andreas Prli? From dasarnow at gmail.com Tue Nov 16 21:27:22 2010 From: dasarnow at gmail.com (Daniel Asarnow) Date: Tue, 16 Nov 2010 18:27:22 -0800 Subject: [Biojava-l] AtomCache: auto-fetch and chemcompinfo Message-ID: Hello again...I have a question about the AtomCache; currently with AutoFetch and LoadChemCompInfo both set false the AtomCache downloads ligand CIF files from rcsb.org/pdb/files/ligand and produces a lot of errors like "Trying to set field pdbx_synonyms in org.biojava.bio.structure.io.mmcif.model.ChemComp, but not found! (value:GLYCERIN; PROPANE-1,2,3-TRIOL')" Is this expected behavior given with those settings? Also, while not related to BioJava, I wonder if anyone knows why the wwpdb.org FTP archive doesn't contain the ligand files? Thanks, da P.S. Using binary JARs for alpha-5-snapshot. From andreas at sdsc.edu Wed Nov 17 01:47:34 2010 From: andreas at sdsc.edu (Andreas Prlic) Date: Tue, 16 Nov 2010 22:47:34 -0800 Subject: [Biojava-l] AtomCache: auto-fetch and chemcompinfo In-Reply-To: References: Message-ID: Hi Daniel, > Hello again...I have a question about the AtomCache; currently with > AutoFetch and LoadChemCompInfo both set false the AtomCache downloads ligand > CIF files from rcsb.org/pdb/files/ligand That should only happen if you request the chemical components from your end, in which case the API needs to access the file to read the content. The first time it fetches the file from the server, from then on it will use the files from the local directory. > and produces a lot of errors like > "Trying to set field pdbx_synonyms in > org.biojava.bio.structure.io.mmcif.model.ChemComp, but not found! > (value:GLYCERIN; PROPANE-1,2,3-TRIOL')" It is not really an error, just a warning. I think the ' character might be causing a hickup. I will take a look. > Is this expected behavior given with those settings? yes, please ignore it for now until I have cleaned the warning up. >?Also, while not > related to BioJava, I wonder if anyone knows why the wwpdb.org FTP archive > doesn't contain the ligand files? you can get all of them in a single file from here: http://www.wwpdb.org/ccd.html Andreas From andreas at sdsc.edu Wed Nov 17 10:10:47 2010 From: andreas at sdsc.edu (Andreas Prlic) Date: Wed, 17 Nov 2010 07:10:47 -0800 Subject: [Biojava-l] new biojava related paper Message-ID: Hi, We just published a new paper yesterday where we are describing some of the new features that we made available through the protein structure modules over the last year or so... http://bioinformatics.oxfordjournals.org/content/26/23/2983.full Precalculated Protein Structure Alignments at the RCSB PDB website. Prlic A, Bliven S, Rose PW, Bluhm WF, Bizon C, Godzik A, Bourne PE. Andreas From jayunit100 at gmail.com Mon Nov 22 17:10:07 2010 From: jayunit100 at gmail.com (Jay Vyas) Date: Mon, 22 Nov 2010 17:10:07 -0500 Subject: [Biojava-l] biojava iupac atom names for pdb files Message-ID: Hi guys : is there a way to convert a RCSB pdb file to IUPAC style PDB file (i.e. one with IUPAC atom names) inside of biojava ? If not, does anybody know of a good source for getting IUPAC standardized atomic coordinates for PDB files ? -- Jay Vyas MMSB/UCHC From andreas at sdsc.edu Mon Nov 22 18:14:22 2010 From: andreas at sdsc.edu (Andreas Prlic) Date: Mon, 22 Nov 2010 15:14:22 -0800 Subject: [Biojava-l] biojava iupac atom names for pdb files In-Reply-To: References: Message-ID: Hi Jay, I am not sure if I understand what you are asking. PDB is IUPAC compliant, no? Andreas On Mon, Nov 22, 2010 at 2:10 PM, Jay Vyas wrote: > Hi guys : is there a way to convert a RCSB pdb file to IUPAC style PDB file > (i.e. one with IUPAC atom names) inside of biojava ?? > If not, does anybody know of a good source for getting IUPAC standardized > atomic coordinates for PDB files ? > > -- > Jay Vyas > MMSB/UCHC > _______________________________________________ > Biojava-l mailing list ?- ?Biojava-l at lists.open-bio.org > http://lists.open-bio.org/mailman/listinfo/biojava-l > From darnells at dnastar.com Mon Nov 29 15:51:06 2010 From: darnells at dnastar.com (Steve Darnell) Date: Mon, 29 Nov 2010 14:51:06 -0600 Subject: [Biojava-l] PDBFileParser question using PDBID 470D Message-ID: Greetings, After parsing PDBID 470D with biojava-3.0-alpha5, Chain A returns an empty SEQRES sequence (Chain.getSeqResSequence) and empty SEQRES group list (Chain.getSeqResGroups) but the one-letter ATOM sequence is properly translated and the ATOM group list contains the appropriate number of groups (LoadChemCompInfo set to true). This is an exotic sequence, but my expectation is that the SEQRES group list would have members in it (and one-letter sequence translated if LoadChemCompInfo is true). Am I mistaken and the current behavior is the intended result? Best regards, Steve Darnell -- SEQRES records exist in 470D: SEQRES 1 A 12 C43 G48 C43 G48 A44 A44 U36 U36 C43 G48 C43 G48 SEQRES 1 B 12 C43 G48 C43 G48 A44 A44 U36 U36 C43 G48 C43 G48 Sample println output (ln 1 record type, ln 2 get${TYPE}Sequence, ln 3 get${TYPE}Groups): SEQRES '' [] ATOM 'CGCGAAUUCGCG' [PDB: C43 1 trueatoms: 21, PDB: G48 2 trueatoms: 27, PDB: C43 3 trueatoms: 24, ...] From andreas at sdsc.edu Mon Nov 29 19:35:52 2010 From: andreas at sdsc.edu (Andreas Prlic) Date: Mon, 29 Nov 2010 16:35:52 -0800 Subject: [Biojava-l] PDBFileParser question using PDBID 470D In-Reply-To: References: Message-ID: Hi Steve, as you already are saying, this is an "exotic" sequence, in the sense that this is an RNA. The alignments of the SEQRES records for RNA currently is not supported as of yet. Can you explain a bit more what you are doing and why you need this mapping in this case? Thanks, Andreas On Mon, Nov 29, 2010 at 12:51 PM, Steve Darnell wrote: > Greetings, > > After parsing PDBID 470D with biojava-3.0-alpha5, Chain A returns an > empty SEQRES sequence (Chain.getSeqResSequence) and empty SEQRES group > list (Chain.getSeqResGroups) but the one-letter ATOM sequence is > properly translated and the ATOM group list contains the appropriate > number of groups (LoadChemCompInfo set to true). > > This is an exotic sequence, but my expectation is that the SEQRES group > list would have members in it (and one-letter sequence translated if > LoadChemCompInfo is true). ?Am I mistaken and the current behavior is > the intended result? > > Best regards, > Steve Darnell > > -- > SEQRES records exist in 470D: > > SEQRES ? 1 A ? 12 ?C43 G48 C43 G48 A44 A44 U36 U36 C43 G48 C43 G48 > > SEQRES ? 1 B ? 12 ?C43 G48 C43 G48 A44 A44 U36 U36 C43 G48 C43 G48 > > > > Sample println output (ln 1 record type, ln 2 get${TYPE}Sequence, ln 3 > get${TYPE}Groups): > > SEQRES > '' > [] > > ATOM > 'CGCGAAUUCGCG' > [PDB: C43 1 trueatoms: 21, PDB: G48 2 trueatoms: 27, PDB: C43 3 > trueatoms: 24, ...] > > _______________________________________________ > Biojava-l mailing list ?- ?Biojava-l at lists.open-bio.org > http://lists.open-bio.org/mailman/listinfo/biojava-l > -- ----------------------------------------------------------------------- Dr. Andreas Prlic Senior Scientist, RCSB PDB Protein Data Bank University of California, San Diego (+1) 858.246.0526 ----------------------------------------------------------------------- From andreas at sdsc.edu Mon Nov 1 03:08:00 2010 From: andreas at sdsc.edu (Andreas Prlic) Date: Sun, 31 Oct 2010 23:08:00 -0400 Subject: [Biojava-l] Superimposing structure pieces In-Reply-To: References: Message-ID: Hi Daniel, couple of thoughts when I see this: - in case you have not seen this yet, take a look at docu on structure alignment: http://biojava.org/wiki/BioJava:CookBook:PDB:align - the direction of your rotations is wrong,the SVDSuperimposer gives you the operations to be applied on the second atom set. - there is some utility methods in StructureTools, that might come in handy. e.g. Atom[] ca1 = StructureTools.getAtomCAArray(structure1); Atom[] ca2 = StructureTools.getAtomCAArray(structure2); - any particular reason why you are working with SEQRES records? for the superposition it might be sufficient to work with the ATOM records only, which can give you a quicker parsing of the files, since you can turn off the alignment of ATOM and SEQRES. Having said that, there can be situations when you actually might want it, e.g. see SmithWaterman3Daligner, which does a sequence based structure alignment... hope that helps, Andreas On Sun, Oct 31, 2010 at 7:56 PM, Daniel Asarnow wrote: > I've been trying to pull out pieces of protein chains and superimpose > them...my current code (as generic-ified code snips below) works, but > I wonder if it couldn't be faster. > Has anyone worked on similar methods? ?Any other advice? > > Best regards everyone, > da > > Getting residue CA's as Atom[]: > > for (int i; i < length; i++) { > ? ?someAtoms[i] = someChain.getSeqResGroup(start + i).getAtom("CA"); > } > > Superimposing/aligning: > > SVDSuperimposer svds = new SVDSuperimposer(someAtoms1, someAtoms2); > Matrix rot = svds.getRotation(); > Atom trans = svds.getTranslation(); > for (int i = 0; i < length; i++) { > ? ?Calc.rotate(someAtoms1[i], rot); > ? ?Calc.shift(someAtoms1[i], trans); > } > SVDSuperimposer.getRmsd(someAtoms1, someAtoms2); > _______________________________________________ > Biojava-l mailing list ?- ?Biojava-l at lists.open-bio.org > http://lists.open-bio.org/mailman/listinfo/biojava-l > From fbielejec at gmail.com Mon Nov 1 16:20:22 2010 From: fbielejec at gmail.com (filip) Date: Mon, 1 Nov 2010 17:20:22 +0100 Subject: [Biojava-l] reading Nexus files Message-ID: <20101101172022.01524217@Emperor> Hi, I would like to write a class with methods for parsing tip labels, edges (parent-sibling) and edge lengths from nexus tree file (single tree block). Could You point me to some biojava classes I could use? From ayates at ebi.ac.uk Mon Nov 1 17:17:55 2010 From: ayates at ebi.ac.uk (Andy Yates) Date: Mon, 1 Nov 2010 17:17:55 +0000 Subject: [Biojava-l] reading Nexus files In-Reply-To: <20101101172022.01524217@Emperor> References: <20101101172022.01524217@Emperor> Message-ID: <69FB76A5-963C-4638-BC03-2FC6D9C3BBFB@ebi.ac.uk> Hi, I believe the forester is the best library for this job & can be retrieved from BioJava's Maven repository http://www.biojava.org/download/maven/ I'm not 100% sure but I think if you do not go for the BioJava version you'll have to compile your own. Forester is also used in biojava3-phylo; Scooter Willis is probably the best person to talk to about this Regards, Andy On 1 Nov 2010, at 16:20, filip wrote: > Hi, > I would like to write a class with methods for parsing tip labels, > edges (parent-sibling) and edge lengths from nexus tree file (single > tree block). Could You point me to some biojava classes I could use? > > _______________________________________________ > Biojava-l mailing list - Biojava-l at lists.open-bio.org > http://lists.open-bio.org/mailman/listinfo/biojava-l -- Andrew Yates Ensembl Genomes Engineer EMBL-EBI Tel: +44-(0)1223-492538 Wellcome Trust Genome Campus Fax: +44-(0)1223-494468 Cambridge CB10 1SD, UK http://www.ensemblgenomes.org/ From tiagoantao at gmail.com Mon Nov 1 17:39:03 2010 From: tiagoantao at gmail.com (=?ISO-8859-1?Q?Tiago_Ant=E3o?=) Date: Mon, 1 Nov 2010 17:39:03 +0000 Subject: [Biojava-l] reading Nexus files In-Reply-To: <20101101172022.01524217@Emperor> References: <20101101172022.01524217@Emperor> Message-ID: Hi, Biojava does have org.biojavax.bio.phylo.io.nexus. Sometime ago I refactored that code and made an example with it: http://tiago.org/cc/2009/11/17/reading-newicknexus-phylogenetic-trees-with-biojava/ I don't know if this suites you needs. If you find a bug with the code, just drop an email here on the list and I will take care of it (time permitting). On Mon, Nov 1, 2010 at 4:20 PM, filip wrote: > Hi, > I would like to write a class with methods for parsing tip labels, > edges (parent-sibling) and edge lengths from nexus tree file (single > tree block). Could You point me to some biojava classes I could use? > > _______________________________________________ > Biojava-l mailing list ?- ?Biojava-l at lists.open-bio.org > http://lists.open-bio.org/mailman/listinfo/biojava-l > -- "If you want to get laid, go to college.? If you want an education, go to the library." - Frank Zappa From fbielejec at gmail.com Mon Nov 1 18:59:42 2010 From: fbielejec at gmail.com (filip) Date: Mon, 1 Nov 2010 19:59:42 +0100 Subject: [Biojava-l] reading Nexus files In-Reply-To: References: <20101101172022.01524217@Emperor> Message-ID: <20101101195942.314906a3@Emperor> On Mon, 1 Nov 2010 17:39:03 +0000 Tiago Ant?o wrote: > Hi, > > Biojava does have org.biojavax.bio.phylo.io.nexus. Sometime ago I > refactored that code and made an example with it: > http://tiago.org/cc/2009/11/17/reading-newicknexus-phylogenetic-trees-with-biojava/ > I don't know if this suites you needs. > If you find a bug with the code, just drop an email here on the list > and I will take care of it (time permitting). > > On Mon, Nov 1, 2010 at 4:20 PM, filip wrote: > > Hi, > > I would like to write a class with methods for parsing tip labels, > > edges (parent-sibling) and edge lengths from nexus tree file (single > > tree block). Could You point me to some biojava classes I could use? > > > > _______________________________________________ > > Biojava-l mailing list ?- ?Biojava-l at lists.open-bio.org > > http://lists.open-bio.org/mailman/listinfo/biojava-l > > > > > Hi, Thank You for the swift response - I tried the code snippets from Tiago's blog. It seems that the version of API I posess does not have "getTopNode()" method for TreesBlock class: TreesBlock node = getTreeNode(nexus); WeightedGraph graph = node.getTreeAsWeightedJGraphT(name); topNode = node.getTopNode(); My quick search through the sources confirms that. I will also take a look at forester libs - thank You for the tip. Are there any code examples for those I can look at? -- while(!succeed) { try(); } From tiagoantao at gmail.com Mon Nov 1 19:14:09 2010 From: tiagoantao at gmail.com (=?ISO-8859-1?Q?Tiago_Ant=E3o?=) Date: Mon, 1 Nov 2010 19:14:09 +0000 Subject: [Biojava-l] reading Nexus files In-Reply-To: <20101101195942.314906a3@Emperor> References: <20101101172022.01524217@Emperor> <20101101195942.314906a3@Emperor> Message-ID: I actually found the code here: http://code.open-bio.org/svnweb/index.cgi/biojava/view/biojava-live/trunk/phylo/src/main/java/org/biojavax/bio/phylo/io/nexus/TreesBlock.java But I absolutely have now idea if it was distributed or packaged for the general public. Clearly the API docs do not have that version. Tiago (not a biojava developer, just someone who heavily patched the nexus parser long time ago) 2010/11/1 filip : > On Mon, 1 Nov 2010 17:39:03 +0000 > Tiago Ant?o wrote: > >> Hi, >> >> Biojava does have org.biojavax.bio.phylo.io.nexus. Sometime ago I >> refactored that code and made an example with it: >> http://tiago.org/cc/2009/11/17/reading-newicknexus-phylogenetic-trees-with-biojava/ >> I don't know if this suites you needs. >> If you find a bug with the code, just drop an email here on the list >> and I will take care of it (time permitting). >> >> On Mon, Nov 1, 2010 at 4:20 PM, filip wrote: >> > Hi, >> > I would like to write a class with methods for parsing tip labels, >> > edges (parent-sibling) and edge lengths from nexus tree file (single >> > tree block). Could You point me to some biojava classes I could use? >> > >> > _______________________________________________ >> > Biojava-l mailing list ?- ?Biojava-l at lists.open-bio.org >> > http://lists.open-bio.org/mailman/listinfo/biojava-l >> > >> >> >> > > > Hi, > > Thank You for the swift response - I tried the code snippets from > Tiago's blog. It seems that the version of API I posess does not > have "getTopNode()" method for TreesBlock class: > > ? ? ? ?TreesBlock node = getTreeNode(nexus); > ? ? ? ?WeightedGraph graph = > ? ? ? ?node.getTreeAsWeightedJGraphT(name); topNode = > ? ? ? ?node.getTopNode(); > > My quick search through the sources confirms that. > > I will also take a look at forester libs - thank You for the tip. Are > there any code examples for those I can look at? > > > -- > while(!succeed) { try(); } > -- "If you want to get laid, go to college.? If you want an education, go to the library." - Frank Zappa From jayunit100 at gmail.com Mon Nov 1 20:19:54 2010 From: jayunit100 at gmail.com (Jay Vyas) Date: Mon, 1 Nov 2010 16:19:54 -0400 Subject: [Biojava-l] biojava 3 jmol Message-ID: hi guys : how do you invoke jmol via biojava 3 ? -- Jay Vyas MMSB/UCHC From andreas at sdsc.edu Tue Nov 2 01:57:02 2010 From: andreas at sdsc.edu (Andreas Prlic) Date: Mon, 1 Nov 2010 21:57:02 -0400 Subject: [Biojava-l] biojava 3 jmol In-Reply-To: References: Message-ID: Hi Jay, you need to make sure that JmolApplet.jar is in your classpath. Then you can do something like that: http://biojava.org/wiki/BioJava:CookBook:PDB:Jmol Andreas On Mon, Nov 1, 2010 at 4:19 PM, Jay Vyas wrote: > hi guys : how do you invoke jmol via biojava 3 ? > > > > -- > Jay Vyas > MMSB/UCHC > _______________________________________________ > Biojava-l mailing list ?- ?Biojava-l at lists.open-bio.org > http://lists.open-bio.org/mailman/listinfo/biojava-l > From willishf at ufl.edu Tue Nov 2 02:28:14 2010 From: willishf at ufl.edu (Scooter Willis) Date: Mon, 1 Nov 2010 22:28:14 -0400 Subject: [Biojava-l] reading Nexus files In-Reply-To: <20101101195942.314906a3@Emperor> References: <20101101172022.01524217@Emperor> <20101101195942.314906a3@Emperor> Message-ID: I would go with the Forester library. It has everything you need and then some. You can download the source and take a look at the command line examples. It is more of an application versus an API but that doesn't mean you can integrate into your application. This is part of the motivation for doing a biojava wrapper so that you can pass around biojava classes to the forester application library to make it more of an API. 2010/11/1 filip > On Mon, 1 Nov 2010 17:39:03 +0000 > Tiago Ant?o wrote: > > > Hi, > > > > Biojava does have org.biojavax.bio.phylo.io.nexus. Sometime ago I > > refactored that code and made an example with it: > > > http://tiago.org/cc/2009/11/17/reading-newicknexus-phylogenetic-trees-with-biojava/ > > I don't know if this suites you needs. > > If you find a bug with the code, just drop an email here on the list > > and I will take care of it (time permitting). > > > > On Mon, Nov 1, 2010 at 4:20 PM, filip wrote: > > > Hi, > > > I would like to write a class with methods for parsing tip labels, > > > edges (parent-sibling) and edge lengths from nexus tree file (single > > > tree block). Could You point me to some biojava classes I could use? > > > > > > _______________________________________________ > > > Biojava-l mailing list - Biojava-l at lists.open-bio.org > > > http://lists.open-bio.org/mailman/listinfo/biojava-l > > > > > > > > > > > > Hi, > > Thank You for the swift response - I tried the code snippets from > Tiago's blog. It seems that the version of API I posess does not > have "getTopNode()" method for TreesBlock class: > > TreesBlock node = getTreeNode(nexus); > WeightedGraph graph = > node.getTreeAsWeightedJGraphT(name); topNode = > node.getTopNode(); > > My quick search through the sources confirms that. > > I will also take a look at forester libs - thank You for the tip. Are > there any code examples for those I can look at? > > > -- > while(!succeed) { try(); } > > _______________________________________________ > Biojava-l mailing list - Biojava-l at lists.open-bio.org > http://lists.open-bio.org/mailman/listinfo/biojava-l > > From dasarnow at gmail.com Tue Nov 2 07:25:42 2010 From: dasarnow at gmail.com (Daniel Asarnow) Date: Tue, 2 Nov 2010 00:25:42 -0700 Subject: [Biojava-l] Superimposing structure pieces In-Reply-To: References: Message-ID: I'm working with the SEQRES numbering because my start and end indices have been derived from sequence-based filters that employed the complete chain sequences. I am currently using exception handling to deal with missing density, etc. for now (adding a "continue;" in a loop's catch block is very simple), but I assume this will turn out slower than explicit logic after profiling. I'm also planning to compare CA-only vs. other backbone and side-chain coords., thus using the getAtom("CA") method over parsing only CAs from the beginning. In this project the 'frame' of the structure alignments is enforced, so there's no need for a real alignment algorithm...but I am planning to use the CE and FATCAT methods in another program. Also, thanks for pointing out my rotation error. I actually noticed it shortly after my last email when my code returned RMSDs on the order of 10^6 Angstroms (for 10 CAs from consecutive residues)! -da On Sun, Oct 31, 2010 at 20:08, Andreas Prlic wrote: > Hi Daniel, > > couple of thoughts when I see this: > > - in case you have not seen this yet, take a look at docu on structure > alignment: http://biojava.org/wiki/BioJava:CookBook:PDB:align > - the direction of your rotations is wrong,the SVDSuperimposer gives > you the operations to be applied on the second atom set. > - there is some utility methods in StructureTools, that might come in > handy. e.g. > ? ? ? ? ? Atom[] ca1 = StructureTools.getAtomCAArray(structure1); > ? ? ? ? ? Atom[] ca2 = StructureTools.getAtomCAArray(structure2); > > - any particular reason why you are working with SEQRES records? for > the superposition it might be sufficient to work with the ATOM records > only, which can give you a quicker parsing of the files, since you can > turn off the alignment of ATOM and SEQRES. Having said that, there can > be situations when you actually might want it, e.g. see > SmithWaterman3Daligner, which does a sequence based structure > alignment... > > hope that helps, > > Andreas > > > On Sun, Oct 31, 2010 at 7:56 PM, Daniel Asarnow wrote: >> I've been trying to pull out pieces of protein chains and superimpose >> them...my current code (as generic-ified code snips below) works, but >> I wonder if it couldn't be faster. >> Has anyone worked on similar methods? ?Any other advice? >> >> Best regards everyone, >> da >> >> Getting residue CA's as Atom[]: >> >> for (int i; i < length; i++) { >> ? ?someAtoms[i] = someChain.getSeqResGroup(start + i).getAtom("CA"); >> } >> >> Superimposing/aligning: >> >> SVDSuperimposer svds = new SVDSuperimposer(someAtoms1, someAtoms2); >> Matrix rot = svds.getRotation(); >> Atom trans = svds.getTranslation(); >> for (int i = 0; i < length; i++) { >> ? ?Calc.rotate(someAtoms1[i], rot); >> ? ?Calc.shift(someAtoms1[i], trans); >> } >> SVDSuperimposer.getRmsd(someAtoms1, someAtoms2); >> _______________________________________________ >> Biojava-l mailing list ?- ?Biojava-l at lists.open-bio.org >> http://lists.open-bio.org/mailman/listinfo/biojava-l >> > From jayunit100 at gmail.com Wed Nov 3 17:57:01 2010 From: jayunit100 at gmail.com (Jay Vyas) Date: Wed, 3 Nov 2010 13:57:01 -0400 Subject: [Biojava-l] merging structures Message-ID: Hi guys : Im using the biojava structure api to merge some structures . Ive written the following test method, which I believe should work to merge the first chain of several different structures into on Structure object. Im only concerned about CA's for now. is there an easier way to do this ? public static Structure merge(List struc) throws Exception { StructureImpl si = new StructureImpl(); si.setPDBCode("1JAY"); si.setId(0L); si.setName("Merged"); si.setPDBHeader(new PDBHeader()); si.setNmr(true); int index=0; for(Structure s : struc) { ChainImpl ch = new ChainImpl(); ch.setName(alphabet.charAt(index++)+""); ch.setChainID(ch.getName()); //strip atoms of the backbone, add them to a chain. Atom[] atoms = StructureTools.getAtomCAArray(s.getChain(0)); char[] aminoAcids = s.getChain(0).getAtomSequence().toCharArray(); for(int i = 0 ; i < atoms.length; i++) { AminoAcid a = new AminoAcidImpl(); a.setAminoType(aminoAcids[i]); a.setPDBName(new AminoAcidBean(aminoAcids[i]).getThreeLetter()); a.setResidueNumber(new ResidueNumber(ch.getChainID(), i, null)); a.getAtoms().add(atoms[i]); a.setChain(ch); ch.addGroup(a); } Jlog.info("adding chain " + si.getName()); si.addChain(ch); } System.out.println(si.toPDB()); return si; } but it crashes due to a null pointer exception at org.biojava.bio.structure.io.FileConvert.alignLeft(FileConvert.java:86) at org.biojava.bio.structure.io.FileConvert.toPDB(FileConvert.java:296) at org.biojava.bio.structure.StructureImpl.toPDB(StructureImpl.java:566) at common.Utilities.merge(Utilities.java:92) at common.Utilities.main(Utilities.java:115) From andreas at sdsc.edu Wed Nov 3 21:33:27 2010 From: andreas at sdsc.edu (Andreas Prlic) Date: Wed, 3 Nov 2010 14:33:27 -0700 Subject: [Biojava-l] merging structures In-Reply-To: References: Message-ID: Hi Jay, what you are doing seems complicated... after atoms = StructureTools.getAtomCAArray(s.getChain(0)); you could do: for (Atom atom: atoms) { Group parent = atom.getGroup(); ch.addGroup(parent)... } the error is caused by this line: a.setPDBName(new AminoAcidBean(aminoAcids[i]).getThreeLetter()); you could just do a.setPDBName(atom.getGroup().getPDBName()) if you wanted to create a 2nd copy of the data in memory. Not sure what the AminoAcidBean is doing. This seems to be some of your own code, right? Andreas On Wed, Nov 3, 2010 at 10:57 AM, Jay Vyas wrote: > Hi guys : Im using the biojava structure api to merge some structures . > > Ive written the following test method, which I believe should work to merge > the first chain of several different structures into on Structure object. Im > only concerned about CA's for now. > > is there an easier way to do this ? > > public static Structure merge(List struc) throws Exception > > { > > StructureImpl si = new StructureImpl(); > > ? ? ? ? si.setPDBCode("1JAY"); > > si.setId(0L); > > si.setName("Merged"); > > si.setPDBHeader(new PDBHeader()); > > si.setNmr(true); > > > ?int index=0; > > for(Structure s : struc) > > { > > ChainImpl ch = new ChainImpl(); > > ch.setName(alphabet.charAt(index++)+""); > > ch.setChainID(ch.getName()); > > //strip atoms of the backbone, add them to a chain. > > Atom[] atoms = StructureTools.getAtomCAArray(s.getChain(0)); > > char[] aminoAcids = s.getChain(0).getAtomSequence().toCharArray(); > > ?for(int i = 0 ; i < atoms.length; i++) > > { > > AminoAcid a = new AminoAcidImpl(); > > a.setAminoType(aminoAcids[i]); > > a.setPDBName(new AminoAcidBean(aminoAcids[i]).getThreeLetter()); > > a.setResidueNumber(new ResidueNumber(ch.getChainID(), i, null)); > > a.getAtoms().add(atoms[i]); > > a.setChain(ch); > > ch.addGroup(a); > > } > > Jlog.info("adding chain " + si.getName()); > > si.addChain(ch); > > } > > System.out.println(si.toPDB()); > > return si; > > } > > > but it crashes due to a null pointer exception > > at org.biojava.bio.structure.io.FileConvert.alignLeft(FileConvert.java:86) > > at org.biojava.bio.structure.io.FileConvert.toPDB(FileConvert.java:296) > > at org.biojava.bio.structure.StructureImpl.toPDB(StructureImpl.java:566) > > at common.Utilities.merge(Utilities.java:92) > > at common.Utilities.main(Utilities.java:115) > _______________________________________________ > Biojava-l mailing list ?- ?Biojava-l at lists.open-bio.org > http://lists.open-bio.org/mailman/listinfo/biojava-l > -- ----------------------------------------------------------------------- Dr. Andreas Prlic Senior Scientist, RCSB PDB Protein Data Bank University of California, San Diego (+1) 858.246.0526 ----------------------------------------------------------------------- From jayunit100 at gmail.com Wed Nov 3 22:56:27 2010 From: jayunit100 at gmail.com (Jay Vyas) Date: Wed, 3 Nov 2010 18:56:27 -0400 Subject: [Biojava-l] merging structures In-Reply-To: References: Message-ID: Thanks andreas..... What is strange is that the particular exception is thrown by biojava in the alignLeft method.... at org.biojava.bio.structure.io.FileConvert.alignLeft(FileConvert.java:86) Any idea why that line throws an exception ? From raphael.andre.bauer at gmail.com Thu Nov 4 11:07:42 2010 From: raphael.andre.bauer at gmail.com (=?UTF-8?Q?Raphael_Andr=C3=A9_Bauer?=) Date: Thu, 4 Nov 2010 12:07:42 +0100 Subject: [Biojava-l] Fyi: Client side high performance computing project using Biojava Message-ID: Hi, OUR IDEA: We want to make web browsers and their javascript engines to act as part of the largest computing grid of the world. If you think of projects like folding at home or seti at home you know what we are talking about. But our approach is much simpler and way more powerful: Go to a website and you are participating in a huge grid - computing interesting (scientific) stuff. No software installation required. CURRENT STATUS: We are bioinformaticians from Berlin and San Diego. Naturally we are using scientific tasks from the field. Our first success was to crosscompile a package called biojava (biojava.org) into javascript using Google Web Toolkit. We are now able to calculate protein sequence alignments on the client side. The tasks are distributed by the server. Check out our live demo at: http://js-cloud-computing.appspot.com/. First results and detailed information can be found under: http://code.google.com/p/js-cloud-computing/ WHERE TO GO FROM HERE: First of all this mail is a simple fyi. We would be very happy to get in touch with people which are interested (check out our mailing list at http://groups.google.com/group/js-cloud-computing-dev). Feedback is great - and of course our source code is freely available at google code ( http://code.google.com/p/js-cloud-computing/source/browse/). The next steps in this project will include the cross-compilation of the structure-package of the biojava package. using GWT. The idea is to align proteins in 3D space on the javascript client side :) We are looking forward hearing from you - and sorry for crosspostings :) Cheers, JSCC Core Team Nico, G?ttler, Marcus Schroeder, Raphael Bauer, Andreas Prli? From dasarnow at gmail.com Wed Nov 17 02:27:22 2010 From: dasarnow at gmail.com (Daniel Asarnow) Date: Tue, 16 Nov 2010 18:27:22 -0800 Subject: [Biojava-l] AtomCache: auto-fetch and chemcompinfo Message-ID: Hello again...I have a question about the AtomCache; currently with AutoFetch and LoadChemCompInfo both set false the AtomCache downloads ligand CIF files from rcsb.org/pdb/files/ligand and produces a lot of errors like "Trying to set field pdbx_synonyms in org.biojava.bio.structure.io.mmcif.model.ChemComp, but not found! (value:GLYCERIN; PROPANE-1,2,3-TRIOL')" Is this expected behavior given with those settings? Also, while not related to BioJava, I wonder if anyone knows why the wwpdb.org FTP archive doesn't contain the ligand files? Thanks, da P.S. Using binary JARs for alpha-5-snapshot. From andreas at sdsc.edu Wed Nov 17 06:47:34 2010 From: andreas at sdsc.edu (Andreas Prlic) Date: Tue, 16 Nov 2010 22:47:34 -0800 Subject: [Biojava-l] AtomCache: auto-fetch and chemcompinfo In-Reply-To: References: Message-ID: Hi Daniel, > Hello again...I have a question about the AtomCache; currently with > AutoFetch and LoadChemCompInfo both set false the AtomCache downloads ligand > CIF files from rcsb.org/pdb/files/ligand That should only happen if you request the chemical components from your end, in which case the API needs to access the file to read the content. The first time it fetches the file from the server, from then on it will use the files from the local directory. > and produces a lot of errors like > "Trying to set field pdbx_synonyms in > org.biojava.bio.structure.io.mmcif.model.ChemComp, but not found! > (value:GLYCERIN; PROPANE-1,2,3-TRIOL')" It is not really an error, just a warning. I think the ' character might be causing a hickup. I will take a look. > Is this expected behavior given with those settings? yes, please ignore it for now until I have cleaned the warning up. >?Also, while not > related to BioJava, I wonder if anyone knows why the wwpdb.org FTP archive > doesn't contain the ligand files? you can get all of them in a single file from here: http://www.wwpdb.org/ccd.html Andreas From andreas at sdsc.edu Wed Nov 17 15:10:47 2010 From: andreas at sdsc.edu (Andreas Prlic) Date: Wed, 17 Nov 2010 07:10:47 -0800 Subject: [Biojava-l] new biojava related paper Message-ID: Hi, We just published a new paper yesterday where we are describing some of the new features that we made available through the protein structure modules over the last year or so... http://bioinformatics.oxfordjournals.org/content/26/23/2983.full Precalculated Protein Structure Alignments at the RCSB PDB website. Prlic A, Bliven S, Rose PW, Bluhm WF, Bizon C, Godzik A, Bourne PE. Andreas From jayunit100 at gmail.com Mon Nov 22 22:10:07 2010 From: jayunit100 at gmail.com (Jay Vyas) Date: Mon, 22 Nov 2010 17:10:07 -0500 Subject: [Biojava-l] biojava iupac atom names for pdb files Message-ID: Hi guys : is there a way to convert a RCSB pdb file to IUPAC style PDB file (i.e. one with IUPAC atom names) inside of biojava ? If not, does anybody know of a good source for getting IUPAC standardized atomic coordinates for PDB files ? -- Jay Vyas MMSB/UCHC From andreas at sdsc.edu Mon Nov 22 23:14:22 2010 From: andreas at sdsc.edu (Andreas Prlic) Date: Mon, 22 Nov 2010 15:14:22 -0800 Subject: [Biojava-l] biojava iupac atom names for pdb files In-Reply-To: References: Message-ID: Hi Jay, I am not sure if I understand what you are asking. PDB is IUPAC compliant, no? Andreas On Mon, Nov 22, 2010 at 2:10 PM, Jay Vyas wrote: > Hi guys : is there a way to convert a RCSB pdb file to IUPAC style PDB file > (i.e. one with IUPAC atom names) inside of biojava ?? > If not, does anybody know of a good source for getting IUPAC standardized > atomic coordinates for PDB files ? > > -- > Jay Vyas > MMSB/UCHC > _______________________________________________ > Biojava-l mailing list ?- ?Biojava-l at lists.open-bio.org > http://lists.open-bio.org/mailman/listinfo/biojava-l > From darnells at dnastar.com Mon Nov 29 20:51:06 2010 From: darnells at dnastar.com (Steve Darnell) Date: Mon, 29 Nov 2010 14:51:06 -0600 Subject: [Biojava-l] PDBFileParser question using PDBID 470D Message-ID: Greetings, After parsing PDBID 470D with biojava-3.0-alpha5, Chain A returns an empty SEQRES sequence (Chain.getSeqResSequence) and empty SEQRES group list (Chain.getSeqResGroups) but the one-letter ATOM sequence is properly translated and the ATOM group list contains the appropriate number of groups (LoadChemCompInfo set to true). This is an exotic sequence, but my expectation is that the SEQRES group list would have members in it (and one-letter sequence translated if LoadChemCompInfo is true). Am I mistaken and the current behavior is the intended result? Best regards, Steve Darnell -- SEQRES records exist in 470D: SEQRES 1 A 12 C43 G48 C43 G48 A44 A44 U36 U36 C43 G48 C43 G48 SEQRES 1 B 12 C43 G48 C43 G48 A44 A44 U36 U36 C43 G48 C43 G48 Sample println output (ln 1 record type, ln 2 get${TYPE}Sequence, ln 3 get${TYPE}Groups): SEQRES '' [] ATOM 'CGCGAAUUCGCG' [PDB: C43 1 trueatoms: 21, PDB: G48 2 trueatoms: 27, PDB: C43 3 trueatoms: 24, ...] From andreas at sdsc.edu Tue Nov 30 00:35:52 2010 From: andreas at sdsc.edu (Andreas Prlic) Date: Mon, 29 Nov 2010 16:35:52 -0800 Subject: [Biojava-l] PDBFileParser question using PDBID 470D In-Reply-To: References: Message-ID: Hi Steve, as you already are saying, this is an "exotic" sequence, in the sense that this is an RNA. The alignments of the SEQRES records for RNA currently is not supported as of yet. Can you explain a bit more what you are doing and why you need this mapping in this case? Thanks, Andreas On Mon, Nov 29, 2010 at 12:51 PM, Steve Darnell wrote: > Greetings, > > After parsing PDBID 470D with biojava-3.0-alpha5, Chain A returns an > empty SEQRES sequence (Chain.getSeqResSequence) and empty SEQRES group > list (Chain.getSeqResGroups) but the one-letter ATOM sequence is > properly translated and the ATOM group list contains the appropriate > number of groups (LoadChemCompInfo set to true). > > This is an exotic sequence, but my expectation is that the SEQRES group > list would have members in it (and one-letter sequence translated if > LoadChemCompInfo is true). ?Am I mistaken and the current behavior is > the intended result? > > Best regards, > Steve Darnell > > -- > SEQRES records exist in 470D: > > SEQRES ? 1 A ? 12 ?C43 G48 C43 G48 A44 A44 U36 U36 C43 G48 C43 G48 > > SEQRES ? 1 B ? 12 ?C43 G48 C43 G48 A44 A44 U36 U36 C43 G48 C43 G48 > > > > Sample println output (ln 1 record type, ln 2 get${TYPE}Sequence, ln 3 > get${TYPE}Groups): > > SEQRES > '' > [] > > ATOM > 'CGCGAAUUCGCG' > [PDB: C43 1 trueatoms: 21, PDB: G48 2 trueatoms: 27, PDB: C43 3 > trueatoms: 24, ...] > > _______________________________________________ > Biojava-l mailing list ?- ?Biojava-l at lists.open-bio.org > http://lists.open-bio.org/mailman/listinfo/biojava-l > -- ----------------------------------------------------------------------- Dr. Andreas Prlic Senior Scientist, RCSB PDB Protein Data Bank University of California, San Diego (+1) 858.246.0526 -----------------------------------------------------------------------