BACKGROUND
the first step in the assessment of evolutionary relationships between related sequences is the generation of pairwise or multiple sequence alignments .
over the last two decades several algorithms have been developed to generate rapid yet accurate sequence alignments for subsequent analysis  <cit> .
a commonly used program, clustalw, generates msas of dna or amino acids by constructing a branched guide tree from pairwise alignments  <cit> .
more recent progressive alignment methods, such as t-coffee, have improved the accuracy of clustalw by combining information from local and global alignments  <cit> .
other methods of sequence alignment, such as iterative, all-against-all, and hybrid approaches have also been shown to improve the accuracy of clustalw, although some necessitate significant increases in computational power  <cit> .
regardless of the method, when dna is aligned it is done so in a manner that arranges sequences to minimize gaps and mismatches to achieve a maximal score based on sequence identity and similarity.
given that codon triplets are considered the unit of coding sequence evolution, dna alignments that do not constrain codons are likely to misrepresent the encoded information  <cit> .
for example, to meet the optimality criteria used in the alignment of dna sequences, single gaps are frequently inserted and thus distort the reading frame .
essentially, for coding sequences, an "optimal" alignment of dna may ignore the rules that govern its translation into protein.
as a result, the evolutionary constraints placed on the protein product are lost in the analysis.
a straightforward solution to the problem would be to perform a codon-based alignment that does not allow the partition of codons .
the codon-based alignment can then be used to detect adaptive molecular evolution or purifying selection by estimating the number of non-synonymous and synonymous substitutions .
in general, the aligned sequences are screened for dn/ds ratios of > <dig>  or dn/ds ratios of <  <dig> .
there are currently several informatics tools freely available that calculate dn/ds ratios to measure evolutionary selection or generate codon-delimited alignments.
the online program ocpat is able to generate codon-delimited of alignments from human gene ids and their putative orthologs from other vertebrates; however, ocpat is not able to calculate dn/ds scores  <cit> .
most of the programs that calculate dn/ds require a codon-delimited alignment.
for example, the programs snap  and wina  employ user provided alignments to calculate substitution rates, where wina also allows for the use of sliding window analysis  <cit> .
swakk  uses pairwise sequence alignments, sliding windows, and structural alignment to identify regions of positive selection  <cit> .
dnasp  allows for the detection of diversifying selection by measuring dna polymorphisms and also uses sliding window analysis  <cit> .
in an effort to simplify the process, pal2nal  takes pre-aligned protein and the corresponding unaligned coding dna to generate codon-delimited alignments.
while useful, pal2nal is constrained to pairwise dn/ds analysis, does not include graphing, and does not allow the user to edit the codeml control file  <cit> .
the popular program paml  is able to perform both pairwise and site-based dn/ds calculations.
however, it does not have a gui  and visualization of the output data can be cumbersome.
in addition, it requires the input of pre-aligned sequences  <cit> .
more recently, idea  has implemented a gui for both paml and phylip  and is amenable for high throughput genome-wide analysis  <cit> .
while idea is a powerful tool, it does not run on the windows operating system, requires the separate installation of several support programs, uses multiple languages, generates graphs that are difficult to configure, and also requires a codon-delimited alignment.
we have designed jcoda to be an easy-to-use tool that integrates several common functions required for the detection of evolutionary selection in coding sequences.
specifically, the steps that are now controlled from the jcoda interface: generation of codon-delimited alignments, generation of phylogenetic trees, estimation of site and regional dn/ds scores under multiple models of substitution, and the generation of user configurable graphical output.
jcoda only requires unaligned coding sequences  in fasta format and it takes advantage of the freely available biojava framework  <cit> , clustalw  <cit> , phylip  <cit> , and paml  <cit>  to identify positive/negative evolutionary selection.
the visualization options in jcoda include a variety of common alignment formats, and user configurable scalable graphs with sliding window options for pairwise or gene family comparisons.
to demonstrate the types of analyses facilitated by jcoda, we have performed an analysis of  <dig> sex determination genes in nematodes and identified genes under positive selection, regional positive selection, and differences in selective pressure likely due to functional constraints.
implementation
jcoda was designed to assist in performing common operations associated with evolutionary analysis.
it coordinates the passage of information from the initial alignments  to the calculation of dn/ds  to the visualization of output.
for site-based analysis of selection we have packaged jcoda with a graphical interface for phylip  that allows for the generation of phylogenetic trees.
jcoda is written entirely in java, which allows for the addition of supplementary modules that offer additional functionality.
to allow for easy installation, jcoda is packaged with all of the required components  and can be installed on any computer with a windows operating system  and java runtime environment  <dig>  .
for ease of operation, installation of java developer kit  <dig> bundled with netbeans  is recommended http://java.sun.com/javase/downloads/index.jsp.
jcoda provides two options for calculation of dn/ds scores: regional pairwise calculation via sliding window or a site-specific calculation.
pairwise dn/ds performs the calculation between any user-selected sequences from a list of all possible comparisons presented in the gui.
for sliding window pairwise calculations, the size of the window, jump, and substitution models are configurable via drop down menus.
once the selected sequence comparisons are submitted, jcoda parses through them by window, converts them to phylip format, and feeds each window to paml  suite to calculate dn/ds.
jcoda does this iteratively over all windows until the end of the selected sequence pair.
the potential benefit of the sliding window option is that it can be performed very quickly and it is able to extract information about regional selection.
however, it is important to note that methods that incorporate sliding windows have been demonstrated to be prone to artifact arising due to resampling and illustrate the importance of incorporating site-based methods and the likelihood ratio test in sequence analysis  <cit> .
jcoda takes advantage of the codeml executable included in the paml package to implement site-specific dn/ds calculation.
similar to pairwise comparisons, jcoda converts all inputted sequences to phylip format and feeds them to codeml.
in order for a site-based dn/ds calculation to be performed, the user must provide a tree file and set its path for use in the gui.
to allow for this operation, the jcoda package includes a java based graphical interface for the phylip package  <cit> , http://evolution.genetics.washington.edu/phylip.html).
the phylip graphical interface  allows for the generation of trees using neighbor-joining, parsimony, or maximum likelihood based methods of either dna or protein.
regardless of the source of the tree file, jcoda will accept any tree in phylip format.
jcoda implements m <dig>  -vs- m <dig>  and m1a  -vs- m2a  in conjunction with the likelihood ratio test to check for evidence of positive selection  <cit> .
to maintain jcoda's flexibility, the user is given the option to access the complete codeml control file as a selectable advanced options tab to vary other parameters.
RESULTS
input requirements and alignments
the jcoda user interface, input requirements, and installation have been designed to be easier to use while retaining the underlying power of the codeml and yn <dig> programs from the paml package .
for example, we have simplified the input requirements to the coding sequences  in fasta format.
there were two primary reasons for this streamlined approach.
first, cds can be readily batch retrieved from ncbi or organism specific databases such as wormbase   <cit> .
second, the risk of mismatch between dna and protein sequences is eliminated by directly translating the cds input by the user.
for unaligned cds, the sequences are translated by the biojava framework  <cit>  and the proteins are passed to clustalw for alignment.
jcoda generates a codon-delimited alignment using the protein alignment from clustalw as a guide to prevent the interruption of codon triplets, .
jcoda also accepts pre-aligned protein sequences in fasta format paired with corresponding unaligned cds in the same format to allow for the use of sequences aligned in another program or modified by hand.
when provided with prealigned protein sequences and corresponding cds, jcoda simply circumvents clustalw and performs the codon-delimited alignment directly.
visualization and output
navigation in jcoda has been designed around the use of a tabbed gui that allows for shuffling between graphs and sequence alignments .
we have implemented jfreechart http://www.jfree.org to generate robust graphs of dn/ds scores by both sliding window and site-specific methods.
the graphs are extensively customizable, dynamically scaled, and can be saved as png  files .
the user can export protein and dna alignment files in clustalw, phylip , and hybrid protein/dna codon-delimited formats using the file menu.
the dn/ds scores from all models selected, including p values, can be exported as common separated values  files allowing for further analysis in database, spreadsheet, and graphing programs .
benchmarking
the use of jcoda interface does not add significantly to the time need required to run clustalw, phylip, or paml.
any time costs incurred are more than ameliorated by the integration of multiple tasks.
for example, the user does not have to reformat sequences to shuttle them from one program to another or use an additional program to obtain graphical representations of the data.
to test the ability of jcoda to recover signatures of directional selection, we used multiple datasets including trim5α   <cit> , nef gene of hiv- <dig>   <cit> , lysozyme  <cit> , and a subset of hiv <dig> protease and reverse transcriptase sequences from the hiv positive selection mutation database  <cit> .
we have included an analysis of the sex determination genes in nematodes to illustrate the utility of jcoda in identification of directional selection.
evolutionary selection in the nematode sex determination pathway
the extreme divergence in sex determination pathway components has made their analysis problematic using comparison of distantly related species  the recent availability of sequence information from nematodes related to caenorhabditis elegans  has provided the raw material for the analysis of sex determination pathway components where sequence divergence has not erased all evidence of directional selection.
we used the jcoda interface to perform a screen for directional selection using all known sex determination pathway components in nematodes closely related to c. elegans.
we were able to identify genes that have been previously shown  to be under positive selection.
furthermore, we identified differences in selection between genes based on their function in the sex determination cascade .
genes are sorted based on functions in germ line and somatic sex determination , somatic sex determination  , or germ line sex determination .
all sex determination gene orthologs used were identified by reciprocal best-hit or conserved synteny .
only genes with large indels and obvious mispredictions that could be resolved were eliminated.
dn/ds = average pairwise score for the gene family .
models compared for likelihood ratio test  were m <dig> -vs- m <dig>  where bold indicates number higher than critical value  and rejection of the null.
portion of sites with dn/ds> <dig> was calculated as a ratio of selected sites with a probability higher than  <dig>  of dn/ds> <dig> to total sites.
tree files were based on the clustalw alignments using the neighbor-joining method .
see associated fasta files for id numbers and species used.
= species specific gene expansion or contains species specific duplications.
relative to the genome wide c. elegans/c.
briggsae dn/ds ratio of  <dig>   <cit> , the majority of sex determination genes show elevated levels of non-synonymous substitutions in pairwise comparisons .
considerable variability within each category was present but there are no significant differences in average pairwise dn/ds scores between the categories.
interestingly, site-based analysis reveals evidence for positive selection in five of nine genes involved exclusively in germ line sex determination and five of nine genes involved in the specification of somatic sex .
in contrast, positive selection was only detected in one gene of seven genes involved in both germ line and somatic pathways .
evidence of fewer genes that function in multiple pathways with signatures of positive selection likely reflects resistance to change based on additional function constraints.
positive selection can be difficult to detect when high levels of sequence divergence are present and ds is essentially saturated  <cit> .
haag and ackerman   <cit>  measured nucleotide diversity using sliding windows to detect patches of diversifying selection in c. remanei fem- <dig> .
we processed the same dataset with jcoda and confirmed the presence of positive selection clustered between amino acids  <dig> and  <dig> , a highly polymorphic region of the protein .
also consistent with their data, the tra- <dig> region used did not show evidence of positive selection, although the dn/ds ratio was elevated .
as additional intraspecies sequence information is collected, it is likely that the capability to detect positive selection will be significantly enhanced.
the fem- <dig> and tra- <dig> intraspecies data from haag and ackerman  were analyzed using both pairwise and site-based methods.
using m <dig> -vs- m <dig> models lrt rejects the null for fem- <dig>  but not for tra- <dig>  b = involved in somatic and germ line sex determination.
dn/ds = average pairwise.
proportion of sites with dn/ds> <dig> = ratio of selected sites with a probability higher than  <dig>  of dn/ds> <dig> to total sites.
examples of the graphical output generated by jcoda are shown in figures  <dig> and  <dig>  the gld- <dig>  rna binding protein governs the translation of numerous mrna targets including functioning with fog- <dig> in the promotion of spermatogenesis in the hermaphrodite  <cit> .
as expected, pairwise sliding window analysis reveals that extensive purifying selection dominates regions with homology to the rna binding gsg  domain .
interestingly, elevated levels of dn/ds were detected at both the n and c-terminal ends relative to the average pairwise dn/ds for gld- <dig> .
using site-based analysis, we confirmed the presence of residues under positive selection .
curiously, even though gld- <dig> orthologs in c. elegans and c. briggsae share significant amino acid homology  and have a dn/ds ratio consistent with purifying selection, they have opposite functions in sex determination  <cit> .
we speculate that species-specific functions could be explained by at least two mechanisms.
first, the extensive conservation in the kh-domain between c. elegans and c. briggsae suggests that at least some of the species differences in gld- <dig> function can be explained by a change in mrna targets.
second, based on the elevated non-synonymous substations at the n and c-terminal ends, we can infer that some changes in gld- <dig> function could result from species-specific interactions or regulation.
CONCLUSIONS
an important part of the analysis of homologous coding sequences is the characterization of evolutionary selection by comparing the rates of synonymous and non-synonymous substitutions.
the primary issues with these types of analyses are the difficulty in generating codon-delimited alignments, shuttling between programs, and the complexity in configuring programs that are designed to detect positive selection.
jcoda provides a simple platform that integrates several common functions associated with evolutionary analysis of coding sequences and the detection of positive/negative selection.
jcoda is a modular tool built using the biojava framework, clustalw, phylip, and paml that allows for the rapid assessment and visualization of the pairwise and site-based selection pressure on coding sequences.
using jcoda we were able to identify multiple sex determination pathway genes with evidence of positive selection based on functional constraints.
the jcoda executable, source code, and tutorial are freely available at http://www.tcnj.edu/~nayaklab/jcoda .
availability and requirements
project name: jcoda: a tool for detecting evolutionary selection
project home page: http://www.tcnj.edu/~nayaklab/jcoda
operating system: windows
programming language: java
other requirements: java runtime environment  <dig>   or java developer kit  <dig>
license: gpl gnu version  <dig> for jcoda or pgi.
please do not violate the copyright or terms of use for clustalw, phylip, paml, and jfreechart.
any restrictions to use by non-academics: jcoda and pgi are provided free for academic use only.
please be aware of the copyright or terms of use for clustalw, phylip, paml, and jfreechart.
authors' contributions
rd: designed and implemented the phylip graphical interface, jh: contributed to the initial development of jcoda, cl: designed the jcoda interface, generated output formats, and implemented integration with clustalw, ss: integrated paml functionality, implemented graphing, and performed sex determination gene analysis, sn: initiated development of jcoda, contributed to the analysis of sex determination genes, and coordinated the project.
all authors contributed the writing of the manuscript and have approved its final version.
supplementary material
additional file 1
zipped archive that contains the jcoda/pgi tutorial , readme files , and video guides .
click here for file
additional file 2
zipped archive that contains the jcoda/pgi installation and configuration video .
not required for all installations.
click here for file
additional file 3
zipped archive that contains videos of checking java version  and a sample of sliding window analysis.
click here for file
additional file 4
zipped archive that contains videos documenting common problems with jcoda and pgi.
click here for file
additional file 5
zipped archive that contains videos documenting partial functionally with mac os x  <dig> .
click here for file
additional file 6
zipped archive that contains all jcoda source code and executable jar files.
click here for file
acknowledgements
jh and sn were funded in part by the college of new jersey mentored undergraduate summer experience .
we would like to thank dr. peter depasquale  for helpful comments.

 the first step in the assessment of evolutionary relationships between related sequences is the generation of pairwise or multiple sequence alignments. over the last two decades several algorithms have been developed to generate rapid yet accurate sequence alignments for subsequent analysis. a commonly used program, clustalw, generates msas of dna or amino acids by constructing a branched guide tree from pairwise alignments. more recent progressive alignment methods, such as t-coffee, have improved the accuracy of clustalw by combining information from local and global alignments. other methods of sequence alignment, such as iterative, all-against-all, and hybrid approaches have also been shown to improve the accuracy of clustalw, although some necessitate significant increases in computational power. regardless of the method, when dna is aligned it is done so in a manner that arranges sequences to minimize gaps and mismatches to achieve a maximal score based on sequence identity and similarity. given that codon triplets are considered the unit of coding sequence evolution, dna alignments that do not constrain codons are likely to misrepresent the encoded information. for example, to meet the optimality criteria used in the alignment of dna sequences, single gaps are frequently inserted and thus distort the reading frame. essentially, for coding sequences, an "optimal" alignment of dna may ignore the rules that govern its translation into protein. as a result, the evolutionary constraints placed on the protein product are lost in the analysis. a straightforward solution to the problem would be to perform a codon-based alignment that does not allow the partition of codons. the codon-based alignment can then be used to detect adaptive molecular evolution or purifying selection by estimating the number of non-synonymous and synonymous substitutions. in general, the aligned sequences are screened for dn/ds ratios of > or dn/ds ratios of <. there are currently several informatics tools freely available that calculate dn/ds ratios to measure evolutionary selection or generate codon-delimited alignments. the online program ocpat is able to generate codon-delimited of alignments from human gene ids and their putative orthologs from other vertebrates; however, ocpat is not able to calculate dn/ds scores. most of the programs that calculate dn/ds require a codon-delimited alignment. for example, the programs snap and wina employ user provided alignments to calculate substitution rates, where wina also allows for the use of sliding window analysis. swakk uses pairwise sequence alignments, sliding windows, and structural alignment to identify regions of positive selection. dnasp allows for the detection of diversifying selection by measuring dna polymorphisms and also uses sliding window analysis. in an effort to simplify the process, pal2nal takes pre-aligned protein and the corresponding unaligned coding dna to generate codon-delimited alignments. while useful, pal2nal is constrained to pairwise dn/ds analysis, does not include graphing, and does not allow the user to edit the codeml control file. the popular program paml is able to perform both pairwise and site-based dn/ds calculations. however, it does not have a gui and visualization of the output data can be cumbersome. in addition, it requires the input of pre-aligned sequences. more recently, idea has implemented a gui for both paml and phylip and is amenable for high throughput genome-wide analysis. while idea is a powerful tool, it does not run on the windows operating system, requires the separate installation of several support programs, uses multiple languages, generates graphs that are difficult to configure, and also requires a codon-delimited alignment. we have designed jcoda to be an easy-to-use tool that integrates several common functions required for the detection of evolutionary selection in coding sequences. specifically, the steps that are now controlled from the jcoda interface: generation of codon-delimited alignments, generation of phylogenetic trees, estimation of site and regional dn/ds scores under multiple models of substitution, and the generation of user configurable graphical output. jcoda only requires unaligned coding sequences in fasta format and it takes advantage of the freely available biojava framework, clustalw, phylip, and paml to identify positive/negative evolutionary selection. the visualization options in jcoda include a variety of common alignment formats, and user configurable scalable graphs with sliding window options for pairwise or gene family comparisons. to demonstrate the types of analyses facilitated by jcoda, we have performed an analysis of sex determination genes in nematodes and identified genes under positive selection, regional positive selection, and differences in selective pressure likely due to functional constraints. implementation jcoda was designed to assist in performing common operations associated with evolutionary analysis. it coordinates the passage of information from the initial alignments to the calculation of dn/ds to the visualization of output. for site-based analysis of selection we have packaged jcoda with a graphical interface for phylip that allows for the generation of phylogenetic trees. jcoda is written entirely in java, which allows for the addition of supplementary modules that offer additional functionality. to allow for easy installation, jcoda is packaged with all of the required components and can be installed on any computer with a windows operating system and java runtime environment. for ease of operation, installation of java developer kit bundled with netbeans is recommended http://java.sun.com/javase/downloads/index.jsp. jcoda provides two options for calculation of dn/ds scores: regional pairwise calculation via sliding window or a site-specific calculation. pairwise dn/ds performs the calculation between any user-selected sequences from a list of all possible comparisons presented in the gui. for sliding window pairwise calculations, the size of the window, jump, and substitution models are configurable via drop down menus. once the selected sequence comparisons are submitted, jcoda parses through them by window, converts them to phylip format, and feeds each window to paml suite to calculate dn/ds. jcoda does this iteratively over all windows until the end of the selected sequence pair. the potential benefit of the sliding window option is that it can be performed very quickly and it is able to extract information about regional selection. however, it is important to note that methods that incorporate sliding windows have been demonstrated to be prone to artifact arising due to resampling and illustrate the importance of incorporating site-based methods and the likelihood ratio test in sequence analysis. jcoda takes advantage of the codeml executable included in the paml package to implement site-specific dn/ds calculation. similar to pairwise comparisons, jcoda converts all inputted sequences to phylip format and feeds them to codeml. in order for a site-based dn/ds calculation to be performed, the user must provide a tree file and set its path for use in the gui. to allow for this operation, the jcoda package includes a java based graphical interface for the phylip package, http://evolution.genetics.washington.edu/phylip.html). the phylip graphical interface allows for the generation of trees using neighbor-joining, parsimony, or maximum likelihood based methods of either dna or protein. regardless of the source of the tree file, jcoda will accept any tree in phylip format. jcoda implements m -vs- m and m1a -vs- m2a in conjunction with the likelihood ratio test to check for evidence of positive selection. to maintain jcoda's flexibility, the user is given the option to access the complete codeml control file as a selectable advanced options tab to vary other parameters.  input requirements and alignments the jcoda user interface, input requirements, and installation have been designed to be easier to use while retaining the underlying power of the codeml and yn programs from the paml package. for example, we have simplified the input requirements to the coding sequences in fasta format. there were two primary reasons for this streamlined approach. first, cds can be readily batch retrieved from ncbi or organism specific databases such as wormbase. second, the risk of mismatch between dna and protein sequences is eliminated by directly translating the cds input by the user. for unaligned cds, the sequences are translated by the biojava framework and the proteins are passed to clustalw for alignment. jcoda generates a codon-delimited alignment using the protein alignment from clustalw as a guide to prevent the interruption of codon triplets,. jcoda also accepts pre-aligned protein sequences in fasta format paired with corresponding unaligned cds in the same format to allow for the use of sequences aligned in another program or modified by hand. when provided with prealigned protein sequences and corresponding cds, jcoda simply circumvents clustalw and performs the codon-delimited alignment directly. visualization and output navigation in jcoda has been designed around the use of a tabbed gui that allows for shuffling between graphs and sequence alignments. we have implemented jfreechart http://www.jfree.org to generate robust graphs of dn/ds scores by both sliding window and site-specific methods. the graphs are extensively customizable, dynamically scaled, and can be saved as png files. the user can export protein and dna alignment files in clustalw, phylip, and hybrid protein/dna codon-delimited formats using the file menu. the dn/ds scores from all models selected, including p values, can be exported as common separated values files allowing for further analysis in database, spreadsheet, and graphing programs. benchmarking the use of jcoda interface does not add significantly to the time need required to run clustalw, phylip, or paml. any time costs incurred are more than ameliorated by the integration of multiple tasks. for example, the user does not have to reformat sequences to shuttle them from one program to another or use an additional program to obtain graphical representations of the data. to test the ability of jcoda to recover signatures of directional selection, we used multiple datasets including trim5α, nef gene of hiv-, lysozyme, and a subset of hiv protease and reverse transcriptase sequences from the hiv positive selection mutation database. we have included an analysis of the sex determination genes in nematodes to illustrate the utility of jcoda in identification of directional selection. evolutionary selection in the nematode sex determination pathway the extreme divergence in sex determination pathway components has made their analysis problematic using comparison of distantly related species the recent availability of sequence information from nematodes related to caenorhabditis elegans has provided the raw material for the analysis of sex determination pathway components where sequence divergence has not erased all evidence of directional selection. we used the jcoda interface to perform a screen for directional selection using all known sex determination pathway components in nematodes closely related to c. elegans. we were able to identify genes that have been previously shown to be under positive selection. furthermore, we identified differences in selection between genes based on their function in the sex determination cascade. genes are sorted based on functions in germ line and somatic sex determination, somatic sex determination, or germ line sex determination. all sex determination gene orthologs used were identified by reciprocal best-hit or conserved synteny. only genes with large indels and obvious mispredictions that could be resolved were eliminated. dn/ds = average pairwise score for the gene family. models compared for likelihood ratio test were m -vs- m where bold indicates number higher than critical value and rejection of the null. portion of sites with dn/ds> was calculated as a ratio of selected sites with a probability higher than of dn/ds> to total sites. tree files were based on the clustalw alignments using the neighbor-joining method. see associated fasta files for id numbers and species used. = species specific gene expansion or contains species specific duplications. relative to the genome wide c. elegans/c. briggsae dn/ds ratio of, the majority of sex determination genes show elevated levels of non-synonymous substitutions in pairwise comparisons. considerable variability within each category was present but there are no significant differences in average pairwise dn/ds scores between the categories. interestingly, site-based analysis reveals evidence for positive selection in five of nine genes involved exclusively in germ line sex determination and five of nine genes involved in the specification of somatic sex. in contrast, positive selection was only detected in one gene of seven genes involved in both germ line and somatic pathways. evidence of fewer genes that function in multiple pathways with signatures of positive selection likely reflects resistance to change based on additional function constraints. positive selection can be difficult to detect when high levels of sequence divergence are present and ds is essentially saturated. haag and ackerman measured nucleotide diversity using sliding windows to detect patches of diversifying selection in c. remanei fem-. we processed the same dataset with jcoda and confirmed the presence of positive selection clustered between amino acids and, a highly polymorphic region of the protein. also consistent with their data, the tra- region used did not show evidence of positive selection, although the dn/ds ratio was elevated. as additional intraspecies sequence information is collected, it is likely that the capability to detect positive selection will be significantly enhanced. the fem- and tra- intraspecies data from haag and ackerman were analyzed using both pairwise and site-based methods. using m -vs- m models lrt rejects the null for fem- but not for tra- b = involved in somatic and germ line sex determination. dn/ds = average pairwise. proportion of sites with dn/ds> = ratio of selected sites with a probability higher than of dn/ds> to total sites. examples of the graphical output generated by jcoda are shown in figures and the gld- rna binding protein governs the translation of numerous mrna targets including functioning with fog- in the promotion of spermatogenesis in the hermaphrodite. as expected, pairwise sliding window analysis reveals that extensive purifying selection dominates regions with homology to the rna binding gsg domain. interestingly, elevated levels of dn/ds were detected at both the n and c-terminal ends relative to the average pairwise dn/ds for gld-. using site-based analysis, we confirmed the presence of residues under positive selection. curiously, even though gld- orthologs in c. elegans and c. briggsae share significant amino acid homology and have a dn/ds ratio consistent with purifying selection, they have opposite functions in sex determination. we speculate that species-specific functions could be explained by at least two mechanisms. first, the extensive conservation in the kh-domain between c. elegans and c. briggsae suggests that at least some of the species differences in gld- function can be explained by a change in mrna targets. second, based on the elevated non-synonymous substations at the n and c-terminal ends, we can infer that some changes in gld- function could result from species-specific interactions or regulation.  an important part of the analysis of homologous coding sequences is the characterization of evolutionary selection by comparing the rates of synonymous and non-synonymous substitutions. the primary issues with these types of analyses are the difficulty in generating codon-delimited alignments, shuttling between programs, and the complexity in configuring programs that are designed to detect positive selection. jcoda provides a simple platform that integrates several common functions associated with evolutionary analysis of coding sequences and the detection of positive/negative selection. jcoda is a modular tool built using the biojava framework, clustalw, phylip, and paml that allows for the rapid assessment and visualization of the pairwise and site-based selection pressure on coding sequences. using jcoda we were able to identify multiple sex determination pathway genes with evidence of positive selection based on functional constraints. the jcoda executable, source code, and tutorial are freely available at http://www.tcnj.edu/~nayaklab/jcoda. availability and requirements project name: jcoda: a tool for detecting evolutionary selection project home page: http://www.tcnj.edu/~nayaklab/jcoda operating system: windows programming language: java other requirements: java runtime environment or java developer kit license: gpl gnu version for jcoda or pgi. please do not violate the copyright or terms of use for clustalw, phylip, paml, and jfreechart. any restrictions to use by non-academics: jcoda and pgi are provided free for academic use only. please be aware of the copyright or terms of use for clustalw, phylip, paml, and jfreechart. authors' contributions rd: designed and implemented the phylip graphical interface, jh: contributed to the initial development of jcoda, cl: designed the jcoda interface, generated output formats, and implemented integration with clustalw, ss: integrated paml functionality, implemented graphing, and performed sex determination gene analysis, sn: initiated development of jcoda, contributed to the analysis of sex determination genes, and coordinated the project. all authors contributed the writing of the manuscript and have approved its final version. supplementary material additional file 1 zipped archive that contains the jcoda/pgi tutorial, readme files, and video guides. click here for file additional file 2 zipped archive that contains the jcoda/pgi installation and configuration video. not required for all installations. click here for file additional file 3 zipped archive that contains videos of checking java version and a sample of sliding window analysis. click here for file additional file 4 zipped archive that contains videos documenting common problems with jcoda and pgi. click here for file additional file 5 zipped archive that contains videos documenting partial functionally with mac os x. click here for file additional file 6 zipped archive that contains all jcoda source code and executable jar files. click here for file acknowledgements jh and sn were funded in part by the college of new jersey mentored undergraduate summer experience. we would like to thank dr. peter depasquale for helpful comments.
