calculating nonsynonymous ( ka ) and synonymous ( ks ) substitution rates is a useful way for evaluating sequence variations for protein orthologs across different species or taxonomical lineages with unknown evolutionary status .
furthermore , it is often important to recognize positively selected sites and to identify genes with selective hotspots .
there have been numerous methods and software tools developed for such purposes in the public domain , including paml ( 1 ) , mega ( 2 ) , dnasp ( 3 ) , hyphy ( 4 ) and certain modules from bioperl ( 5 ) .
however , after careful simulations and real data analysis , we believe that a single method will not be readily identified to be used under all circumstances 6 , 7 , therefore we created the version of the kaks_calculator 1.0 ( 8) , which adopted model - selected and model - averaged techniques to compute ka / ks values by means of a group of existing nucleotide substitution models . since the majority of dna sequence sites are considered to be invariable due to functional restraints and evolutionary distances , the selective pressure varies among different sites in a sequence , thus ka / ks calculations only based on the entire gene are not enough to detect the individual sites subjected to adaptive selection . to conquer this problem , a  sliding window 
strategy has been introduced to several web servers such as swapsc ( 9 ) and wspmaker ( 10 ) , while these tools adopted fewer ( mostly one ) models for ka and ks calculations . here
we provide an updated version of kaks_calculator , which solves these two questions in a simple way .
, unlike the existent ka / ks algorithms , the new software can take the variable mutation rates across sequence sites into account , which contain vital information for molecular evolutionary studies .
we created seven related methods namely -ng , -lwl , -mlwl , -lpb , -mlpb , -yn and -myn by introducing gamma distribution to model the mutation rates ; the importance of the new methods has been demonstrated as the ignorance gives rise to biased computational results 11 , 12 .
we therefore implemented these new methods into the updated core tool of version 2.0 , whose core toolset has seventeen algorithms including seven original approximate methods , seven gamma - series methods , one maximum likelihood method ( gy ) , and two expanding methods ( model selected and model averaged ) .
the methods provide not only the values of ka , ks and ka / ks , but also other key information from paired orthologous sequences , including the number of synonymous / nonsynonymous sites , substitutions , divergence time , substitution - rate - ratio , gc content , and aicc .
split , plot , dpss  to evaluate adaptive selection at the gene sequence level . as an expanding toolset , they adopt a sliding window with user s definition on window length and step length .
split is responsible for the division of the raw paired orthologous sequences into portions on the basis of dynamic windows in the positive direction .
plot deals with the outcome of the core toolset after the nucleotide sequences from split have been computed , resulting in a massive collection of figures illustrating ka , ks and ka / ks ( omega ) in intervals .
third , it should be emphasized that all above - mentioned processes are capable of handling massive data in a timely fashion . in particular , all transferrable data including sequences and resulting information are contained in a single file .
we provide executable files as well as source codes for the package and tested all programs on both windows 2000/xp / vista and linux ( red hat 3.4.6 - 8 ) platforms .
the toolkit is freely available ( licensed under gplv3 ) online at https://sourceforge.net / projects / kakscalculator2/.
in order to conveniently update the algorithm and to friendly communicate with users , we implement the new version with a 
therefore , the integrated software is divided into two essential parts to better serve for different functionality : the core toolset that calculates ka and ks , and the expanding toolset that is responsible for additional computation activities based on the ka and ks calculation ( e.g. , with a sliding window strategy ) ( figure 1 ) . in the core toolset
, we design the gui with visual c++ s mfc ( microsoft foundation classes ) that manages documents and allows users to view the objects , and the entire program is object - oriented .
each main method has its own class in the code and the multi - thread operations among them use the cpu time allocations very efficiently .
we adopt java-6 to program the expanding toolset because of its advantages across different platforms .
we choose r language ( http://www.r-project.org/ ) to draw high - level graphics from inputting data . to call for the r function from java
, we employ a package named  rserve  ( http://www.rforge.net/rserve/index.html ) , which is a program responding to requests from clients based on the tcp / ip protocol . in details , we use java to invoke the jrclient suite and connect it after rserve starts on r environment ; under this circumstance each connection has its workspace and directory .
moreover , the server allows many clients to plot their data simultaneously . in consideration of the running speed ,
it is so fast that a graph covering thousands of data points can be plotted in a few seconds .
we have evaluated the performance of the gamma - series methods in ka / ks calculations in previous studies 11 , 12 . in the process of identifying positively selected sites ,
we have also successfully applied the toolbox to two real cases , including the animal alpha - defensin genes investigated in lynn et al .
( 13 ) and the tas1r3 ( taste receptor type 1 member 3 ) genes reported to be responsible for the ability to recognize the sweetness ( 14 ) ( figure 2 ) .
it is important to combine the gamma - series methods with a sliding window strategy ; the former represents the variation of raw mutation across sites and the latter reveals if each site is driven by different selective pressure based on the assumption that the omega ( ka / ks ) values are not equal across orthologous gene sequences .
in particular , when window slices become dense enough , it approaches the  site models 
( 1 ) , similar to the thought of  integral  definition in mathematics .
we believe that the software provides an excellent choice when one calculates for positively selected sites .
a final note is that we will construct ancestral sequences for the measurement of lineage - specific selective strength in our next update .
zz supplied several bug reports and modified schemes in the previous version of the software .
zz supplied several bug reports and modified schemes in the previous version of the software .
 we present an integrated stand - alone software package named kaks_calculator 2.0 as an updated version . 
 it incorporates 17 methods for the calculation of nonsynonymous and synonymous substitution rates ; among them , we added our modified versions of several widely used methods as the gamma series including -ng , -lwl , -mlwl , -lpb , -mlpb , -yn and -myn , which have been demonstrated to perform better under certain conditions than their original forms and are not implemented in the previous version . the package is readily used for the identification of positively selected sites based on a sliding window across the sequences of interests in 5 to 3 direction of protein - coding sequences , and have improved the overall performance on sequence analysis for evolution studies . 
 a toolbox , including c++ and java source code and executable files on both windows and linux platforms together with a user instruction , is downloadable from the website for academic purpose at https://sourceforge.net / projects / kakscalculator2/. 
Introduction
New Features
Implementation
Evaluation
Authors contributions
Competing interests