+\section{Implementation}
+
+The different algorithms have been implemented using Python version
+2.7, on a laptop running Ubuntu~12.04~LTS. More precisely, the
+computer is a Dell Latitude laptop - model E6430 with 6~GiB memory and
+a quad-core Intel core~i5~processor with an operating frequency of
+2.5~GHz. Many python packages such as os, Biopython, memory\_profile,
+re, numpy, time, shutil, and xlsxwriter were used to extract core
+genes from large amount of chloroplast genomes.
+
+\begin{center}
+\begin{table}[b]
+\caption{Type of annotation, execution time, and core genes
+for each method}\label{Etime}
+{\scriptsize
+\begin{tabular}{p{2cm}p{0.5cm}p{0.25cm}p{0.5cm}p{0.25cm}p{0.5cm}p{0.25cm}p{0.5cm}p{0.25cm}p{0.5cm}p{0.2cm}}
+\hline\hline
+ Method & \multicolumn{2}{c}{Annotation} & \multicolumn{2}{c}{Features} & \multicolumn{2}{c}{Exec. time (min.)} & \multicolumn{2}{c}{Core genes} & \multicolumn{2}{c}{Bad genomes} \\
+~ & N & D & Name & Seq & N & D & N & D & N & D \\
+\hline
+Gene prediction & $\surd$ & - & - & $\surd$ & 1.7 & - & ? & - & 0 & -\\[0.5ex]
+Gene Features & $\surd$ & $\surd$ & $\surd$ & - & 4.98 & 1.52 & 28 & 10 & 1 & 0\\[0.5ex]
+Gene Quality & $\surd$ & $\surd$ & $\surd$ & $\surd$ & \multicolumn{2}{c}{$\simeq$3 days + 1.29} & \multicolumn{2}{c}{4} & \multicolumn{2}{c}{1}\\[1ex]
+\hline
+\end{tabular}
+}
+\end{table}
+\end{center}
+
+\vspace{-1cm}
+
+Table~\ref{Etime} presents for each method the annotation type,
+execution time, and the number of core genes. We use the following
+notations: \textbf{N} denotes NCBI, while \textbf{D} means DOGMA,
+and \textbf{Seq} is for sequence. The first {\it Annotation} columns
+represent the algorithm used to annotate chloroplast genomes, the {\it
+Features} columns mean the kind of gene feature used to extract core
+genes: gene name, gene sequence, or both of them. It can be seen that
+almost all methods need low {\it Execution time} to extract core genes
+from large chloroplast genome. Only the gene quality method requires
+several days of computation (about 3-4 days) for sequence comparisons,
+once the quality genomes are construced it takes just 1.29~minutes to
+extract core gene. Thanks to this low execution times we can use these
+methods to extract core genes on a personal computer rather than main
+frames or parallel computers. The lowest execution time: 1.52~minutes,
+is obtained with the second method using Dogma annotations. The number
+of {\it Core genes} represents the amount of genes in the last core
+genome. The main goal is to find the maximum core genes that simulate
+biological background of chloroplasts. With NCBI we have 28 genes for
+96 genomes, instead of 10 genes for 97 genomes with
+Dogma. Unfortunately, the biological distribution of genomes with NCBI
+in core tree do not reflect good biological perspective, whereas with
+DOGMA the distribution of genomes is biologically relevant. {\it Bad
+genomes} gives the number of genomes that destroy core genes due to
+low number of gene intersection. \textit{NC\_012568.1 Micromonas
+pusilla} is the only genome which destroyed the core genome with NCBI
+annotations for both gene features and gene quality methods.
+
+The second important factor is the amount of memory being used by each
+methodology. Table \ref{mem} shows the memory usage of each
+method. We used a package from PyPI~(\textit{the Python Package
+Index}) named \textit{Memory\_profile} (located at~{\tt
+https://pypi.python.org/pypi}) to extract all the values in
+table~\ref{mem}. In this table, the values are presented in megabyte
+unit and \textit{gV} means genevision~file~format. We can notice that
+the level of memory which is used is relatively low for all methods
+and is available on any personal computer. The different values also
+show that the gene features method based on Dogma annotations has the
+more reasonable memory usage, except when extracting core
+sequences. The third method gives the lowest values if we already have
+the quality genomes, otherwise it will consume far more
+memory. Moreover, the amount of memory used by the third method also
+depends on the size of each genome.
+
+\begin{center}
+\begin{table}[H]
+\caption{Memory usages in (MB) for each methodology}\label{mem}
+{\scriptsize
+\begin{tabular}{p{2.5cm}p{1.5cm}p{1cm}p{1cm}p{1cm}p{1cm}p{1cm}p{1cm}}
+\hline\hline
+Method& & Load Gen. & Conv. gV & Read gV & ICM & Core tree & Core Seq. \\
+\hline
+Gene prediction & NCBI & 108 & - & - & - & - & -\\
+\multirow{2}{*}{Gene Features} & NCBI & 15.4 & 18.9 & 17.5 & 18 & 18 & 28.1\\
+ & DOGMA& 15.3 & 15.3 & 16.8 & 17.8 & 17.9 & 31.2\\
+Gene Quality & ~ & 15.3 & $\le$3G & 16.1 & 17 & 17.1 & 24.4\\
+\hline
+\end{tabular}
+}
+\end{table}
+\end{center}