About e-Species

This is a pure Python CGI-based implementation of a taxonomically intelligent species search engine. It searches biological databases for a taxonomic name. The search is done "on the fly" using web services (SOAP/XML) or URL API's.


Synonyms and higher taxa for a taxon name are retrieved using the Catalogue of Life Web Service


Text Snippets are fetched from Wikipedia articles. A link to the original article is also displayed.


Keyword extraction uses the Term Extraction service from FiveFilters.org for extracting terms from the contents of Wikipedia articles.


Queries to NCBI are performed using the Entrez Programming Utilities. The ESearch tool is used to look up a taxon name and, if the name is found, the ESummary tool is called to get basic statistics on what NCBI holds for that taxon. Links to external information resources for the taxon are retrieved using the Elinktool.


Distribution maps for a taxon are retrieved from GBIF using code inspired in the Species Distribution Widget written by Tim Robertson and Dave Martin.


Wikimedia Commons is used to find up to five images for the query term.


Documents are retrieved from PubMed. The script retrieves up to ten references for the query term.

Related Projects

Rod Page has written the original iSpecies taxonomically-based search engine, that also uses web services David Shorthouse has written an iSpecies Clone, that uses JSON.

Source Code

The e-Species search engine has been originally developed on an IBM-PC compatible machine running Linux Ubuntu 8.04 Hardy Heron and Python 2.5

The e-Species source code is released under the terms of the GNU General Public License, and is available from SourceForge.




Thanks to Rod Page for his implementation tips on the iSpecies Blog and overall inspiration, to Edinaldo Nelson dos Santos-Silva and Projeto Biotupé for continuing support, to Eduardo Dalcin for crash testing and pointing out several flaws, to Flávio Coelho and other members of the PyScience-Brasil discussion list for support and constructive comments, and to Douglas Soares de Andrade for providing patches and creating an svn trunk for the e-Species source code. 


Send comments and suggestions to Mauro J. Cavalcanti