Friday, 24 May 2013

Elevators and Open Access science

Kone is a Finnish company "dedicated to people flow" (it makes escalators, elevators and other machinery). But Kone also has a foundation that finance research in Science, Humanities and Art, Kone foundation (or Koneen Säätiö).
I really like Koneen Säätiö because my salary as postdoctoral researcher in the laboratory of Genetics at the University of Turku is paid through a grant they gave to Niklas Wahlberg
I like it more now because they started to support the Open Access movement in scientific publishing. They sent an email to grant holders a couple of days ago saying the following:

Koneen Säätiö suosittelee tutkijoilleen tieteellisten julkaisujen avointa saatavuutta

Which means, more or less, that "the Kone foundation recommends that scientist should publish open access papers".

This is a Google Translation from the rest of the recommendation:


Science transparency and open access to scientific publications not only benefit the researchers and their research institutions, but also high-quality research funders. This has been noticed in recent years, both the U.S. and the UK and other European countries. So private, such as the Wellcome Trust, and public, funders, such as the Research Councils in the UK, have begun to instruct and funded researchers to bring the scientific publications openly available.

Kone Foundation reportedly the first to start foundation in Finland recommended that the research funded by the results achieved through the network may be open for reading. This decided the Foundation's Board of Directors spring meeting.
Open access can be accomplished by storing items such as your university's open access archives such as the Academia.edu wider service. The results may also be published in scientific journals, in which they will be openly available.

The Foundation may, in connection with the project financing to fund open access to the so-called scientific publications. author fees. However, it is desirable that the writer is paid to publications in which all the scientific articles are openly available, and for those who collect the subscription fees.

Well, it is good that the local company making elevators is pushing scientists to publish their output in Open Access venues.

Thursday, 15 November 2012

VoSeq: delete voucher button (new feature)

Dear VoSeq users,


Little by little we are doing some progress on VoSeq's TODO list.

We have released a new micro-version of VoSeq: 1.3.1
In this version, we have included a feature to delete records. You will find a "Delete me" button in voucher pages under the "Administrator" interface. If you click the button, VoSeq will issue a dialog asking for confirmation to delete all traces of that voucher record (including its associated sequences, primers and will remove them from taxon sets).

Use the button with care!

You can download VoSeq from github: https://github.com/carlosp420/VoSeq/downloads


Peña C, & Malm T (2012). VoSeq: a voucher and DNA sequence web application. PloS one, 7 (6) PMID: 22720030

Thursday, 18 October 2012

Plotting ages of phylogenetic trees in R

It appears that different genes might estimate very different age estimates for your phylogenetic trees. This seems to be the case with the COI gene that tends to pull your timings towards the past. Saturation in the 3rd codon position might be accused for responsibility  (you can inspect the saturation level with some cool plots).

Brandley et al (2011) use a nice way to figure out whether some of your genes might be giving very different time estimates for your trees. You can select 1000 random trees from your BEAST run and plot the distributions of the ages for the crown group of different genes, different codon positions and the combined analyses.

Something like this plot consisting on a simulation of a gen1 estimating a crown age of 30Mya, gen2 estimating an age of 50Mya and the combined analysis giving an age of 40Mya.


This can be done in the ubiquitous statistical software R, and here is the code: http://dx.doi.org/10.6084/m9.figshare.96636


library("ape")
library("Hmisc")
library("TreeSim")

# simulate three sets of trees with different ages
# you will skip this step and use your own tree files instead
trees_gen1 <- sim.bd.taxa.age(n=50, numbsim=100, lambda=0.03, mu=0.001, age=30);
for(i in 1:length(trees_gen1)) {
  write.tree(trees_gen1[[i]], file="trees_gen1.nwk", append=TRUE)
}

trees_gen2 <- sim.bd.taxa.age(n=50, numbsim=100, lambda=0.03, mu=0.001, age=50);
for(i in 1:length(trees_gen2)) {
  write.tree(trees_gen2[[i]], file="trees_gen2.nwk", append=TRUE)
}

trees_combined <- sim.bd.taxa.age(n=50, numbsim=100, lambda=0.03, mu=0.001, age=40);
for(i in 1:length(trees_combined)) {
  write.tree(trees_combined[[i]], file="trees_combined.nwk", append=TRUE)
}

