BACKGROUND
enzymes are mostly protein based biomolecules that accelerate the rate of chemical reactions in a living organism.
enzymes are made of amino acids whose unique characteristic composition enables them to have different functionalities and also making them work efficiently at stable conditions, such as optimum temperature and ph.
thus, any mutation that occurs in this amino acid sequence may change the enzyme's 3d-structure, catalytic activity or stability, or even making the enzyme completely non-functional.
therefore, the knowledge of mutations and their impacts are of crucial importance in order to completely understand mechanisms of enzymes' functionality, and stability.
many experimental studies have focused on finding the effects of mutations on enzymes.
for example, many studies have aimed to create enzymes with novel properties such as designing hyperthermophilic enzymes  <cit>  or expanding the substrate specificity of an enzyme  <cit> .
the published results of these projects provide scientific information for researchers who are engaged in finding an impact of mutation on an enzyme.
though many databases are available on the nomenclature of enzymes  <cit>  or structure and function  <cit> , to our knowledge only brenda   <cit> , the largest manually curated enzyme-specific information system, contains an information on engineered enzymes and their effects on the enzyme's catalytic activity while directly referring to scientific literature.
manually curated databases are both slow and expensive for extracting information from scientific literature.
there is a need for an efficient automatic extraction method that allows accessing relevant information rapidly with great efficiency, and possibly at any time.
with the latest developments in information extraction, biomedical term recognition has become an important area for researchers.
dictionary-based, rule-based, and machine learning-based approaches are used to extract names of genes, proteins and other cellular substances  <cit> .
several systems have already been developed for automatic extractions of mutations from biomedical literature.
mutext, for example, developed by horn et al.
<cit>  is one of the initial works that focused on extracting single point mutations from scientific literature.
moreover, a gold standard data set  <cit>  is created for comparing the performance of mutation extraction systems and systematic evaluations  <cit>  for these systems are developed with a precise definition of evaluation metrics.
the next step in mutation informatics is finding relation of mutations to other biological entities such as genes or proteins.
rebholz-schuhmann et al.
<cit>  developed mema, which extracts disease-related mutation-gene pairs from medline abstracts.
in mema, identification of both gene names and mutations are based on regular expressions compiled into two different finite state automations.
if the abstract or the sentence that the mutation is extracted from contains only one gene name, the detected mutation is associated to that particular gene.
however, if there is more than one gene name, the mema uses syntactical rules and proximity parameters as a criterion for decision.
mugex  uses a similar approach developed by erdogmus et al.
<cit>  in order to extract disease related protein mutations.
mugex makes use of regular expressions in identifying possible mutations.
however, it also handles ambiguous mutation citations by using machine learning techniques.
for gene name identification, it uses a dictionary-based approach and then associates the extracted entities according to proximity measures.
for mutation-protein associations, lee et al.
<cit>  developed mutation grab, which identifies mutations using regular expressions, similar to the previous methods  <cit> .
protein identification is also performed with regular expressions, which search for a dictionary of protein names and synonyms.
lastly, mutation grab uses graphs in which shortest-distance search and word bigram analysis are used in order to find the associations between mutations and proteins.
mutationminer which is developed by baker et al.
<cit>  follows a different approach than the previous systems.
it mainly focuses on associations between mutations and protein structure visualizations using nlp techniques.
the system identifies the proteins and mutations in the form of name entities and if cited in the same sentence, the mutationminer associates them to one another.
moreover, this system has been improved of late with the support of biological ontologies which make mutation annotations available in a semantically consistent format, and with the owl ontology which enables the automated means of accessing knowledge possible  <cit> .
the above information extraction techniques became necessary because of the increased number of electronic documents.
at the same time, however, the task to classify these documents based on their contents makes document classification an important field for researchers.
especially after integrating machine learning techniques to document classification, its accuracy has now became comparable to the less than 100% accuracy of human expertise  <cit> .
therefore, because of growing interest and high accuracy rates, document classification has been used in different applications such as document organization  <cit> , word sense disambiguation  <cit>  or web document classification  <cit> .
although the above works make it possible to associate mutations to other biological entities, the experimental results documented in scientific literature cannot be extracted with the techniques discussed above.
therefore, in case of mutation informatics, the next step is to extract information describing the effects of the mutations  <cit> .
the writers of this paper developed enzyminer, which is capable of automatically extracting protein mutations from pubmed  <cit>  abstracts for a given enzyme and classifying their impact on the enzyme's functionality and stability.
in the case of mutation identification, the information extraction and document classification methods are used.
for impact analysis, document classification techniques are again used for identifying the abstracts that contain a change in the stability conditions or catalytic activity of an enzyme resulted from a mutation.
methods
algorithm
mutation extraction
in this work, we focus on amino acid level protein mutations.
in order to extract this kind of mutation from pubmed abstracts, we used mugex  <cit> 's mutation extraction and disambiguation modules which are based on regular expressions and machine learning techniques.
a set of  <dig> patterns was formed using phrases that contain protein mutations for regular expression matching in mugex.
next, pattern matching was applied to each sentence of the abstracts in order to identify mutations.
one major drawback of using regular expressions is that they are too general to be able to capture only the protein level mutations.
a nucleotide mutation such as g32a, or the name of a strain or a cell line, such as h4s may easily be misinterpreted as a protein mutation.
in order to eliminate such ambiguities, mugex makes use of machine learning techniques.
document classification on topic and content sections of these abstracts identifies them as to whether or not a protein mutation is present.
seperating disease related abstracts
enzymes are essential for a number of functions in the cell; therefore, any malfunctioning of an enzyme caused by a mutation may be found in relation to a disease.
thus, many research projects are conducted to find the relation between enzyme mutations and diseases.
since, medline is the largest component of pubmed, all the abstracts of these medical projects are included in the pubmed database.
therefore, when we download all the abstracts that contain the term "mutation" and a specific enzyme name, the medical abstracts are also accompanied in the downloaded information.
however, these abstracts contains the general focus on the mutations' effects on the disease development, but not on the functionality or the stability of enzymes.
for instance, lipoprotein lipase hydrolyzes lipids in lipoproteins.
mutations in the gene encoding for lipoprotein lipase can lead to lipoprotein lipase deficiency that in turn leads to an increase in the levels of triglycerides in the bloodstream.
therefore, many abstracts that contain both the words "mutation" and "lipase" are about research aiming to find the specific mutations that cause this disease.
similarly, the disease related abstracts do not contain the information on direct impact of the mutation on the enzyme functionality or stability.
for that reason, including these abstracts into our classification will mislead our results.
in order to prevent corruption of the data, we initially classify the abstracts into two groups:  disease related abstracts and  non-disease related abstracts.
dictionary based approaches  <cit>  that make use of medical subject headings  or unified medical language system  are previously used for identifying disease related abstracts.
on the other hand, various document classification algorithms are also employed for clinical text classification between disease related documents such as clinical patient records  <cit> .
in enzyminer, we used document classification approach for grouping our abstracts into disease related or non-disease related abstracts.
therefore, user is giving the option of choosing disease related or non-disease related abstracts, and base of their selection a list of mutations and their impacts on the enzyme are displayed on the web with direct references to the relevant scientific literature.
impacts of mutation
enzymatic reaction rates depend on physico-chemical conditions, such as ph and temperature.
when these conditions are optimum, the enzyme attains its maximal activity.
however, at high temperatures or extreme ph changes, the enzyme may become inactive as a result of denaturation.
stability is the condition in which an enzyme can maintain its structural conformation and activity, yet, a mutation may cause changes in these conditions.
for instance, a mutation that decreases the molecular flexibility of an enzyme sometimes may lead to higher thermostability, or a mutation that replaces glycine with a basic or acidic residue may cause significant changes in the enzyme's optimum ph.
therefore, to understand the governing rules of protein structure stability, researchers carry out mutation studies and check the impact on stability at different temperatures and ph.
likewise, an enzyme's functionality is also affected by mutations.
unlike most of the chemical catalysts, enzymes are highly selective to their substrates and this specificity is mainly determined by three dimensional coordinates of the active site.
therefore, a mutation that modifies the conformation of an enzyme, especially the catalytic site, may cease its function.
a mutation that changes the spatial coordinates of the active site can change enzyme specificity for a specific molecule.
on the other hand, all the mutations may not necessarily have a significant effect on the enzyme's stability conditions or catalytic functions.
there are experimental results, for example, which show that some mutations have no impact.
the abstracts that include only these kinds of mutations have to be filtered out since our main purpose is to find the abstracts that contain impacts of mutations on enzymes.
we represented this challenge as a classification problem and removed the abstracts that are classified as no change abstracts from our data set.
system architecture
the system architecture of enzyminer is shown in figure  <dig>  our system is composed of three stages:  preprocessing,  mutation extraction and  impact analysis.
in this work, we focused on the abstracts from pubmed.
abstracts published after january  <dig>   <dig>  which contain an enzyme and the possible variations of the term "mutation" are downloaded.
in order to include possible variations of "mutation" into our search query, a truncated form of word "mutation" was used.
in the case of enzymes, we only used the trivial names in our search queries that supposedly used by all researchers.
further, including ec numbers to our search seems unnecessary since in the abstracts ec numbers are rarely used as the extra information near the enzymes' common names.
since our initial aim was to identify pubmed articles that are focused on a specific enzyme and possible protein mutations, we performed our search restricted to only the 'title' and the 'abstract' sections.
if the searched words are not found in the abstract but found in the other fields, such pubmed entry was not downloaded.
while in the preprocessing stage, the downloaded pubmed abstracts are first parsed, and then tokenization followed by sentence splitting operations were performed on these parsed abstracts for the successive stages.
as for as the mutation extraction stage is concerned, we used mugex  <cit>  which is developed by our group to extract disease related mutation-gene pairs.
mugex consists of two stages and each stage has several modules.
since this work requires us to identify only protein mutations, we therefore used mutation extraction and disambiguation modules of mugex.
mutation extraction module makes use of pattern matching with regular expressions to find the possible protein mutations from the text.
all of the regular expressions are based on one pattern that starts with an amino acid as the one letter code followed by a number, and ends with another amino acid as another one letter code .
by making modification to this pattern, a set of  <dig> patterns was formed in order to find remaining mutation patterns.
regular expressions are able to identify protein mutations.
however, as indicated previously, the main challenge in amino-acid-level mutation extraction is to distinguish actual protein mutations from nucleotide mutations, or mutation like terms such as the name of a strain or a cell line.
disambiguation module of mugex eliminates these kinds of ambiguities by using document classification as a word sense disambiguation application.
this module uses rainbow  <cit> , one of the front ends of the bow library designed for document classification, so as to decide the abstracts that contain potentially ambiguous mutations.
a training benchmark that consists of  <dig>  randomly selected medline abstracts is formed and all of these abstracts were labeled by experts.
out of these, a total of  <dig> abstracts contained protein mutations while the remaining abstracts contain either nucleotide mutations or biological entities that are cited with mutation-like terms.
using these labeled abstracts, the disambiguation module trains a model for classification while processing the abstracts by performing stemming, alphanumeric tokenization and considering word bigrams.
after the preprocessing stage, enzyminer identifies all possible protein mutations in the downloaded abstracts using the mutation extraction module.
then the ambiguous abstracts are queried to the disambiguation module where they are classified using naive bayes algorithm, which is trained with the above model.
at the end of this stage, abstracts that contain protein mutations are queried to the classification modules of the impact analysis stage for further classification.
impact analysis stage consists of three classification modules.
firstly, the disease vs. non-disease classification module separates abstracts into two groups.
if the user is interested only in disease related abstracts, the abstracts that are classified as disease related are displayed on the web with a list of protein mutations.
on the other hand, non-disease related abstracts are queried to change vs. no change classification module and the ones that do not contain any change in an enzyme's functionality or stability are eliminated.
lastly, in the stability vs. catalytic classification module, the remaining abstracts were sub-classified into two groups: ones that contain a change in stability of the protein structure, for those involved in catalytic activity as shown in figure  <dig> and  <dig>
in all the classification modules of the impact analysis stage, rainbow was used as a document classifier.
it assigns a document to the class with the highest score.
however, the scores of the other classes are also given in the results.
in the classification modules such as disease vs. not disease classification and change vs. no change, the abstracts in the test set are assigned to the class with the highest classification score.
on the other hand, for the stability vs. catalytic classification module, before assigning an abstract to one of the classes, the difference between the scores of the two classes was checked.
if the difference is less than  <dig> , such abstract was assigned to both classes, because an abstract may contain a change in both the stability as well as the catalytic activity.
furthermore, it is to be noted that in the classification modules, all possible words from the vocabulary are adapted as a feature during the classification.
implementation
all the steps at the preprocessing stage are developed using flex  <cit>  and bison  <cit> .
in the mutation extraction module, all regular expressions were compiled with the help of a c++ regular expression library.
the disambiguation module makes use of rainbow  <cit>  in order to identify the abstracts that contain potentially ambiguous mutations.
similarly, rainbow was used as a document classifier in all the classification modules of the impact analysis stage.
during the steps shown in the figure  <dig>  all necessary information for the downloaded abstracts are inserted into a database.
whenever an user queries to find impacts of mutations on an enzyme's stability and functionality, information relevant to that specific enzyme can be retrieved from the system and displayed on the web .
testing
in order to measure the performance of enzyminer, the system was employed with the query enzymes "lipase" and "amylase".
these two enzymes perform essential roles in human digestion system, and deficiency of these enzymes may lead to disorders in human body.
moreover, they have many applications in chemical and food industry.
therefore, it is easy to find both disease related and non-disease related abstracts that contain one of queried enzymes.
as indicated before, possible variations of the term "mutation" was included into our search query while developing the enzyminer system.
however, in the evaluation step, only the pubmed abstracts that contain the terms "mutation" or "mutations", and either one of the queried enzymes were downloaded.
as a result, our experimental dataset showed  <dig> abstracts that contain the term "lipase" and  <dig> abstracts showed the term "amylase".
all of the abstracts are manually curated by the experts for three classification schemes.
the impact analysis stage of enzyminer consists of  <dig> classification modules:  disease vs. non-disease classification,  change vs. no change classification, and  stability vs. catalytic classification modules.
before detailing the experiments performed at this stage, stating the classification algorithms and evaluation metrics used in these modules will provide better understanding of the evaluation.
classification algorithms and processing options
in the classification stages of enzyminer, rainbow  <cit>  was used for document classification.
it provides several classification algorithms and processing options.
in order to decide which classification algorithm was more suitable, the classification performances of four algorithms  were investigated.
moreover, since some of these algorithms adopt the bag-of-words approach, eight different processing models were built to observe the impact of tokenization, stemming, and the use of n-grams.
in these eight models, the effect of stemming, removing commonly observed morphological and inflectional suffixes from words, and the effect of using unigrams and bigrams were tested.
in addition, to observe the effect of tokenization, two types of procedures were used, these are, white space tokenizer and alphanumeric tokenizer.
the white space tokenizer delimits the tokens by a whitespace only, while the alphanumeric tokenizer delimits the tokens by only nonalphanumeric characters  <cit> .
evaluation in the classification modules
as stated before, systematic evaluations for mutation extraction systems are developed with a precise definition of evaluation metrics.
although not many systems still analyze the impact of mutations, evaluation metrics for such systems were also defined.
since, the general idea for impact analysis is to perform information extraction, the standard precision, recall and f-measure are ideal parameters for evaluation  <cit> .
we decided to use also the accuracy measure in our evaluations because we approached to this problem as a document classification problem.
furthermore, in order to test the effectiveness of the classification modules, we followed the train-and-test and k-fold cross validation approaches together.
for each classification module, 20% of the abstracts were chosen as a test set.
the remaining abstracts were used as a training set and the models are trained only with these abstracts.
first of all, using only the training set,  <dig> fold classification was performed fifty times and the average accuracy was represented as the training set accuracy.
this step was repeated for all four classification algorithms and eight models.
the classification algorithm with the highest accuracy model was used in the test step, where the abstracts from the test set were queried for classification.
the overall accuracy of this step was represented as the test set accuracy.
RESULTS
mutation extraction stage
in order to measure the performance of mutation extraction stage, all of the downloaded abstracts that contained the enzyme "lipase" or "amylase" were queried to mutation extraction and disambiguation modules of mugex.
out of  <dig> abstracts,  <dig> were identified to have containing the amino-acid-level mutation with  <dig> % precision,  <dig> % recall,  <dig>  f-measure and  <dig> % accuracy.
these  <dig> abstracts were then used to evaluate the impact analysis stage, where 80% of them were used as training set and the remaining as the test set.
the number of abstracts in the training and test set for each classification module can be found in tables  <dig>   <dig>   <dig>
impact analysis stage
as indicated previously, performances of naive bayes, svm, probabilistic indexing and rocchio with tf-idf weighting classification algorithms were investigated.
the experimental runs showed that, out of four classification algorithms, probabilistic indexing always performed better than the other three algorithms.
as shown in figure  <dig>  the accuracy measures of the four algorithms were compared with respect to the training set accuracies of stability vs. catalytic classification module.
probabilistic indexing outperformed the other algorithms, while rocchio with tf-idf weighting performs moderately better than naive bayes.
although svm is one of the best classification algorithms in document classification, its' performance is dependent on the context of the document  <cit> .
in this application context, out of the four classification algorithms, svm was the one with the worst performance measure.
the same order was observed in the other classification modules and therefore, probabilistic indexing was chosen for all of the classification tasks performed in the impact analysis stage.
as in the disease vs. non-disease classification module, downloaded abstracts that contained at least one protein mutation were classified as disease related or non-disease related abstracts.
in our experimental data,  <dig> abstracts that contained amino-acid-level mutation were randomly divided into training and test sets, and  <dig> fold classification was performed fifty times on the training set.
as seen in figure  <dig>  the highest training set accuracy measure of 95% was obtained using model  <dig>  with  <dig>  f-measure.
this high accuracy is expected since most of the disease related abstracts contained words such as "disease", "patient", "deficiency" or "subject", and increasing the frequency of these words by performing stemming also increases our accuracy.
moreover, word pairs such as "binding site" and "substrate specificity" are terms related to the activity of an enzyme and they were mostly observed in abstracts that are not disease related.
therefore, using bi-grams also increased our classification accuracy.
after the experiments from the training set, all the abstracts in the test set were classified using probabilistic indexing algorithm which was trained with the above model.
at the end of the classification, 100% of the abstracts were correctly classified .
after the disease vs. non-disease classification, if the user specifically indicates an interest in a disease related abstract, the abstracts that are assigned to this class are displayed on the web with a list of protein mutations they contain.
if we specifically look at the mutation extraction performance on these abstracts, our accuracy was  <dig> % with  <dig> % precision,  <dig> % recall and  <dig>  f-measure.
on the other hand, if the user is not interested in a disease related abstract, the abstracts that are assigned to the non-disease related class were then continued to be processed in change vs. no change classification module.
in this module, another classification identifies the abstracts that do not contain any change in the enzyme's stability or functionality.
as shown in figure  <dig>  the highest classification accuracy of the training set was obtained using model  <dig>  with  <dig> % accuracy and  <dig>  f-measure, and the results of this experiment are given in table  <dig>  using this model,  <dig> % accuracy and  <dig>  f-measure were obtained in the classification of the test set and at the end of this step, abstracts that were classified as no change are eliminated.
in the last step, the remaining abstracts are classified into two groups, these are, abstracts that contain information on a change in the enzyme's stability, or abstracts that discuss the changes in the enzyme's catalytic activity.
when this classification was performed on the training set, the highest accuracy measure  <dig> % and  <dig>  f-measure were observed with model  <dig> , and thus a classification was performed on the test set using this model.
at the end, it was observed that all the abstracts in the test set were correctly classified.
as illustrated in table  <dig>  the experimental results of both the training and test sets are shown to be very high, which is expected since the classification model successfully identifies the most informative words such as "thermostability", "ph", "temperature", "sensitivity" and "specificity" as well as increase their frequency with stemming.
it has been observed that classification modules respond to the different processing options in a more or less similar way.
however, highest training set accuracies were observed in different models for each classification module.
it shows that processing options have different effects on the classification of different concept.
the only common part of these three models was stemming, which is an expected result, since it reduces the dimensionality of the term space which is a good thing for systems that have small training sets  <cit>  such as enzyminer.
as indicated before, our experimental runs were performed on the abstracts that are obtained using the words "lipase" and "amylase".
all three classification modules were first trained with abstracts that contain "lipase", and tested with abstracts that contain "amylase" later.
this was performed in order to prove that the success of enzyminer was not dependent on the inclusion of the query enzyme abstracts in the training set.
in our test set we had  <dig> abstracts that contain a protein mutation and the term "amylase".
out of these  <dig> abstracts,  <dig> of them were non-disease related, out of these  <dig> non-disease related abstracts,  <dig> of them contained a change in the enzyme's stability or functionality.
the results of these experiments as shown in table  <dig> indicate that training enzyminer on lipases provided necessary information to correctly classify the amylases.
this proves that training our system with only one enzyme is sufficient to obtain high classification accuracies for the other enzymes, which is the intended use of enzyminer.
CONCLUSIONS
in this paper, we described enzyminer, an automated system designed to identify the pubmed abstracts that contain information on the impact of a protein level mutation on the stability and the activity of a given enzyme.
to our knowledge, besides the manually curated enzyme database brenda, there is no tool or database that provides the same information like the enzyminer.
although, we performed our experiments on lipases and amylases, the enzyminer can be applied to other enzymes without any modification.
for mutation extraction, we used mugex which handles ambiguous mutation citations successfully, and thus has a high accuracy and f-measure.
in the case of impact analysis of mutations, enzyminer uses document classification first to separate disease related abstracts, then to eliminate abstracts that do not contain any change in enzyme's stability or catalytic activity, and lastly to classify the remaining abstracts according to the impact of the mutation on the stability or on the catalytic activity.
currently, enzyminer does not give any information about the direction of the impact, whether there is an increase or decrease in the stability conditions or catalytic activity.
such a specification cannot be handled as a classification problem because there are abstracts that contain several mutations, each effect the stability condition or catalytic activity of an enzyme in different directions.
moreover, enzyminer does not specify the kind of change in the stability conditions.
it cannot distinguish between the changes in ph and temperature values.
similarly, in case of functionality, it cannot differentiate a change in the enzyme's specificity from a change in the sensitivity.
another limitation of enzyminer is, if an abstract contains several enzymes and protein mutations, it cannot associate the enzymes to the corresponding mutations, since enzyminer do not use proximity measures.
therefore, in the future, natural language processing techniques should be employed in order to overcome the above limitations and extract more specific information about the impact of a mutation on an enzyme.
availability
the enzyminer system and the gold standard corpus for the impact analysis stage are available under the url .
competing interests
the authors declare that they have no competing interests.
authors' contributions
sy designed the experiments, carried out the analysis, and wrote the manuscript.
us was the principal investigator of this system.
he conceptualized the system architecture and helped draft the manuscript.

 enzymes are mostly protein based biomolecules that accelerate the rate of chemical reactions in a living organism. enzymes are made of amino acids whose unique characteristic composition enables them to have different functionalities and also making them work efficiently at stable conditions, such as optimum temperature and ph. thus, any mutation that occurs in this amino acid sequence may change the enzyme's 3d-structure, catalytic activity or stability, or even making the enzyme completely non-functional. therefore, the knowledge of mutations and their impacts are of crucial importance in order to completely understand mechanisms of enzymes' functionality, and stability. many experimental studies have focused on finding the effects of mutations on enzymes. for example, many studies have aimed to create enzymes with novel properties such as designing hyperthermophilic enzymes or expanding the substrate specificity of an enzyme. the published results of these projects provide scientific information for researchers who are engaged in finding an impact of mutation on an enzyme. though many databases are available on the nomenclature of enzymes or structure and function, to our knowledge only brenda, the largest manually curated enzyme-specific information system, contains an information on engineered enzymes and their effects on the enzyme's catalytic activity while directly referring to scientific literature. manually curated databases are both slow and expensive for extracting information from scientific literature. there is a need for an efficient automatic extraction method that allows accessing relevant information rapidly with great efficiency, and possibly at any time. with the latest developments in information extraction, biomedical term recognition has become an important area for researchers. dictionary-based, rule-based, and machine learning-based approaches are used to extract names of genes, proteins and other cellular substances. several systems have already been developed for automatic extractions of mutations from biomedical literature. mutext, for example, developed by horn et al. is one of the initial works that focused on extracting single point mutations from scientific literature. moreover, a gold standard data set is created for comparing the performance of mutation extraction systems and systematic evaluations for these systems are developed with a precise definition of evaluation metrics. the next step in mutation informatics is finding relation of mutations to other biological entities such as genes or proteins. rebholz-schuhmann et al. developed mema, which extracts disease-related mutation-gene pairs from medline abstracts. in mema, identification of both gene names and mutations are based on regular expressions compiled into two different finite state automations. if the abstract or the sentence that the mutation is extracted from contains only one gene name, the detected mutation is associated to that particular gene. however, if there is more than one gene name, the mema uses syntactical rules and proximity parameters as a criterion for decision. mugex uses a similar approach developed by erdogmus et al. in order to extract disease related protein mutations. mugex makes use of regular expressions in identifying possible mutations. however, it also handles ambiguous mutation citations by using machine learning techniques. for gene name identification, it uses a dictionary-based approach and then associates the extracted entities according to proximity measures. for mutation-protein associations, lee et al. developed mutation grab, which identifies mutations using regular expressions, similar to the previous methods. protein identification is also performed with regular expressions, which search for a dictionary of protein names and synonyms. lastly, mutation grab uses graphs in which shortest-distance search and word bigram analysis are used in order to find the associations between mutations and proteins. mutationminer which is developed by baker et al. follows a different approach than the previous systems. it mainly focuses on associations between mutations and protein structure visualizations using nlp techniques. the system identifies the proteins and mutations in the form of name entities and if cited in the same sentence, the mutationminer associates them to one another. moreover, this system has been improved of late with the support of biological ontologies which make mutation annotations available in a semantically consistent format, and with the owl ontology which enables the automated means of accessing knowledge possible. the above information extraction techniques became necessary because of the increased number of electronic documents. at the same time, however, the task to classify these documents based on their contents makes document classification an important field for researchers. especially after integrating machine learning techniques to document classification, its accuracy has now became comparable to the less than 100% accuracy of human expertise. therefore, because of growing interest and high accuracy rates, document classification has been used in different applications such as document organization, word sense disambiguation or web document classification. although the above works make it possible to associate mutations to other biological entities, the experimental results documented in scientific literature cannot be extracted with the techniques discussed above. therefore, in case of mutation informatics, the next step is to extract information describing the effects of the mutations. the writers of this paper developed enzyminer, which is capable of automatically extracting protein mutations from pubmed abstracts for a given enzyme and classifying their impact on the enzyme's functionality and stability. in the case of mutation identification, the information extraction and document classification methods are used. for impact analysis, document classification techniques are again used for identifying the abstracts that contain a change in the stability conditions or catalytic activity of an enzyme resulted from a mutation. methods algorithm mutation extraction in this work, we focus on amino acid level protein mutations. in order to extract this kind of mutation from pubmed abstracts, we used mugex's mutation extraction and disambiguation modules which are based on regular expressions and machine learning techniques. a set of patterns was formed using phrases that contain protein mutations for regular expression matching in mugex. next, pattern matching was applied to each sentence of the abstracts in order to identify mutations. one major drawback of using regular expressions is that they are too general to be able to capture only the protein level mutations. a nucleotide mutation such as g32a, or the name of a strain or a cell line, such as h4s may easily be misinterpreted as a protein mutation. in order to eliminate such ambiguities, mugex makes use of machine learning techniques. document classification on topic and content sections of these abstracts identifies them as to whether or not a protein mutation is present. seperating disease related abstracts enzymes are essential for a number of functions in the cell; therefore, any malfunctioning of an enzyme caused by a mutation may be found in relation to a disease. thus, many research projects are conducted to find the relation between enzyme mutations and diseases. since, medline is the largest component of pubmed, all the abstracts of these medical projects are included in the pubmed database. therefore, when we download all the abstracts that contain the term "mutation" and a specific enzyme name, the medical abstracts are also accompanied in the downloaded information. however, these abstracts contains the general focus on the mutations' effects on the disease development, but not on the functionality or the stability of enzymes. for instance, lipoprotein lipase hydrolyzes lipids in lipoproteins. mutations in the gene encoding for lipoprotein lipase can lead to lipoprotein lipase deficiency that in turn leads to an increase in the levels of triglycerides in the bloodstream. therefore, many abstracts that contain both the words "mutation" and "lipase" are about research aiming to find the specific mutations that cause this disease. similarly, the disease related abstracts do not contain the information on direct impact of the mutation on the enzyme functionality or stability. for that reason, including these abstracts into our classification will mislead our results. in order to prevent corruption of the data, we initially classify the abstracts into two groups: disease related abstracts and non-disease related abstracts. dictionary based approaches that make use of medical subject headings or unified medical language system are previously used for identifying disease related abstracts. on the other hand, various document classification algorithms are also employed for clinical text classification between disease related documents such as clinical patient records. in enzyminer, we used document classification approach for grouping our abstracts into disease related or non-disease related abstracts. therefore, user is giving the option of choosing disease related or non-disease related abstracts, and base of their selection a list of mutations and their impacts on the enzyme are displayed on the web with direct references to the relevant scientific literature. impacts of mutation enzymatic reaction rates depend on physico-chemical conditions, such as ph and temperature. when these conditions are optimum, the enzyme attains its maximal activity. however, at high temperatures or extreme ph changes, the enzyme may become inactive as a result of denaturation. stability is the condition in which an enzyme can maintain its structural conformation and activity, yet, a mutation may cause changes in these conditions. for instance, a mutation that decreases the molecular flexibility of an enzyme sometimes may lead to higher thermostability, or a mutation that replaces glycine with a basic or acidic residue may cause significant changes in the enzyme's optimum ph. therefore, to understand the governing rules of protein structure stability, researchers carry out mutation studies and check the impact on stability at different temperatures and ph. likewise, an enzyme's functionality is also affected by mutations. unlike most of the chemical catalysts, enzymes are highly selective to their substrates and this specificity is mainly determined by three dimensional coordinates of the active site. therefore, a mutation that modifies the conformation of an enzyme, especially the catalytic site, may cease its function. a mutation that changes the spatial coordinates of the active site can change enzyme specificity for a specific molecule. on the other hand, all the mutations may not necessarily have a significant effect on the enzyme's stability conditions or catalytic functions. there are experimental results, for example, which show that some mutations have no impact. the abstracts that include only these kinds of mutations have to be filtered out since our main purpose is to find the abstracts that contain impacts of mutations on enzymes. we represented this challenge as a classification problem and removed the abstracts that are classified as no change abstracts from our data set. system architecture the system architecture of enzyminer is shown in figure our system is composed of three stages: preprocessing, mutation extraction and impact analysis. in this work, we focused on the abstracts from pubmed. abstracts published after january which contain an enzyme and the possible variations of the term "mutation" are downloaded. in order to include possible variations of "mutation" into our search query, a truncated form of word "mutation" was used. in the case of enzymes, we only used the trivial names in our search queries that supposedly used by all researchers. further, including ec numbers to our search seems unnecessary since in the abstracts ec numbers are rarely used as the extra information near the enzymes' common names. since our initial aim was to identify pubmed articles that are focused on a specific enzyme and possible protein mutations, we performed our search restricted to only the'title' and the'abstract' sections. if the searched words are not found in the abstract but found in the other fields, such pubmed entry was not downloaded. while in the preprocessing stage, the downloaded pubmed abstracts are first parsed, and then tokenization followed by sentence splitting operations were performed on these parsed abstracts for the successive stages. as for as the mutation extraction stage is concerned, we used mugex which is developed by our group to extract disease related mutation-gene pairs. mugex consists of two stages and each stage has several modules. since this work requires us to identify only protein mutations, we therefore used mutation extraction and disambiguation modules of mugex. mutation extraction module makes use of pattern matching with regular expressions to find the possible protein mutations from the text. all of the regular expressions are based on one pattern that starts with an amino acid as the one letter code followed by a number, and ends with another amino acid as another one letter code. by making modification to this pattern, a set of patterns was formed in order to find remaining mutation patterns. regular expressions are able to identify protein mutations. however, as indicated previously, the main challenge in amino-acid-level mutation extraction is to distinguish actual protein mutations from nucleotide mutations, or mutation like terms such as the name of a strain or a cell line. disambiguation module of mugex eliminates these kinds of ambiguities by using document classification as a word sense disambiguation application. this module uses rainbow, one of the front ends of the bow library designed for document classification, so as to decide the abstracts that contain potentially ambiguous mutations. a training benchmark that consists of randomly selected medline abstracts is formed and all of these abstracts were labeled by experts. out of these, a total of abstracts contained protein mutations while the remaining abstracts contain either nucleotide mutations or biological entities that are cited with mutation-like terms. using these labeled abstracts, the disambiguation module trains a model for classification while processing the abstracts by performing stemming, alphanumeric tokenization and considering word bigrams. after the preprocessing stage, enzyminer identifies all possible protein mutations in the downloaded abstracts using the mutation extraction module. then the ambiguous abstracts are queried to the disambiguation module where they are classified using naive bayes algorithm, which is trained with the above model. at the end of this stage, abstracts that contain protein mutations are queried to the classification modules of the impact analysis stage for further classification. impact analysis stage consists of three classification modules. firstly, the disease vs. non-disease classification module separates abstracts into two groups. if the user is interested only in disease related abstracts, the abstracts that are classified as disease related are displayed on the web with a list of protein mutations. on the other hand, non-disease related abstracts are queried to change vs. no change classification module and the ones that do not contain any change in an enzyme's functionality or stability are eliminated. lastly, in the stability vs. catalytic classification module, the remaining abstracts were sub-classified into two groups: ones that contain a change in stability of the protein structure, for those involved in catalytic activity as shown in figure and in all the classification modules of the impact analysis stage, rainbow was used as a document classifier. it assigns a document to the class with the highest score. however, the scores of the other classes are also given in the results. in the classification modules such as disease vs. not disease classification and change vs. no change, the abstracts in the test set are assigned to the class with the highest classification score. on the other hand, for the stability vs. catalytic classification module, before assigning an abstract to one of the classes, the difference between the scores of the two classes was checked. if the difference is less than, such abstract was assigned to both classes, because an abstract may contain a change in both the stability as well as the catalytic activity. furthermore, it is to be noted that in the classification modules, all possible words from the vocabulary are adapted as a feature during the classification. implementation all the steps at the preprocessing stage are developed using flex and bison. in the mutation extraction module, all regular expressions were compiled with the help of a c++ regular expression library. the disambiguation module makes use of rainbow in order to identify the abstracts that contain potentially ambiguous mutations. similarly, rainbow was used as a document classifier in all the classification modules of the impact analysis stage. during the steps shown in the figure all necessary information for the downloaded abstracts are inserted into a database. whenever an user queries to find impacts of mutations on an enzyme's stability and functionality, information relevant to that specific enzyme can be retrieved from the system and displayed on the web. testing in order to measure the performance of enzyminer, the system was employed with the query enzymes "lipase" and "amylase". these two enzymes perform essential roles in human digestion system, and deficiency of these enzymes may lead to disorders in human body. moreover, they have many applications in chemical and food industry. therefore, it is easy to find both disease related and non-disease related abstracts that contain one of queried enzymes. as indicated before, possible variations of the term "mutation" was included into our search query while developing the enzyminer system. however, in the evaluation step, only the pubmed abstracts that contain the terms "mutation" or "mutations", and either one of the queried enzymes were downloaded. as a result, our experimental dataset showed abstracts that contain the term "lipase" and abstracts showed the term "amylase". all of the abstracts are manually curated by the experts for three classification schemes. the impact analysis stage of enzyminer consists of classification modules: disease vs. non-disease classification, change vs. no change classification, and stability vs. catalytic classification modules. before detailing the experiments performed at this stage, stating the classification algorithms and evaluation metrics used in these modules will provide better understanding of the evaluation. classification algorithms and processing options in the classification stages of enzyminer, rainbow was used for document classification. it provides several classification algorithms and processing options. in order to decide which classification algorithm was more suitable, the classification performances of four algorithms were investigated. moreover, since some of these algorithms adopt the bag-of-words approach, eight different processing models were built to observe the impact of tokenization, stemming, and the use of n-grams. in these eight models, the effect of stemming, removing commonly observed morphological and inflectional suffixes from words, and the effect of using unigrams and bigrams were tested. in addition, to observe the effect of tokenization, two types of procedures were used, these are, white space tokenizer and alphanumeric tokenizer. the white space tokenizer delimits the tokens by a whitespace only, while the alphanumeric tokenizer delimits the tokens by only nonalphanumeric characters. evaluation in the classification modules as stated before, systematic evaluations for mutation extraction systems are developed with a precise definition of evaluation metrics. although not many systems still analyze the impact of mutations, evaluation metrics for such systems were also defined. since, the general idea for impact analysis is to perform information extraction, the standard precision, recall and f-measure are ideal parameters for evaluation. we decided to use also the accuracy measure in our evaluations because we approached to this problem as a document classification problem. furthermore, in order to test the effectiveness of the classification modules, we followed the train-and-test and k-fold cross validation approaches together. for each classification module, 20% of the abstracts were chosen as a test set. the remaining abstracts were used as a training set and the models are trained only with these abstracts. first of all, using only the training set, fold classification was performed fifty times and the average accuracy was represented as the training set accuracy. this step was repeated for all four classification algorithms and eight models. the classification algorithm with the highest accuracy model was used in the test step, where the abstracts from the test set were queried for classification. the overall accuracy of this step was represented as the test set accuracy.  mutation extraction stage in order to measure the performance of mutation extraction stage, all of the downloaded abstracts that contained the enzyme "lipase" or "amylase" were queried to mutation extraction and disambiguation modules of mugex. out of abstracts, were identified to have containing the amino-acid-level mutation with % precision, % recall, f-measure and % accuracy. these abstracts were then used to evaluate the impact analysis stage, where 80% of them were used as training set and the remaining as the test set. the number of abstracts in the training and test set for each classification module can be found in tables impact analysis stage as indicated previously, performances of naive bayes, svm, probabilistic indexing and rocchio with tf-idf weighting classification algorithms were investigated. the experimental runs showed that, out of four classification algorithms, probabilistic indexing always performed better than the other three algorithms. as shown in figure the accuracy measures of the four algorithms were compared with respect to the training set accuracies of stability vs. catalytic classification module. probabilistic indexing outperformed the other algorithms, while rocchio with tf-idf weighting performs moderately better than naive bayes. although svm is one of the best classification algorithms in document classification, its' performance is dependent on the context of the document. in this application context, out of the four classification algorithms, svm was the one with the worst performance measure. the same order was observed in the other classification modules and therefore, probabilistic indexing was chosen for all of the classification tasks performed in the impact analysis stage. as in the disease vs. non-disease classification module, downloaded abstracts that contained at least one protein mutation were classified as disease related or non-disease related abstracts. in our experimental data, abstracts that contained amino-acid-level mutation were randomly divided into training and test sets, and fold classification was performed fifty times on the training set. as seen in figure the highest training set accuracy measure of 95% was obtained using model with f-measure. this high accuracy is expected since most of the disease related abstracts contained words such as "disease", "patient", "deficiency" or "subject", and increasing the frequency of these words by performing stemming also increases our accuracy. moreover, word pairs such as "binding site" and "substrate specificity" are terms related to the activity of an enzyme and they were mostly observed in abstracts that are not disease related. therefore, using bi-grams also increased our classification accuracy. after the experiments from the training set, all the abstracts in the test set were classified using probabilistic indexing algorithm which was trained with the above model. at the end of the classification, 100% of the abstracts were correctly classified. after the disease vs. non-disease classification, if the user specifically indicates an interest in a disease related abstract, the abstracts that are assigned to this class are displayed on the web with a list of protein mutations they contain. if we specifically look at the mutation extraction performance on these abstracts, our accuracy was % with % precision, % recall and f-measure. on the other hand, if the user is not interested in a disease related abstract, the abstracts that are assigned to the non-disease related class were then continued to be processed in change vs. no change classification module. in this module, another classification identifies the abstracts that do not contain any change in the enzyme's stability or functionality. as shown in figure the highest classification accuracy of the training set was obtained using model with % accuracy and f-measure, and the results of this experiment are given in table using this model, % accuracy and f-measure were obtained in the classification of the test set and at the end of this step, abstracts that were classified as no change are eliminated. in the last step, the remaining abstracts are classified into two groups, these are, abstracts that contain information on a change in the enzyme's stability, or abstracts that discuss the changes in the enzyme's catalytic activity. when this classification was performed on the training set, the highest accuracy measure % and f-measure were observed with model, and thus a classification was performed on the test set using this model. at the end, it was observed that all the abstracts in the test set were correctly classified. as illustrated in table the experimental results of both the training and test sets are shown to be very high, which is expected since the classification model successfully identifies the most informative words such as "thermostability", "ph", "temperature", "sensitivity" and "specificity" as well as increase their frequency with stemming. it has been observed that classification modules respond to the different processing options in a more or less similar way. however, highest training set accuracies were observed in different models for each classification module. it shows that processing options have different effects on the classification of different concept. the only common part of these three models was stemming, which is an expected result, since it reduces the dimensionality of the term space which is a good thing for systems that have small training sets such as enzyminer. as indicated before, our experimental runs were performed on the abstracts that are obtained using the words "lipase" and "amylase". all three classification modules were first trained with abstracts that contain "lipase", and tested with abstracts that contain "amylase" later. this was performed in order to prove that the success of enzyminer was not dependent on the inclusion of the query enzyme abstracts in the training set. in our test set we had abstracts that contain a protein mutation and the term "amylase". out of these abstracts, of them were non-disease related, out of these non-disease related abstracts, of them contained a change in the enzyme's stability or functionality. the results of these experiments as shown in table indicate that training enzyminer on lipases provided necessary information to correctly classify the amylases. this proves that training our system with only one enzyme is sufficient to obtain high classification accuracies for the other enzymes, which is the intended use of enzyminer.  in this paper, we described enzyminer, an automated system designed to identify the pubmed abstracts that contain information on the impact of a protein level mutation on the stability and the activity of a given enzyme. to our knowledge, besides the manually curated enzyme database brenda, there is no tool or database that provides the same information like the enzyminer. although, we performed our experiments on lipases and amylases, the enzyminer can be applied to other enzymes without any modification. for mutation extraction, we used mugex which handles ambiguous mutation citations successfully, and thus has a high accuracy and f-measure. in the case of impact analysis of mutations, enzyminer uses document classification first to separate disease related abstracts, then to eliminate abstracts that do not contain any change in enzyme's stability or catalytic activity, and lastly to classify the remaining abstracts according to the impact of the mutation on the stability or on the catalytic activity. currently, enzyminer does not give any information about the direction of the impact, whether there is an increase or decrease in the stability conditions or catalytic activity. such a specification cannot be handled as a classification problem because there are abstracts that contain several mutations, each effect the stability condition or catalytic activity of an enzyme in different directions. moreover, enzyminer does not specify the kind of change in the stability conditions. it cannot distinguish between the changes in ph and temperature values. similarly, in case of functionality, it cannot differentiate a change in the enzyme's specificity from a change in the sensitivity. another limitation of enzyminer is, if an abstract contains several enzymes and protein mutations, it cannot associate the enzymes to the corresponding mutations, since enzyminer do not use proximity measures. therefore, in the future, natural language processing techniques should be employed in order to overcome the above limitations and extract more specific information about the impact of a mutation on an enzyme. availability the enzyminer system and the gold standard corpus for the impact analysis stage are available under the url. competing interests the authors declare that they have no competing interests. authors' contributions sy designed the experiments, carried out the analysis, and wrote the manuscript. us was the principal investigator of this system. he conceptualized the system architecture and helped draft the manuscript. 
