VMD-L Mailing List
From: Maxim Belkin (mbelkin_at_ks.uiuc.edu)
Date: Fri Jan 23 2015 - 14:44:27 CST
- Next message: Thomas C. Bishop: "Re: within command"
- Previous message: Bennion, Brian: "within command"
- In reply to: Axel Kohlmeyer: "Re: within command"
- Next in thread: Thomas C. Bishop: "Re: within command"
- Reply: Thomas C. Bishop: "Re: within command"
- Reply: Josh Vermaas: "Re: within command"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ] [ attachment ]
> On Jan 23, 2015, at 2:05 PM, Axel Kohlmeyer <akohlmey_at_gmail.com> wrote:
>
> On Fri, Jan 23, 2015 at 2:04 PM, Thomas C. Bishop <bishop_at_latech.edu> wrote:
>> Dear VMD,
>> I"m looking for a quick way to generate a list of atom pairs that are within
>> a specified distance of each other.
>> e.g find oxygen atoms that are within say 3A of each other.
>>
>> I thought I could use the within command
>> set sel [atomselect top "within 3 of name O" ]
>>
>> This selects all atoms within the specified distance (in Å) from a
>> selection,
>> BUT ALSO INCLUDES THE SELECTION ITSELF.
>>
>> So the above sel includes ALL atoms named O b/c each oxygen is within 3 of
>> itself :-)
>>
>> Maybe it's just Friday but I dont' see a simple solution here.
>> This selection is being used to highlight various pairs associated with a
>> radial distribution analysis.
>>
>> Any tips,tricks or solutions greatly appreciated.
>
> you want to use "exwithin" instead of "within".
.. and a little bit of coding.
For example, one could use a very (ultra?) slow script like this:
# result: pairlist with a list of pairs
#####################
set pairlist {}
set sel [atomselect top "name OH2"]
set sellist [$sel list]
foreach index $sellist {
set selection [atomselect top "name OH2 and exwithin 3 of index $index"]
set n [$selection num]
if {$n > 0} {
set selectionlist [$selection list]
for {set i 0} {$i < $n} {incr i} {
set idx [lindex $selectionlist $i]
set pair [lsort [list $index $idx]]
if {$pair ni $pairlist} {
lappend pairlist $pair
}
}
}
$selection delete
}
$sel delete
#############################
Maxim
>
> axel.
>
>> Is it worthwhile to suggest a " -self" option be added to the within command
>>
>> Thanks in advance,
>> Tom.
>>
>>
>>
>>
>> --
>> *******************************
>> Thomas C. Bishop
>> Tel: 318-257-5209
>> Fax: 318-257-3823
>> www.latech.edu/~bishop
>> ********************************
>
>
>
> --
> Dr. Axel Kohlmeyer akohlmey_at_gmail.com http://goo.gl/1wk0
> College of Science & Technology, Temple University, Philadelphia PA, USA
> International Centre for Theoretical Physics, Trieste. Italy.
- Next message: Thomas C. Bishop: "Re: within command"
- Previous message: Bennion, Brian: "within command"
- In reply to: Axel Kohlmeyer: "Re: within command"
- Next in thread: Thomas C. Bishop: "Re: within command"
- Reply: Thomas C. Bishop: "Re: within command"
- Reply: Josh Vermaas: "Re: within command"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ] [ attachment ]