Skip to main content
. Author manuscript; available in PMC: 2009 Apr 1.
Published in final edited form as: J Chem Inf Model. 2009 Jan;49(1):13–21. doi: 10.1021/ci8002478

Program 3.

MCM_ENUMERATE(f, Inline graphic, c)

1: Inline graphic′ ← {}
2: l ← ℒ (VcVf)
3: ℬ ← ℒ (EcEf)
4: for each molecule ℳ with embeddings Inline graphicInline graphic do
5: Inline graphic ← {υV |ℒ (υ) = l}
6: Inline graphic ← {}
7: for each conformer Inline graphic with embeddings Inline graphicInline graphicInline graphic do
8:    Inline graphicInline graphic ← {}
9:   for each embedding Inline graphicεInline graphicInline graphic do
10:     Inline graphiceInline graphicInline graphicε
11:     Inline graphicε ← {}
12:    for each υInline graphice do
13:     for i ← 1 to| Inline graphicε| do
14:      uInline graphicεi
15:      if ∃(υ,u) ∈ Gc,ℒ (υ,u) = ℬI
16:       then ii + 1
17:      else break
18:     if i >| Inline graphicε|
19:      then Inline graphicεInline graphicε ∪ { Inline graphicευ}
20:      Inline graphicInline graphicInline graphicInline graphic ∪ { Inline graphicε}
21:     Inline graphicInline graphic ∪ { Inline graphicInline graphic}
22:    Inline graphic′ ← Inline graphic′ ∪ { Inline graphic}
23:   if | Inline graphic′|+ # remaining mol. in Inline graphic < σ · | Inline graphic|
24:    then return {}
25: return Inline graphic