we present an automated system which identifies the abstracts that contain an amino-acid-level mutation and then classifies them according to the mutation's effect on the enzyme. for impact analysis, document classification is performed to identify the abstracts that contain a change in enzyme's stability or activity resulting from the mutation. enzyminer identifies the abstracts that contain a protein mutation for a given enzyme and checks whether the abstract is related to a disease with the help of information extraction and machine learning techniques. in this paper, therefore, we describe an unique method, termed as enzyminer, which automatically identifies the pubmed abstracts that contain information on the impact of a protein level mutation on the stability and/or the activity of a given enzyme. though, several of the enzymes' databases are currently available, scientific literature still remains at large for up-to-date source of learning the effects of a mutation on an enzyme. in the case of mutation identification, mugex, an automated mutation-gene extraction system has an accuracy of % with a f-measure.
 a better understanding of the mechanisms of an enzyme's functionality and stability, as well as knowledge and impact of mutations is crucial for researchers working with enzymes. though, several of the enzymes' databases are currently available, scientific literature still remains at large for up-to-date source of learning the effects of a mutation on an enzyme. however, going through vast amounts of scientific documents to extract the information on desired mutation has always been a time consuming process. in this paper, therefore, we describe an unique method, termed as enzyminer, which automatically identifies the pubmed abstracts that contain information on the impact of a protein level mutation on the stability and/or the activity of a given enzyme.  we present an automated system which identifies the abstracts that contain an amino-acid-level mutation and then classifies them according to the mutation's effect on the enzyme. in the case of mutation identification, mugex, an automated mutation-gene extraction system has an accuracy of % with a f-measure. for impact analysis, document classification is performed to identify the abstracts that contain a change in enzyme's stability or activity resulting from the mutation. the system was trained on lipases and tested on amylases with an accuracy of 85%.  enzyminer identifies the abstracts that contain a protein mutation for a given enzyme and checks whether the abstract is related to a disease with the help of information extraction and machine learning techniques. for disease related abstracts, the mutation list and direct links to the abstracts are retrieved from the system and displayed on the web. for those abstracts that are related to non-diseases, in addition to having the mutation list, the abstracts are also categorized into two groups. these two groups determine whether the mutation has an effect on the enzyme's stability or functionality followed by displaying these on the web. eccb workshop: annotations, interpretation and management of mutations cagliari, italy 