genomics studies often start with the organization of a dataset retrieved from public databases , such as the ensembl.1 the ensembl database is currently in release 71 ( april 2013 ) and covers genomes from vertebrates and other eukaryotic species , and therefore holding a large amount of genomic data .
ensembl provides well characterized gene and gene family annotations together with well defined gene homologous ( orthologs and paralogs ) relationships , which are very accurate and a rich source of information for evolutionary and comparative genomics .
it is very important , therefore , to develop faster , easier , and more user friendly methods in order to make them available to the broad community of biologists enabling this important resource to be exhaustively used . at present , the process of creating a dataset is very tedious and time consuming , particularly if the user must search and download every sequence individually , making it almost impossible to use such important and valuable resource . to overcome such hurdles
, users currently have a few available tools for downloading data from ensembl , namely biomart,2 the application programming interfaces ( apis ) , and the retrieve - ensembl - seq3 program .
the biomart application , however , can be limiting considering the number of species that can be obtained per query , which is at most five.3 the apis are not useful to the common biologist , as high programming skills are required to maximize its use . although the retrieve - ensembl - seq program is more user - friendly , its dataset preparation is cumbersome with some limitations regarding the taxon level , where no option exists to choose the desired species , an option very much needed for comparative genomics .
in addition , users have to select multiple options from web - based non - intuitive menus making the overall process tedious , particularly when building a large dataset , thus diminishing the overall purpose of fast and large - scale data preparation .
in order to address this problem , we have developed a much more user friendly application for biologists , which has the advantage of allowing all types of genomics features to be downloaded ( table 1 ) .
this includes complete genes , coding - sequences ( cds ) , peptide , exon , intron , 5 and 3 utr , upstream , downstream , as well as both extended regions , 5 end and 3 end , as per user defined lengths in base - pairs ( bp ) based on a given relationship ( table 2 ) for a given gene i d .
hence , it becomes more efficient to download ensembl defined genomic features for as many gene ids and as many species as per user requirement .
following the download , the user often needs to format the descriptions of sequences , such as the word limits and the use of special characters4 for the requirements of the downstream analyses .
we further provided the user with the option of naming the downloaded sequences in one of the given four easer - specific options : 1 ) species name with gene symbol ; 2 ) ensembl i d ; 3 ) ensembl i d with species name and gene symbol ; and 4 ) species name abbreviated and gene symbol ( fig .
we present easer ( easer.py ) , a simple python ( http://www.python.org/ ) program for the retrieval of large amounts of sequence data from the ensembl database . in the case of coding - sequences ,
the script provides an easy , fast , and effortless way for downloading the homologous sequences from any given number of available species selected by the user .
the user can select all the desired options at once or one by one from interactive mode , and in a matter of seconds or a few minutes the sequences are saved in the user personal computer in fasta file format .
the perl ( http://www.perl.org/ ) script enamer.pl can be used independently for renaming the ncbi and ensembl specific sequence descriptions in any selected format from the available options provided interactively .
our application provides the user the access to an alternative and oversimplified way of working , focused in the personal computer environment .
the use of this api ensures that a constant up - to - date access to sequences is gained .
quick start : just typing ( easer.py s ensg00000108511 a 1 ) will help the user to download the coding sequences ( orthologs one - to - one ) for all species available . to view a list of available options , the user types the option -h ( easer.py-h ) in the terminal ( fig .
for instance , option -s enables the user to specify a single ensembl i d ( -s ensg00000108511 ) or an input file containing multiple ensembl ids ( -s ensemblids.txt ) organized in one single column for a set of genes .
other options include option -r for the ensembl homology relationship choice ( see table 2 ) , option -r for the ensembl database release number , option -a for the species selection ( if omitted , the user will be prompted for the species selection ) , option -o for output file name ( by default ensembl ids are used as file names ) , and option -c for sequences renaming . depending on the user requirement , option -a can be used to select all species ( -a 1 ) or select a group of species specified in a file and provided by the user ( -a mammals.txt ) . in this case , the possibility to provide a file with the required group of species is given to the user ( e.g. , for mammals group , see file mammals.txt provided with easer archive ) .
similarly , it is possible to create a file with desired species from the complete species list ( see interactive mode ) .
therefore , the user has freedom to choose any species or taxon regarding the diverse research interests . by default
the script downloads coding - sequences , thus the user must specify option -d in order to obtain the desired feature ( see table 1 ) .
for example , by typing the single command ( easer.py s ensg00000108511 -a 1 -r 67 -o mydata.fas -d
e ) all one to one orthologs for exons from all the available species in the release 67 of the ensembl database will download for the given ensembl gene i d , and save in mydata.fas output file .
if multiple ensembl ids are specified in a file ( e.g. , -s ensemblids.txt ) , the results are saved separately in different output files where the naming is done in accordance to the output file name given and the position of the ensembl i d in input file following its top - down order ( e.g. , mydata1.fas is meant for download results from first ensembl i d in ensemblids.txt ) .
since the pycogent5 library ( currently in version 1.5.3 ) does not provide automated updates of the organisms list , our script fulfills this gap by providing an option ( -m ) which prompts for the species scientific and common names to be added to the list , thus adding the new species to the initial species list . in the case where no options are given in the command - line , the easer.py script enters the interactive mode and a set of successive questions is posed to the user in order to obtain the necessary options for data retrieval . when the option -a is not selected in command - line , the script enters this mode to present a list of available species , from which the user can select their option by choosing the corresponding species numbers separated by commas .
quick start : just typing ( easer.py s ensg00000108511 a 1 ) will help the user to download the coding sequences ( orthologs one - to - one ) for all species available . to view a list of available options , the user types the option -h ( easer.py-h ) in the terminal ( fig .
for instance , option -s enables the user to specify a single ensembl i d ( -s ensg00000108511 ) or an input file containing multiple ensembl ids ( -s ensemblids.txt ) organized in one single column for a set of genes .
other options include option -r for the ensembl homology relationship choice ( see table 2 ) , option -r for the ensembl database release number , option -a for the species selection ( if omitted , the user will be prompted for the species selection ) , option -o for output file name ( by default ensembl ids are used as file names ) , and option -c for sequences renaming . depending on the user requirement , option -a can be used to select all species ( -a 1 ) or select a group of species specified in a file and provided by the user ( -a mammals.txt ) . in this case , the possibility to provide a file with the required group of species is given to the user ( e.g. , for mammals group , see file mammals.txt provided with easer archive ) .
similarly , it is possible to create a file with desired species from the complete species list ( see interactive mode ) .
therefore , the user has freedom to choose any species or taxon regarding the diverse research interests . by default
the script downloads coding - sequences , thus the user must specify option -d in order to obtain the desired feature ( see table 1 ) .
for example , by typing the single command ( easer.py s ensg00000108511 -a 1 -r 67 -o mydata.fas -d
e ) all one to one orthologs for exons from all the available species in the release 67 of the ensembl database will download for the given ensembl gene i d , and save in mydata.fas output file .
if multiple ensembl ids are specified in a file ( e.g. , -s ensemblids.txt ) , the results are saved separately in different output files where the naming is done in accordance to the output file name given and the position of the ensembl i d in input file following its top - down order ( e.g. , mydata1.fas is meant for download results from first ensembl i d in ensemblids.txt ) .
since the pycogent5 library ( currently in version 1.5.3 ) does not provide automated updates of the organisms list , our script fulfills this gap by providing an option ( -m ) which prompts for the species scientific and common names to be added to the list , thus adding the new species to the initial species list .
in the case where no options are given in the command - line , the easer.py script enters the interactive mode and a set of successive questions is posed to the user in order to obtain the necessary options for data retrieval . when the option -a is not selected in command - line , the script enters this mode to present a list of available species , from which the user can select their option by choosing the corresponding species numbers separated by commas .
we provide the user an easy access to the retrieval of biological sequence features from the ensembl database for comparative genomics and evolutionary studies .
the desired genomic features ( table 1 and 2 ) can be easily downloaded for the corresponding ensembl i d and the multi - sequence file can be prepared given the user requirements .
this set of sequences can further be renamed and readily used for downstream analyses , thereby saving lots of time and energy .
our script is a valid tool that interacts with well - defined ensembl features and an easy - to - use alternative to the currently available options .
since it runs on the user s personal computer , the easer program is a more effective and practical way of generating a sequences dataset from the ensembl database directly to a fasta file .
given the easer is command - line driven , the efficiency is greatly improved in building appropriate datasets .
if the user has multiple ensembl ids to use as query , these can be provided in a file and thus avoid running the script several times for the same options .
the user can even start several instances of this script simultaneously in several terminal windows , choosing options wisely for every case and make the download of data instantly for every ensembl i d or set of ids .
our script has been successfully used by us and is cited in several manuscripts under review and published from our group.6 easer is open for further improvements , which can be performed in the near future regarding the user s needs .
easer is currently in version 1.7.0 and is freely available under gnu general public license upon request or on the web at http://easer.sourceforge.net/. this script is implemented in python ( http://www.python.org ) and is based in the pycogent5 library , for which installation instructions can be found in quick installation at http://www.pycogent.org .
presently pycogent5 library supports linux , windows 64-bit and macos , enabling the use of easer in any of these systems .
easer was developed for unix / linux environment . in order to start using the script , and provided that 1 ) python and 2 ) pycogent5 library are already installed in the user s system , the user must give it execution permissions and it will be ready to run from its current location directory .
the user can also place the scripts in a binaries directory , enabling the use of easer from any working directory .
 the rapid advances in genome sequencing technologies have increased the pace at which biological sequence databases are becoming available to the broad scientific community . 
 thus , obtaining and preparing an appropriate sequence dataset is a crucial first step for all types of genomic analyses . here 
 , we present a script that can widely facilitate the easy , fast , and effortless downloading and preparation of a proper biological sequence dataset for various genomics studies . 
 this script retrieves ensembl defined genomic features , associated with a given ensembl identifier . coding ( cds ) and 
 genomic sequences can be easily retrieved based on a selected relationship from a set of relationship types , either considering all available organisms or a user specified subset of organisms . 
 the script is very user - friendly and by default starts with an interactive mode if no command - line options are specified . 
Functionality
Options
Command-line mode
Interactive mode
Results
Availability and requirements
Supplementary Data