# you might want to plot the ages for an ingroup or a particular clade
# then you might want to remove certain taxa or the outgroups
# use this variable and replace with your real tip names
outgroup_tips <- c(); # add your tips as a vector, for example: c("Aus", "Bus", "Cus");

##-----------------------
## Function to get distribution of ages for root from 1000 tree file
get_crown_age_distribution <- function(file, outgroup_tips) {
  tips <- outgroup_tips;
  phys <- read.tree(file)

  # get the branching times for the crown
  branching_times <- c();
  for( i in 1:length(phys)  ) {
    phy <- phys[[i]]
    if( length(tips) > 0) {
      phy <- drop.tip(phys[[i]], tips);
    }
  
    # the the node number for the root
    nodes <- length(phy$tip.label) +  1
  
    x <- branching.times(phy)
  
    # get the branching time for the root
    branching_times <- c(branching_times, x[names(x) == nodes])
    }
  return(branching_times);
}


## get data
gen1 <- get_crown_age_distribution(file="trees_gen1.nwk", outgroup_tips=outgroup_tips)
gen2 <- get_crown_age_distribution(file="trees_gen2.nwk", outgroup_tips=outgroup_tips)
combined <- get_crown_age_distribution(file="trees_combined.nwk", outgroup_tips=outgroup_tips)

hist(gen1, freq=FALSE, axes=F, xlim=c(80,0), 
     border="white", main="Age posterior probability distributions\nof simulated trees",
     ylab="", xlab="Million years ago")
axis(4, at=seq(0.0,0.6, 0.1), las=1, font=2)
axis(1, font=2)

lines(density(combined), lwd=2, col="black")
lines(density(gen1), lwd=2, col="red")
lines(density(gen2), lwd=2, col="blue")

minor.tick(ny=1)

legend.txt <- c("Data combined", "gen1", "gen2")
legend.colors <- c("black",      "red", "blue")
legend(cex=0.8,"topleft", legend.txt, pch=22, lwd=0, pt.bg=legend.colors, title="Locus", pt.cex=2)

Sunday, 14 October 2012

Plots de saturación para secuencias moleculares en R

Estuve buscando un programa que realice gráficos mostrando los niveles de transiciones y tranversiones en secuencias de ADN. Se supone que el tercer codon de una secuencia de ADN tiende a llegar a "saturación" debido a que el código genético es degenerado (varios tripletes codifican el mismo aminoácido). Esta saturación ocurre cuando las mutaciones en el tercer codón han sido tan frecuentes que ya no llevan información filogenética. Es decir, se llega al grado en que dos secuencias saturadas son parecidas simplemente por chance. El programa DAMBE realiza este tipo de gráficos al plotear la relación de transiciones y transversiones versus distancia genética, pero no pude hacer funcionar la versión para Linux. Encontré una función escrita para el programa estadístico R que sí me funcionó. La versión original la pueden encontrar aquí: http://the-praise-of-insects.blogspot.fi/2010/04/transitions-in-r-redux.html

Download sample data here: wg_sample_data.zip

library(ape)

# modified from
# http://the-praise-of-insects.blogspot.fi/2010/04/transitions-in-r-redux.html

par(mfcol=c(1,1)); par(mar=c())
par(xpd=F, mar=c(5,4,4,2)+0.2, family="Palatino")

#Input: dat---an object of class 'DNAbin'

titv<-function(dat){
  mat<-as.matrix(dat)
  res<-matrix(NA, ncol=dim(mat)[1], nrow=dim(mat)[1], dimnames=list(x=names(dat), y=names(dat)))
  for(i in 1:(dim(mat)[1] - 1)){
    for(j in (i+1):dim(mat)[1]){
      vec<-as.numeric(mat[i,])+as.numeric(mat[j,])-8
      res[j,i]<-sum(!is.na(match(vec,c(200,56))))#Transitions
      res[i,j]<-sum(!is.na(match(vec,c(152,168,88,104))))#Transversions
    }
  }
  res
}

