<?xml version='1.0'?>
<!DOCTYPE art SYSTEM 'http://www.biomedcentral.com/xml/article.dtd'>
<art>
   <ui>1471-2105-12-S14-S3</ui>
   <ji>1471-2105</ji>
   <fm>
      <dochead>Proceedings</dochead>
      <bibl>
         <title>
            <p>Enumerating tree-like chemical graphs with given upper and lower bounds on path frequencies</p>
         </title>
         <aug>
            <au id="A1"><snm>Shimizu</snm><fnm>Masaaki</fnm><insr iid="I1"/><email>masaaki@amp.i.kyoto-u.ac.jp</email></au>
            <au ca="yes" id="A2"><snm>Nagamochi</snm><fnm>Hiroshi</fnm><insr iid="I1"/><email>nag@amp.i.kyoto-u.ac.jp</email></au>
            <au id="A3"><snm>Akutsu</snm><fnm>Tatsuya</fnm><insr iid="I2"/><email>takutsu@kuicr.kyoto-u.ac.jp</email></au>
         </aug>
         <insg>
            <ins id="I1"><p>Graduate School of Informatics, Kyoto University, Yoshida, Kyoto 606-8501, Japan</p></ins>
            <ins id="I2"><p>Bioinformatics Center, Institute for Chemical Research, Kyoto University, Gokasho, Uji, Kyoto 611-0011, Japan</p></ins>
         </insg>
         <source>BMC Bioinformatics</source>
         
         
         <supplement><title><p>22nd International Conference on Genome Informatics: Bioinformatics</p></title><editor>Sanghyuk Lee, Dongsup Kim, and KiYoung Lee</editor><note>Proceedings</note><url>1471-2105-12-S14.pdf</url></supplement><conference><title><p>22nd International Conference on Genome Informatics</p></title><location>Busan, Korea</location><date-range>5-7 December 2011</date-range><url>http://www.kobic.re.kr/giw2011/</url></conference><issn>1471-2105</issn>
         <pubdate>2011</pubdate>
         <volume>12</volume>
         <issue>Suppl 14</issue>
         <fpage>S3</fpage>
         <url>http://www.biomedcentral.com/1471-2105/12/S14/S3</url>
         <xrefbib><pubidlist><pubid idtype="pmpid">22373441</pubid><pubid idtype="doi">10.1186/1471-2105-12-S14-S3</pubid></pubidlist></xrefbib>
      </bibl>
      <history><pub><date><day>14</day><month>12</month><year>2011</year></date></pub></history>
      <cpyrt><year>2011</year><collab>Shimizu et al; licensee BioMed Central Ltd.</collab><note>This is an open access article distributed under the terms of the Creative Commons Attribution License (<url>http://creativecommons.org/licenses/by/2.0</url>), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.</note></cpyrt>
      <abs>
         <sec>
            <st>
               <p>Abstract</p>
            </st>
            <sec>
               <st>
                  <p>Background</p>
               </st>
               <p>Enumeration of chemical graphs satisfying given constraints is one of the fundamental problems in chemoinformatics and bioinformatics since it leads to a variety of useful applications including structure determination of novel chemical compounds and drug design.</p>
            </sec>
            <sec>
               <st>
                  <p>Results</p>
               </st>
               <p>In this paper, we consider the problem of enumerating all tree-like chemical graphs from a given set of feature vectors, which is specified by a pair of upper and lower feature vectors, where a feature vector represents the frequency of prescribed paths in a chemical compound to be constructed. This problem can be solved by applying the algorithm proposed by Ishida <it>et al</it>. to each single feature vector in the given set, but this method may take much computation time because in general there are many feature vectors in a given set. We propose a new exact branch-and-bound algorithm for the problem so that all the feature vectors in a given set are handled directly. Since we cannot use the bounding operation proposed by Ishida <it>et al</it>. due to upper and lower constraints, we introduce new bounding operations based on upper and lower feature vectors, a bond constraint, and a detachment condition.</p>
            </sec>
            <sec>
               <st>
                  <p>Conclusions</p>
               </st>
               <p>Our proposed algorithm is useful for enumerating tree-like chemical graphs with given upper and lower bounds on path frequencies.</p>
            </sec>
         </sec>
      </abs>
   </fm>
   <bdy>
      <sec>
         <st>
            <p>Introduction</p>
         </st>
         <p>Development of novel drugs is one of the major goals in chemoinformatics and bioinformatics. To achieve this purpose, it is important not only to investigate common chemical properties over chemical compounds having common structural patterns <abbrgrp><abbr bid="B1">1</abbr><abbr bid="B2">2</abbr><abbr bid="B3">3</abbr></abbrgrp> but also to study methods of enumerating chemical structures satisfying given constraints. The enumeration of chemical structures has a long history. Actually, Cayley <abbrgrp><abbr bid="B4">4</abbr></abbrgrp> considered the enumeration of structural isomers of alkanes in the 19th century. Applications for the enumeration of chemical compounds include structure determination using mass-spectrum and/or NMR-spectrum <abbrgrp><abbr bid="B5">5</abbr><abbr bid="B6">6</abbr></abbrgrp>, virtual exploration of chemical universe <abbrgrp><abbr bid="B7">7</abbr><abbr bid="B8">8</abbr></abbrgrp>, reconstruction of molecular structures from their signatures <abbrgrp><abbr bid="B9">9</abbr><abbr bid="B10">10</abbr></abbrgrp>, and classification of chemical compounds <abbrgrp><abbr bid="B11">11</abbr></abbrgrp>.</p>
         <p>In the field of machine learning, the <it>pre-image problem </it><abbrgrp><abbr bid="B12">12</abbr><abbr bid="B13">13</abbr></abbrgrp> has been studied. In this problem, a desired object is computed as a feature vector in a feature space, and then the feature vector is mapped back to the input space, where this mapped back object is called a pre-image. The definition of the feature vectors based on the frequency of labeled paths <abbrgrp><abbr bid="B14">14</abbr><abbr bid="B15">15</abbr></abbrgrp> or small fragments <abbrgrp><abbr bid="B11">11</abbr><abbr bid="B16">16</abbr></abbrgrp> has been widely used. Akutsu and Fukagawa <abbrgrp><abbr bid="B17">17</abbr></abbrgrp> formulated the graph pre-image problem as the problem of inferring graphs from the frequency of paths of labeled vertices, which corresponds to the pre-image problem, and proved that the problem is NP-hard even for planar graphs with bounded degrees <abbrgrp><abbr bid="B17">17</abbr></abbrgrp>. Nagamochi <abbrgrp><abbr bid="B18">18</abbr></abbrgrp> proved that a graph determined by frequency of paths with length 1 can be found in polynomial time if any.</p>
         <p>To enumerate tree-like chemical graphs, Fujiwara <it>et al</it>. <abbrgrp><abbr bid="B19">19</abbr></abbrgrp> proposed a branch-and-bound algorithm which consists of a branching procedure based on the tree enumeration algorithm due to Nakano and Uno <abbrgrp><abbr bid="B20">20</abbr><abbr bid="B21">21</abbr></abbrgrp> and bounding operations designed by the path frequency and the atom-atom bonds. In addition, to reduce the size of search trees, Ishida <it>et al</it>. <abbrgrp><abbr bid="B22">22</abbr></abbrgrp> introduced a new bounding operation, called the <it>detachment-cut</it>, based on the result by Nagamochi <abbrgrp><abbr bid="B18">18</abbr></abbrgrp>. Implementations of the algorithm proposed by Ishida <it>et al</it>. <abbrgrp><abbr bid="B22">22</abbr></abbrgrp> are available at a web server (<it><url>http://sunflower.kuicr.kyoto-u.ac.jp/tools/enumol/</url></it>) for enumerating tree-like chemical graphs with given path frequency. However, an instance with constraint which is specified by one feature vector admits no solution in many cases. Therefore, it is needed to introduce a more relaxed constraint than a single feature vector to obtain some solutions in the tree-like chemical graph enumeration problem.</p>
         <p>In this paper, we are given a set of feature vectors, which is specified by a pair of upper and lower feature vectors, and enumerate all tree-like chemical graphs satisfying one of the vectors. It seems that this can be done by simply applying the algorithm proposed by Ishida <it>et al</it>. to each single feature vector in the given set. However, this method will take much computation time because in general there are many feature vectors in a given set. We propose a new exact branch-and-bound algorithm for the problem so that all the feature vectors in a given set are handled directly.</p>
      </sec>
      <sec>
         <st>
            <p>Methods</p>
         </st>
         <sec>
            <st>
               <p>Preliminaries and problem formulation</p>
            </st>
            <p>A graph is called a <it>multigraph</it> if multiple edges (i.e., edges with the same end vertices) are allowed; otherwise it is called <it>simple</it>. A <it>path P</it> is a sequence <it>v</it><sub>0</sub>, <it>e</it><sub>1</sub>, <it>v</it><sub>1</sub>, <it>e</it><sub>2</sub>, <it>v</it><sub>2</sub>, &#8230;, <it>e<sub>k</sub></it>, <it>v<sub>k</sub></it> of distinct vertices <it>v<sub>i</sub></it> (<it>i</it> = 0, &#8230;, <it>k</it>) and edges <it>e<sub>j</sub></it> that join <it>v</it><sub><it>j</it> &#8211; 1</sub> and <it>v<sub>j</sub></it> (<it>j</it> = 1, &#8230;, <it>k</it>). Without confusion we may write <it>P</it> = (<it>v</it><sub>0</sub>, <it>v</it><sub>1</sub>, &#8230;, <it>v<sub>k</sub></it>). The length <it>|P|</it> of path <it>P</it> is defined to be <it>k</it>, i.e., the number of edges. Assume that a set &#931; = {<it>&#8467;</it><sub>1</sub>,<it>&#8467;</it><sub>2</sub>, &#8230;,<it>&#8467;<sub>s</sub></it>} (i.e., chemical elements) is given. Let each label <it>&#8467;</it> be associated with a valence <it>val</it>( <it>&#8467;</it>) &#8712; &#8484;<sub>+</sub>. A multigraph <it>G</it> is called &#931;-<it>labeled</it> if each vertex <it>v</it> has a label <it>&#8467;</it>(<it>v</it>) &#8712; &#931;, and is called (&#931;, <it>val</it>)<it>-labeled</it> if, in addition, the degree of each vertex <it>v</it> is <it>val</it>(<it>&#8467;</it>(<it>v</it>)), i.e., the valence of the element <it>&#8467;</it>(<it>v</it>). We regard chemical compounds as (&#931;, <it>val</it> )-labeled, self-loopless, and connected multigraphs, where vertices and labels represent atoms and elements, respectively. For a path <it>P</it> = (<it>v</it><sub>0</sub>, <it>v</it><sub>1</sub>, &#8230;, <it>v<sub>k</sub></it>), we call <it>&#8467;</it>(<it>P</it>) = <it>&#8467;</it>(<it>v</it><sub>0</sub>), <it>&#8467;</it>(<it>v</it><sub>1</sub>), &#8230;, <it>&#8467;</it>(<it>v<sub>k</sub></it>) the <it>label sequence</it> of <it>P</it>. Given a label sequence <it>t</it>, let #<it>t</it> denote the number of paths <it>P</it> with <it>&#8467;</it>(<it>P</it>) = <it>t</it> in a graph, where multiple edges with the same end-vertices are treated as a single edge and paths are considered to be &#8220;directed.&#8221; The <it>feature vector f<sub>K</sub></it>(<it>G</it>) <it>of level K</it>(&#8712; &#8484;<sub>+</sub>) of <it>G</it> is defined to be the vector whose entry <it>f<sub>K</sub></it>(<it>G</it>)[<it>t</it>] (<it>|t|</it> &#8804; <it>K</it>) represents #<it>t</it>. See Fig. <figr fid="F1">1</figr> for an example.</p>
            <fig id="F1"><title><p>Figure 1</p></title><caption><p>A chemical compound and its feature vector</p></caption><text>
   <p><b>A chemical compound and its feature vector</b>. An illustration of a (&#931;, <it>val</it>)-labeled multitree <it>G</it> and its feature vector <it>f</it><sub>1</sub>(<it>G</it>). Notice that multiple edges with the same end-vertices are treated as one edge, where <it>#OC</it> = <it>#CO</it> = 2.</p>
</text><graphic file="1471-2105-12-S14-S3-1"/></fig>
            <p>Let <it>deg</it>(<it>v; G</it>) denote the degree of a vertex <it>v</it> in a graph <it>G</it>. The tree-like chemical graph enumeration problem with given one feature vector can be formulated as follows <abbrgrp><abbr bid="B19">19</abbr></abbrgrp>.</p>
            <sec>
               <st>
                  <p>Enumeration of Tree-like chemical graphs with given Path Frequency (ETPF)</p>
               </st>
               <p>Given a set &#931; of labels, a valence function <it>val</it> : &#931; &#8594; &#8484;<sub>+</sub> and a feature vector <it>g</it> of level <it>K</it>, find all (&#931;, <it>val</it>)-labeled multitrees <it>T</it> such that <it>f<sub>K</sub></it>(<it>T</it>) = <it>g</it> and <it>deg</it>(<it>v;T</it>) = <it>val</it>(<it>&#8467;</it>(<it>v</it>)) for all vertices <it>v</it> &#8712; <it>V</it>(<it>T</it>).</p>
               <p>Observe that a large number of chemical compounds contain a high proportion of hydrogens. Based on this fact, another model can be considered in the problem ETPF by removing all hydrogen atoms. These two different models were proposed by Fujiwara <it>et al</it>. <abbrgrp><abbr bid="B19">19</abbr></abbrgrp> and Ishida <abbrgrp><abbr bid="B23">23</abbr></abbrgrp>.</p>
               <p>In this paper, we consider the problem of enumerating all tree-like chemical graphs based on given upper and lower feature vectors because we want to relax the feature vector constraint in the problem ETPF. For feature vectors <it>g</it><sub>1</sub> and <it>g</it><sub>2</sub> of level <it>K</it>, we define <it>g</it><sub>1</sub> &#8804; <it>g</it><sub>2</sub> to be <it>g</it><sub>1</sub>[<it>t</it>] &#8804; <it>g</it><sub>2</sub>[<it>t</it>] for any label sequence <it>t</it> (|<it>t</it>| &#8804; <it>K</it>). The problem of enumerating tree-like compounds from given two feature vectors can be formulated based on the problem ETPF as follows (see Fig. <figr fid="F2">2</figr> for an illustration).</p>
               <fig id="F2"><title><p>Figure 2</p></title><caption><p>An instance of ETULF</p></caption><text>
   <p><b>An instance of ETULF.</b> An instance of ETULF with upper and lower feature vectors, which admits two different solutions.</p>
</text><graphic file="1471-2105-12-S14-S3-2"/></fig>
            </sec>
            <sec>
               <st>
                  <p>Enumeration of Tree-like chemical graphs with given Upper and Lower bounds on path Frequencies (ETULF)</p>
               </st>
               <p>Given a set &#931; of labels, a valence function <it>val</it> : &#931; &#8594; &#8484;<sub>+</sub> and feature vectors <it>g<sub>U</sub></it> and <it>g<sub>L</sub></it> of level <it>K</it> (<it>g<sub>L</sub></it> &#8804; <it>g<sub>U</sub></it>), find all (&#931;, <it>val</it>)-labeled multitrees <it>T</it> such that <it>g<sub>L</sub></it> &#8804; <it>f<sub>K</sub></it>(<it>T</it>) &#8804; <it>g<sub>U</sub></it> and <it>deg</it>(<it>v;T</it>) = <it>val</it>(<it>&#8467;</it>(<it>v</it>)) for all vertices <it>v</it> &#8712; <it>V</it>(<it>T</it>).</p>
               <p>For the problem ETULF, we assume that <it>g<sub>L</sub></it>(<it>&#8467;</it>) = <it>g<sub>U</sub></it>(<it>&#8467;</it>) for an atom type <it>&#8467;</it> &#8712; &#931;, where <it>g</it>(<it>L</it>) denotes the entry in <it>g</it> that corresponds to a label sequence <it>L</it> (thus <it>g</it>(<it>&#8467;</it>) specifies the number of vertices of label <it>&#8467;</it>) and that <it>g<sub>L</sub></it>(<it>L</it>) &#8804; <it>g<sub>U</sub></it>(<it>L</it>) for any label sequence <it>L</it> (<it>|L|</it> &#8805; 2).</p>
               <p>Note that the number <it>n</it> of vertices is given by &#931;<sub><it>&#8467;</it>&#8712;&#931;</sub><it>g</it>(<it>&#8467;</it>). To solve the problem ETULF, we start with an empty graph, and repeatedly extend the current tree <it>T</it> by appending a new vertex with each label <it>&#8467;</it> &#8712; &#931; to obtain a <it>valid</it> tree (a tree that does not violate any constraints on output trees) one by one until we get <it>n</it> vertices. In order to avoid duplicate outputs, we follow the branch-and-bound framework of Fujiwara <it>et al</it>. <abbrgrp><abbr bid="B19">19</abbr></abbrgrp>, which first defines a canonical representation for isomorphic trees, and then lists them using the algorithm of Nakano and Uno <abbrgrp><abbr bid="B20">20</abbr><abbr bid="B21">21</abbr></abbrgrp> (the branching operation) discarding invalid trees with some bounding operations. Since we cannot directly use the bounding operation proposed by Ishida <it>et al</it>. <abbrgrp><abbr bid="B22">22</abbr></abbrgrp> due to upper and lower constraints, we introduce some new bounding operations.</p>
            </sec>
         </sec>
         <sec>
            <st>
               <p>Canonical representation of trees and the branching operation</p>
            </st>
            <p>In this section, we explain a canonical representation of trees introduced by Fujiwara <it>et al</it>. <abbrgrp><abbr bid="B19">19</abbr></abbrgrp> and the branching operation based on the canonical representation.</p>
            <p>First of all, we introduce a root of a tree based on the following theorem.</p>
            <p><b>Theorem 1 (Jordan </b><abbrgrp><abbr bid="B24">24</abbr></abbrgrp><b>) </b><it>For any tree with n&#8242; vertices</it>, <it>either there exists a unique vertex v* such that each subtree obtained by removing v* contains at most</it><inline-formula><graphic file="1471-2105-12-S14-S3-i1.gif"/></inline-formula><it>vertices</it>, <it>or there exists a unique edge e* such that both of the subtrees obtained by removing e* contain exactly</it><inline-formula><graphic file="1471-2105-12-S14-S3-i2.gif"/></inline-formula><it>vertices</it>.</p>
            <p>Such a vertex <it>v*</it> and an edge <it>e*</it> in Theorem 1 are called <it>unicentroid</it> and <it>bicentroid</it>, respectively. Either unicentroid or bicentroid is called as <it>centroid</it>. Note that there exists a bicentroid only for an even <it>n&#8242;</it>. Since a case of bicentroid is similar to a case of unicentroid, now we only explain a case of unicentroid.</p>
            <p>Next we introduce a canonical representation of trees that must be unique up to isomorphism. Let <it>T</it> be a tree of <it>n</it> vertices rooted at a vertex <it>v</it><sub>0</sub> (which is not necessarily its unicentroid). Suppose that it is embedded in the plane as an ordered tree, where <it>v</it><sub>0</sub> is located at the top part. Without loss of generality, let <it>v</it><sub>0</sub>, <it>v</it><sub>1</sub>, &#8230;, <it>v</it><sub><it>n</it> &#8211; 1</sub> be indexed by the depth-first search (DFS) that starts from <it>v</it><sub>0</sub> and visits vertices from the left to the right. Define the <it>depth d</it>(<it>v</it>) of a vertex <it>v</it> to be the length of the (unique) path from <it>v</it><sub>0</sub> to <it>v</it> in <it>T</it>. The <it>depth-label sequence</it> of <it>T</it> (<it>L</it>(<it>T</it>)) is defined to be</p>
            <p>
               <display-formula>
                  <graphic file="1471-2105-12-S14-S3-i3.gif"/>
               </display-formula>
            </p>
            <p>Given an arbitrary order of labels, we define the order of depth-label sequences as follows. For any <it>T</it><sub>1</sub> and <it>T</it><sub>2</sub>, we denote <it>L</it>(<it>T</it><sub>1</sub>) &gt;<it>L</it>(<it>T</it><sub>2</sub>) if <it>L</it>(<it>T</it><sub>1</sub>) is <it>lexicographically</it> larger than <it>L</it>(<it>T</it><sub>2</sub>). Then the <it>canonical representation</it> of a rooted tree is defined by the <it>largest</it> depth-label sequence among all its plane embeddings. Actually this is equivalent to the <it>left-heavy</it> plane embedding <abbrgrp><abbr bid="B20">20</abbr><abbr bid="B21">21</abbr></abbrgrp>.</p>
            <p>Thus our branching task is to list all centroid-rooted left-heavy trees with <it>n</it> vertices and <it>m</it> (= |&#931;|) labels. Following the scheme <abbrgrp><abbr bid="B20">20</abbr><abbr bid="B21">21</abbr></abbrgrp>, we define a <it>parent-child</it> relation between two left-heavy trees. The <it>parent P</it>(<it>T</it>) of a left-heavy tree <it>T</it> is obtained from <it>T</it> by removing its <it>rightmost</it> leaf. Clearly <it>P</it>(<it>T</it>) is still left-heavy In this way, we can define a <it>family tree</it><inline-formula><graphic file="1471-2105-12-S14-S3-i4.gif"/></inline-formula> of left-heavy trees whose leaves are exactly what we want to obtain.</p>
            <p>Therefore we only need to enumerate the (leaf) nodes of <inline-formula><graphic file="1471-2105-12-S14-S3-i4.gif"/></inline-formula>. This can be done by starting from the empty tree (the root node of <inline-formula><graphic file="1471-2105-12-S14-S3-i4.gif"/></inline-formula>) and repeatedly appending a new leaf to some appropriate place on the rightmost path of the current tree. Our branching operation employs the algorithm of Nakano and Uno <abbrgrp><abbr bid="B20">20</abbr><abbr bid="B21">21</abbr></abbrgrp>, which extends the current tree <it>T</it> (i.e., finds a child of <it>T</it>) in <it>constant</it> time <abbrgrp><abbr bid="B19">19</abbr></abbrgrp>.</p>
         </sec>
         <sec>
            <st>
               <p>Bounding operations</p>
            </st>
            <p>In this section, we explain how to check the validity of the current tree <it>T</it>. If we can conclude that <it>T</it> and all its descendants are not valid, then we can discard <it>T</it>. Our bounding operation discards <it>T</it> if at least one of the following criteria is violated:</p>
            <p><b>(C1)</b> The root of <it>T</it> remains the centroid of an output (the centroid constraint);</p>
            <p><b>(C2) </b><it>deg</it>(<it>v;T</it>) &#8804; <it>val</it>(<it>l</it>(<it>v</it>)) for all <it>v</it> &#8712; <it>V</it>(<it>T</it>) (the valence constraint);</p>
            <p><b>(C3) </b><it>f<sub>K</sub></it>(<it>T</it>) &#8804; <it>g<sub>U</sub></it>, and <it>|T|</it> = <it>n</it> and <it>g<sub>L</sub></it> &#8804; <it>f<sub>K</sub></it>(<it>T</it>) (the feature vector constraint);</p>
            <p><b>(C4) </b><it>T</it> can be extended to a connected and loopless tree with <it>n</it> vertices (the detachment constraint);</p>
            <p><b>(C5) </b><it>T</it> can have a descendant which has an appropriate number of multiple bonds (the multiplicity constraint).</p>
            <p>(C1) and (C2) are the same as the work by Fujiwara <it>et al</it>. <abbrgrp><abbr bid="B19">19</abbr></abbrgrp> and not difficult to check. (C3) and (C4) are different from the work by Fujiwara <it>et al</it>. <abbrgrp><abbr bid="B19">19</abbr></abbrgrp> and Ishida <it>et al</it>. <abbrgrp><abbr bid="B22">22</abbr></abbrgrp> due to upper and lower constraints. (C5) is a new bounding operation that we propose in this paper. In the following three subsections, we will discuss three bounding operations resulting from (C3), (C4), and (C5), called as <it>feature-vector-cut</it>, <it>detachment-cut</it>, and <it>multiplicity-cut</it>, respectively.</p>
            <sec>
               <st>
                  <p>Feature-vector-cut procedure</p>
               </st>
               <p>In the problem ETULF, we cannot use the bounding operation proposed by Fujiwara <it>et al</it>. <abbrgrp><abbr bid="B19">19</abbr></abbrgrp> directly due to upper and lower feature vectors, but we can introduce a bounding operation based on upper and lower feature vectors by modifying Fujiwara <it>et al</it>.&#8217;s work slightly.</p>
               <p>Let <it>T</it> denote a current tree, <it>f<sub>K</sub></it>(<it>T</it>) denote the feature vector of <it>T</it>, <it>g<sub>u</sub></it> denote a given upper feature vector, and <it>g<sub>L</sub></it> denote a given lower feature vector. By the feature vector constraints in the problem ETULF, we check the following condition.</p>
               <p>
                  <display-formula id="M1">
                     <graphic file="1471-2105-12-S14-S3-i5.gif"/>
                  </display-formula>
               </p>
               <p>If <it>T</it> violates (1), then we discard <it>T</it>.</p>
               <p>In addition, if |<it>T</it>| = <it>n</it>, then we check the following condition based on the constraint of upper and lower feature vectors.</p>
               <p>
                  <display-formula id="M2">
                     <graphic file="1471-2105-12-S14-S3-i6.gif"/>
                  </display-formula>
               </p>
               <p>If <it>T</it> violates (2), then we discard <it>T</it>.</p>
            </sec>
            <sec>
               <st>
                  <p>Detachment-cut procedure</p>
               </st>
               <p>This subsection describes the definition of detachment <abbrgrp><abbr bid="B18">18</abbr></abbrgrp> and a new bounding operation based on it for the problem ETULF. Let <it>G</it> be a multigraph that may have self-loops, which represents the graph obtained from a chemical graph <it>H</it> by contracting the vertices with the same label into a single vertex, where each vertex in <it>G</it> corresponds a label in <it>H</it> (note that we do not eliminate any edges in <it>H</it> in contracting vertices to obtain <it>G</it>). A process of regaining <it>H</it> from <it>G</it> is described as follows. Given a function <it>r</it> : <it>V</it>(<it>G</it>) &#8594; &#8484;<sub>+</sub>, an <it>r-detachment H</it> of <it>G</it> is a multigraph obtained from <it>G</it> by splitting each vertex <it>v</it> &#8712; <it>V</it>(<it>G</it>) into a set of <it>r</it>(<it>v</it>) copies of <it>v</it>, denoted by <it>W<sub>v</sub></it> = {<it>v</it><sup>1</sup>, <it>v</it><sup>2</sup> &#8230;, <it>v<sup>r</sup></it><sup>(</sup><it><sup>v</sup></it><sup>)</sup>}, so that each edge {<it>u</it>, <it>v</it>} &#8712; <it>E</it>(<it>G</it>) joins some vertices <it>u<sup>i</sup></it> &#8712; <it>W<sub>u</sub></it> and <it>v<sup>j</sup></it> &#8712; <it>W<sub>v</sub></it>. Hence an <it>r</it>-detachment <it>H</it> of <it>G</it> is not unique in general. A self-loop {<it>u</it>, <it>u</it>} in <it>G</it> may be mapped to a self-loop {<it>u<sup>i</sup></it>,<it>u<sup>i</sup></it>} or a non-loop edge {<it>u<sup>i</sup></it>,<it>u<sup>j</sup></it>} in a detachment <it>H</it> of <it>G</it>. Note that, for all vertex pairs {<it>u</it>, <it>v</it>} &#8712; <it>V</it>(<it>G</it>), the number of edges between subsets <it>W<sub>u</sub></it> and <it>W<sub>v</sub></it> in <it>H</it> is equal to that of edges between vertices <it>u</it> and <it>v</it> in <it>G</it>.</p>
               <p>To obtain a chemical graph <it>H</it> as an <it>r</it>-detachment <it>H</it> of <it>G</it>, we need to specify the degree of vertices (with the same label) in <it>H</it>. For a function <it>r</it> : <it>V</it>(<it>G</it>) &#8594; &#8484;<sub>+</sub>, an <it>r-degree specification</it> is a set <it>&#961;</it> of vectors <inline-formula><graphic file="1471-2105-12-S14-S3-i7.gif"/></inline-formula> for <it>v</it> &#8712; <it>V</it>(<it>G</it>) such that</p>
               <p>
                  <display-formula>
                     <graphic file="1471-2105-12-S14-S3-i8.gif"/>
                  </display-formula>
               </p>
               <p>which is necessary for all the edges incident to vertex <it>v</it> in <it>G</it> to be assigned to split vertices <it>v<sup>i</sup></it> &#8712; <it>W<sub>v</sub></it> completely. An <it>r</it>-detachment <it>H</it> of <it>G</it> is called a <it>&#961;-detachment</it> if each <it>v</it> &#8712; <it>V</it> satisfies</p>
               <p>
                  <display-formula>
                     <graphic file="1471-2105-12-S14-S3-i9.gif"/>
                  </display-formula>
               </p>
               <p>which is a requirement that each vertex <it>v<sub>i</sub></it> in <it>H</it> must have the prescribed degree <inline-formula><graphic file="1471-2105-12-S14-S3-i10.gif"/></inline-formula>. Figure <figr fid="F3">3</figr> illustrates a <it>&#961;</it>-detachment <it>H</it> for a graph <it>G</it> = (<it>V</it>, <it>E</it>) with <it>V</it> = {<it>a</it>, <it>b</it>, <it>c</it>}, a function <it>r</it> with <it>r</it>(<it>a</it>) = 4, <it>r</it>(<it>b</it>) = 3, <it>r</it>(<it>c</it>) = 1, and a degree specification <it>&#961;</it> with <it>&#961;</it>(<it>a</it>) = (2, 2, 3, 2), <it>&#961;</it>(<it>b</it>) = (2, 3, 1), <it>&#961;</it>(<it>c</it>) = (3). The next theorem gives a characterization of a multigraph <it>G</it> that admits a connected and loopless <it>&#961;-</it>detachment.</p>
               <fig id="F3"><title><p>Figure 3</p></title><caption><p>A multigraph and a <it>&#961;</it>-detachment</p></caption><text>
   <p><b>A multigraph and a <it>&#961;</it>-detachment</b>. A multigraph <it>G</it> and a <it>&#961;</it>-detachment <it>H</it> of <it>G</it>.</p>
</text><graphic file="1471-2105-12-S14-S3-3"/></fig>
               <p><b>Theorem 2 (Nagamochi </b><abbrgrp><abbr bid="B18">18</abbr></abbrgrp><b>) </b><it>Let G</it> = (<it>V</it>, <it>E</it>) <it>be a multigraph</it>, <it>r</it> : <it>V</it> &#8594; &#8484;<sub>+</sub><it> and </it><inline-formula><graphic file="1471-2105-12-S14-S3-i11.gif"/></inline-formula>. <it>Then G has a connected and loopless &#961;-detachment H if and only if the following hold:</it></p>
               <p>
                  <display-formula>
                     <graphic file="1471-2105-12-S14-S3-i12.gif"/>
                  </display-formula>
               </p>
               <p><it>where r</it>(<it>X</it>) = &#931; <it><sub>v</sub></it><sub>&#8712; </sub><it><sub>X</sub>r</it>(<it>v</it>), <it>c</it>(<it>G&#8242;</it>) <it>denotes the number of connected components of a graph G&#8242;</it>, <it>G &#8211; X denotes the graph obtained from a graph G by removing the vertices in X together with all edges incident to vertices in X</it>, <it>and d</it>(<it>A</it>, <it>B; G</it>) <it>denotes the number of edges</it> (<it>u</it>, <it>v</it>) &#8712; <it>E with u</it> &#8712; <it>A and v</it> &#8712; <it>B</it>.</p>
               <p>Ishida <it>et al</it>. <abbrgrp><abbr bid="B22">22</abbr></abbrgrp> proposed a bounding operation for the problem ETPF based on Theorem 2. However, we cannot use the bounding operation proposed by Ishida <it>et al</it>. for the problem ETULF due to upper and lower constraints. We now describe our new bounding operation based on detachments for the problem ETULF. The new bounding operation, called <it>detachment-cut</it> tests whether the current multitree <it>T</it> has a multitree that is consistent with given path frequencies among its descendants in the family tree, based on the difference between the feature vector <it>f<sub>K</sub></it>(<it>T</it>) and the input feature vectors <it>g<sub>U</sub></it> and <it>g<sub>L</sub></it>.</p>
               <p>Let <it>&#8467;</it><sub>1</sub>, <it>&#8467;</it><sub>2</sub>, &#8230;, <it>&#8467;<sub>s</sub></it> be input labels and <it>g<sub>U</sub></it>, <it>g<sub>L</sub></it> : &#931;<sup>&#8804; <it>K</it> + 1</sup> &#8594; &#8484;<sub>+</sub> be feature vectors. Let <it>r</it><sub>0</sub>, &#8230;, <it>r<sub>h</sub></it> be the vertices in the rightmost path to which a new leaf can be appended and <inline-formula><graphic file="1471-2105-12-S14-S3-i13.gif"/></inline-formula> denote the number of vertices <it>r<sub>j</sub></it> (0 &#8804; <it>j</it> &#8804; <it>h</it>) with <it>&#8467;</it>(<it>r<sub>j</sub></it>) = <it>&#8467;<sub>i</sub></it>. For each label sequence <it>t</it>, #<it>t</it> denotes the number of paths <it>P</it> in <it>T</it> with <it>&#8467;</it>(<it>P</it>) = <it>t</it>. From <it>g<sub>U</sub></it>, <it>g<sub>L</sub></it>, and <it>T</it>, we define new feature vectors <inline-formula><graphic file="1471-2105-12-S14-S3-i14.gif"/></inline-formula> and <inline-formula><graphic file="1471-2105-12-S14-S3-i15.gif"/></inline-formula> of level <it>K</it> = 1 to be</p>
               <p>
                  <display-formula>
                     <graphic file="1471-2105-12-S14-S3-i16.gif"/>
                  </display-formula>
               </p>
               <p>
                  <display-formula>
                     <graphic file="1471-2105-12-S14-S3-i17.gif"/>
                  </display-formula>
               </p>
               <p>We next introduce a vertex with a new label <it>&#8467;</it><sub><it>s</it>+1</sub> of valence <it>h</it> + 1 (for example, label <it>A</it> in Fig. <figr fid="F4">4</figr>), a graph <it>G<sub>U</sub></it> = (<it>V<sub>U</sub></it>, <it>E<sub>U</sub></it>) with a vertex set <it>V<sub>U</sub></it> = {<it>v</it><sub>1</sub>, &#8230;, <it>v<sub>s</sub></it>, <it>v<sub>s</sub></it><sub>+1</sub> | <it>&#8467;</it>(<it>v<sub>i</sub></it>) = <it>&#8467;<sub>i</sub></it>, 1 &#8804; <it>i</it> &#8804; <it>s</it> + 1} and edge set <inline-formula><graphic file="1471-2105-12-S14-S3-i18.gif"/></inline-formula>, and a graph <it>G<sub>L</sub></it> = (<it>V<sub>L</sub></it>,<it>E<sub>L</sub></it>) with a vertex set <it>V<sub>L</sub></it> = {<it>v</it><sub>1</sub>, &#8230;, <it>v<sub>s</sub></it>, <it>v<sub>s</sub></it><sub>+1</sub> | <it>&#8467;</it>(<it>v<sub>i</sub></it>) = <it>&#8467;<sub>i</sub></it>, 1 &#8804; <it>i</it> &#8804; <it>s</it> + 1} and edge set <inline-formula><graphic file="1471-2105-12-S14-S3-i19.gif"/></inline-formula>. Note that <it>d</it>({<it>v<sub>i</sub></it>}, {<it>v<sub>j</sub></it>}; <it>G</it>) means a multiplicity of the edge {<it>v<sub>i</sub></it>,<it>v<sub>j</sub></it>} in a graph <it>G</it>. The function <it>r</it> and degree specification <it>&#961;</it> are defined to be</p>
               <p>
                  <display-formula>
                     <graphic file="1471-2105-12-S14-S3-i20.gif"/>
                  </display-formula>
               </p>
               <fig id="F4"><title><p>Figure 4</p></title><caption><p>Detachment-cut</p></caption><text>
   <p><b>Detachment-cut</b>. Bounding operation by detachment-cut, where vectors <it>g<sub>U</sub></it>(<it>&#8467;</it>, <it>&#8467;&#8242;</it>), <it>g<sub>L</sub></it>(<it>&#8467;</it>, <it>&#8467;&#8242;</it>), <inline-formula><graphic file="1471-2105-12-S14-S3-i21.gif"/></inline-formula>, and <inline-formula><graphic file="1471-2105-12-S14-S3-i22.gif"/></inline-formula> are defined for unordered pairs {<it>&#8467;</it>, <it>&#8467;&#8242;</it>} and those with value=0 are omitted in the tables.</p>
</text><graphic file="1471-2105-12-S14-S3-4"/></fig>
               <p>Using <it>G<sub>U</sub></it>, <it>G<sub>L</sub></it>, <it>r</it>, and <it>&#961;</it>, we can check if a current multitree <it>T</it> violates (C4). We need to check whether none of the following two conditions is violated.</p>
               <p>(a) <inline-formula><graphic file="1471-2105-12-S14-S3-i23.gif"/></inline-formula>.</p>
               <p>(b) <it>r</it>(<it>X</it>) + <it>c</it>(<it>G<sub>U</sub> &#8211; X</it>) <it>&#8211; d</it>(<it>X</it>, <it>V<sub>U</sub></it>; <it>G<sub>U</sub></it>) &#8804; 1 (&#8704;<it>X</it> &#8838; <it>V<sub>U</sub></it>, <it>X</it> &#8800; &#8709;).</p>
               <p>In the first condition, we check whether the number of the rest of bonds is large enough to satisfy the lower feature vector constraint. In the second condition, we check whether <it>T</it> has a connected and loopless descendant based on <it>G<sub>U</sub></it> and Theorem 2.</p>
            </sec>
            <sec>
               <st>
                  <p>Multiplicity-cut procedure</p>
               </st>
               <p>This subsection describes a new bounding operation based on multiplicity for the problem ETULF. Let <it>g</it>(<it>&#8467;</it>) be the number of vertices with label <it>&#8467;</it> &#8712; &#931; that are obtained from given the feature vector. Now we assume that <it>g</it>(<it>&#8467;</it>) for all <it>&#8467;</it> &#8712; &#931; are fixed in the problem ETULF. Then we can calculate the number of edges in output trees in the problem ETULF. Let <it>n</it> be the number of vertices in output trees. If we treat a multiple edge as a set of single edges, the number of edges <it>e<sub>m</sub></it> in an output tree is given by:</p>
               <p>
                  <display-formula>
                     <graphic file="1471-2105-12-S14-S3-i24.gif"/>
                  </display-formula>
               </p>
               <p>On the other hand, if we treat a multiple edge as a simple one, the number of edges <it>e<sub>s</sub></it> in an output tree is equal to <it>n &#8211;</it> 1 due to the tree-like constraint. Now we consider</p>
               <p>
                  <display-formula>
                     <graphic file="1471-2105-12-S14-S3-i25.gif"/>
                  </display-formula>
               </p>
               <p>which means that only <it>M</it> edges are used to construct multiple bonds in an output tree. Note that <it>M</it> &#8805; 0. We calculate <it>M</it> from an input of the problem ETULF before the enumeration algorithm starts.</p>
               <p>Let <it>T</it> = (<it>V</it>, <it>E</it>) be a multitree, and <it>m<sub>e</sub></it> denote the multiplicity of <it>e</it> &#8712; <it>E</it>. <it>The multiplicity M</it>(<it>T</it>) <it>of T</it> is defined to be</p>
               <p>
                  <display-formula>
                     <graphic file="1471-2105-12-S14-S3-i26.gif"/>
                  </display-formula>
               </p>
               <p>Now we describe the <it>multiplicity-cut</it> based on <it>M</it>(<it>T</it>) and <it>M</it>.</p>
               <p>Let <it>T</it> be the current rooted multitree in the branching operation, <it>M</it>(<it>T</it>) be the multiplicity of <it>T</it>, <it>RP</it>(<it>T</it>) = (<it>r</it><sub>0</sub>, <it>r</it><sub>1</sub>, &#8230;, <it>r<sub>k</sub></it>) be the rightmost path of <it>T</it>, <it>T<sub>i</sub></it> be the new rooted multitree obtained by appending a new leaf <it>p</it> to a vertex <it>r<sub>i</sub></it> (0 &#8804; <it>i</it> &#8804; <it>k</it>), and <it>RP</it>(<it>T<sub>i</sub></it>) be the rightmost path of <it>T<sub>i</sub></it> . The rightmost path <it>RP</it>(<it>T<sub>i</sub></it>) of <it>T<sub>i</sub></it> is updated by appending <it>p</it> to the end of <it>RP</it>(<it>T</it>) when a new leaf <it>p</it> is appended to <it>r<sub>i</sub></it>, that is, <it>RP</it>(<it>T<sub>i</sub></it>) = (<it>r</it><sub>0</sub>, <it>r</it><sub>1</sub>,&#8230;, <it>r<sub>i</sub></it>, <it>p</it>). Then we can determine the multiplicities of the edges {(<it>r<sub>j</sub></it>, <it>r</it><sub><it>j</it> &#8211; 1</sub>), <it>j</it> = <it>k</it>, <it>k &#8211;</it> 1, &#8230;, <it>i</it> + 1} due to the valence constraint, at the same time, we update <it>M</it>(<it>T<sub>i</sub></it>). We denote the multiplicity of an edge (<it>r<sub>j</sub></it>, <it>r</it><sub><it>j</it> &#8211; 1</sub>) in <it>T<sub>i</sub></it> by <it>Mul</it>(<it>r<sub>j</sub></it>, <it>r</it><sub><it>j</it> &#8211; 1</sub> | <it>T<sub>i</sub></it>). When we update the multiplicity of the edge (<it>r<sub>j</sub></it>,<it>r</it><sub><it>j</it> &#8211; 1</sub>), <it>M</it>(<it>T<sub>i</sub></it>) is updated as follows:</p>
               <p>
                  <display-formula>
                     <graphic file="1471-2105-12-S14-S3-i27.gif"/>
                  </display-formula>
               </p>
               <p>By the definition of <it>M</it>, a valid multitree <it>T<sub>i</sub></it> satisfies</p>
               <p>
                  <display-formula id="M3">
                     <graphic file="1471-2105-12-S14-S3-i28.gif"/>
                  </display-formula>
               </p>
               <p>If <it>T<sub>i</sub></it> violates (3), then we discard <it>T<sub>i</sub></it> . See Fig. <figr fid="F5">5</figr> for an illustration of this.</p>
               <fig id="F5"><title><p>Figure 5</p></title><caption><p>Multiplicity-cut</p></caption><text>
   <p><b>Multiplicity-cut</b>. An illustration of the multiplicity-cut procedure, where <it>M</it> = 1.</p>
</text><graphic file="1471-2105-12-S14-S3-5"/></fig>
            </sec>
         </sec>
      </sec>
      <sec>
         <st>
            <p>Results</p>
         </st>
         <p>This section reports the experimental results of our algorithm. First of all, we mention that the problem ETULF can be solved by applying the algorithm proposed by Ishida <it>et al</it>. <abbrgrp><abbr bid="B22">22</abbr></abbrgrp> to each single feature vector in a given set of feature vectors, i.e., the problem ETULF can regard as a set of the problem ETPF. Then we call an algorithm for the problem ETULF based on the algorithm proposed by Ishida <it>et al</it>. RepEnum (Repeated Enumeration). On the other hand, we call our algorithm SimEnum (Simultaneous Enumeration). It is to be noted that RepEnum is one of the fastest tools to enumerate tree-like chemical structures from a given molecular formula (i.e., feature vector with <it>K</it> = 0) <abbrgrp><abbr bid="B22">22</abbr></abbrgrp> and, to our knowledge, there does not exist any other available tool to enumerate chemical structures from a given feature vector based on path frequency (i.e., feature vector with general <it>K</it>).</p>
         <p>Now we compare the performances of two algorithms, SimEnum and RepEnum, and we also compare the performances of two algorithms, SimEnum including multiplicity-cut and SimEnum not including multiplicity-cut. We have tested the algorithm SimEnum for some widths between upper and lower feature vectors. Tests were carried out on a PC with CPU AMD Athlon Dual Core Processor 5050e using instances based on some chemical compounds selected from the KEGG LIGAND database <abbrgrp><abbr bid="B25">25</abbr></abbrgrp> (<it><url>http://www.genome.jp/ligand/</url></it>). Note that we treat a benzene ring contained in these compounds as a new virtual atom of valence six.</p>
         <p>We define <it>w</it> &#8712; &#8484;<sub>+</sub> to be a <it>width</it> between upper and lower feature vectors. From a feature vector <it>g</it>, we construct two feature vectors <it>g<sub>U</sub></it> and <it>g<sub>L</sub></it> as follows. For each entry <it>a</it> &gt; 0 of <it>g</it>, let <it>g<sub>U</sub></it> be the upper feature vector, where each entry <it>a<sub>U</sub></it> is given by <it>a</it> + <it>w</it> and <it>g<sub>L</sub></it> be the lower one, where each entry <it>a<sub>L</sub></it> is given by max{0, <it>a &#8211; w</it>}. Note that if <it>w</it> = 0, then an instance for the problem ETULF is equivalent for the problem ETPF.</p>
         <p>Table <tblr tid="T1">1</tblr> and Additional file <supplr sid="S1">1</supplr> show the results of the comparison. We find that the algorithm RepEnum cannot solve all the problems with <it>K</it> = 2 within the time limit since the number of feature vectors in a given set is exponentially increasing with <it>K</it>. On the other hand, Table <tblr tid="T1">1</tblr> shows that the algorithm SimEnum can solve the problem much faster for a larger <it>K</it>. This shows that the algorithm SimEnum runs significantly faster than the algorithm RepEnum. It is also seen that RepEnum can only examine a very small portion of feature vectors in most cases. Additional file <supplr sid="S1">1</supplr> shows that the algorithm SimEnum including multiplicity-cut runs faster than the algorithm SimEnum not including multiplicity-cut for almost all of the instances. This shows that the multiplicity-cut operation works well to improve enumeration efficiency.</p>
         <tbl id="T1"><title><p>Table 1</p></title><caption><p>Comparison of previous method and our method</p></caption><tblbdy cols="12">
      <r>
         <c ca="center">
            <p>Entry Formula</p>
         </c>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p/>
         </c>
         <c ca="center" cspan="3">
            <p>SimEnum</p>
         </c>
         <c ca="center" cspan="4">
            <p>RepEnum</p>
         </c>
      </r>
      <r>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p/>
         </c>
         <c cspan="7">
            <hr/>
         </c>
      </r>
      <r>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p>
               <it>n</it>
            </p>
         </c>
         <c ca="center">
            <p>
               <it>K</it>
            </p>
         </c>
         <c ca="center">
            <p>
               <it>w</it>
            </p>
         </c>
         <c ca="center">
            <p>
               <it>f<sub>v</sub></it>
            </p>
         </c>
         <c ca="center">
            <p>time (s)</p>
         </c>
         <c ca="center">
            <p>nodes</p>
         </c>
         <c ca="center">
            <p>solutions</p>
         </c>
         <c ca="center">
            <p>time (s)</p>
         </c>
         <c ca="center">
            <p>nodes</p>
         </c>
         <c ca="center">
            <p>solutions</p>
         </c>
         <c ca="center">
            <p>solved</p>
         </c>
      </r>
      <r>
         <c cspan="12">
            <hr/>
         </c>
      </r>
      <r>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p>1</p>
         </c>
         <c ca="center">
            <p>1</p>
         </c>
         <c ca="center">
            <p>3<sup>6</sup></p>
         </c>
         <c ca="center">
            <p>1037.04</p>
         </c>
         <c ca="center">
            <p>177,074,686</p>
         </c>
         <c ca="center">
            <p>414,890</p>
         </c>
         <c ca="center">
            <p>163.32</p>
         </c>
         <c ca="center">
            <p>44,340,488</p>
         </c>
         <c ca="center">
            <p>414,890</p>
         </c>
         <c ca="center">
            <p>729</p>
         </c>
      </r>
      <r>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p>2</p>
         </c>
         <c ca="center">
            <p>1</p>
         </c>
         <c ca="center">
            <p>3<sup>18</sup></p>
         </c>
         <c ca="center">
            <p>2.97</p>
         </c>
         <c ca="center">
            <p>392,246</p>
         </c>
         <c ca="center">
            <p>44</p>
         </c>
         <c ca="center">
            <p>T.O.</p>
         </c>
         <c ca="center">
            <p>2,381,360,000</p>
         </c>
         <c ca="center">
            <p>N.F.</p>
         </c>
         <c ca="center">
            <p>65,909,572</p>
         </c>
      </r>
      <r>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p>3</p>
         </c>
         <c ca="center">
            <p>1</p>
         </c>
         <c ca="center">
            <p>3<sup>34</sup></p>
         </c>
         <c ca="center">
            <p>1.22</p>
         </c>
         <c ca="center">
            <p>145,213</p>
         </c>
         <c ca="center">
            <p>2</p>
         </c>
         <c ca="center">
            <p>T.O.</p>
         </c>
         <c ca="center">
            <p>3,293,260,000</p>
         </c>
         <c ca="center">
            <p>N.F.</p>
         </c>
         <c ca="center">
            <p>96,860,588</p>
         </c>
      </r>
      <r>
         <c ca="center">
            <p>C00062</p>
         </c>
         <c ca="center">
            <p>26</p>
         </c>
         <c ca="center">
            <p>4</p>
         </c>
         <c ca="center">
            <p>1</p>
         </c>
         <c ca="center">
            <p>3<sup>53</sup></p>
         </c>
         <c ca="center">
            <p>0.33</p>
         </c>
         <c ca="center">
            <p>34,539</p>
         </c>
         <c ca="center">
            <p>1</p>
         </c>
         <c ca="center">
            <p>T.O.</p>
         </c>
         <c ca="center">
            <p>2,780,050,000</p>
         </c>
         <c ca="center">
            <p>N.F.</p>
         </c>
         <c ca="center">
            <p>81,766,176</p>
         </c>
      </r>
      <r>
         <c ca="center">
            <p>C<sub>6</sub>H<sub>14</sub>N<sub>2</sub>O<sub>4</sub></p>
         </c>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p>5</p>
         </c>
         <c ca="center">
            <p>1</p>
         </c>
         <c ca="center">
            <p>3<sup>71</sup></p>
         </c>
         <c ca="center">
            <p>0.24</p>
         </c>
         <c ca="center">
            <p>20,361</p>
         </c>
         <c ca="center">
            <p>1</p>
         </c>
         <c ca="center">
            <p>T.O.</p>
         </c>
         <c ca="center">
            <p>1,561,230,000</p>
         </c>
         <c ca="center">
            <p>N.F.</p>
         </c>
         <c ca="center">
            <p>45,918,529</p>
         </c>
      </r>
      <r>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p>6</p>
         </c>
         <c ca="center">
            <p>1</p>
         </c>
         <c ca="center">
            <p>3<sup>85</sup></p>
         </c>
         <c ca="center">
            <p>0.25</p>
         </c>
         <c ca="center">
            <p>15,166</p>
         </c>
         <c ca="center">
            <p>1</p>
         </c>
         <c ca="center">
            <p>T.O.</p>
         </c>
         <c ca="center">
            <p>569,590,000</p>
         </c>
         <c ca="center">
            <p>N.F.</p>
         </c>
         <c ca="center">
            <p>16,752,647</p>
         </c>
      </r>
      <r>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p>7</p>
         </c>
         <c ca="center">
            <p>1</p>
         </c>
         <c ca="center">
            <p>3<sup>96</sup></p>
         </c>
         <c ca="center">
            <p>0.18</p>
         </c>
         <c ca="center">
            <p>14,547</p>
         </c>
         <c ca="center">
            <p>1</p>
         </c>
         <c ca="center">
            <p>T.O.</p>
         </c>
         <c ca="center">
            <p>79,870,000</p>
         </c>
         <c ca="center">
            <p>N.F.</p>
         </c>
         <c ca="center">
            <p>2,349,117</p>
         </c>
      </r>
      <r>
         <c cspan="12">
            <hr/>
         </c>
      </r>
      <r>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p>1</p>
         </c>
         <c ca="center">
            <p>1</p>
         </c>
         <c ca="center">
            <p>3<sup>6</sup></p>
         </c>
         <c ca="center">
            <p>T.O.</p>
         </c>
         <c ca="center">
            <p>377,260,000</p>
         </c>
         <c ca="center">
            <p>N.F.</p>
         </c>
         <c ca="center">
            <p>T.O.</p>
         </c>
         <c ca="center">
            <p>413,000,000</p>
         </c>
         <c ca="center">
            <p>N.F.</p>
         </c>
         <c ca="center">
            <p>460</p>
         </c>
      </r>
      <r>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p>2</p>
         </c>
         <c ca="center">
            <p>1</p>
         </c>
         <c ca="center">
            <p>3<sup>18</sup></p>
         </c>
         <c ca="center">
            <p>7.24</p>
         </c>
         <c ca="center">
            <p>845,760</p>
         </c>
         <c ca="center">
            <p>25</p>
         </c>
         <c ca="center">
            <p>T.O.</p>
         </c>
         <c ca="center">
            <p>1,442,760,000</p>
         </c>
         <c ca="center">
            <p>N.F.</p>
         </c>
         <c ca="center">
            <p>70,175,902</p>
         </c>
      </r>
      <r>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p>3</p>
         </c>
         <c ca="center">
            <p>1</p>
         </c>
         <c ca="center">
            <p>3<sup>31</sup></p>
         </c>
         <c ca="center">
            <p>2.81</p>
         </c>
         <c ca="center">
            <p>307,151</p>
         </c>
         <c ca="center">
            <p>7</p>
         </c>
         <c ca="center">
            <p>T.O.</p>
         </c>
         <c ca="center">
            <p>3,316,970,000</p>
         </c>
         <c ca="center">
            <p>N.F.</p>
         </c>
         <c ca="center">
            <p>195,115,882</p>
         </c>
      </r>
      <r>
         <c ca="center">
            <p>C03343</p>
         </c>
         <c ca="center">
            <p>37</p>
         </c>
         <c ca="center">
            <p>4</p>
         </c>
         <c ca="center">
            <p>1</p>
         </c>
         <c ca="center">
            <p>3<sup>47</sup></p>
         </c>
         <c ca="center">
            <p>1.03</p>
         </c>
         <c ca="center">
            <p>99,945</p>
         </c>
         <c ca="center">
            <p>1</p>
         </c>
         <c ca="center">
            <p>T.O.</p>
         </c>
         <c ca="center">
            <p>2,494,780,000</p>
         </c>
         <c ca="center">
            <p>N.F.</p>
         </c>
         <c ca="center">
            <p>146,751,764</p>
         </c>
      </r>
      <r>
         <c ca="center">
            <p>C<sub>16</sub>H<sub>22</sub>O<sub>4</sub></p>
         </c>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p>5</p>
         </c>
         <c ca="center">
            <p>1</p>
         </c>
         <c ca="center">
            <p>3<sup>64</sup></p>
         </c>
         <c ca="center">
            <p>0.98</p>
         </c>
         <c ca="center">
            <p>87,600</p>
         </c>
         <c ca="center">
            <p>1</p>
         </c>
         <c ca="center">
            <p>T.O.</p>
         </c>
         <c ca="center">
            <p>1,050,480,000</p>
         </c>
         <c ca="center">
            <p>N.F.</p>
         </c>
         <c ca="center">
            <p>61,792,941</p>
         </c>
      </r>
      <r>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p>6</p>
         </c>
         <c ca="center">
            <p>1</p>
         </c>
         <c ca="center">
            <p>3<sup>82</sup></p>
         </c>
         <c ca="center">
            <p>0.76</p>
         </c>
         <c ca="center">
            <p>60,194</p>
         </c>
         <c ca="center">
            <p>1</p>
         </c>
         <c ca="center">
            <p>T.O.</p>
         </c>
         <c ca="center">
            <p>315,820,000</p>
         </c>
         <c ca="center">
            <p>N.F.</p>
         </c>
         <c ca="center">
            <p>18,577,647</p>
         </c>
      </r>
      <r>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p>7</p>
         </c>
         <c ca="center">
            <p>1</p>
         </c>
         <c ca="center">
            <p>3<sup>99</sup></p>
         </c>
         <c ca="center">
            <p>0.57</p>
         </c>
         <c ca="center">
            <p>42,538</p>
         </c>
         <c ca="center">
            <p>1</p>
         </c>
         <c ca="center">
            <p>T.O.</p>
         </c>
         <c ca="center">
            <p>41,450,000</p>
         </c>
         <c ca="center">
            <p>N.F.</p>
         </c>
         <c ca="center">
            <p>2,438,235</p>
         </c>
      </r>
      <r>
         <c cspan="12">
            <hr/>
         </c>
      </r>
      <r>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p>1</p>
         </c>
         <c ca="center">
            <p>1</p>
         </c>
         <c ca="center">
            <p>3<sup>8</sup></p>
         </c>
         <c ca="center">
            <p>T.O.</p>
         </c>
         <c ca="center">
            <p>157,320,000</p>
         </c>
         <c ca="center">
            <p>N.F.</p>
         </c>
         <c ca="center">
            <p>T.O.</p>
         </c>
         <c ca="center">
            <p>200,490,000</p>
         </c>
         <c ca="center">
            <p>N.F.</p>
         </c>
         <c ca="center">
            <p>1,388</p>
         </c>
      </r>
      <r>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p>2</p>
         </c>
         <c ca="center">
            <p>1</p>
         </c>
         <c ca="center">
            <p>3<sup>26</sup></p>
         </c>
         <c ca="center">
            <p>37.59</p>
         </c>
         <c ca="center">
            <p>1,940,295</p>
         </c>
         <c ca="center">
            <p>238</p>
         </c>
         <c ca="center">
            <p>T.O.</p>
         </c>
         <c ca="center">
            <p>2,911,390,000</p>
         </c>
         <c ca="center">
            <p>N.F.</p>
         </c>
         <c ca="center">
            <p>66,167,954</p>
         </c>
      </r>
      <r>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p>3</p>
         </c>
         <c ca="center">
            <p>1</p>
         </c>
         <c ca="center">
            <p>3<sup>48</sup></p>
         </c>
         <c ca="center">
            <p>1.71</p>
         </c>
         <c ca="center">
            <p>60,792</p>
         </c>
         <c ca="center">
            <p>3</p>
         </c>
         <c ca="center">
            <p>T.O.</p>
         </c>
         <c ca="center">
            <p>2,673,940,000</p>
         </c>
         <c ca="center">
            <p>N.F.</p>
         </c>
         <c ca="center">
            <p>60,771,363</p>
         </c>
      </r>
      <r>
         <c ca="center">
            <p>C07178</p>
         </c>
         <c ca="center">
            <p>46</p>
         </c>
         <c ca="center">
            <p>4</p>
         </c>
         <c ca="center">
            <p>1</p>
         </c>
         <c ca="center">
            <p>3<sup>71</sup></p>
         </c>
         <c ca="center">
            <p>0.35</p>
         </c>
         <c ca="center">
            <p>14,248</p>
         </c>
         <c ca="center">
            <p>1</p>
         </c>
         <c ca="center">
            <p>T.O.</p>
         </c>
         <c ca="center">
            <p>1,925,490,000</p>
         </c>
         <c ca="center">
            <p>N.F.</p>
         </c>
         <c ca="center">
            <p>43,761,136</p>
         </c>
      </r>
      <r>
         <c ca="center">
            <p>C<sub>21</sub>H<sub>28</sub>N<sub>2</sub>O<sub>5</sub></p>
         </c>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p>5</p>
         </c>
         <c ca="center">
            <p>1</p>
         </c>
         <c ca="center">
            <p>3<sup>92</sup></p>
         </c>
         <c ca="center">
            <p>0.27</p>
         </c>
         <c ca="center">
            <p>10,866</p>
         </c>
         <c ca="center">
            <p>1</p>
         </c>
         <c ca="center">
            <p>T.O.</p>
         </c>
         <c ca="center">
            <p>743,940,000</p>
         </c>
         <c ca="center">
            <p>N.F.</p>
         </c>
         <c ca="center">
            <p>16,907,727</p>
         </c>
      </r>
      <r>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p>6</p>
         </c>
         <c ca="center">
            <p>1</p>
         </c>
         <c ca="center">
            <p>3<sup>110</sup></p>
         </c>
         <c ca="center">
            <p>0.27</p>
         </c>
         <c ca="center">
            <p>10,680</p>
         </c>
         <c ca="center">
            <p>1</p>
         </c>
         <c ca="center">
            <p>T.O.</p>
         </c>
         <c ca="center">
            <p>93,880,000</p>
         </c>
         <c ca="center">
            <p>N.F.</p>
         </c>
         <c ca="center">
            <p>2,133,636</p>
         </c>
      </r>
      <r>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p>7</p>
         </c>
         <c ca="center">
            <p>1</p>
         </c>
         <c ca="center">
            <p>3<sup>125</sup></p>
         </c>
         <c ca="center">
            <p>0.24</p>
         </c>
         <c ca="center">
            <p>9,276</p>
         </c>
         <c ca="center">
            <p>1</p>
         </c>
         <c ca="center">
            <p>T.O.</p>
         </c>
         <c ca="center">
            <p>19,270,000</p>
         </c>
         <c ca="center">
            <p>N.F.</p>
         </c>
         <c ca="center">
            <p>437,954</p>
         </c>
      </r>
      <r>
         <c cspan="12">
            <hr/>
         </c>
      </r>
      <r>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p>1</p>
         </c>
         <c ca="center">
            <p>1</p>
         </c>
         <c ca="center">
            <p>3<sup>5</sup></p>
         </c>
         <c ca="center">
            <p>T.O.</p>
         </c>
         <c ca="center">
            <p>382,470,000</p>
         </c>
         <c ca="center">
            <p>N.F.</p>
         </c>
         <c ca="center">
            <p>T.O.</p>
         </c>
         <c ca="center">
            <p>552,290,000</p>
         </c>
         <c ca="center">
            <p>N.F.</p>
         </c>
         <c ca="center">
            <p>61</p>
         </c>
      </r>
      <r>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p>2</p>
         </c>
         <c ca="center">
            <p>1</p>
         </c>
         <c ca="center">
            <p>3<sup>16</sup></p>
         </c>
         <c ca="center">
            <p>T.O.</p>
         </c>
         <c ca="center">
            <p>211,800,000</p>
         </c>
         <c ca="center">
            <p>N.F.</p>
         </c>
         <c ca="center">
            <p>T.O.</p>
         </c>
         <c ca="center">
            <p>530,930,000</p>
         </c>
         <c ca="center">
            <p>N.F.</p>
         </c>
         <c ca="center">
            <p>10,451,912</p>
         </c>
      </r>
      <r>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p>3</p>
         </c>
         <c ca="center">
            <p>1</p>
         </c>
         <c ca="center">
            <p>3<sup>27</sup></p>
         </c>
         <c ca="center">
            <p>1395.13</p>
         </c>
         <c ca="center">
            <p>144,244,042</p>
         </c>
         <c ca="center">
            <p>206</p>
         </c>
         <c ca="center">
            <p>T.O.</p>
         </c>
         <c ca="center">
            <p>3,314,260,000</p>
         </c>
         <c ca="center">
            <p>N.F.</p>
         </c>
         <c ca="center">
            <p>194,956,470</p>
         </c>
      </r>
      <r>
         <c ca="center">
            <p>C03690</p>
         </c>
         <c ca="center">
            <p>61</p>
         </c>
         <c ca="center">
            <p>4</p>
         </c>
         <c ca="center">
            <p>1</p>
         </c>
         <c ca="center">
            <p>3<sup>41</sup></p>
         </c>
         <c ca="center">
            <p>121.36</p>
         </c>
         <c ca="center">
            <p>11,332,363</p>
         </c>
         <c ca="center">
            <p>4</p>
         </c>
         <c ca="center">
            <p>T.O.</p>
         </c>
         <c ca="center">
            <p>2,392,530,000</p>
         </c>
         <c ca="center">
            <p>N.F.</p>
         </c>
         <c ca="center">
            <p>140,737,058</p>
         </c>
      </r>
      <r>
         <c ca="center">
            <p>C<sub>24</sub>H<sub>38</sub>O<sub>4</sub></p>
         </c>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p>5</p>
         </c>
         <c ca="center">
            <p>1</p>
         </c>
         <c ca="center">
            <p>3<sup>57</sup></p>
         </c>
         <c ca="center">
            <p>83.70</p>
         </c>
         <c ca="center">
            <p>6,978,557</p>
         </c>
         <c ca="center">
            <p>2</p>
         </c>
         <c ca="center">
            <p>T.O.</p>
         </c>
         <c ca="center">
            <p>958,650,000</p>
         </c>
         <c ca="center">
            <p>N.F.</p>
         </c>
         <c ca="center">
            <p>56,391,176</p>
         </c>
      </r>
      <r>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p>6</p>
         </c>
         <c ca="center">
            <p>1</p>
         </c>
         <c ca="center">
            <p>3<sup>75</sup></p>
         </c>
         <c ca="center">
            <p>40.11</p>
         </c>
         <c ca="center">
            <p>2,923,819</p>
         </c>
         <c ca="center">
            <p>1</p>
         </c>
         <c ca="center">
            <p>T.O.</p>
         </c>
         <c ca="center">
            <p>298,600,000</p>
         </c>
         <c ca="center">
            <p>N.F.</p>
         </c>
         <c ca="center">
            <p>17,564,705</p>
         </c>
      </r>
      <r>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p>7</p>
         </c>
         <c ca="center">
            <p>1</p>
         </c>
         <c ca="center">
            <p>3<sup>92</sup></p>
         </c>
         <c ca="center">
            <p>16.50</p>
         </c>
         <c ca="center">
            <p>1,096,128</p>
         </c>
         <c ca="center">
            <p>1</p>
         </c>
         <c ca="center">
            <p>T.O.</p>
         </c>
         <c ca="center">
            <p>38,670,000</p>
         </c>
         <c ca="center">
            <p>N.F.</p>
         </c>
         <c ca="center">
            <p>2,274,705</p>
         </c>
      </r>
   </tblbdy><tblfn>
      <p>Comparison of SimEnum and RepEnum for the problem ETULF.</p>
      <p>Note:</p>
      <p>(1) C00062, C03343, C07178, and C03630 are the chemical compounds in the KEGG LIGAND database, respectively;</p>
      <p>(2) <it>n</it> is the number of vertices in an instance preprocessed by replacing each benzene ring with a new atom having six valences;</p>
      <p>(3) <it>K</it> is the level of given feature vectors;</p>
      <p>(4) <it>w</it> is the width for constructing upper and lower feature vectors;</p>
      <p>(5) <it>f<sub>v</sub></it> is the number of feature vectors in a given set;</p>
      <p>(6) &#8220;time (s)&#8221; is the CPU time in seconds;</p>
      <p>(7) T.O. means &#8220;time over&#8221; (the time limit is set to be 1,800 seconds);</p>
      <p>(8) &#8220;nodes&#8221; is (the sum of) the number of nodes of family trees that are traversed;</p>
      <p>(9) &#8220;solutions&#8221; is the number of all possible solutions;</p>
      <p>(10) &#8220;solved&#8221; is the number of feature vectors which the algorithm RepEnum solved in the time limit; and (11) N.F. means &#8220;not found.&#8221;</p>
   </tblfn></tbl>
         <suppl id="S1">
            <title>
               <p>Additional file 1</p>
            </title>
            <caption>
               <p/>
            </caption>
            <text>
               <p><b>Comparison of multiplicity-cut</b> Comparison of SimEnum including multiplicity-cut and SimEnum not including multiplicity-cut for the problem ETULF. Note: (1) &#8220;add multiplicity-cut&#8221; is the algorithm SimEnum including multiplicity-cut; and (2) &#8220;no multiplicity-cut&#8221; is the algorithm SimEnum not including multiplicity-cut.</p>
            </text>
            <file name="1471-2105-12-S14-S3-S1.pdf">
   <p>Click here for file</p>
</file>
         </suppl>
         <p>Table <tblr tid="T2">2</tblr> shows the results on the performance for varying width <it>w</it> for the problem ETULF. The search space in the problem ETULF is exponentially increasing with <it>w</it>. However, it seems that the number of search nodes and computation time are not exponentially increasing with <it>w</it>. This suggests that the algorithm SimEnum works efficiently for the large search space in the problem ETULF.</p>
         <tbl id="T2"><title><p>Table 2</p></title><caption><p>Comparison of varying width</p></caption><tblbdy cols="7">
      <r>
         <c ca="center">
            <p>Entry Formula</p>
         </c>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p/>
         </c>
         <c ca="center" cspan="3">
            <p>SimEnum</p>
         </c>
      </r>
      <r>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p/>
         </c>
         <c cspan="3">
            <hr/>
         </c>
      </r>
      <r>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p>
               <it>n</it>
            </p>
         </c>
         <c ca="center">
            <p>
               <it>K</it>
            </p>
         </c>
         <c ca="center">
            <p>
               <it>w</it>
            </p>
         </c>
         <c ca="center">
            <p>time (s)</p>
         </c>
         <c ca="center">
            <p>nodes</p>
         </c>
         <c ca="center">
            <p>solutions</p>
         </c>
      </r>
      <r>
         <c cspan="7">
            <hr/>
         </c>
      </r>
      <r>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p>2</p>
         </c>
         <c ca="center">
            <p>0</p>
         </c>
         <c ca="center">
            <p>0.51</p>
         </c>
         <c ca="center">
            <p>55,196</p>
         </c>
         <c ca="center">
            <p>6</p>
         </c>
      </r>
      <r>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p>2</p>
         </c>
         <c ca="center">
            <p>1</p>
         </c>
         <c ca="center">
            <p>3.58</p>
         </c>
         <c ca="center">
            <p>400,501</p>
         </c>
         <c ca="center">
            <p>44</p>
         </c>
      </r>
      <r>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p>2</p>
         </c>
         <c ca="center">
            <p>2</p>
         </c>
         <c ca="center">
            <p>7.58</p>
         </c>
         <c ca="center">
            <p>835,509</p>
         </c>
         <c ca="center">
            <p>503</p>
         </c>
      </r>
      <r>
         <c ca="center">
            <p>C00062</p>
         </c>
         <c ca="center">
            <p>26</p>
         </c>
         <c ca="center">
            <p>2</p>
         </c>
         <c ca="center">
            <p>3</p>
         </c>
         <c ca="center">
            <p>10.84</p>
         </c>
         <c ca="center">
            <p>1,163,548</p>
         </c>
         <c ca="center">
            <p>2,351</p>
         </c>
      </r>
      <r>
         <c ca="center">
            <p>C<sub>6</sub>H<sub>14</sub>N<sub>2</sub>O<sub>4</sub></p>
         </c>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p>2</p>
         </c>
         <c ca="center">
            <p>4</p>
         </c>
         <c ca="center">
            <p>12.55</p>
         </c>
         <c ca="center">
            <p>1,349,057</p>
         </c>
         <c ca="center">
            <p>5,430</p>
         </c>
      </r>
      <r>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p>2</p>
         </c>
         <c ca="center">
            <p>5</p>
         </c>
         <c ca="center">
            <p>13.29</p>
         </c>
         <c ca="center">
            <p>1,431,075</p>
         </c>
         <c ca="center">
            <p>9,852</p>
         </c>
      </r>
      <r>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p>2</p>
         </c>
         <c ca="center">
            <p>50</p>
         </c>
         <c ca="center">
            <p>14.31</p>
         </c>
         <c ca="center">
            <p>1,537,496</p>
         </c>
         <c ca="center">
            <p>25,425</p>
         </c>
      </r>
      <r>
         <c cspan="7">
            <hr/>
         </c>
      </r>
      <r>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p>2</p>
         </c>
         <c ca="center">
            <p>0</p>
         </c>
         <c ca="center">
            <p>0.34</p>
         </c>
         <c ca="center">
            <p>35,952</p>
         </c>
         <c ca="center">
            <p>9</p>
         </c>
      </r>
      <r>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p>2</p>
         </c>
         <c ca="center">
            <p>1</p>
         </c>
         <c ca="center">
            <p>8.39</p>
         </c>
         <c ca="center">
            <p>845,760</p>
         </c>
         <c ca="center">
            <p>25</p>
         </c>
      </r>
      <r>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p>2</p>
         </c>
         <c ca="center">
            <p>2</p>
         </c>
         <c ca="center">
            <p>48.27</p>
         </c>
         <c ca="center">
            <p>4,815,369</p>
         </c>
         <c ca="center">
            <p>41</p>
         </c>
      </r>
      <r>
         <c ca="center">
            <p>C03343</p>
         </c>
         <c ca="center">
            <p>37</p>
         </c>
         <c ca="center">
            <p>2</p>
         </c>
         <c ca="center">
            <p>3</p>
         </c>
         <c ca="center">
            <p>149.83</p>
         </c>
         <c ca="center">
            <p>14,781,738</p>
         </c>
         <c ca="center">
            <p>305</p>
         </c>
      </r>
      <r>
         <c ca="center">
            <p>C<sub>16</sub>H<sub>22</sub>O<sub>4</sub></p>
         </c>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p>2</p>
         </c>
         <c ca="center">
            <p>4</p>
         </c>
         <c ca="center">
            <p>377.01</p>
         </c>
         <c ca="center">
            <p>37,435,878</p>
         </c>
         <c ca="center">
            <p>40,732</p>
         </c>
      </r>
      <r>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p>2</p>
         </c>
         <c ca="center">
            <p>5</p>
         </c>
         <c ca="center">
            <p>639.68</p>
         </c>
         <c ca="center">
            <p>63,459,180</p>
         </c>
         <c ca="center">
            <p>106,870</p>
         </c>
      </r>
      <r>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p>2</p>
         </c>
         <c ca="center">
            <p>50</p>
         </c>
         <c ca="center">
            <p>1118.75</p>
         </c>
         <c ca="center">
            <p>110,703,034</p>
         </c>
         <c ca="center">
            <p>510,079</p>
         </c>
      </r>
      <r>
         <c cspan="7">
            <hr/>
         </c>
      </r>
      <r>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p>2</p>
         </c>
         <c ca="center">
            <p>0</p>
         </c>
         <c ca="center">
            <p>2.33</p>
         </c>
         <c ca="center">
            <p>111,781</p>
         </c>
         <c ca="center">
            <p>16</p>
         </c>
      </r>
      <r>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p>2</p>
         </c>
         <c ca="center">
            <p>1</p>
         </c>
         <c ca="center">
            <p>46.81</p>
         </c>
         <c ca="center">
            <p>2,246,578</p>
         </c>
         <c ca="center">
            <p>238</p>
         </c>
      </r>
      <r>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p>2</p>
         </c>
         <c ca="center">
            <p>2</p>
         </c>
         <c ca="center">
            <p>96.52</p>
         </c>
         <c ca="center">
            <p>4,715,072</p>
         </c>
         <c ca="center">
            <p>1,375</p>
         </c>
      </r>
      <r>
         <c ca="center">
            <p>C07178</p>
         </c>
         <c ca="center">
            <p>46</p>
         </c>
         <c ca="center">
            <p>2</p>
         </c>
         <c ca="center">
            <p>3</p>
         </c>
         <c ca="center">
            <p>152.18</p>
         </c>
         <c ca="center">
            <p>7,420,060</p>
         </c>
         <c ca="center">
            <p>6,824</p>
         </c>
      </r>
      <r>
         <c ca="center">
            <p>C<sub>21</sub>H<sub>28</sub>N<sub>2</sub>O<sub>5</sub></p>
         </c>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p>2</p>
         </c>
         <c ca="center">
            <p>4</p>
         </c>
         <c ca="center">
            <p>179.42</p>
         </c>
         <c ca="center">
            <p>8,744,563</p>
         </c>
         <c ca="center">
            <p>19,180</p>
         </c>
      </r>
      <r>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p>2</p>
         </c>
         <c ca="center">
            <p>5</p>
         </c>
         <c ca="center">
            <p>199.66</p>
         </c>
         <c ca="center">
            <p>9,677,513</p>
         </c>
         <c ca="center">
            <p>29,891</p>
         </c>
      </r>
      <r>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p>2</p>
         </c>
         <c ca="center">
            <p>50</p>
         </c>
         <c ca="center">
            <p>255.01</p>
         </c>
         <c ca="center">
            <p>12,292,587</p>
         </c>
         <c ca="center">
            <p>54,861</p>
         </c>
      </r>
      <r>
         <c cspan="7">
            <hr/>
         </c>
      </r>
      <r>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p>5</p>
         </c>
         <c ca="center">
            <p>0</p>
         </c>
         <c ca="center">
            <p>19.50</p>
         </c>
         <c ca="center">
            <p>1,482,017</p>
         </c>
         <c ca="center">
            <p>2</p>
         </c>
      </r>
      <r>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p>5</p>
         </c>
         <c ca="center">
            <p>1</p>
         </c>
         <c ca="center">
            <p>220.14</p>
         </c>
         <c ca="center">
            <p>16,063,569</p>
         </c>
         <c ca="center">
            <p>5</p>
         </c>
      </r>
      <r>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p>5</p>
         </c>
         <c ca="center">
            <p>2</p>
         </c>
         <c ca="center">
            <p>439.12</p>
         </c>
         <c ca="center">
            <p>33,037,741</p>
         </c>
         <c ca="center">
            <p>32</p>
         </c>
      </r>
      <r>
         <c ca="center">
            <p>C03690</p>
         </c>
         <c ca="center">
            <p>61</p>
         </c>
         <c ca="center">
            <p>5</p>
         </c>
         <c ca="center">
            <p>3</p>
         </c>
         <c ca="center">
            <p>684.88</p>
         </c>
         <c ca="center">
            <p>52,207,745</p>
         </c>
         <c ca="center">
            <p>178</p>
         </c>
      </r>
      <r>
         <c ca="center">
            <p>C<sub>24</sub>H<sub>38</sub>O<sub>4</sub></p>
         </c>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p>5</p>
         </c>
         <c ca="center">
            <p>4</p>
         </c>
         <c ca="center">
            <p>1024.96</p>
         </c>
         <c ca="center">
            <p>78,509,554</p>
         </c>
         <c ca="center">
            <p>349</p>
         </c>
      </r>
      <r>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p>5</p>
         </c>
         <c ca="center">
            <p>5</p>
         </c>
         <c ca="center">
            <p>1285.55</p>
         </c>
         <c ca="center">
            <p>98,762,291</p>
         </c>
         <c ca="center">
            <p>615</p>
         </c>
      </r>
      <r>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p/>
         </c>
         <c ca="center">
            <p>5</p>
         </c>
         <c ca="center">
            <p>50</p>
         </c>
         <c ca="center">
            <p>T.O.</p>
         </c>
         <c ca="center">
            <p>136,835,134</p>
         </c>
         <c ca="center">
            <p>N.F.</p>
         </c>
      </r>
   </tblbdy><tblfn>
      <p>Comparison of the performance for varying <it>w</it> for the problem ETULF.</p>
   </tblfn></tbl>
         <p>Here, we briefly discuss practical values on <it>K</it> and <it>w</it> though we do not have concrete evidence and these values depend on target classes of chemical compounds. It is suggested from the results on similar feature vectors <abbrgrp><abbr bid="B9">9</abbr><abbr bid="B10">10</abbr><abbr bid="B15">15</abbr></abbrgrp> that <it>K</it> between 3 to 10 should be used. Though there is no previous result on <it>w</it>, it is seen from Table <tblr tid="T2">2</tblr> that <it>w</it> cannot be large because there may exist too many solutions. Therefore, <it>w</it> less than 4 should be used.</p>
      </sec>
      <sec>
         <st>
            <p>Conclusions</p>
         </st>
         <p>We considered the problem of enumerating all tree-like chemical graphs from a given set of feature vectors, which is specified by upper and lower feature vectors based on frequencies of paths, and proposed a new exact branch-and-bound algorithm. Our experimental results show that our algorithm outperforms the naive algorithm based on a previous method. In comparison to the algorithm based on Ishida <it>et al</it>. <abbrgrp><abbr bid="B22">22</abbr></abbrgrp>, our algorithm can greatly reduce the number of search nodes and the computation time and enumerate all the feasible solutions in many instances.</p>
         <p>However, the search space of the problem ETULF is much larger than that of the problem ETPF due to upper and lower constraints and in fact there are many search nodes for solving the problem ETULF by our algorithm. One of the future works is to improve the bounding operations, or introduce a new bounding operation. Actually, in the feature-vector-cut mentioned in subsection , information of a lower feature vector <it>g<sub>L</sub></it> is only used if <it>|T|</it> = <it>n</it>. Another future work is to develop a web server that implements our proposed algorithm. Generalization of the proposed techniques for other types of kernel functions and other problems is also left as a future work.</p>
      </sec>
      <sec>
         <st>
            <p>Competing interests</p>
         </st>
         <p>The authors declare that they have no competing interests.</p>
      </sec>
      <sec>
         <st>
            <p>Author&#8217;s contributions</p>
         </st>
         <p>HN gave the basic idea based on discussions with TA and MS. MS developed and implemented the algorithms, and carried out the experiments. MS, HN, and TA authored and approved the manuscript.</p>
      </sec>
   </bdy>
   <bm>
      <ack>
         <sec>
            <st>
               <p>Acknowledgements</p>
            </st>
            <p>This work was partially supported by Grant-in-Aid #22240009 from Mext, Japan.</p>
            <p>This article has been published as part of <it>BMC Bioinformatics</it> Volume 12 Supplement 14, 2011: 22nd International Conference on Genome Informatics: Bioinformatics. The full contents of the supplement are available online at <url>http://www.biomedcentral.com/1471-2105/12?issue=S14</url>.</p>
         </sec>
      </ack>
      <refgrp><bibl id="B1"><title><p>Chemical combinatorics for alkane-isomer enumeration and more</p></title><aug><au><snm>Bytautas</snm><fnm>L</fnm></au><au><snm>Klein</snm><fnm>DJ</fnm></au></aug><source>Journal of Chemical Information and Computer Sciences</source><pubdate>1998</pubdate><volume>38</volume><fpage>1063</fpage><lpage>1078</lpage><xrefbib><pubid idtype="doi">10.1021/ci980095c</pubid></xrefbib></bibl><bibl id="B2"><title><p>Formula periodic table for acyclic hydrocarbon isomer classes: combinatorially averaged graph invariants</p></title><aug><au><snm>Bytautas</snm><fnm>L</fnm></au><au><snm>Klein</snm><fnm>DJ</fnm></au></aug><source>Physical Chemistry Chemical Physics</source><pubdate>1999</pubdate><volume>1</volume><fpage>5565</fpage><lpage>5572</lpage></bibl><bibl id="B3"><title><p>Isomer combinatorics for acyclic conjugated polyenes: enumeration and beyond</p></title><aug><au><snm>Bytautas</snm><fnm>L</fnm></au><au><snm>Klein</snm><fnm>DJ</fnm></au></aug><source>Theoretical Chemistry Accounts</source><pubdate>1999</pubdate><volume>101</volume><fpage>371</fpage><lpage>387</lpage><xrefbib><pubid idtype="doi">10.1007/s002140050455</pubid></xrefbib></bibl><bibl id="B4"><title><p>On the analytic forms called trees with applications to the theory of chemical combinations</p></title><aug><au><snm>Cayley</snm><fnm>A</fnm></au></aug><source>Reports British Association for the Advancement of Science</source><pubdate>1875</pubdate><volume>45</volume><fpage>257</fpage><lpage>305</lpage></bibl><bibl id="B5"><title><p>DENDRAL and Meta-DENDRAL: their applications dimension</p></title><aug><au><snm>Buchanan</snm><fnm>BG</fnm></au><au><snm>Feigenbaum</snm><fnm>EA</fnm></au></aug><source>Aritificial Intelligence</source><pubdate>1978</pubdate><volume>11</volume><fpage>5</fpage><lpage>24</lpage><xrefbib><pubid idtype="doi">10.1016/0004-3702(78)90010-3</pubid></xrefbib></bibl><bibl id="B6"><title><p>Recent advances in the automated structure elucidation system, CHEMICS. Utilization of two-dimensional NMR spectral information and development of peripheral functions for examination of candidates</p></title><aug><au><snm>Funatsu</snm><fnm>K</fnm></au><au><snm>Sasaki</snm><fnm>S</fnm></au></aug><source>Journal of Chemical Information and Computer Sciences</source><pubdate>1996</pubdate><volume>36</volume><fpage>190</fpage><lpage>204</lpage><xrefbib><pubid idtype="doi">10.1021/ci950152r</pubid></xrefbib></bibl><bibl id="B7"><title><p>Virtual exploration of the chemical universe up to 11 atoms of C, N, O, F: assembly of 26.4 million structures (110.9 million stereoisomers) and analysis for new ring systems, stereochemistry, physicochemical properties, compound classes, and drug discovery</p></title><aug><au><snm>Fink</snm><fnm>T</fnm></au><au><snm>Reymond</snm><fnm>JL</fnm></au></aug><source>Journal of Chemical Information and Computer Sciences</source><pubdate>2007</pubdate><volume>47</volume><fpage>342</fpage><lpage>353</lpage><xrefbib><pubid idtype="doi">10.1021/ci600423u</pubid></xrefbib></bibl><bibl id="B8"><title><p>Chemical fragment spaces for de novo design</p></title><aug><au><snm>Mauser</snm><fnm>H</fnm></au><au><snm>Stahl</snm><fnm>M</fnm></au></aug><source>Journal of Chemical Information and Computer Sciences</source><pubdate>2007</pubdate><volume>47</volume><fpage>318</fpage><lpage>324</lpage><xrefbib><pubid idtype="doi">10.1021/ci6003652</pubid></xrefbib></bibl><bibl id="B9"><title><p>The signature molecular descriptor. 2. Enumerating molecules from their extended valence sequences</p></title><aug><au><snm>Faulon</snm><fnm>JL</fnm></au><au><snm>Churchwell</snm><fnm>CJ</fnm></au><au><snm>Jr</snm><fnm>DPV</fnm></au></aug><source>Journal of Chemical Information and Computer Sciences</source><pubdate>2003</pubdate><volume>43</volume><fpage>721</fpage><lpage>734</lpage><xrefbib><pubidlist><pubid idtype="doi">10.1021/ci020346o</pubid><pubid idtype="pmpid" link="fulltext">12767130</pubid></pubidlist></xrefbib></bibl><bibl id="B10"><title><p>Design of molecules from quantitative structure-activity relationship models. 3. Role of higher order path counts: path 3</p></title><aug><au><snm>Hall</snm><fnm>LH</fnm></au><au><snm>Dailey</snm><fnm>ES</fnm></au></aug><source>Journal of Chemical Information and Computer Sciences</source><pubdate>1993</pubdate><volume>33</volume><fpage>598</fpage><lpage>603</lpage><xrefbib><pubid idtype="doi">10.1021/ci00014a012</pubid></xrefbib></bibl><bibl id="B11"><title><p>Frequent substructure-based approaches for classifying chemical compounds</p></title><aug><au><snm>Deshpande</snm><fnm>M</fnm></au><au><snm>Kuramochi</snm><fnm>M</fnm></au><au><snm>Wale</snm><fnm>N</fnm></au><au><snm>Karypis</snm><fnm>G</fnm></au></aug><source>IEEE Transactions on Knowledge and Data Engineering</source><pubdate>2005</pubdate><volume>17</volume><fpage>1036</fpage><lpage>1050</lpage></bibl><bibl id="B12"><title><p>Learning to find pre-images</p></title><aug><au><snm>Bakir</snm><fnm>GH</fnm></au><au><snm>Weston</snm><fnm>J</fnm></au><au><snm>Sch&#246;lkopf</snm><fnm>B</fnm></au></aug><source>Advances in Neural Information Processing Systems</source><pubdate>2003</pubdate><volume>16</volume><fpage>449</fpage><lpage>456</lpage></bibl><bibl id="B13"><title><p>Learning to find graph pre-images</p></title><aug><au><snm>Bakir</snm><fnm>GH</fnm></au><au><snm>Zien</snm><fnm>A</fnm></au><au><snm>Tsuda</snm><fnm>K</fnm></au></aug><source>Lecture Notes in Computer Science</source><pubdate>2004</pubdate><volume>3175</volume><fpage>253</fpage><lpage>261</lpage><xrefbib><pubid idtype="doi">10.1007/978-3-540-28649-3_31</pubid></xrefbib></bibl><bibl id="B14"><title><p>Marginalized kernels between labeled graphs</p></title><aug><au><snm>Kashima</snm><fnm>H</fnm></au><au><snm>Tsuda</snm><fnm>K</fnm></au><au><snm>Inokuchi</snm><fnm>A</fnm></au></aug><source>Proceedings of the Twentieth International Conference on Machine Learning, AAAI Press</source><pubdate>2003</pubdate><fpage>321</fpage><lpage>328</lpage></bibl><bibl id="B15"><title><p>Graph kernels for molecular structure-activity relationship analysis with support vector machines</p></title><aug><au><snm>Mah&#233;</snm><fnm>P</fnm></au><au><snm>Ueda</snm><fnm>N</fnm></au><au><snm>Akutsu</snm><fnm>T</fnm></au><au><snm>Perret</snm><fnm>JL</fnm></au><au><snm>Vert</snm><fnm>JP</fnm></au></aug><source>Journal of Chemical Information and Modeling</source><pubdate>2005</pubdate><volume>45</volume><fpage>939</fpage><lpage>951</lpage><xrefbib><pubidlist><pubid idtype="doi">10.1021/ci050039t</pubid><pubid idtype="pmpid" link="fulltext">16045288</pubid></pubidlist></xrefbib></bibl><bibl id="B16"><title><p>Comparison of support vector machine and artificial neural network systems for drug/nondrug classification</p></title><aug><au><snm>Byvatov</snm><fnm>E</fnm></au><au><snm>Fechner</snm><fnm>U</fnm></au><au><snm>Sadowski</snm><fnm>J</fnm></au><au><snm>Schneider</snm><fnm>G</fnm></au></aug><source>Journal of Chemical Information and Computer Sciences</source><pubdate>2003</pubdate><volume>43</volume><fpage>1882</fpage><lpage>1889</lpage><xrefbib><pubidlist><pubid idtype="doi">10.1021/ci0341161</pubid><pubid idtype="pmpid" link="fulltext">14632437</pubid></pubidlist></xrefbib></bibl><bibl id="B17"><title><p>Inferring a graph from path frequency</p></title><aug><au><snm>Akutsu</snm><fnm>T</fnm></au><au><snm>Fukagawa</snm><fnm>D</fnm></au></aug><source>Lecture Notes in Computer Science</source><pubdate>2005</pubdate><volume>3537</volume><fpage>371</fpage><lpage>392</lpage><xrefbib><pubid idtype="doi">10.1007/11496656_32</pubid></xrefbib></bibl><bibl id="B18"><title><p>A detachment algorithm for inferring a graph from path frequency</p></title><aug><au><snm>Nagamochi</snm><fnm>H</fnm></au></aug><source>Algorithmica</source><pubdate>2009</pubdate><volume>53</volume><fpage>207</fpage><lpage>224</lpage><xrefbib><pubid idtype="doi">10.1007/s00453-008-9184-0</pubid></xrefbib></bibl><bibl id="B19"><title><p>Enumerating treelike chemical graphs with given path frequency</p></title><aug><au><snm>Fujiwara</snm><fnm>H</fnm></au><au><snm>Wang</snm><fnm>J</fnm></au><au><snm>Zhao</snm><fnm>L</fnm></au><au><snm>Nagamochi</snm><fnm>H</fnm></au><au><snm>Akutsu</snm><fnm>T</fnm></au></aug><source>Journal of Chemical Information and Modeling</source><pubdate>2008</pubdate><volume>48</volume><fpage>1345</fpage><lpage>1357</lpage><xrefbib><pubidlist><pubid idtype="doi">10.1021/ci700385a</pubid><pubid idtype="pmpid" link="fulltext">18588284</pubid></pubidlist></xrefbib></bibl><bibl id="B20"><title><p>Generating colored trees</p></title><aug><au><snm>Nakano</snm><fnm>S</fnm></au><au><snm>Uno</snm><fnm>T</fnm></au></aug><source>Lecture Notes in Computer Science</source><pubdate>2005</pubdate><volume>3787</volume><fpage>249</fpage><lpage>260</lpage><xrefbib><pubid idtype="doi">10.1007/11604686_22</pubid></xrefbib></bibl><bibl id="B21"><title><p>Efficient generation of rooted trees</p></title><aug><au><snm>Nakano</snm><fnm>S</fnm></au><au><snm>Uno</snm><fnm>T</fnm></au></aug><source>NII Technical Report NII-2003-005E</source><pubdate>2003</pubdate></bibl><bibl id="B22"><title><p>Improved algorithms for enumerating tree-like chemical graphs with given path frequency</p></title><aug><au><snm>Ishida</snm><fnm>Y</fnm></au><au><snm>Zhao</snm><fnm>L</fnm></au><au><snm>Nagamochi</snm><fnm>H</fnm></au><au><snm>Akutsu</snm><fnm>T</fnm></au></aug><source>Genome Informatics</source><pubdate>2008</pubdate><volume>21</volume><fpage>53</fpage><lpage>64</lpage><xrefbib><pubid idtype="pmpid">19425147</pubid></xrefbib></bibl><bibl id="B23"><title><p>Improved algorithms for enumerating tree-like chemical graphs with given path frequency</p></title><aug><au><snm>Ishida</snm><fnm>Y</fnm></au></aug><source>Master thesis of Graduate School of Informatics in Kyoto University</source><pubdate>2008</pubdate></bibl><bibl id="B24"><title><p>Constructive enumeration of acyclic molecules</p></title><aug><au><snm>Kvasnicka</snm><fnm>V</fnm></au><au><snm>Pospichal</snm><fnm>J</fnm></au></aug><source>Collect Czech Chem Commun</source><pubdate>1991</pubdate><volume>56</volume><fpage>1777</fpage><lpage>1802</lpage><xrefbib><pubid idtype="doi">10.1135/cccc19911777</pubid></xrefbib></bibl><bibl id="B25"><title><p>KEGG for representation and analysis of molecular networks involving diseases and drugs</p></title><aug><au><snm>Kanehisa</snm><fnm>M</fnm></au><au><snm>Goto</snm><fnm>S</fnm></au><au><snm>Furumichi</snm><fnm>M</fnm></au><au><snm>Tanabe</snm><fnm>M</fnm></au><au><snm>Hirakawa</snm><fnm>M</fnm></au></aug><source>Nucleic Acids Res</source><pubdate>2010</pubdate><volume>36</volume><fpage>D355</fpage><lpage>D360</lpage></bibl></refgrp>
   </bm>
</art>