BACKGROUND
since multiple sequence alignments are the basis of many analyses, for example in phylogenetics or in analysing functional protein domains, there is a need for programs to create and improve those alignments.
currently, several programs are available to fulfil these necessities, e.g., clustal w  <cit> , muscle  <cit> , dialign  <cit> , t-coffee  <cit>  or dca  <cit>  all of which are able to align multiple sequences globally.
the underlying methods have their strengths and weaknesses, and resulting alignments can diverge from the biologically correct ones.
editors like jalview  <cit> , seaview  <cit> , cinema  <cit>  or align  <cit>  are needed to enhance the results by hand.
the just mentioned tools are based on sequence information only, but in rna sequence analyses there is often also structural information available.
databases like the its <dig> database  <cit>  provide a growing number of sequences and their known secondary structures, as a prerequisite for constructing rna alignments for inferring phylogenies, which of course is a precondition to understand the evolution of such rna secondary structures  <cit> .
all available methods that include structural information to build rna sequence alignments have a very high complexity.
rfam  <cit>  provides a method to compare a single nucleotide query sequence to handcurated alignments of non-coding rna families with annotated consensus secondary structures.
marna  <cit>  and rnaforester  <cit>  can be used to build global multiple alignments based on sequence and simultaneously on secondary structure information.
however, the amount of sequences and/or sequence lengths is limited due to the complexity of their underlying algorithms, which is at least o.
in current alignment editors like ralee  <cit> , dcse  <cit>  or jphydit  <cit>  secondary structure information support is very limited.
while ralee relys on the consensus structure only, jphydit just shows the pairing information of the selected sequence.
another rna alignment editor called sarse has become available recently and focuses on detection and editing of structural groups in rna families  <cit> .
so there is no editor available to align both, sequence and secondary structure information of every single rna sequence simultaneously.
implementation
4sale is entirely written in java, which enables to execute the software on any platform with a java  <dig>  virtual machine available.
the application consists of two parts, the alignment algorithm, which is based on standard protein alignment algorithms, and the graphical editor frontend.
for sequence and secondary structure alignments running on the local machine 4sale takes use of clustal w  <cit> , so the binary is required to be installed.
integration of different multiple alignment tools is realised by using soap based webservices.
here, we take use of rnaforester  <cit> , clustal w  <cit> , dca  <cit>  or dialign  <cit> .
the dialign and dca webservices currently support sequence alignments without secondary structure information only.
the webservice technology enables the user to run the tasks on remote machines.
therefore, it is possible to use 4sale without restriction of any kind during the calculation of the alignment.
all webservices require an internet connection.
RESULTS
supported data
for rna sequence and secondary structure alignment and editing, 4sale reads vienna style dotbracket  <cit>  formatted files.
the its <dig> database  <cit>  represents a good source for these kind of data.
in addition we provide direct access to the its <dig> database from within 4sale through the its <dig> soap interface  <cit> .
while rna sequence information only is supported via the standard fasta format, alignment data can be loaded using the clustal  <cit>  importer.
furthermore 4sale handles xml based rna formats namely rnastructml and rnastructalignmentml  <cit> .
standard features
in addition to the secondary structure based functionality, 4sale integrates many useful features, that are known from other alignment editors/programs.
this includes selecting multiple sections of an alignment to highlight interesting regions and temporarily hide sequences to focus on a subset of the alignment.
sequence-motifs, including those, which are based on sequence and secondary structure information, can easily be highlighted by pattern matching.
alignment column conservation based on sequence information is visualized by either sequence logos  <cit>  or simply by bars on top of each column.
further importing, exporting and deleting sequences is possible by using the sequence names' context menu.
additionally sequences can be reordered with the help of the "rearrange sequences" window.
algorithm
beside the integration of rnaforester  <cit>  we developed an algorithm that uses the secondary structure information of every single sequence to align multiple rna sequences.
this algorihm inherits the complexity of those based on sequence information only.
we achieve this by mapping the sequence and secondary structure information of every single rna sequence to artificial protein sequences.
the algorithm can be described as string alignment on a  <dig> letter alphabet comprised of the  <dig> nucleotides in three structural states .
horizontal dependencies given by the sequence bindings are not modeled by this approach.
to align the string we use common alignment programs, like clustal w  <cit>  with a suitable scoring matrix.
there are several substitution models for this kind of scoring matrices discussed  <cit> , we used a model as described by  <cit> .
the model is based on subsitutions that were extracted from its <dig> sequence and secondary structure alignments .
those sequences and their associated secondary structures were obtained from the its <dig> database  <cit> .
synchronous editing
one of the main features of 4sale is synchronizing the sequence and secondary structure alignment, that is, every operation on the sequence alignment is also performed on the secondary structure alignment and vice versa.
alignment editing in general works like in most alignment editors by using the space key to insert and the backspace key to remove gaps.
block editing
as an effect of not using horizontal dependencies in our greedy sequence and secondary structure alignment algorithm, there are often misaligned "blocks" in the result of clustal w  <cit> .
as shown in fig.
2e the alignment could be improved very fast, by using the block editing feature in 4sale.
cursors
to make editing as convenient as possible, we provide different edit cursors.
beside the standard cursor, that behaves as you expect from text editors for example, we have an exclusive cursor, which performs the edit operation on every sequence but the selected ones.
the leftside cursor  allows edit operations only at the beginning of the sequence.
as mentioned above all cursors perform synchronously on sequences and their secondary structures.
working with secondary structures
as current predictions of secondary structure information is not highly reliable, performing changes to correct the secondary structures is often needed.
adding secondary structure information
4sale supports two methods to add secondary structure information to rna sequences.
first, by using the remote folding feature to call the rnafold webservice provided by the university of bielefeld , or manually adding secondary structures by using the secondary structure editing feature.
secondary structure editing
the secondary structure editing mode available in 4sale allows easy modification of the secondary structure information.
it is context sensitive, which means it uses sequence and secondary structure information to validate whether a binding in this context is possible or not.
furthermore, it supports column based editing by holding the control key.
this enables insertion and deletion of equivalent bindings in all sequences.
in this case bindings are only added to sequences allowing this binding .
secondary structure inspector
a secondary structure inspector allows to view and select specific helical regions in secondary structures of loaded sequences.
the inspector consists of two parts; the upper part shows a consensus of all secondary structures, the lower part shows all secondary structures separately.
the secondary structure consensus is calculated not only on column conservation, but also with respect of horizontal dependencies, so the result is a valid secondary structure.
the conservation threshold can be modified using the slider above.
selecting an element in the inspector highlights the corresponding part in the alignment view.
as shown in fig.
<dig>  the inspector simplifies visualizing misaligned sequences.
"masking" the sequence alignment based on the current consensus structure is also possible.
the result is shown in a new window, which contains the alignment based on sequence information only.
the alignment can be processed like any other sequence alignment loaded in 4sale.
this is particularly useful for calculating phylogenetic trees based on the collective helical regions in the sequence alignment.
analyzing compensatory base changes
compensatory base changes  occur when both nucleotides of a paired site mutate while the pairing itself stays stable.
cbc analysis is important in detecting species that are discriminated by their sexual incompatibility  <cit> .
we provide an easy-to-use cbc analysis mechanism with the ability to calculate cbc matrices on the current sequence and secondary structure based alignment.
the numbers in the cbc matrix are the counts of compensatory base changes in a pairwise sequence structure alignment, which are naturally given in the considered multiple sequence structure alignment.
a cbc-window in 4sale  allows to select cbc counts between two sequences and highlights directly all cbcs within the alignment, giving an overview of all cbcs in the aligned sequences.
output & connection to other tools
for further analyses we provide several output formats.
calculated cbc matrices can be saved as comma/tab seperated values to be used in cbcanalyzer  <cit> .
cbctree  can be used to calculate phylogenetic trees based on a cbc count matrix.
at present, no program is available to handle alignment outputs that include sequences and their individual secondary structures.
however, for viewing purposes and publication we support a marna-like  <cit>  output.
sequence alignments optimized by structural information could, of course, be saved separately.
for phylogenetic analyses here we support the phylip  <cit>  formats.
other tools that rely on multiple alignments are supported by fasta.
discussion
4sale is the first alignment editor which allows synchronous editing of sequences and their corresponding secondary structures.
since it is targeted on rna sequence alignment and editing it contains many features using the secondary structure information, e.g., the secondary structure inspector.
all current standard alignment editors can handle secondary structures as character sequence only.
by using standard greedy protein alignment algorithms we inherit their time efficiency.
in contrast to, e.g., marna  <cit>  or rnaforester  <cit> , the time complexity of calculation grows not rapidly with large files.
we present a completely new approach using nucleotides and every single secondary structure for building and improving rna sequence alignments in comparison to others, which just take the consensus structure information.
the structure output converted to vienna style dotbracket can be created from any desired rna folding program, e.g., rnafold, mfold  <cit>  or rnastructure  <cit> .
it is then aligned by using a suitable substitution matrix, which in our case is based on information of the its <dig> database.
due to the natural limitation that two structures can be hidden in one sequence, in general only one will be considered by our approach.
a future version of 4sale will integrate in addition to rnaforester  <cit>  more real structural alignment methods as webservices via the soap interface.
also secondary structure prediction algorithms as an alternative to rnafold will be included.
furthermore, more visualizations like secondary structure drawings can be implemented.
CONCLUSIONS
4sale is easy to use and has a fast ) and good heuristic to globally align multiple rna sequences and their associated secondary structures simultaneously.
availability and requirements
4sale is freely available at .
a java virtual machine  <dig>  is needed to run the application.
furthermore, for automatic sequence and structure based alignments a local installation of clustal w and/or internet connection for webservice based alignments is required.
list of abbreviations used
cbc: compensatory base change
its2: internal transcribed spacer 2
authors' contributions
mw conceived the study.
tm and mw provided the alignment algorithm.
tm estimated the sequence and secondary structure substitution model and its associated score matrix.
architecture, implementation and graphical design by ps.
mw, ps and tm drafted the manuscript.
mw, tm, js and td participated in study design and coordination.
all authors read and approved the final version of the manuscript.

 since multiple sequence alignments are the basis of many analyses, for example in phylogenetics or in analysing functional protein domains, there is a need for programs to create and improve those alignments. currently, several programs are available to fulfil these necessities, e.g., clustal w, muscle, dialign, t-coffee or dca all of which are able to align multiple sequences globally. the underlying methods have their strengths and weaknesses, and resulting alignments can diverge from the biologically correct ones. editors like jalview, seaview, cinema or align are needed to enhance the results by hand. the just mentioned tools are based on sequence information only, but in rna sequence analyses there is often also structural information available. databases like the its database provide a growing number of sequences and their known secondary structures, as a prerequisite for constructing rna alignments for inferring phylogenies, which of course is a precondition to understand the evolution of such rna secondary structures. all available methods that include structural information to build rna sequence alignments have a very high complexity. rfam provides a method to compare a single nucleotide query sequence to handcurated alignments of non-coding rna families with annotated consensus secondary structures. marna and rnaforester can be used to build global multiple alignments based on sequence and simultaneously on secondary structure information. however, the amount of sequences and/or sequence lengths is limited due to the complexity of their underlying algorithms, which is at least o. in current alignment editors like ralee, dcse or jphydit secondary structure information support is very limited. while ralee relys on the consensus structure only, jphydit just shows the pairing information of the selected sequence. another rna alignment editor called sarse has become available recently and focuses on detection and editing of structural groups in rna families. so there is no editor available to align both, sequence and secondary structure information of every single rna sequence simultaneously. implementation 4sale is entirely written in java, which enables to execute the software on any platform with a java virtual machine available. the application consists of two parts, the alignment algorithm, which is based on standard protein alignment algorithms, and the graphical editor frontend. for sequence and secondary structure alignments running on the local machine 4sale takes use of clustal w, so the binary is required to be installed. integration of different multiple alignment tools is realised by using soap based webservices. here, we take use of rnaforester, clustal w, dca or dialign. the dialign and dca webservices currently support sequence alignments without secondary structure information only. the webservice technology enables the user to run the tasks on remote machines. therefore, it is possible to use 4sale without restriction of any kind during the calculation of the alignment. all webservices require an internet connection.  supported data for rna sequence and secondary structure alignment and editing, 4sale reads vienna style dotbracket formatted files. the its database represents a good source for these kind of data. in addition we provide direct access to the its database from within 4sale through the its soap interface. while rna sequence information only is supported via the standard fasta format, alignment data can be loaded using the clustal importer. furthermore 4sale handles xml based rna formats namely rnastructml and rnastructalignmentml. standard features in addition to the secondary structure based functionality, 4sale integrates many useful features, that are known from other alignment editors/programs. this includes selecting multiple sections of an alignment to highlight interesting regions and temporarily hide sequences to focus on a subset of the alignment. sequence-motifs, including those, which are based on sequence and secondary structure information, can easily be highlighted by pattern matching. alignment column conservation based on sequence information is visualized by either sequence logos or simply by bars on top of each column. further importing, exporting and deleting sequences is possible by using the sequence names' context menu. additionally sequences can be reordered with the help of the "rearrange sequences" window. algorithm beside the integration of rnaforester we developed an algorithm that uses the secondary structure information of every single sequence to align multiple rna sequences. this algorihm inherits the complexity of those based on sequence information only. we achieve this by mapping the sequence and secondary structure information of every single rna sequence to artificial protein sequences. the algorithm can be described as string alignment on a letter alphabet comprised of the nucleotides in three structural states. horizontal dependencies given by the sequence bindings are not modeled by this approach. to align the string we use common alignment programs, like clustal w with a suitable scoring matrix. there are several substitution models for this kind of scoring matrices discussed, we used a model as described by. the model is based on subsitutions that were extracted from its sequence and secondary structure alignments. those sequences and their associated secondary structures were obtained from the its database. synchronous editing one of the main features of 4sale is synchronizing the sequence and secondary structure alignment, that is, every operation on the sequence alignment is also performed on the secondary structure alignment and vice versa. alignment editing in general works like in most alignment editors by using the space key to insert and the backspace key to remove gaps. block editing as an effect of not using horizontal dependencies in our greedy sequence and secondary structure alignment algorithm, there are often misaligned "blocks" in the result of clustal w. as shown in fig. 2e the alignment could be improved very fast, by using the block editing feature in 4sale. cursors to make editing as convenient as possible, we provide different edit cursors. beside the standard cursor, that behaves as you expect from text editors for example, we have an exclusive cursor, which performs the edit operation on every sequence but the selected ones. the leftside cursor allows edit operations only at the beginning of the sequence. as mentioned above all cursors perform synchronously on sequences and their secondary structures. working with secondary structures as current predictions of secondary structure information is not highly reliable, performing changes to correct the secondary structures is often needed. adding secondary structure information 4sale supports two methods to add secondary structure information to rna sequences. first, by using the remote folding feature to call the rnafold webservice provided by the university of bielefeld, or manually adding secondary structures by using the secondary structure editing feature. secondary structure editing the secondary structure editing mode available in 4sale allows easy modification of the secondary structure information. it is context sensitive, which means it uses sequence and secondary structure information to validate whether a binding in this context is possible or not. furthermore, it supports column based editing by holding the control key. this enables insertion and deletion of equivalent bindings in all sequences. in this case bindings are only added to sequences allowing this binding. secondary structure inspector a secondary structure inspector allows to view and select specific helical regions in secondary structures of loaded sequences. the inspector consists of two parts; the upper part shows a consensus of all secondary structures, the lower part shows all secondary structures separately. the secondary structure consensus is calculated not only on column conservation, but also with respect of horizontal dependencies, so the result is a valid secondary structure. the conservation threshold can be modified using the slider above. selecting an element in the inspector highlights the corresponding part in the alignment view. as shown in fig. the inspector simplifies visualizing misaligned sequences. "masking" the sequence alignment based on the current consensus structure is also possible. the result is shown in a new window, which contains the alignment based on sequence information only. the alignment can be processed like any other sequence alignment loaded in 4sale. this is particularly useful for calculating phylogenetic trees based on the collective helical regions in the sequence alignment. analyzing compensatory base changes compensatory base changes occur when both nucleotides of a paired site mutate while the pairing itself stays stable. cbc analysis is important in detecting species that are discriminated by their sexual incompatibility. we provide an easy-to-use cbc analysis mechanism with the ability to calculate cbc matrices on the current sequence and secondary structure based alignment. the numbers in the cbc matrix are the counts of compensatory base changes in a pairwise sequence structure alignment, which are naturally given in the considered multiple sequence structure alignment. a cbc-window in 4sale allows to select cbc counts between two sequences and highlights directly all cbcs within the alignment, giving an overview of all cbcs in the aligned sequences. output & connection to other tools for further analyses we provide several output formats. calculated cbc matrices can be saved as comma/tab seperated values to be used in cbcanalyzer. cbctree can be used to calculate phylogenetic trees based on a cbc count matrix. at present, no program is available to handle alignment outputs that include sequences and their individual secondary structures. however, for viewing purposes and publication we support a marna-like output. sequence alignments optimized by structural information could, of course, be saved separately. for phylogenetic analyses here we support the phylip formats. other tools that rely on multiple alignments are supported by fasta. discussion 4sale is the first alignment editor which allows synchronous editing of sequences and their corresponding secondary structures. since it is targeted on rna sequence alignment and editing it contains many features using the secondary structure information, e.g., the secondary structure inspector. all current standard alignment editors can handle secondary structures as character sequence only. by using standard greedy protein alignment algorithms we inherit their time efficiency. in contrast to, e.g., marna or rnaforester, the time complexity of calculation grows not rapidly with large files. we present a completely new approach using nucleotides and every single secondary structure for building and improving rna sequence alignments in comparison to others, which just take the consensus structure information. the structure output converted to vienna style dotbracket can be created from any desired rna folding program, e.g., rnafold, mfold or rnastructure. it is then aligned by using a suitable substitution matrix, which in our case is based on information of the its database. due to the natural limitation that two structures can be hidden in one sequence, in general only one will be considered by our approach. a future version of 4sale will integrate in addition to rnaforester more real structural alignment methods as webservices via the soap interface. also secondary structure prediction algorithms as an alternative to rnafold will be included. furthermore, more visualizations like secondary structure drawings can be implemented.  4sale is easy to use and has a fast ) and good heuristic to globally align multiple rna sequences and their associated secondary structures simultaneously. availability and requirements 4sale is freely available at. a java virtual machine is needed to run the application. furthermore, for automatic sequence and structure based alignments a local installation of clustal w and/or internet connection for webservice based alignments is required. list of abbreviations used cbc: compensatory base change its2: internal transcribed spacer 2 authors' contributions mw conceived the study. tm and mw provided the alignment algorithm. tm estimated the sequence and secondary structure substitution model and its associated score matrix. architecture, implementation and graphical design by ps. mw, ps and tm drafted the manuscript. mw, tm, js and td participated in study design and coordination. all authors read and approved the final version of the manuscript. 