create_plots<-function(files) {
  for( i in 1:length(files)) {
    codon <- as.DNAbin(read.nexus.data(files[i]))
    
    ti<-titv(codon)
    tv<-t(ti)
        
    if (i == 1) {
      R1 <- ti[lower.tri(ti)]/tv[lower.tri(tv)]
      dist1 <- dist.dna(codon, model="JC69", gamma=T, pairwise.deletion=T)
    }
    else if( i == 2) {
      R2 <- ti[lower.tri(ti)]/tv[lower.tri(tv)]
      dist2 <- dist.dna(codon, model="JC69", gamma=T, pairwise.deletion=T)
    }
    else if( i == 3) {
      R3 <- ti[lower.tri(ti)]/tv[lower.tri(tv)]
      dist3 <- dist.dna(codon, model="JC69", gamma=T, pairwise.deletion=T)
    }
    else {
      print("error")
    }
  }
  # print plot
  xname = expression("JC+" * Gamma * "corrected distances")
  yname = "Transition/Tranverstion ratio"
  plot(NA, xlim=c(0,.6), ylim=c(0,40), xlab=xname, ylab=yname, main="Saturation plot for Wingless gene")
  points(R3~dist3, xlim=c(0,.6), ylim=c(0,40), col="red", pch=20, xlab="", ylab="")
  points(R1~dist1, xlim=c(0,.6), ylim=c(0,40), col="grey", pch=20, xlab="", ylab="")
  points(R2~dist2, xlim=c(0,.6), ylim=c(0,40), col="cyan", pch=20, xlab="", ylab="")

  legend.txt <- c("1st position", "2nd position", "3rd position")
  legend.colors <- c("grey",  "cyan", "red")
  legend("topright", legend.txt, pch=19, col=legend.colors, title="wingless", cex=0.9)
}


files <- c("wg_1.nex", "wg_2.nex", "wg_3.nex");
create_plots(files);

Y este es el resultado final para el gen wingless:
Es importante el orden al plotear los puntos (primero los más abundantes).
Así es posible ver todos.


Monday, 30 July 2012

Morphology of immature stages of the butterfly genus Junea and its implications

Fredy Montero was very kind to send me his recent publication (with Maira Ortiz) describing morphological characters of eggs, larvae and pupae of  the satyrine butterfly genus Junea.

They raised the specimens on the hostplant Chusquea in Colombia. What I found most interesting is the morphology of the last instars of the larva. They have very long "horns" and long bifid "tails".
Head of Junea doraete larva. http://bit.ly/N1d0wu
It was believed that the only Neotropical butterfly with these traits was the satyrine butterfly Eteona tisiphone from southeast Brazil:
Eteona tisiphone larva (from Freitas, 2002), head on the left.
These similarities explain in part why Eteona and Junea appear as closely related taxa in the Satyrinae phylogeny that we published in 2006:
Satyrinae phylogeny from Peña et al., 2006: doi: 10.1016/j.ympev.2006.02.007
At the time of writing that manuscript, it was very strange to find the Andean genera Junea and Pronophila close to the genera Eteona and Foetterleia (that are mainly distributed in Southeastern Brazil, Paraguay and northern Argentina). It is nice to see that these relationships can be supported by morphological characters of immature stages. It would be very interesting to see whether the larvae and pupae of Pronophila and Foetterleia share the same characters with Eteona and Junea. This could require interesting biogeographical explanations for such close relationships of among currently disjunct taxa.
Pupae of Junea doraete (left) and Eteona tisiphone (right).

References:
  • Freitas, A. V. L. Immature stages of Eteona tisiphone (Nymphalidae Satyrinae). Journal of the Lepidopterists’ Society 56, 286–288 (2002). http://bit.ly/NReImD
  • Montero Abril, F. & Perez, M. O. Estados inmaduros e historia natural de algunas especies de la subtribu Pronophilina (Nymphalidae: Satyrinae) presentes en el paramo del Tablazo, Colombia. I. Junea doraete doraete (Hewitson 1858). Tropical Lepidoptera Research 22, 32–41 (2012). http://bit.ly/N1d0wu
  • Carlos Peña, Niklas Wahlberg, Elisabet Weingartner, Ullasa Kodandaramaiah, Sören Nylin, André V.L. Freitas, Andrew V.Z. Brower (2006). Higher level phylogeny of Satyrinae butterflies (Lepidoptera: Nymphalidae) based on DNA sequence data Molecular Phylogenetics and Evolution, 40 (1), 29-49 DOI: 10.1016/j.ympev.2006.02.007

