Skip to content
forked from n8n-io/n8n

Biology Node2Node (BioN2N) is an open source project to develop biodiversity informatics nodes for the n8n.io workflow automation platform

License

Notifications You must be signed in to change notification settings

SpeciesFileGroup/bion2n

 
 

Repository files navigation

Biology Node2Node (BioN2N): Connecting biodiversity informatics APIs to the powerful n8n workflow automation platform

BioN2N is a new project to develop biodiversity informatics nodes for the powerful workflow automation platform, n8n.io, which enables building complex data workflows fast with little to no programming experience.

Contents

Abstract

A vast amount of biodiversity data is available from many different biodiversity informatics APIs. However, in order for scientists with little to no programming experience to use data from these APIs for their research, it could potentially require a significant time investment to learn a programming language, develop, and rigorously test the software. The emergence of no-code and low-code software architecture [1, 2] could potentially empower non-programmers with the ability to utilize biodiversity informatics APIs, helping to make these APIs more accessible to a broader number of people. Instead of writing scripts, no-code/low-code applications offer flexible graphical user interfaces that can make it easier to explore and learn APIs, and quickly construct complex data processing workflows. One such open source low-code application is n8n.io, which is a powerful workflow automation platform. Within n8n, nodes are the basic unit of work and can take input, perform processing, and return output. To build an automation workflow, any nodes needed are added to the workspace and their inputs and outputs are connected together. For example, if you wanted to be notified about new species added to a genus in Catalogue of Life (CoL), you could query the CatalogueOfLife node for all species in genus Maghrebotrogus, use the GoogleSheet node to check if each species is in your known list of species spreadsheet, use the Gmail node to send an email notification about any new species, save any new species to your list of known species with the GoogleSheet node, and run the automated workflow on a schedule (see Demo 1). Over 220 popular internet APIs have been wrapped into nodes within n8n, which could additionally allow integrating scientific knowledge with many other services on the internet. A major advantage offered by the n8n automation platform is that reusable workflows can be shared as templates, which could enable building a collaborative community of biodiversity informatics API users.

BioN2N is a new open source project to develop and maintain n8n nodes to wrap biodiversity informatics APIs that will be contributed back upstream to the n8n project. So far nodes have been developed for Barcode of Life, Bionomia, Catalogue of Life, ChecklistBank Datasets, Global Biodiversity Information Facility, Global Names, Integrated Taxonomic Information System, Open Tree of Life, TaxonWorks, Wikidata, ZooBank, and additional nodes are under development (please open an issue ticket if you want a biology API wrapped).

Demo workflows

The bulk of this work focused on developing a generalized workflow automation tool by creating biodiversity informatics nodes for n8n. The biodiversity informatics community will very likely come up with much better use cases, but here are some simple examples of potential workflow automations to demonstrate how n8n works:

Demo 1: Notifying about new species in a genus

This automated workflow checks if new species have been added to the genus, Maghrebotrogus, using the CatalogueOfLife node. If a species is not in the GoogleSheet list of known species, an email notification is sent using the Gmail node, and the new species are added to the list of known species GoogleSheet. sm_demo_notify_new_species_with_email

Demo 2: How to use the Wikidata external identifier registry to access biodiversity informatics APIs

This demo shows how to use the Wikidata Query Service to access biodiversity informatics external identifiers, which in turn can be used to access data about species from the biodiversity informatics nodes. sm_demo_wikidata_external_identifiers

Demo 3: Recording scientific names mentioned on social media

This automatic workflow searches for mentions of "species" within a sample of Twitter tweets posted in the last 24 hours, uses the GlobalNames node wrapping the GNFinder service to find any scientific names mentioned in the tweet text, and saves the output to a GoogleSheet spreadsheet. sm_demo_sci_names_social_media

Demo 4: Tracking GBIF occurrences by country over time

Occurrences by country are recorded hourly from the GBIF API using the GBIF node, and the output is saved to a GoogleSheets spreadsheet. sm_demo_tracking_metrics_over_time

Demo 5: Promoting a species of the day on social media

This automated workflow draws a random species from Catalogue of Life and sends Species of the Day tweet. sm_demo_species_of_the_day_with_nodes

Installation

If not installed already, please install the dependency npm on your platform downloadable here.

  1. Clone this repo:
git clone https://github.com/SpeciesFileGroup/bion2n.git
  1. Change directories into bion2n:
cd bion2n
  1. Install npm dependencies
npm install
  1. Run the build process
npm run build
  1. Run n8n with BioN2N nodes
npm run start

Launch your web browser and navigate to http://localhost:5678

  1. If you are a developer, instead of running start, run in development mode:
npm run dev

Launch your web browser and navigate to http://localhost:8080

Acknowledgements

I am very grateful to the n8n.io founder Jan Oberhauser, and n8n.io team and community for developing the low-code application and the developers of the biodiversity informatics APIs that this work depends upon. Many thanks to our Species File Group founder David Eades, and all of my colleagues for their ideas, inspiration, and support: Beth Frank, Deborah Paul, Dmitry Dmitriev, Dmitry Mozzherin, Heidi Hopkins, Hernán Pereira, Jim Tucker, José Luis Pereira, Leslie Deem, Matt Yoder, R. Edward DeWalt, Rich Flood, and Yury Ruskov. In memory of Marilyn Beckman.

References

1

Caballar, R. D. 2020. Programming Without Code: The Rise of No-Code Software Development. IEEE Spectrum. https://spectrum.ieee.org/programming-without-code-no-code-software-development

2

Miller, A. 2021. Low Code vs No Code Explained. BMC Blogs. https://www.bmc.com/blogs/low-code-vs-no-code/

About

Biology Node2Node (BioN2N) is an open source project to develop biodiversity informatics nodes for the n8n.io workflow automation platform

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages

  • TypeScript 90.4%
  • Vue 6.5%
  • SCSS 1.9%
  • JavaScript 0.9%
  • HTML 0.3%
  • Dockerfile 0.0%