recently, some alignment editors are proposed that are able to include and model both kinds of information. for rna sequences often the primary sequence as well as a secondary structure consensus is well known, e.g., the cloverleaf structure of the t-rna. however, with the advent of a large amount of reliable rna sequences together with their solved secondary structures, we are faced with the problem to handle sequences and their associated secondary structures synchronously. 4sale builds an optimal and unique starting point for every rna sequence and structure analysis. 4sale, which provides an user-friendly and intuitive interface, is a comprehensive toolbox for rna analysis based on sequence and secondary structure information. the application allows a fast sequence and synchronous secondary structure alignment for large data sets and for the first time synchronous manual editing of aligned sequences and their secondary structures. this study describes an algorithm for the synchronous alignment of sequences and their associated secondary structures as well as the main features of 4sale used for further analyses and editing.
 in sequence analysis the multiple alignment builds the fundament of all proceeding analyses. errors in an alignment could strongly influence all succeeding analyses and therefore could lead to wrong predictions. hand-crafted and hand-improved alignments are necessary and meanwhile good common practice. for rna sequences often the primary sequence as well as a secondary structure consensus is well known, e.g., the cloverleaf structure of the t-rna. recently, some alignment editors are proposed that are able to include and model both kinds of information. however, with the advent of a large amount of reliable rna sequences together with their solved secondary structures, we are faced with the problem to handle sequences and their associated secondary structures synchronously.  4sale fills this gap. the application allows a fast sequence and synchronous secondary structure alignment for large data sets and for the first time synchronous manual editing of aligned sequences and their secondary structures. this study describes an algorithm for the synchronous alignment of sequences and their associated secondary structures as well as the main features of 4sale used for further analyses and editing. 4sale builds an optimal and unique starting point for every rna sequence and structure analysis.  4sale, which provides an user-friendly and intuitive interface, is a comprehensive toolbox for rna analysis based on sequence and secondary structure information. the program connects sequence and structure databases like the its database to phylogeny programs as for example the cbcanalyzer. 4sale is written in java and therefore platform independent. the software is freely available and distributed from the website at 