Wednesday, 18 July 2012

PLoS Altmetric API will change soon

Just got an email from PLoS ALM Team saying that they are updating their API for their Article Level Metrics (ALM; Altmetric) tools.


The Almetric software shows "citation" data on scientific papers harvested from social networks such as Twitter, Scientific Blogs, Citeulike and Mendeley. They deliver this content via their very easy API.


You could also visit their website http://altmetric.com/ and enter a DOI number for your favorite paper and see how many citations from social network it has. Also you can see the "hot" papers that have the most number of citations so are the one that "everybody" is reading right now.

I am using the altmetric API for my website and noticed that there seems to be a mix up in the data that was harvested for one of our recently published papers:

Peña C, Malm T (2012) VoSeq: A Voucher and DNA Sequence Web Application. PLoS ONE 7: e39071. doi:10.1371/journal.pone.0039071


For some reason Altmetric started to collect data from their announcement when their released Altmetric:


You can see the Altmetric API and changes in their github profile:
https://github.com/articlemetrics/alm/wiki/API

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

Tuesday, 16 December 2008

Search function for Taxonomic database

I just uploaded the search function for the Butterfly Taxonomic Database:

http://www.nymphalidae.net/taxon_db/search.php



The search field can take up to three arguments of butterfly names (no matter whether you enter genus or species names), and the script will look for genus and species names that will match your query.

For example a search for the species Euptychia enyo will output this taxon but also all other Euptychia and even Corades enyo:



Still have to get rid of the duplicates like the second Euptychia enyo at the bottom of the returned results.

Saturday, 13 December 2008

Taxonomic database

In order to keep track of the ever changing butterfly names, we are working on a "Taxonomic database" for butterfly names.

Here:
http://www.nymphalidae.net/taxon_db/

We are generating LSIDs for each butterfly name, including basic info such as the original combination of names from primary literature, list of synonyms and/or homonyms if they exits, type localities, some collection localities and a map when suitable.

We are working on generating RDF files for keeping this info readable for computers as well.

So far we have made available a checklist function for reporting species names according to Biogeographic region and family-level classification. We are on the works to finish up the search function.

Wednesday, 9 April 2008

Genomic outpost serve the phylogenomic pioneers: designing novel nuclear markers for genomic DNA extractions of Lepidoptera

This paper just came out:

PDF Wahlberg, N. & C. Wheat. 2008. Genomic outpost serve the phylogenomic pioneers: designing novel nuclear markers for genomic DNA extractions of Lepidoptera. Systematic Biology, 57(2): 231-242. doi:10.1080/10635150802033006

List of vouchers.

Niklas Wahlberg and Chris Wheat describe a cool way to "easily" find new genes for phylogenetic inference. The authors wonder how many genes are necessary for getting a robust phylogeny. Maybe the more, the merrier, but for butterflies at least, they say that between 3 and 5 genes should be okay —for most of the nodes. If you want to be sure about relationships of ambiguous taxa, get 11 genes then.

From the abstract:
Increasing the number of characters used in phylogenetic studies is the next crucial step towards generating robust and stable phylogenetic hypotheses—i.e., strongly supported and consistent across reconstruction method. Here we describe a genomic approach to finding new protein-coding genes for systematics in nonmodel taxa, which can be PCR amplified from standard, slightly degraded genomic DNA extracts. We test this approach on Lepidoptera, searching the draft genomic sequence of the silk moth Bombyx mori, for exons >500 bp in length, removing annotated gene families, and compared remaining exons with butterfly EST databases to identify conserved regions for primer design. These primers were tested on a set of 65 taxa primarily in the butterfly family Nymphalidae. We were able to identify and amplify six previously unused gene regions (Arginine Kinase, GAPDH, IDH, MDH, RpS2, and RpS5) and two rarely used gene regions (CAD and DDC) that when added to the three traditional gene regions (COI, EF-1α and wingless) gave a data set of 8114 bp. Phylogenetic robustness and stability increased with increasing numbers of genes. Smaller taxanomic subsets were also robust when using the full gene data set. The full 11-gene data set was robust and stable across reconstruction methods, recovering the major lineages and strongly supporting relationships within them. Our methods and insights should be applicable to taxonomic groups having a single genomic reference species and several EST databases from taxa that diverged less than 100 million years ago.

