## 2 Results and Discussion
### Methods
#### Program performance  
The Aurora Fine Chemical database [33] (AURORA) was used to evaluate clustering program performance. The database included 4,000,000 records of low-molecular compounds, including structures, which contain fragments of antibiotics (beta-lactams or quinolones). Datasets of different size were prepared by random selection of compounds from 4M Aurora database. The tests were performed using an ASUS laptop computer equipped with an Intel Core Duo, 1.83 GHz processor and 2 Gb RAM. The main purpose of this section was to estimate the employment of real resources, time of calculation for datasets of different size and to check, whether the proposed algorithm is deterministic. For that input datasets were varied by size and sorting methods. If an algorithm is deterministic,identical trees have to be generated from datasets, sorted by different fields. Sorting by supplied IDNUMBER can be treated as random. Calculation times required to complete clustering and the number of clusters for databases of different size and different sorting are displayed in Table 1.  
The AURORA database contains unique structures. However, stereoisomers can occur in small amounts. Therefore, we used 999,756 and 1,999,335 records with topologically unique structures for the tests. The calculation time did not bypass acceptable limits even for the largest databases. It is important to note that hash codes sorting have generated the identical number of clusters for databases, formerly sorted by various methods. This proved that clustering algorithm was deterministic.  
Test calculations were performed for a 1,000,000 database, ordered by IDNUMBER, but with different number of steps: _Nst=5_ and _Nst_=20. The calculation times were 1 hours 52 minutes and 9 hours 38 minutes, respectively. As it is expected (see Memory Usage and Scaling section), the calculation time grows approximately linearly with increasing _Nst_.  
The described algorithm was created as a program for Windows 32 platform. The program is a part of CheD chemical database management system [34]. Clustering is finalized by displaying the tree view. Each tree node displays the number of compounds in the cluster. The number of clusters may be huge, for example, after clustering of database with 2,000,000 records 1,727,615 clusters were generated (Table 1). Therefore, the tree view is populated dynamically to minimize processing time and resources. Program has tools for singleton handling (export to file or addition to nearest cluster) and for fuzzy cluster analysis [35] (list of overlapped compounds can be obtained).  
Results of the antibiotics classifications cannot be compared with standard algorithms for the same size of dataset, because of they were designed for small chemical databases.  
\begin{table}
\begin{tabular}{|l|l|l|l|l|l|l|l|l|l|l|} \hline Database size & Calc. & \multicolumn{6}{|l|}{No. clusters for similarity threshold} \\ Ordered by & time & 0.1 & 0.2 & 0.3 & 0.4 & 0.5 & 0.6 & 0.7 & 0.8 & 0.9 \\ \hline
1,000,000 & 4h & 103 & 2155 & 17943 & 65203 & 125147 & 167505 & 184483 & 178385 & 137138 \\ IDNUMBER & 00m & & & & & & & & \\ \hline
1,000,000 & 4h & 101 & 2155 & 17943 & 65203 & 125147 & 167505 & 184483 & 178385 & 137138 \\ Molweight & 13m & & & & & & & & \\ \hline
2,000,000 & 14h & 120 & 2779 & 25345 & 105025 & 224140 & 314893 & 361163 & 376966 & 317183 \\ IDNUMBER & 08m & & & & & & & & \\ \hline
2,000,000 & 13h & 120 & 2779 & 25345 & 105025 & 224140 & 314893 & 361163 & 376966 & 317183 \\ Molweight & 41m & & & & & & & & \\ \hline
2,500,000 & \multicolumn{6}{|l|}{Cannot cluster – out of resources} \\ IDNUMBER & & & & & & & & & \\ \hline \end{tabular}
\end{table}
Table 1: The result of clustering for databases of different size (_Nst_=10, Minimal Cluster Size=2) and sorted by different way.