articles code science

Search PLOS articles using DuckDuckGo

Last year I decided to experiment with DuckDuckHack, the developer plataform for the search engine DuckDuckGo. The idea was to use the instant answers to find scientific articles as a quick Google Scholar shortcut.

It’s feasible, in principle, but I decided to try something simpler. A plugin that uses the PLOS API to search their articles and display in the instant answer box.

To use it you just need to add the word “plos” + keywords (example above). The result is a list of titles and dates of the five most-relevant articles with direct links. Hovering the mouse over a link will show the authors and which PLOS journal. This final format was simplified after the initial pull request and polished up in the second.

Screenshot from 2013-10-19 11:25:05

The code is a simple Perl function that connects the PLOS API to DuckDuckGo, and a javascript function that handles the search response. The DDG community was quite friendly to help out with the code.

Since DuckDuckGo is less used than Google I guess the number of users might be low. Maybe I’m the only one… It would be amazing if it could query the whole scientific literature! But well, I like this little hack. I guess it’s the excitement of connecting services using APIs.

articles biology code

Living bibliography

On a Saturday morning a few weeks ago I bumped into the Hack4Knowledge, a meeting to build apps, tools and remixes with existing databases to innovate and enrich the creation and dissemination of knowledge.

I was already playing with Mendeley API and took the opportunity to put an idea into practice: aggregate bibliographic references related to a taxon. It is not a particularly new idea, and it also does not differ much from searching a taxon name on google or scopus, but since Mendeley database is based on its users’ collections, it is possible to extract some interesting information. For example, find out which articles are more popular ou create trending topics with popular taxa based on the number of readers and related publications.

Living Bibliography Home Page
Living Bibliography home page

Regardless of the source, article data also allows to extract useful information such as the most active authors on a certain taxon, network of collaborators, annual variation in the number of related articles, popular research topics for each group, etc. Integrating the data and using visualization tools it would be possible to “see” holes in the knowledge or follow the history of one’s research.

Imagine if every article was freely available with contained information (metadata) about the studied organisms with taxonomic classification, occurrence data, collection sites, dna sequences, citations with semantic markup, research topics, hypotheses to test, methods, raw data, etc. Anyone would be able to have a summary of the current knowledge about an organism. Specially interesting to set research quidelines and avoid spending money with the same mistakes; optimization of science. And do not forget about the possibility to attach observations, annotations, discussions, unsolved questions, and other collaborative activities.

Well, after creating a prototype of the idea, I have just pust the basic functions of the aggregator to work. Nothing I wrote above is included, just a search interface where you can use a scientific or common name and a page for each taxon with a list of related references and some sorting options. If a taxon is not in the database, it searches in realtimes, therefore, it is necessary to wait a little and reload the page (at least until I automate this).

Living Bibliography Taxon Page
Living Bibliography taxon page

If you are interested you can test the Living Bibliography at Just remember it is completely experimental, I do not garantee that your favorite articles will appear or that the information will be accurate (there are many duplicated articles, wrong author names, badly formatted titles, swapped journal names, and so on at Mendeley). I don’t know how much I’ll be able to work on it, but the source code is open and I would love to hear ideas and suggestions :)