Tuesday, 10 July 2012

Voseq, web database for molecular phylogenetics


  • Are you working in molecular phylogenetics? Do you and your lab produce lots of DNA sequences. 
  • Are you tired of trying to find your sequences among several text files and Excel sheets? 
  • Do you wish there was a easy-to-use database to keep track of sequences and their associated voucher specimens? 
  • Did you ever wished there was a system to create molecular datasets for analysis in PAUP or MrBayes by just a few clicks of a mouse? 
If the answers are "yes", then VoSeq might be for you. VoSeq is a voucher and DNA sequence web application database aimed for people working in molecular phylogenetics.

Main features of VoSeq:

  • Keep track of your sequences and associated voucher specimens. 
  • You upload your data to VoSeq and the back-end relational database will allow you to easily search, fetch, update, etc your DNA sequences or voucher data. 
  • With a few clicks, you can create ready-to-run datasets in NEXUS, Phylip, TNT formats, as well as FASTA files for submission to GenBank. 
  • Use the BLAST capabilities to find similar sequences among those you have, or BLAST against GenBank. 
  • Automated integration with public web services such as Flickr (for posting your voucher photos) and Yahoo Maps (for plotting voucher localities). 
  • You can install it in your computer for private use, or set it up in a shared server for collaborative work via the internet. 
  • and more. 
The publication describing VoSeq came out recently:


Peña, C. & Malm, T. (2012). VoSeq: a Voucher and DNA Sequence Web Application PLOS ONE, 7 (6) DOI: 10.1371/journal.pone.0039071



Carlos Peña: mycalesis@gmail.com 
Tobias Malm: tobemalm@gmail.com

Friday, 18 May 2012

Voucher pages in JSON format

I made a quick addition to our public NSG database. Voucher pages will output the specimen's data in JSON format for easy and automated harvesting of our data.

JSON is becoming a commonly used format for transfer of data over the Internet because it can be easily integrated into Javascript. Nowadays, there are even database systems that keep all data in JSON format (e.g. couchdb, mongodb, etc).

This is how it works in our database:



{
  "institutionCode": "NSG",
  "catalogNumber": "NW85-8",
  "voucher_code": "NW85-8",
  "recordNumber": "NW85-8",
  "family": "Hesperiidae",
  "subfamily": "",
  "tribe": "",
  "subtribe": "",
  "genus": "Achlyodes",
  "specificEpithet": "busiris",
  "infraspecificEpithet": "",
  "country": "PERU",
  "locality": "Km 28, road to Yurimaguas",
  "decimalLatitude": "-6.412590",
  "decimalLongitude": "-76.315900",
  "verbatimElevation": "750m",
  "collector": "St\u00e9phanie Gallusser",
  "eventDate": "2001-11-02",
  "voucherLocality": "NSG coll.",
  "sex": "",
  "voucherImage": "http:\/\/flickr.com\/photos\/37256239@N03\/3429238255\/",
  "associatedSequences": "GQ864726;GQ864820;GQ864414;GQ865378;GQ865050;GQ864915;GQ864593;GQ864507;GQ865158;GQ865279"
}
  • If you use the function getJSON of jQuery to call this web service, you will need to use the field jsoncallback=? or callback=? and, to avoid confusions, the field format=jsonp.
  • Example: Calls the NSG database for data about specimen code NW85-8 using jQuery's function getJSON.
<!DOCTYPE html>
<html lang='en' xml:lang='en' xmlns='http://www.w3.org/1999/xhtml'>
<head>
<title>test
</title>
<script src="http://code.jquery.com/jquery-latest.js"></script>


</head>
<body>

<script>
$(document).ready(function() {
       $.getJSON("http://nymphalidae.utu.fi/story.php?callback=?",
            {
                code: "NW85-8",
                format: "jsonp"
            },
        function(data) {
            var output = "";
            output += "voucher code: " + data.voucher_code + "<br />";
            output += "genus: " + data.genus + "<br />";
            output += "species: " + data.specificEpithet + "<br />";

            $("div").html(output);
        });
});

</script>

<div></div>
</body>
</html>

And the output will be:

Tuesday, 28 February 2012

Integration with EOL

Our database now asks EOL for author and year of description for species names. It is using EOL's search API to pull the authority and link to the corresponding species page in EOL. If there is a positive response from EOL the authority and link will appear under the voucher code:



