Perlmol, Molecular Bioinformatics,Geometric Programming
3
0
Entering edit mode
13.1 years ago

I know the 3D coordinates of an atom. I want to find out it's non-bonded atoms within a specific distance.

Rishika Sengupta Research Engineer CARL Bio Group

programming molecular • 2.8k views
ADD COMMENT
0
Entering edit mode

I have tried it using the PerlMol module using Chemistry::Atom::neighbors but not getting the return type

ADD REPLY
0
Entering edit mode

Please edit your question title to clarify the question.

ADD REPLY
0
Entering edit mode

Edited the question

ADD REPLY
0
Entering edit mode

I think the term "Molecular Bioiformatics" provides no additional information. I hope this article "Ten Simple Rules for Getting Help from Online Scientific Communities" would provide general help for posting questions:http://www.ploscompbiol.org/article/info%3Adoi%2F10.1371%2Fjournal.pcbi.1002202#pcbi.1002202.s002

ADD REPLY
1
Entering edit mode
13.1 years ago
Chris ★ 1.6k

Iterate over the atom set and compute the distance of the current atom to any other atom (google for 'euclidian distance'). This involves two nested loops, hence this has quadratic runtime. For more efficient implementations, you'll need adequate data structures such as k-d trees.

ADD COMMENT
0
Entering edit mode

+1 for K-d tree. It would make searches around a particular atom under a given distance-cut very efficient.

ADD REPLY
0
Entering edit mode

+1 For Kd-trees . I think Thomas Hamelryck has one implementation in BioPython

ADD REPLY
0
Entering edit mode
13.1 years ago
Woa ★ 2.9k

A quick and dirty way would be to use some in built scripting language of some molecular visualizer like rasmol or pymol:

a typical example for rasmol is like the following:

select atomno=2149,atomno=2150
define twoatoms selected
select within(7.5,twoatoms) 
#select atoms within 7.5 angs. from the previously selected two atoms
save pdb atoms_within_75

However this will select bonded as well as non-bonded atoms.You have to tweak further to get the desired result.

ADD COMMENT
0
Entering edit mode

maybe the appropriate 'set bondmode' option can do the trick

ADD REPLY

Login before adding your answer.

Traffic: 1644 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6