Module: Bio::PDB::HeterogenFinder

Included in:
Bio::PDB, Chain, Model
Defined in:
lib/bio/db/pdb/utils.rb

Overview

methods to access heterogens (compounds or ligands)

XXX#each_chain must be defined.

Bio::PDB::HeterogenFinder is included by Bio::PDB::PDB, Bio::PDB::Model, and Bio::PDB::Chain.

Instance Method Summary collapse

Instance Method Details

#each_heterogen(&x) ⇒ Object

iterates over each heterogens



388
389
390
# File 'lib/bio/db/pdb/utils.rb', line 388

def each_heterogen(&x) #:yields: heterogen
  self.each_chain { |chain| chain.each_heterogen(&x) }
end

#find_heterogenObject

returns an array containing all heterogens for which given block is not false (similar to Enumerable#find_all).



379
380
381
382
383
384
385
# File 'lib/bio/db/pdb/utils.rb', line 379

def find_heterogen
  array = []
  self.each_heterogen do |heterogen|
    array.push(heterogen) if yield(heterogen)
  end
  return array
end

#heterogensObject

returns all heterogens



393
394
395
396
397
# File 'lib/bio/db/pdb/utils.rb', line 393

def heterogens
  array = []
  self.each_chain { |chain| array.concat(chain.heterogens) }
  return array
end