]> AND Private Git Repository - chloroplast13.git/blobdiff - annotated.tex
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
correct some errors.
[chloroplast13.git] / annotated.tex
index 450002c2f3f73f6018b9bd1d5f37389a7c54399b..577526f011d1a9d51dd2ab8feab924487f8dc29c 100644 (file)
@@ -1,4 +1,4 @@
-The field of Genome annotation pay a lot of attentions where the ability to collect and analysis genomical data can provide strong indicator for the study of life\cite{Eisen2007}. A lot of genome annotation centres present various types of annotations tools (i.e cost-effective sequencing methods\cite{Bakke2009}) on different annotation levels. Two method of gene finding in annotated genome can be categorized as: Alignment-based, composition based, or combination of both\cite{parra2007cegma}. The Alignment-based method is used when we try to predict a coding gene (i.e. Genes that produce proteins) by aligning DNA sequence of gene to the protein of cDNA sequence of homolog\cite{parra2007cegma}. This approache also used in GeneWise\cite{birney2004genewise} with known splicing signals. Composition-based mothod (known as \textit{ab initio} is based on a probabilistic model of gene structure to find genes and/or new genes accoding to the probability gene value, this method like GeneID\cite{parra2000geneid}. In this section, we will consider a new method of finding core genes from large amount of chloroplast genomes, as a solution of the previous method where stated in section two. This method is based on extracting gene features. The question now is how can we have good annotation genome? To answer this question, we need to focusing on studying the annotation accuracy\cite{Bakke2009}) of the genome. A general overview of the system is illustrated in Figure \ref{Fig1}.\\
+The field of Genome annotation pay a lot of attentions where the ability to collect and analysis genomical data can provide strong indicator for the study of life\cite{Eisen2007}. A lot of genome annotation centres present various types of annotations tools (i.e cost-effective sequencing methods\cite{Bakke2009}) on different annotation levels. Two method of gene finding in annotated genome can be categorized as: Alignment-based, composition based, or combination of both\cite{parra2007cegma}. The Alignment-based method is used when we try to predict a coding gene (i.e. Genes that produce proteins) by aligning DNA sequence of gene to the protein of cDNA sequence of homolog\cite{parra2007cegma}. This approache also used in GeneWise\cite{birney2004genewise} with known splicing signals. Composition-based mothod (known as \textit{ab initio} is based on a probabilistic model of gene structure to find genes and/or new genes accoding to the probability gene value, this method like GeneID\cite{parra2000geneid}. In this section, we will consider a new method of finding core genes from large amount of chloroplast genomes, as a solution of the previous method where stated in section two. This method is based on extracting gene features. The question now is how can we have good annotation genome? To answer this question, we need to focusing on studying the annotation accuracy\cite{Bakke2009} of the genome. A general overview of the system is illustrated in Figure \ref{Fig1}.\\
 
 \begin{figure}[H]  
   \centering
@@ -6,12 +6,12 @@ The field of Genome annotation pay a lot of attentions where the ability to coll
 \caption{A general overview of the system}\label{Fig1}
 \end{figure}
 
-In Figure 1, we illustrate the general overview of system pipeline: \textit{Database, Genomes annotation, Gene extraction, } and \textit{relationships}. We will give a short discussion for each stage in the model in order to understand all core extraction process. Good database (as a first stage) will produce good results, however, many international Banks for nucleotide sequence databases like (GenBank in USA, EMBL-Bank in Europe, and DDBJ in Japon) where exists to store various genomes and DNA species. A lot of Biological tool interact with these databases for (Genome Annotation, Gene extraction, alignments, ... , etc). The database in model must be any confident data source that store annotated and/or unannotated chloroplast genomes. We will consider GenBank- NCBI database to be our nucleotide sequences database. Annotation (as the second stage) is consider to be the first important task for Extract Gene Features. Thanks to good annotation tool that lead us to extract good gene features. In this paper, two annotation techniques from \textit{NCBI, and Dogma} will be used to extract \textit{genes features}. Extracting Gene feature (as a third stage) can be anything like (genes names, gene sequences, protein sequence,...etc). Our methodologies in this paper will consider gene names, gene counts, and gene sequences for extracting core genes and chloroplast evolutionary tree. \\
+In Figure 1, we illustrate the general overview of system pipeline: \textit{Database, Genomes annotation, Core extraction, } and \textit{relationships}. We will give a short discussion for each stage in the model in order to understand all core extraction process. Good database (as a first stage) will produce good results, however, many international Banks for nucleotide sequence databases like (GenBank in USA, EMBL-Bank in Europe, and DDBJ in Japon) where exists to store various genomes and DNA species. A lot of Biological tool interact with these databases for (Genome Annotation, Gene extraction, alignments, ... , etc). The database in the model must be any confident data source that store annotated and/or unannotated chloroplast genomes. We will consider GenBank- NCBI database to be our nucleotide sequences database. Annotation (as the second stage) is consider to be the first important task for Extract Gene Features. Thanks to good annotation tool that lead us to extract good gene features. In this paper, two annotation techniques from \textit{NCBI, and Dogma} will be used to extract \textit{genes features}. Extracting Gene feature (as a third stage) can be anything like (genes names, gene sequences, protein sequence,...etc). Our methodologies in this paper will consider gene names, gene counts, and gene sequences for extracting core genes and chloroplast evolutionary tree. \\
 In last stage, verifying the work from Biological expert needs to organize and represent genomes relationships and gene evolution in the form of (tables, phylogenetic trees, graphs,...,etc). In addition, comparing these forms with the results from another annotation tool like Dogma\cite{RDogma} for large population of chloroplast genomes give to us biological perspective to the nature of chloroplast evolution. \\
-A Local database attache with each pipe stage to store all information of extraction process. The output from each stage in our system will be an input to the second stage and so on.
+A Local database attached with each pipe stage is to store all information of extraction process. The output from each stage in our system will be an input to the second stage and so on.
 
 \subsection{Genomes Samples}
-In this research, we retrieved 107 genomes of Chloroplasts from NCBI. 99 genomes of then is considered to working with. These genomes lies in the 11 types of chloroplast families, as shown in Table \ref{Tab1}. The list of distribution of genomes is illstrated in detail in Table \ref{Tab2}.
+In this research, we retrieved 107 genomes of Chloroplasts from NCBI. Ninety nine genomes of them were considered to work with. These genomes lies in the 11 type of chloroplast families, as shown in Table \ref{Tab1}. The distribution of genomes is illstrated in detail in Table \ref{Tab2}.
 
 \begin{table}[H]
 \caption{distribution on Chloroplast Families}\label{Tab1}
@@ -49,8 +49,8 @@ Genome annotation is considered the second stage in model pipline. Many annotati
 With each annotation model, we provide a quality check class for the flow of chloroplast genomes. This class has a direct access to NCBI taxonomy database based on genome accession number to retreive information for the genome. These information contains \textit{[Scientific name, lineage, Division, taxonomy ID, parentID, and Accession No]}. Examining each genome with this class (i.e based on some parameters), can ignore some genomes from this competition that not match a specific control condition.   
 
 \subsubsection{genome annotation from NCBI} 
-The objective from this step is to organize, solve genes duplications, and generate sets of genes from each genome. The input to the system is our list of chloroplast genomes, annotated from NCBI\cite{Sayers01012011}. All genomes stored as \textit{.fasta} files include collection of Protein coding genes\cite{parra2007cegma,RDogma}(gene that produce proteins) with its coding sequences.
-As a preparation step to achieve the set of core genes, we need to translate these genomes using \textit{BioPython} package\cite{chapman2000biopython}, and extracting all information needed to find the core genes. A process starts by converting each genome in fasta format to GenVision\cite{geneVision} formats from DNASTAR, and this is not an easy job. The output from this operation is a lists of genes stored in a local database for genomes, their genes names and gene counts. In this stage, we will accumulate some Gene duplications with each genome treated. In other words, duplication in gene name can comes from genes fragments as long as chloroplast DNA sequences. We defines \textit{Identical state} to be the state that each gene present only one time in a genome (i.e Gene has no copy) without considering the position or gene orientation. This state can be reached by filtering the database from redundant gene name. To do this, we have two solutions: first, we made an orthography checking. Orthographe checking is used to merge fragments of a gene to form one gene. 
+The objective from this step is to organize genes, solve genes duplications, and generate sets of genes from each genome. The input to the system is our list of chloroplast genomes, annotated from NCBI\cite{Sayers01012011}. All genomes stored as \textit{.fasta} files include collection of Protein coding genes\cite{parra2007cegma,RDogma}(gene that produce proteins) with its coding sequences.
+As a preparation step to achieve the set of core genes, we need to translate these genomes using \textit{BioPython} package\cite{chapman2000biopython}, and extracting all information needed to find the core genes. A process starts by converting each genome in fasta format to GenVision\cite{geneVision} formats from DNASTAR, and this is not an easy job. The output from this operation is a lists of genes stored in a local database for each genome, their genes names and gene counts. In this stage, we will accumulate some Gene duplications with each genome treated. In other words, duplication in gene name can comes from genes fragments as long as chloroplast DNA sequences. We defines \textit{Identical state} to be the state that each gene present only one time in a genome (i.e Gene has no copy) without considering the position or gene orientation. This state can be reached by filtering the database from redundant gene name. To do this, we have two solutions: first, we made an orthography checking. Orthographe checking is used to merge fragments of a gene to form one gene. 
 Second, we convert the list of genes names for each genome (i.e. after orthography check) in the database to be a set of genes names. Mathematically speaking, if $G=\left[g_1,g_2,g_3,g_1,g_3,g_4\right]$ is a list of genes names, by using the definition of a set in mathematics, we will have $set(G)=\{g_1,g_2,g_3,g_4\}$, and $|G|=4$ where $|G|$ is the cardinality number of the set $G$ which represent the number of genes in the set.\\
 The whole process of extracting core genome based on genes names and counts among genomes is illustrate in Figure \ref{NCBI:Annotation}.\\
 
@@ -141,10 +141,10 @@ In second Method, due to the number of annotated genomes, annotate each genome c
 \label{Alg2:secondM}
 \begin{algorithmic} 
 \REQUIRE $Ref\_Genome \leftarrow \text{Accession No}$
-\ENSURE $Core \leftarrow \text{Genes in each genome}$ 
-\FOR{$i \leftarrow Ref\_Genome$}
-       \STATE $G\_list=[ ]$    
-       \STATE $File \leftarrow Blastn(i)$
+\ENSURE $core \leftarrow \text{Genomes for each gene}$ 
+\FOR{$gene \leftarrow Ref\_Genome$}
+       \STATE $G\_list= \text{empty list}$     
+       \STATE $File \leftarrow Blastn(gene)$
        \STATE $G\_list \leftarrow File[\text{Genomes names}]$
        \STATE $Core \leftarrow [Accession\_No:G\_list]$
 \ENDFOR
@@ -152,8 +152,54 @@ In second Method, due to the number of annotated genomes, annotate each genome c
 \end{algorithmic}
 \end{algorithm}
 
-The hypothesis in last method state: we can predict the best annotated genome by merge the annotated genomes from NCBI and dogma based on the quality of genes names and sequences. To generate all quality genes of each genome. the hypothesis state: Any gene will be in predicted genome if and only if the annotated genes between NCBI and Dogma pass a specific threshold of\textit{quality control test}. To accept the quality test, we applied Needle-man Wunch algorithm to compare two gene sequences with respect to pass a threshold. If the alignment score pass this threshold, then the gene will be in the predicted genome, else the gene will be ignored. After predicting all genomes, one of previous two methods can be applied to extract core genes.          
-        
+The hypothesis in last method state: we can predict the best annotated genome by merge the annotated genomes from NCBI and dogma based on the quality of genes names and sequences. To generate all quality genes of each genome. the hypothesis state: Any gene will be in predicted genome if and only if the annotated genes between NCBI and Dogma pass a specific threshold of\textit{quality control test}. To accept the quality test, we applied Needle-man Wunch algorithm to compare two gene sequences with respect to pass a threshold. If the alignment score pass this threshold, then the gene will be in the predicted genome, else the gene will be ignored. After predicting all genomes, one of previous two methods can be applied to extract core genes. As shown in Algorithm \ref{Alg3:thirdM}.         
+
+\begin{algorithm}[H]
+\caption{Extract new genome based on Gene Quality test}
+\label{Alg3:thirdM}
+\begin{algorithmic} 
+\REQUIRE $Gname \leftarrow \text{Genome Name}, Threshold \leftarrow 65$
+\ENSURE $geneList \leftarrow \text{Quality genes}$ 
+\STATE $dir(NCBI\_Genes) \leftarrow \text{NCBI genes of Gname}$
+\STATE $dir(Dogma\_Genes) \leftarrow \text{Dogma genes of Gname}$
+\STATE $geneList=\text{empty list}$
+\STATE $common=set(dir(NCBI\_Genes)) \cap set(dir(Dogma\_Genes))$
+\FOR{$\text{gene in common}$}
+       \STATE $g1 \leftarrow open(NCBI\_Genes(gene)).read()$   
+       \STATE $g2 \leftarrow open(Dogma\_Genes(gene)).read()$
+       \STATE $score \leftarrow geneChk(g1,g2)$
+       \IF {$score > Threshold$}
+               \STATE $geneList \leftarrow gene$
+       \ENDIF 
+\ENDFOR
+\RETURN $geneList$
+\end{algorithmic}
+\end{algorithm}
+
+Here, geneChk is a subroutine in python, it is used to find the best similarity score between two gene sequences after applying operations like \textit{reverse, complement, and reverse complement}. The algorithm of geneChk is illustrated in Algorithm \ref{Alg3:genechk}.
+
+\begin{algorithm}[H]
+\caption{Find the Maximum similarity score between two sequences}
+\label{Alg3:genechk}
+\begin{algorithmic} 
+\REQUIRE $gen1,gen2 \leftarrow \text{NCBI gene sequence, Dogma gene sequence}$
+\ENSURE $\text{Maximum similarity score}$
+\STATE $Score1 \leftarrow needle(gen1,gen2)$
+\STATE $Score2 \leftarrow needle(gen1,Reverse(gen2))$
+\STATE $Score3 \leftarrow needle(gen1,Complement(gen2))$
+\STATE $Score4 \leftarrow needle(gen1,Reverse(Complement(gen2)))$
+\IF {$max(Score1, Score2, Score3, Score4)==Score1$}
+       \RETURN $Score1$
+\ELSIF {$max(Score1, Score2, Score3, Score4)==Score2$}
+       \RETURN $Score2$
+\ELSIF {$max(Score1, Score2, Score3, Score4)==Score3$}
+       \RETURN $Score3$
+\ELSIF {$max(Score1, Score2, Score3, Score4)==Score4$}
+       \RETURN $Score4$
+\ENDIF
+\end{algorithmic}
+\end{algorithm}  
+
 \subsection{Visualizing Relationships}
 The goal here is to visualizing the results by build a tree of evolution. The system can produce this tree automatically by using Dot graphs package\cite{gansner2002drawing} from Graphviz library and all information available in a database. Core genes generated with their genes can be very important information in the tree, because they can viewed as an ancestor information for two genomes or more. Further more, each node represents a genome or core as \textit{(Genes count:Family name, Scientific names, Accession number)}, Edges represent numbers of lost genes from genomes-core or core-core relationship. The number of lost genes here can represent an important factor for evolution, it represents how much lost of genes for the species in same or different families. By the principle of classification, small number of gene lost among species indicate that those species are close to each other and belong to same family, while big genes lost means that species is far to be in the same family. To see the picture clearly, Phylogenetic tree is an evolutionary tree generated also by the system. Generating this tree is based on the distances among genes sequences. There are many resources to build such tree (for example: PHYML\cite{guindon2005phyml}, RAxML{\cite{stamatakis2008raxml,stamatakis2005raxml}, BioNJ , and TNT\cite{goloboff2008tnt}}. We consider to use RAxML\cite{stamatakis2008raxml,stamatakis2005raxml} to generate this tree.
 
@@ -209,4 +255,5 @@ This method summarized in the following steps:\\
 \item Predict quality genomes: the process is to pick a genome annotation from two techniques, extracting all common genes based on genes names, then applying Needle-man wunch algorithm to align the two sequences based on a specific threshold. If the alignment score pass the threshold, then this gene will removed from the competition and store it in quality genome by saving its name with the largest gene sequence with respect to start and end codons. All quality genomes will store in the form of GenVision file format.    
 \item Extract Core genes: from the above two steps, we will have new genomes with quality genes, ofcourse, we have some genes lost here, because dogma produced tRNA and rRNA genes while NCBI did not generate them and vise-versa. Using first method to extract core genes will be sufficient because we already check their sequences.
 \item Display tree: An evolution tree then will be display based on the intersections of quality genomes.   
-\end{enumerate}
\ No newline at end of file
+\end{enumerate}
+\pagebreak
\ No newline at end of file