Wednesday, 26 March 2008

Global climate change is good for butterflies

larva of Satyrinae butterfly on grass hostplant
Sort of off-topic, though.

Our paper: Peña & Wahlberg (2008) Prehistorical climate change increased diversification of a group of butterflies. Biology Letters; is coming out today (probably, at least online). However, it already got a short note on London's Telegraph (here).
Here is the doi link: 10.1098/rsbl.2008.0062
and here links to the PDFs: http://nymphalidae.utu.fi/publi.htm

From the abstract:
Satyrinae butterflies (Lepidoptera: Nymphalidae) and grasses (Poaceae) are very diverse and distributed worldwide. Most Satyrinae use grasses as hostplants, but the temporal scale of this tight association has been unknown. Here we present a phylogenetic study of Satyrinae butterflies and related groups, based on 5.1 kilobases from six gene regions and 238 morphological characters for all major lineages in the “satyrine clade”. Estimates of divergence times calibrated using a fossil from Late Oligocene indicate that the species rich tribe Satyrini diversified to its current 2,200 species simultaneously with the expansion and radiation of grasses during the dramatic cooling and drying up of the Earth in the Oligocene. We suggest that the adaptive radiation of grass feeders in Satyrini was facilitated by the ubiquitousness of grasses since 25 Mya, which was triggered by a change in global climate.

Monday, 10 March 2008

Butterfly references database

Some time ago I created a very simple reference database, my Butterfly references database. My idea is to have it for toying around with web services as a way to harvest data from the internet relevant to Nymphalidae butterflies.

As Rod Page has been blogging about, it would be really useful to have a way of linking species names (butterflies in our case) to their original descriptions.

This would speed up taxonomic work since lack of access to primary literature is one of the issues that is crippling taxonomic practice around the globe. This is particularly true in countries where access to primary literature is unthinkable... and coincidentally those countries are the ones that host most of the world's biodiversity! Because I am from Peru, I have been there... 've done that.

So, my new toy, the Butterfly references database only has a few bibliographic references for testing purposes. However it has a web service already. It is able to provide data of bibliographic references in XML format. Thus, now our voucher database will ask the reference database whether it holds references containing a particular species' voucher that any human user might be looking at at the voucher's page. Currently this is done using the RESTful protocol.

For example if you are looking for the butterfly Morpho aurora, you might stumble upon one of our pages for specimens of that species:

If you look a the center bottom you will see a "Relevant literature" field containing a full reference of paper by Patrick Blandin (2006). No bibliographic references data is contained in the voucher database, all that info is being queried and processed from the reference database "on the fly" and "on demand" according to user's input.

Unfortunately most of the hardcore taxonomic literature is old and published in obscure journals. So most likely there will be no "Digital object identifier" (DOI) or PDF files on the web for most of the references. I am currently trying to gather more info for each reference and put it available on the reference database which already points to some DOIs and web addresses of sites hosting PDF files.

Friday, 7 March 2008

RSS feed for NSG butterfly voucher database

I put up a RSS feed for the Voucher database. It will report the last entries that we upload or update in the database. If you want to subscribe just point your RSS reader software to the opening page: http://nymphalidae.utu.fi/db.php

The RSS feed contains the Genus and Species names of the particular specimen, including a thumbnail of the voucher picture if it exists and links to the voucher's page.

Sunday, 24 February 2008

First post

Hi there,

My name is Carlos Peña and I am involved in developing the NSG's voucher specimen database. This web application is what we, the NSG group, use to handle data for our research on the Systematics of the butterfly family Nymphalidae.

Thus, this blog is intended to record the efforts in making the voucher database and other databases (hopefully!) able handle biological data on Nymphalidae butterflies such as information of collection specimens, geographic distributions, molecular sequences, taxonomic literature and nomenclature of names.

Let's see how it goes!