this influx of information has provided a considerable amount of raw material for evaluation of evolutionary relationships. jcoda accepts user-inputted unaligned or pre-aligned coding sequences, performs a codon-delimited alignment using clustalw, and determines the dn/ds calculations using paml in order to identify regions and sites under evolutionary selection. additionally, codon-delimited alignments are output in a variety of common formats and all dn/ds calculations can be output in comma-separated value format for downstream analysis. to illustrate the types of analyses that are facilitated by jcoda, we have taken advantage of the well studied sex determination pathway in nematodes as well as the extensive sequence information available to identify genes under positive selection, examples of regional positive selection, and differences in selection based on the role of genes in the sex determination pathway. the raw data are output to user configurable graphs with sliding window options for straightforward visualization of pairwise or gene family comparisons. the jcoda package includes a graphical interface for phylip to generate phylogenetic trees, manages formatting of all required file types, and streamlines passage of information between underlying programs. jcoda is a configurable, open source, user-friendly visualization tool for performing evolutionary analysis on homologous coding sequences. to aid in the process, we have developed jcoda as a simple-to-use visualization tool for the detection of site specific and regional positive/negative evolutionary selection amongst homologous coding sequences. the incorporation of annotated sequence information from multiple related species in commonly used databases has increased dramatically over the last few years.
 the incorporation of annotated sequence information from multiple related species in commonly used databases has increased dramatically over the last few years. this influx of information has provided a considerable amount of raw material for evaluation of evolutionary relationships. to aid in the process, we have developed jcoda as a simple-to-use visualization tool for the detection of site specific and regional positive/negative evolutionary selection amongst homologous coding sequences.  jcoda accepts user-inputted unaligned or pre-aligned coding sequences, performs a codon-delimited alignment using clustalw, and determines the dn/ds calculations using paml in order to identify regions and sites under evolutionary selection. the jcoda package includes a graphical interface for phylip to generate phylogenetic trees, manages formatting of all required file types, and streamlines passage of information between underlying programs. the raw data are output to user configurable graphs with sliding window options for straightforward visualization of pairwise or gene family comparisons. additionally, codon-delimited alignments are output in a variety of common formats and all dn/ds calculations can be output in comma-separated value format for downstream analysis. to illustrate the types of analyses that are facilitated by jcoda, we have taken advantage of the well studied sex determination pathway in nematodes as well as the extensive sequence information available to identify genes under positive selection, examples of regional positive selection, and differences in selection based on the role of genes in the sex determination pathway.  jcoda is a configurable, open source, user-friendly visualization tool for performing evolutionary analysis on homologous coding sequences. jcoda can be used to rapidly screen for genes and regions of genes under selection using paml. it can be freely downloaded at http://www.tcnj.edu/~nayaklab/jcoda. 