EOL gets the authority information from several sources (including Ubio and GenBank). However their taxonomy is far from complete and needs urgent updates.

Friday, 26 March 2010

Relaciones evolutivas de las mariposas monarca y sus parientes

Mariposa Monarca HDFImage by Gustavo (lu7frb) via Flickr


El colega Andrew Bower y amigos acaban de ver publicada su investigación en la filogenia y evolución de las mariposas monarca y parientes que están clasificadas en la subtribu Danaini.

Ellos han utilizado secuencias de ADN, datos morfológicos de adultos e inmaduros de estas mariposas para tratar de reconstruir la evolucion de este grupo de mariposas.

Este trabajo provee de una sólida hipótesis de la evolución de grupo, conviertiéndose en una guía de la clasificación de estas mariposas.

Los autores han estudiado mariposas de Australia, África, Indonesia, Islas Grand Caimán, Argentina, Tailandia, USA, Republica Dominicana, Brasil y una especie de Perú: la especie Danaus plexippus de Tingo María.

Brower, A.V., Wahlberg, N., Ogawa, J.R., Boppré, M. & Vane-Wright, R.I. (2010) Phylogenetic relationships among genera of danaine butterflies (Lepidoptera: Nymphalidae) as implied by morphology and DNA sequences. Systematics and Biodiversity, 8, 75-89. doi:10.1080/14772001003626814
Reblog this post [with Zemanta]

Friday, 10 April 2009

Moving to Flickr

Image representing Flickr as depicted in Crunc...Image via CrunchBase

All the voucher pictures in our NSG database take up to 2.5GB in hard disk space, which is quite a lot for 3300 pictures only.

This is indeed a problem if we decide to move the database into a private, commercial server because buying 2.5 GB of space can be quite expensive.

Then Flickr might be able to help. By having a PRO account, users are allowed to upload unlimited number of photos and even retaining the original sizes of high resolution photos, for only 25 USD per year. Quite a bargain indeed.

Since moving more than 3000 pictures can be tiresome, I used used Flickr's API interface and grabbed an API key.

Then I found the PHP class libraries of Phlickr very useful as a layer on top of Flickr's API.

I used Phlickr to harvest information from the NSG database and included it as Title, description and Tags of the photos to be uploaded to Flickr.

Almost everything worked as a charm. However, I found that Phlickr got problems in getting the image URL, by constructing the link using the wrong id of the photo. I had to fix it by hacking the Photo.php class -> function buildImgUrl()

The database then will link to the photo on Flickr:



Now people can comment on every picture and point out whenever we misidentify the vouchers. The possibility of adding notes on top of the photo might of some use.

NSG's photostream in Flickr: http://www.flickr.com/photos/nsg_db/



Reblog this post [with Zemanta]

Wednesday, 1 April 2009

Started using Twitter

Image representing Twitter as depicted in Crun...Image via CrunchBase

I always wanted to have a cross-database plugin that would list some "recent news" of new vouchers and records uploaded to our voucher and reference databases. I tried to do it myself some years ago but it was too complicated to achieve.

But, it seems that Twitter might do the job.

from Wikipedia:
Twitter is a social networking and micro-blogging service that enables its users to send and read other users' updates known as tweets. Tweets are text-based posts of up to 140 characters in length.
So now every time I update the databases a script will create a tweet including a shortened url address to the respective voucher and record pages.

Since the tweets have to be up to 140 characters in length, I have to shorten the URLs. For this, I found the TinyURL service, but it was sluggish a couple of times so I switched over to Is.gd which has a very simple API.

And this is my twitter address http://twitter.com/carlosp420

Here a video explaining in a better way what Twitter might be all about: "The ultimate tool for exhibitionism"



Reblog this post [with Zemanta]

Friday, 27 February 2009

New butterfly from Colombia

Blanca Huertas and colleagues (Huertas, Ríos & Le Crom, 2009) describe a new Satyrinae butterfly in the genus Splendeuptychia from the Colombian Andes:

Splendeuptychia ackeryi Huertas, Ríos & Le Crom, 2009

This is the original citation:

Huertas, Blanca; Ríos, Cristóbal; Le Crom, Jean F. (2009) A new species of Splendeuptychia from the Magdalena Valley in Colombia (Lepidoptera: Nymphalidae: Satyrinae). Zootaxa 2014: 51–58.

see the paper here.

It seems this butterfly was found due to having particular mustache.

from ScienceDaily

from taxon_db