BACKGROUND
all eukaryotic genomes that have been sequenced so far have been shown to possess at least a few introns including the unicellular organisms that were previously suspected to be intron-less
<cit> .
these data has fuelled the lively debate between the introns-early and introns-late concepts that is ongoing since the discovery of splicing
<cit> .
the introns-early hypothesis says that already the very first protein-coding genes contained introns while the introns-late concept asserts that eukaryotic genes gained introns only after the emergence of the eukaryotic lineage.
support for either of the concepts has been revealed by modelling the rates of intron gain and loss in eukaryotic genomes
<cit> , by analysing the conservation of intron positions of example genes from a selection of genomes
<cit> , or by population-genetic considerations
<cit> .
intron position conservation has also been used to improve gene predictions
<cit>  and multiple protein sequence alignments
<cit> , and to reconstruct ancient genes
<cit> .
a few software packages are available for the analysis of the conservation of intron positions.
exalign is a software using only gene structure information to reveal intron conservation
<cit> .
exalign uses gene structures from refseq gene annotations and from user definitions and calculates an alignment solely based on exon lengths and reading frames.
accordingly, exalign fails if exon lengths between genes do not match.
this is usually the case if genes encode less conserved proteins  or if genes from more divergent species, which have been subject to complex intron loss and gain events, are compared.
to overcome these limitations, it would be beneficial to use the information contained in protein sequence alignments.
tools that combine protein multiple sequence alignment  data and gene structures are cida/ciwog
<cit> , geca
<cit> , malin
<cit> , and scripts developed for large-scale analyses
<cit> .
cida/ciwog comes with a web interface coupled to a database thus providing a barrier for installation while malin requires a species phylogeny as starting point.
geca builds on the ciwog output and provides the visualization of sequence similarity between subsequent genes.
however, multiple sequence alignments are automatically generated and there is no option to use manually improved own alignments.
in addition, sequence similarity is only computed for subsequent genes, which is inappropriate for large data sets.
xdomview is the only software combining protein structures with intron and domain positions
<cit> .
in xdomview the user specifies a pdb-id and domain definitions from scop, cath, dali, 3dee, and mmdb are subsequently mapped to the specified structure.
in addition, the protein sequence from the pdb file is used to identify eukaryotic homologs in the exint database to map intron positions and phase.
however, xdomview is strongly limited by accepting only pdb codes as input and the reference databases are far out of date .
with genepainter we developed a tool that combines protein msa data, gene and protein structures.
genepainter maps the intron positions obtained from the gene structures to the msa taking reading frames into account.
additionally, conserved intron positions can be displayed in provided protein structures.
the output can be used to compare gene structures from the exon/intron level down to the nucleotide sequences and to resolve and improve potentially ambiguous regions in the msas.
genepainter does not require any additional software/database to be installed and is unique compared to previous tools in its output options and the possible application in small- as well as larges-scale analyses.
implementation
genepainter was written in ruby, does not require any additional library, and can be used on any operating system .
as input, genepainter requires a protein msa in fasta format and corresponding gene structures in yaml format, which can be obtained for example from scipio
<cit>  or via the webscipio interface
<cit> .
user-specified options control the part of the alignment used in the comparison and the type of output.
in addition, a pdb file can be provided to map gene structure conservation onto a protein structure.
genepainter starts with comparing sequence and gene structure file names.
after processing the gene structure files, intron positions including phase information  and intron sequences are mapped to each sequence in the msa.
introns are then grouped into clusters based on identical alignment positions and matched to each other.
as matched introns are aligned, exons are filled with the respective placeholder for the text-based output.
in the graphical output, exons are represented with their respective length, but stretched by placeholders if needed.
the text and svg output can be processed with any appropriate software.
the output to visualize intron positions mapped to structures is scripts for pymol
<cit> .
the software as well as a comprehensive documentation can be found at
http://www.motorprotein.de/genepainter.html.
needleman-wunsch
the mapping of intron positions and phases onto a pdb file is based on an alignment of the pdb sequence with one of the sequences from the protein msa as reference.
thus, both the reference sequence and the chain of interest from the pdb file need to be specified.
the alignment is calculated as described in
<cit> .
by default, gaps at the end of the alignment are not penalized.
this adaptation is of particular importance, as reference and protein sequence may vary greatly in length, possibly leading to an inappropriate alignment.
reasons for length differences can be full-length sequence in the alignment versus sequence of a single domain in the crystal structure, protein sequence in the alignment versus sequence joined to an expression/purification tag in the structure, and missing parts in the structure due to missing electron density.
RESULTS
to demonstrate genepainter we use part of the coronin dataset published recently
<cit> .
for test and evaluation purposes genepainter has also been applied to other protein families with different numbers of genes, introns per gene, and msa lengths .
coronins are a family of actin remodelling proteins consisting of a conserved β-propeller domain, that comprises the n-terminal two thirds of the sequences, a unique region, which is only conserved within closely related species, and a short c-terminal coiled-coil region that mediates trimerization.
also, a protein structure is available comprising the β-propeller domain and part of the unique region
<cit> .
genepainter needs fasta formatted protein msas and gene structure information stored in yaml files as input .
optionally, a protein structure can be provided in pdb format.
the gene structures can most easily be obtained by using the webscipio
<cit>  web interface or via the webscipio web service by using the provided gene_scan.rb script.
the latter option requires the user to specify species names and genome assemblies, which are easier to select via the webscipio web interface.
the advantage of using webscipio is its ability to predict protein sequences and reconstruct gene structures in cross-species searches
<cit>  and thus the possibility to easily extend the input data by adding genes from related species.
also, webscipio can cope with genome assembly problems like assembly gaps and sequencing errors leading to frame shifts and in-frame stop codons in exons.
in the current implementation, other file formats describing gene structures like gff
<cit>  cannot be used as alternative input files for genepainter.
this is due to the fact that gff files normally do not contain dna sequence and therefore do not provide all necessary information.
optionally, alignment limits can be defined in genepainter.
this is particularly useful when comparing specific regions and domains of multi-domain proteins separately.
because genepainter compares gene structures based on multiple sequence alignments of proteins it can be used to analyse proteins of any degree of similarity.
the coronins from the sample data comprise sequences from apicomplexans, fungi and mammals.
accordingly, the similarity of the gene structures is not obvious at first glance .
by scaling the exons and introns the similarity of exon lengths between homologs of closely related organisms becomes suggestive .
exons and introns were scaled up and down, respectively, so that the average length of the exons equals the average length of the introns.
genepainter maps intron positions including phase to the sequences as provided in the multiple sequence alignments.
gene structure alignments
the aligned gene structures can be analysed in various formats.
the basic output format displays common intron positions in plain text, where introns are represented by vertical bars “|“ .
hyphen-minuses “-“ are used as spacers for better orientation and represent exonic sequence in abstract form.
optionally, the hyphen-minuses can be replaced by spaces so that the output just represents common introns .
these formats are particularly useful for visualizing large-scale data  and are independent of exon and intron lengths.
additional information can be added by using the -n option of genepainter by which intron positions are represented by phase numbers instead of vertical bars “|“ .
with the option –phylo the common intron data is transformed into an intron present “1” – intron absent “0” format, which can be used to calculate phylogenetic trees based on gene structure data .
<dig> were aligned with genepainter.
three visualization options focusing on common introns exist.
in each, exons and introns are represented independent of their length.
a) in this gene structure alignment, coding sequences are represented by “-“ and introns by “|”.
“|” underneath each other indicate intron positions with the same phase at the same position in the multiple sequence alignment.
b) here, only introns are pictured.
coding sequences are denoted by spaces, introns by “|”.
c) similar visualization as in a) except that the intron phases are given instead of the intron indicator “|”.
all outputs shown are plain text files and can be analysed with any text editor.
a gene structure alignment including exon and intron lengths is shown in figure
<dig>  the same alignment is drawn with varying degrees of detail .
in the most reduced picture the focus lies on common introns .
the intron length is not included in this figure, but in figure
4b, which provides most information about the underlying gene structures.
here, it becomes immediately obvious that intron lengths vary considerably .
in addition, the scheme shows that the n-terminal β-propeller domain of coronin is highly conserved while the unique regions are variable and contain many gaps in the multiple sequence alignment .
the gene structure information can also be incorporated into the protein msa as additional lines  where intron positions are either displayed as vertical bars “|“ or as numbers defining the phase of the respective introns .
this format is most useful if the msa will be re-evaluated to identify miss-aligned positions and regions.
visualizing conserved intron positions on protein structures
gene structure conservation derived by genepainter can further be mapped on protein structures .
therefore, one of the proteins from the msa  is taken as reference and aligned with the protein sequence from a pdb file.
generating the alignment with standard needleman-wunsch parameters, which penalize gaps at the end of the alignment, can be forced by setting the option -penalize_endgaps.
based on this alignment, intron positions and phases are projected onto the protein structure.
if reference gene and protein structure chain are not specified, the first sequence in the alignment and chain a will be used by default.
genepainter generates two python scripts for execution within pymol comprising all necessary steps  in order to display the mapped intron positions and phases.
while the script color_exons.py colours residues based on the underlying gene structure , the other highlights only intron phases .
in this visualization, both the last and first residues of succeeding exons are coloured by a three-colour scheme denoting the phases of the respective introns.
in order to elucidate the conservation of the respective intron positions, by default only those positions that are conserved in more than 80% of the genes of the alignment  are considered for visualization .
in both visualizations attention is focused on those parts of the structure, on which intron data are mapped.
unused chains and regions not mapped to the reference sequence like cloning artefacts and protein purification tags are displayed in grey.
<cit> .
the two different output formats are shown for comparison.
a) illustrates colouring of exons mapped to the protein structure .
for better orientation, the n- and c-termini and the positions of the last residues in each putative exon are given.
the number in brackets denotes an intron position covered by another structural element.
c) displays the phases of the introns .
numbers indicate the respective intron phases.
in both figures, introns occurring in any of the sequences within the msa are shown .
contrary, introns conserved in 80% of all proteins  are shown in b) and d).
analogous to a) and c), b) refers to color_exons.py and d) to color_splicesites.py.
limits and possible applications of genepainter
in the current version, genepainter is limited to group introns to common introns only if these appear at the exact same position and exact same reading frame in the aligned protein sequences.
in contrast ciwog defines introns, which happen in closely neighbouring amino acids, as common introns
<cit> .
however, there are many examples of very short exons not only in mammals but also in other branches of the eukaryotes, which would unnecessarily be grouped as common introns.
as we showed  more and more conserved introns will appear in the alignment as soon as more sequences and gene structures are added.
for instance, the schizosaccharomyces pombe  and caenorhabditis elegans  coronin genes share an intron at the n-terminus .
we believe that almost all introns are shared between at least two genes from two different species.
however, most analyses do not cover enough data, not enough sequences and not enough species.
we have shown previously that all introns within the arthropod muscle myosin heavy chain genes are shared between at least two species, which became only obvious after having analysed genes from  <dig> species
<cit> .
it is highly unlikely that introns would have been introduced at the exact same position with exact same reading frame independently in species whose last common ancester had been millions of years ago .
data from further arthropods showed, that introns initially found to be shared by only two species are actually shared by more species, and that the last common ancestor of the arthropods must have had even more introns than assumed before .
if data from more species and more protein families would be included, shared introns in genes present in the last common ancestor of the eukaryotes could be identified.
for other applications that do not demand strict intron conservation, genepainter could be extended to allow variable positional flexibility.
binary data can be very useful to reconstruct phylogenetic relationships and is often created from morphological data
<cit> .
we used binary data obtained from protein family inventories  to reconstruct the phylogeny of  <dig> arthropod species
<cit> .
the resulting phylogeny was in agreement with that derived from protein sequence data.
the intron pattern of a protein family  can therefore also be used for phylogenetic tree reconstructions, or for combined data analyses.
depending on the taxonomic distribution of the included sequences, intron pattern data of several protein families need to be included to derive discriminative and meaningful information.
CONCLUSIONS
genepainter is a tool to analyse the conservation of gene structures of eukaryotic proteins.
it aligns the gene structures to the respective protein sequences in a multiple sequence alignment.
gene structure conservation can be displayed in a binary format  and based on the nucleotide sequences.
genepainter can map gene structure conservation on protein structures and provides scripts for visualization in pymol.
therefore, genepainter will be a valuable tool for gene structure guided improvements of multiple sequence alignments and for phylogenetic analyses including or focusing on the conservation of intron positions within eukaryotic genes.
availability and requirements
project name: genepainter
project home page:http://www.motorprotein.de/genepainter.html
operating system: platform independent
programming languages: ruby
software requirements: ruby version  <dig> .
<dig> or higher
license: genepainter can be downloaded and used under a gnu general public license.
any restrictions to use by non-academics: using genepainter by non-academics requires permission.
competing interests
the authors declare that they have no competing interests.
authors’ contributions
mk, fo, and sw designed the project and set the requirements of the tool.
bh and fo wrote the source code.
sm added the mapping of the gene structure patterns to pdb files.
mk, bh and sm wrote the manuscript.
all authors read and approved the final manuscript.
supplementary material
additional file 1
this file contains the genepainter software , a readme file for installation instructions, the genepainter documentation, and a script to reconstruct genes via the web service of webscipio .
it also includes example data  used to create the figures.
this file is also available from the project homepage.
click here for file
additional file 2
this file contains a benchmark test of genepainter on coronin , dynactin <dig> , dynactin <dig> , wiskott aldrich syndrome protein , and myosin heavy chain genes .
all sequences and gene structures can be found at cymobase .
click here for file
acknowledgements
we would like to thank klas hatje, oliver keller, malte hübner, and other members of the kollmar and waack groups for helpful suggestions and discussions.
mk has been funded by grant ko 2251/6- <dig> and sw by grant wa 766/6- <dig> of the deutsche forschungsgemeinschaft.
this work was partly supported by the göttingen graduate school of neurosciences and molecular biosciences .

 all eukaryotic genomes that have been sequenced so far have been shown to possess at least a few introns including the unicellular organisms that were previously suspected to be intron-less. these data has fuelled the lively debate between the introns-early and introns-late concepts that is ongoing since the discovery of splicing. the introns-early hypothesis says that already the very first protein-coding genes contained introns while the introns-late concept asserts that eukaryotic genes gained introns only after the emergence of the eukaryotic lineage. support for either of the concepts has been revealed by modelling the rates of intron gain and loss in eukaryotic genomes, by analysing the conservation of intron positions of example genes from a selection of genomes, or by population-genetic considerations. intron position conservation has also been used to improve gene predictions and multiple protein sequence alignments, and to reconstruct ancient genes. a few software packages are available for the analysis of the conservation of intron positions. exalign is a software using only gene structure information to reveal intron conservation. exalign uses gene structures from refseq gene annotations and from user definitions and calculates an alignment solely based on exon lengths and reading frames. accordingly, exalign fails if exon lengths between genes do not match. this is usually the case if genes encode less conserved proteins or if genes from more divergent species, which have been subject to complex intron loss and gain events, are compared. to overcome these limitations, it would be beneficial to use the information contained in protein sequence alignments. tools that combine protein multiple sequence alignment data and gene structures are cida/ciwog, geca, malin, and scripts developed for large-scale analyses. cida/ciwog comes with a web interface coupled to a database thus providing a barrier for installation while malin requires a species phylogeny as starting point. geca builds on the ciwog output and provides the visualization of sequence similarity between subsequent genes. however, multiple sequence alignments are automatically generated and there is no option to use manually improved own alignments. in addition, sequence similarity is only computed for subsequent genes, which is inappropriate for large data sets. xdomview is the only software combining protein structures with intron and domain positions. in xdomview the user specifies a pdb-id and domain definitions from scop, cath, dali, 3dee, and mmdb are subsequently mapped to the specified structure. in addition, the protein sequence from the pdb file is used to identify eukaryotic homologs in the exint database to map intron positions and phase. however, xdomview is strongly limited by accepting only pdb codes as input and the reference databases are far out of date. with genepainter we developed a tool that combines protein msa data, gene and protein structures. genepainter maps the intron positions obtained from the gene structures to the msa taking reading frames into account. additionally, conserved intron positions can be displayed in provided protein structures. the output can be used to compare gene structures from the exon/intron level down to the nucleotide sequences and to resolve and improve potentially ambiguous regions in the msas. genepainter does not require any additional software/database to be installed and is unique compared to previous tools in its output options and the possible application in small- as well as larges-scale analyses. implementation genepainter was written in ruby, does not require any additional library, and can be used on any operating system. as input, genepainter requires a protein msa in fasta format and corresponding gene structures in yaml format, which can be obtained for example from scipio or via the webscipio interface. user-specified options control the part of the alignment used in the comparison and the type of output. in addition, a pdb file can be provided to map gene structure conservation onto a protein structure. genepainter starts with comparing sequence and gene structure file names. after processing the gene structure files, intron positions including phase information and intron sequences are mapped to each sequence in the msa. introns are then grouped into clusters based on identical alignment positions and matched to each other. as matched introns are aligned, exons are filled with the respective placeholder for the text-based output. in the graphical output, exons are represented with their respective length, but stretched by placeholders if needed. the text and svg output can be processed with any appropriate software. the output to visualize intron positions mapped to structures is scripts for pymol. the software as well as a comprehensive documentation can be found at http://www.motorprotein.de/genepainter.html. needleman-wunsch the mapping of intron positions and phases onto a pdb file is based on an alignment of the pdb sequence with one of the sequences from the protein msa as reference. thus, both the reference sequence and the chain of interest from the pdb file need to be specified. the alignment is calculated as described in. by default, gaps at the end of the alignment are not penalized. this adaptation is of particular importance, as reference and protein sequence may vary greatly in length, possibly leading to an inappropriate alignment. reasons for length differences can be full-length sequence in the alignment versus sequence of a single domain in the crystal structure, protein sequence in the alignment versus sequence joined to an expression/purification tag in the structure, and missing parts in the structure due to missing electron density.  to demonstrate genepainter we use part of the coronin dataset published recently. for test and evaluation purposes genepainter has also been applied to other protein families with different numbers of genes, introns per gene, and msa lengths. coronins are a family of actin remodelling proteins consisting of a conserved β-propeller domain, that comprises the n-terminal two thirds of the sequences, a unique region, which is only conserved within closely related species, and a short c-terminal coiled-coil region that mediates trimerization. also, a protein structure is available comprising the β-propeller domain and part of the unique region. genepainter needs fasta formatted protein msas and gene structure information stored in yaml files as input. optionally, a protein structure can be provided in pdb format. the gene structures can most easily be obtained by using the webscipio web interface or via the webscipio web service by using the provided gene_scan.rb script. the latter option requires the user to specify species names and genome assemblies, which are easier to select via the webscipio web interface. the advantage of using webscipio is its ability to predict protein sequences and reconstruct gene structures in cross-species searches and thus the possibility to easily extend the input data by adding genes from related species. also, webscipio can cope with genome assembly problems like assembly gaps and sequencing errors leading to frame shifts and in-frame stop codons in exons. in the current implementation, other file formats describing gene structures like gff cannot be used as alternative input files for genepainter. this is due to the fact that gff files normally do not contain dna sequence and therefore do not provide all necessary information. optionally, alignment limits can be defined in genepainter. this is particularly useful when comparing specific regions and domains of multi-domain proteins separately. because genepainter compares gene structures based on multiple sequence alignments of proteins it can be used to analyse proteins of any degree of similarity. the coronins from the sample data comprise sequences from apicomplexans, fungi and mammals. accordingly, the similarity of the gene structures is not obvious at first glance. by scaling the exons and introns the similarity of exon lengths between homologs of closely related organisms becomes suggestive. exons and introns were scaled up and down, respectively, so that the average length of the exons equals the average length of the introns. genepainter maps intron positions including phase to the sequences as provided in the multiple sequence alignments. gene structure alignments the aligned gene structures can be analysed in various formats. the basic output format displays common intron positions in plain text, where introns are represented by vertical bars “|“. hyphen-minuses “-“ are used as spacers for better orientation and represent exonic sequence in abstract form. optionally, the hyphen-minuses can be replaced by spaces so that the output just represents common introns. these formats are particularly useful for visualizing large-scale data and are independent of exon and intron lengths. additional information can be added by using the -n option of genepainter by which intron positions are represented by phase numbers instead of vertical bars “|“. with the option –phylo the common intron data is transformed into an intron present “1” – intron absent “0” format, which can be used to calculate phylogenetic trees based on gene structure data. were aligned with genepainter. three visualization options focusing on common introns exist. in each, exons and introns are represented independent of their length. a) in this gene structure alignment, coding sequences are represented by “-“ and introns by “|”. “|” underneath each other indicate intron positions with the same phase at the same position in the multiple sequence alignment. b) here, only introns are pictured. coding sequences are denoted by spaces, introns by “|”. c) similar visualization as in a) except that the intron phases are given instead of the intron indicator “|”. all outputs shown are plain text files and can be analysed with any text editor. a gene structure alignment including exon and intron lengths is shown in figure the same alignment is drawn with varying degrees of detail. in the most reduced picture the focus lies on common introns. the intron length is not included in this figure, but in figure 4b, which provides most information about the underlying gene structures. here, it becomes immediately obvious that intron lengths vary considerably. in addition, the scheme shows that the n-terminal β-propeller domain of coronin is highly conserved while the unique regions are variable and contain many gaps in the multiple sequence alignment. the gene structure information can also be incorporated into the protein msa as additional lines where intron positions are either displayed as vertical bars “|“ or as numbers defining the phase of the respective introns. this format is most useful if the msa will be re-evaluated to identify miss-aligned positions and regions. visualizing conserved intron positions on protein structures gene structure conservation derived by genepainter can further be mapped on protein structures. therefore, one of the proteins from the msa is taken as reference and aligned with the protein sequence from a pdb file. generating the alignment with standard needleman-wunsch parameters, which penalize gaps at the end of the alignment, can be forced by setting the option -penalize_endgaps. based on this alignment, intron positions and phases are projected onto the protein structure. if reference gene and protein structure chain are not specified, the first sequence in the alignment and chain a will be used by default. genepainter generates two python scripts for execution within pymol comprising all necessary steps in order to display the mapped intron positions and phases. while the script color_exons.py colours residues based on the underlying gene structure, the other highlights only intron phases. in this visualization, both the last and first residues of succeeding exons are coloured by a three-colour scheme denoting the phases of the respective introns. in order to elucidate the conservation of the respective intron positions, by default only those positions that are conserved in more than 80% of the genes of the alignment are considered for visualization. in both visualizations attention is focused on those parts of the structure, on which intron data are mapped. unused chains and regions not mapped to the reference sequence like cloning artefacts and protein purification tags are displayed in grey.. the two different output formats are shown for comparison. a) illustrates colouring of exons mapped to the protein structure. for better orientation, the n- and c-termini and the positions of the last residues in each putative exon are given. the number in brackets denotes an intron position covered by another structural element. c) displays the phases of the introns. numbers indicate the respective intron phases. in both figures, introns occurring in any of the sequences within the msa are shown. contrary, introns conserved in 80% of all proteins are shown in b) and d). analogous to a) and c), b) refers to color_exons.py and d) to color_splicesites.py. limits and possible applications of genepainter in the current version, genepainter is limited to group introns to common introns only if these appear at the exact same position and exact same reading frame in the aligned protein sequences. in contrast ciwog defines introns, which happen in closely neighbouring amino acids, as common introns. however, there are many examples of very short exons not only in mammals but also in other branches of the eukaryotes, which would unnecessarily be grouped as common introns. as we showed more and more conserved introns will appear in the alignment as soon as more sequences and gene structures are added. for instance, the schizosaccharomyces pombe and caenorhabditis elegans coronin genes share an intron at the n-terminus. we believe that almost all introns are shared between at least two genes from two different species. however, most analyses do not cover enough data, not enough sequences and not enough species. we have shown previously that all introns within the arthropod muscle myosin heavy chain genes are shared between at least two species, which became only obvious after having analysed genes from species. it is highly unlikely that introns would have been introduced at the exact same position with exact same reading frame independently in species whose last common ancester had been millions of years ago. data from further arthropods showed, that introns initially found to be shared by only two species are actually shared by more species, and that the last common ancestor of the arthropods must have had even more introns than assumed before. if data from more species and more protein families would be included, shared introns in genes present in the last common ancestor of the eukaryotes could be identified. for other applications that do not demand strict intron conservation, genepainter could be extended to allow variable positional flexibility. binary data can be very useful to reconstruct phylogenetic relationships and is often created from morphological data. we used binary data obtained from protein family inventories to reconstruct the phylogeny of arthropod species. the resulting phylogeny was in agreement with that derived from protein sequence data. the intron pattern of a protein family can therefore also be used for phylogenetic tree reconstructions, or for combined data analyses. depending on the taxonomic distribution of the included sequences, intron pattern data of several protein families need to be included to derive discriminative and meaningful information.  genepainter is a tool to analyse the conservation of gene structures of eukaryotic proteins. it aligns the gene structures to the respective protein sequences in a multiple sequence alignment. gene structure conservation can be displayed in a binary format and based on the nucleotide sequences. genepainter can map gene structure conservation on protein structures and provides scripts for visualization in pymol. therefore, genepainter will be a valuable tool for gene structure guided improvements of multiple sequence alignments and for phylogenetic analyses including or focusing on the conservation of intron positions within eukaryotic genes. availability and requirements project name: genepainter project home page:http://www.motorprotein.de/genepainter.html operating system: platform independent programming languages: ruby software requirements: ruby version. or higher license: genepainter can be downloaded and used under a gnu general public license. any restrictions to use by non-academics: using genepainter by non-academics requires permission. competing interests the authors declare that they have no competing interests. authors’ contributions mk, fo, and sw designed the project and set the requirements of the tool. bh and fo wrote the source code. sm added the mapping of the gene structure patterns to pdb files. mk, bh and sm wrote the manuscript. all authors read and approved the final manuscript. supplementary material additional file 1 this file contains the genepainter software, a readme file for installation instructions, the genepainter documentation, and a script to reconstruct genes via the web service of webscipio. it also includes example data used to create the figures. this file is also available from the project homepage. click here for file additional file 2 this file contains a benchmark test of genepainter on coronin, dynactin, dynactin, wiskott aldrich syndrome protein, and myosin heavy chain genes. all sequences and gene structures can be found at cymobase. click here for file acknowledgements we would like to thank klas hatje, oliver keller, malte hübner, and other members of the kollmar and waack groups for helpful suggestions and discussions. mk has been funded by grant ko 2251/6- and sw by grant wa 766/6- of the deutsche forschungsgemeinschaft. this work was partly supported by the göttingen graduate school of neurosciences and molecular biosciences.
