[Biopython] Biopython & p3d

Michiel de Hoon mjldehoon at yahoo.com
Wed Oct 21 10:15:35 UTC 2009


I think that we should avoid the situation that there are two PDB modules in Biopython. Can we somehow merge Bio.PDB and p3d? Take the best features of p3d and add them to Bio.PDB, or vice versa. If that is not possible, I think we should make a choice between Bio.PDB and p3d.

--Michiel.

--- On Wed, 10/21/09, Christian Fufezan <fufezan at uni-muenster.de> wrote:

> From: Christian Fufezan <fufezan at uni-muenster.de>
> Subject: [Biopython] Biopython & p3d
> To: biopython at biopython.org
> Cc: "Michael Specht" <michael.specht at uni-muenster.de>
> Date: Wednesday, October 21, 2009, 3:25 AM
> Hello Biopython,
> 
> we ( Michael Specht & I ) published recently p3d, a
> python module for structural bioinformatics and were
> wondering if it wouldn't be a good good thing if could join
> the Biopython project. We understand that Biopython has
> already a PDB parser but we programmed an alternative
> version since we found the Biopython.pdb syntax to be too
> non-pythonian. One example why is shown below:
> 
> Biopython:
> 
> def test6(structure):
>     '''get protein surrounding (5) of
> NAG'''
>     bucket = set()
>    
> atom_list=Selection.unfold_entities(structure,'A')
>     ns = NeighborSearch(atom_list)
>     for model in structure.get_list():
>         for chain in
> model.get_list():
>            
> for residue in chain.get_list():
>            
>     if residue.get_resname() == 'NAG':
>            
>         for atom in
> residue.get_list():
>            
>            
> centre = atom.get_coord()
>            
>             R =
> 5.0
>            
>            
> neighbor_list = ns.search(centre,R)
>            
>            
> neighbors = Selection.unfold_entities(neighbor_list,'A')
>            
>             for
> atom2 in neighbors:
>            
>            
>     if 'O' in atom2.get_name():
>            
>            
>         bucket.add(atom2)
>     print ' 
>    found',len(bucket),' oxygens around NAG'
>     return
> 
> p3d:
> 
> def test6(pdb):
>     ''' protein surrounding (5) of resname
> NAG'''
>     bgl = pdb.query('resname NAG')
>     bucket = pdb.query('protein and oxygen
> and within 5 of ',bgl)
>     print ' 
>    found',len(bucket),' oxygens around NAG'
>     return
> 
> Certainly, Biopythons PDB module has its advantages and the
> is no way p3d could replace it, but both modules have their
> advantages :) The fact that biopythons.pdb parser uses a
> KTree written in C and we wrote one in python makes certain
> queries to the protein structure faster in Biopyhton;
> however if the query involves more complex demands, multiple
> loops are inevitable in biopython, whereas p3d offers a
> human readable query function that combines all aspects. The
> link to our publication is:
> http://www.biomedcentral.com/1471-2105/10/258
> 
> Looking forward to hear from you, maybe one can also
> envision a combined module with a new all advantages
> together.
> 
> Kind regards
> 
> Christian Fufezan
> 
> 
> _______________________________________________
> Biopython mailing list  -  Biopython at lists.open-bio.org
> http://lists.open-bio.org/mailman/listinfo/biopython
> 


      




More information about the Biopython mailing list