all sequenced eukaryotic genomes have been shown to possess at least a few introns. the introns-early hypothesis says that already the very first protein-coding genes contained introns while the introns-late concept asserts that eukaryotic genes gained introns only after the emergence of the eukaryotic lineage. thus, even gene structures of considerably divergent proteins can properly be compared, as it is needed in phylogenetic analyses. genepainter is a standalone application for mapping gene structure information onto protein multiple sequence alignments. based on the multiple sequence alignments the gene structures are aligned down to single nucleotides. this includes those unicellular organisms, which were previously suspected to be intron-less. genepainter accounts for variable lengths in exons and introns, respects split codons at intron junctions and is able to handle sequencing and assembly errors, which are possible reasons for frame-shifts in exons and gaps in genome assemblies. conserved intron positions can also be mapped to user-provided protein structures. a stable version of genepainter for all operating systems as well as documentation and example data are available at http://www.motorprotein.de/genepainter.html. therefore, gene splicing must have been present at least in the last common ancestor of the eukaryotes. a very important aspect in this respect is the conservation of intron positions within homologous genes of different taxa.
 all sequenced eukaryotic genomes have been shown to possess at least a few introns. this includes those unicellular organisms, which were previously suspected to be intron-less. therefore, gene splicing must have been present at least in the last common ancestor of the eukaryotes. to explain the evolution of introns, basically two mutually exclusive concepts have been developed. the introns-early hypothesis says that already the very first protein-coding genes contained introns while the introns-late concept asserts that eukaryotic genes gained introns only after the emergence of the eukaryotic lineage. a very important aspect in this respect is the conservation of intron positions within homologous genes of different taxa.  genepainter is a standalone application for mapping gene structure information onto protein multiple sequence alignments. based on the multiple sequence alignments the gene structures are aligned down to single nucleotides. genepainter accounts for variable lengths in exons and introns, respects split codons at intron junctions and is able to handle sequencing and assembly errors, which are possible reasons for frame-shifts in exons and gaps in genome assemblies. thus, even gene structures of considerably divergent proteins can properly be compared, as it is needed in phylogenetic analyses. conserved intron positions can also be mapped to user-provided protein structures. for their visualization genepainter provides scripts for the molecular graphics system pymol.  genepainter is a tool to analyse gene structure conservation providing various visualization options. a stable version of genepainter for all operating systems as well as documentation and example data are available at http://www.motorprotein.de/genepainter.html. exonintrongene structureevolution 