Recent Updates Toggle Comment Threads | Keyboard Shortcuts

  • agbeltran 10:41 am on November 14, 2014 Permalink | Reply  

    OntoMaton Add-on for Google Sheets 


    This is a very delayed blog post about the OntoMaton Add-on version we released earlier in the year. But better late than never: here we describe the new features we incorporated in the latest OntoMaton version.

    OntoMaton is a widget bringing together ontology lookup and tagging within the collaborative environment provided by Google Spreadsheets. The original motivation for creating OntoMaton was to support users to create well-annotated experimental metadata in biosciences in a collaborative way, while keeping track of different versions. Google Spreadsheets provide such facilities for collaboration and versioning, so we combined them with ontology search and tagging functionality offered by the NCBO BioPortal web services. BioPortal is a web-based repository for biomedical ontologies/terminologies with functionality  for searching and visualizing the ontologies and support ontology-based annotations.

    For more information about OntoMaton and its motiviation, see our publication in Bioinformatics and our previous blog posts.

    After our initial version of OntoMaton,

    Consequently, we upgraded OntoMaton to the latest versions of these services.

    We also took the opportunity to incorporate searches across the Linked Open Vocabularies repository. Linked Open Vocabularies (LOV) is a repository of (RDFS or OWL) vocabularies used in the Linked Data Cloud, and thus, not restricted to bio-ontologies. This addition allows OntoMaton to be used for other use cases, relying on vocabularies outside the bio-domain.

    For this new version, the installation procedure with Google Add-ons is as follows:

    • Open a Google Spreadsheet and select the Add-ons menu


    • Select Get add-ons, search for OntoMaton


    • By clicking on OntoMaton, you can find more information about it, including some screenshots.


    • Then you can install OntoMaton (by clicking over the Free button) or if it is already installed, you can manage the installation by clicking on the Manage button.
    • You will need to authorise OntoMaton to view and manage your spreadsheets (as the Add-on will search over terms from your spreadsheets and incorporate links, etc) and connect to an external service (the REST services that OntoMaton relies upon)


    •  After that, you will be able to use OntoMaton functionality, accessible from the Add-ons menu


    • And that’s it! You can start using OntoMaton for searching and tagging… The functionality is as before, except that when searching you need to select if you want to search BioPortal or LOV.



    In the Bioinformatics publication, we shown some of the use cases for OntoMaton. More recently, OntoMaton has been:

    If you are interested in the OntoMaton source code, you can find it in its GitHub repository.

    Finally, if you have questions or comments about OntoMaton, contact us (the ISA team) at isatools <AT> (replacing <AT> for @!). We would love to hear about how you are using OntoMaton!

  • agbeltran 12:31 pm on October 6, 2014 Permalink | Reply  

    We are hiring! 

    The ISA and BioSharing team is hiring!

    We are seeking to appoint a Software Developer based in the Life, Natural and Biomedical team within the Oxford e-Research Centre at the University of Oxford. In this varied, interesting and challenging role the successful candidate will provide technical knowledge, software engineering and leadership ability for (i) the ELIXIR UK node of the ELIXIR programme, and (ii) a growing portfolio of data and knowledge management projects.

    The position requires a software engineer/research associate with both technical and social ability, and also experience and skills to manage more than one project, plan and monitor project deadlines, assist in writing reports and communicate with geographical distributed collaborators. The successful candidate will liaise with end users and collaborators (e.g. at the European Bioinformatics Institute, Stanford University, Manchester University, Imperial College), members of community-driven initiatives (e.g. working groups in the Research Data Alliance) and developers of data publication platforms journals (e.g. at Nature Publishing Group and BioMedCentral). The candidate will work closely with the team and contribute towards the enhancement of relevant components of the ISA software suite (see the ISA commons community) and of the BioSharing registry, embedded into a large number of UK, EU and NIH funded projects.

    This post is fixed-term for 3 years.


    For more information and to apply, visit this link.

  • Eamonn Maguire 10:44 am on June 9, 2014 Permalink | Reply  

    Towards a new Sequence Logo Visualization 



    Diverging somewhat from our normal posts is a post about a new visualization developed in our group.

    Eamonn is at EuroVis 2014 in Swansea this week where he will be presenting a paper viewable here Redesigning the Sequence Logo with Glyph-based Approaches to Aid Interpretation on the redesign of the infamous Sequence Logo, some screenshots which you can see below. It supports:

    1.  multiple sequence groups for comparison;
    2. entropy or frequency based encoding of bar size;
    3. glyphs to show changes in position preference for hydropathy or charge;
    4. GestaltLine glyph to show overview of variation at a position; and
    5. Customisation to:
      1. reduce transparency of positions where variability is high; or
      2. show the consensus sequence.
    Screen Shot 2014-05-14 at 11.48.11

    Sequence logo with entropy encoding.


    Screen Shot 2014-05-14 at 11.49.17

    Sequence logo with frequency based encoding and showing detail on demand view on position hover.


    Everything, as always, is open source and available with examples on our GitHub repository Let us know what you think, what should be improved, etc. via our issue tracker. The paper is available here and the presentation will be online soon!

  • Eamonn Maguire 3:06 pm on May 6, 2014 Permalink | Reply  

    We are hiring! 

    In this varied, interesting and challenging role the successful candidate will provide technical knowledge, software engineering and leadership ability for(i) the ELIXIR UK node of the ELIXIR programme, and (ii) a growing portfolio of data and knowledge management projects.

    University of Oxford, UK – Software Engineer (3 year fixed term) start date Summer 2014, or ASAP

    Complete applications must be received by 12 noon on 28th May 2014
    Interviews will held shortly after the closing date.

    Salary: £29,837 – £36,661pa (grade 7)
    Location: Oxford e-Research Centre, University of Oxford, 7 Keble Road, Oxford, UK
    Other entitlements: 38 days’ annual leave including public holidays and Christmas closure
    Membership of the University’s Pension Scheme

    Based in the Life, Natural and Biomedical Sciences team, the successful candidate will work closely with other members of the team and contribute towards the

    • specification, design, development and support of the UK ELIXIR Training e-Support System ( prototype; and
    • enhancement of relevant components of the ISA software suite ( and of the BioSharing registry (, embedded into a large number of UK and EU funded projects.

    The position requires a software engineer/research associate with both technical and social ability, and also experience and skills to manage more than one project, plan and monitor projects deadlines, assist in writing reports and communicate with geographically distributed collaborators. The successful candidate will liaise with

    • the wider members of the ELIXIR programme, other ELIXIR UK partners and work closely with a technical counterpart in the myGrid team at the School of Computer Science, University of Manchester, UK; and
    • other service providers, members of pre-competitive informatics initiatives and developers of data publication platforms journals.The Life, Natural and Biomedical Sciences team of the University of Oxford e-Research Centre works to develop software and promote the creation and uptake of community-developed ontology, standards and curation best practices, and their pivotal role in enabling reproducible research, driving science and discoveries (

    The Life, Natural and Biomedical Sciences team of the University of Oxford e-Research Centre works to develop software and promote the creation and uptake of community-developed ontology, standards and curation best practices, and their pivotal role in enabling reproducible research, driving science and discoveries (

    The successful candidate will:

    1. Hold a degree in computer science or bioinformatics
    2. Have demonstrable experience programming in the Python language
    3. Have demonstrable experience with Content Management Systems
    4. Have a high level of competency with HTML, JavaScript, XML, XSD, CSS, and AJAX
    5. Have experience of working in multiple environments (e.g. Unix/Linux, Windows, Mac OS)
    6. Have experience in developing cross browser applications
    7. Have a good working knowledge of databases, Java
    8. Be knowledgeable of software development lifecycle, agile programming methodologies and tools (e.g. Git, Unit/Acceptance tests, Continuous Integration)


    1. Have some competence with design packages such as Adobe Photoshop or Illustrator.

    As well as technical and design ability, it is essential that the individual is able to effectively communicate ideas and concepts between different groups. The successful candidate must be able to demonstrate the ability to work well with colleagues and to collaborate with external partners, including other developers. The successful candidate must have excellent communication and interpersonal skills and enjoy working in a stimulating and international culture.


    More details and link to application form at: and enter Vacancy ID: 112229

  • Eamonn Maguire 6:06 pm on November 14, 2013 Permalink | Reply
    Tags: , Open data, ORCID   

    BioSharing Profiles automatically assign data with publications 


    A while ago, we went along to the ORCID codefest at St. Anne’s College, Oxford.

    In the day or two of coding, Alejandra won with her entry in adding ORCID functionalities to ISAcreator.

    In my entry, I created a system that presented article impact metrics from ImpactStory and also automatically pulled ArrayExpress and PRIDE data links for  publications. The advantages being that users don’t have to go looking for the data for a publication across many repositories. Take this example from ArrayExpress, E-GEOD-31453 – from the submission, you’d never know that there were other data submissions directly related to this submission in ArrayExpress or elsewhere, e.g. E-GEOD-27713. The component developed for BioSharing, but could be used by anyone takes a PubMed ID or DOI and finds the data available in public repositories relating to that publication. It’s use is illustrated in one of the profiles for one of our latest BioSharing users, Sheng-Da Hsu. You can see a screenshot of his publications section below, or see it for yourself here.


    Screen Shot 2013-11-14 at 17.41.11

  • Eamonn Maguire 11:27 am on August 29, 2013 Permalink | Reply
    Tags: , Installation guide,   

    Getting up and running with the BII Web Application 

    In true Star Wars fashion, we are bringing you the prequel to the last blog post discussing how to set up data file access from your JBoss installation. In this post we’ll discuss how to set up the BioInvestigation web application, from build to deployment.


    1. Getting Ready

    • First, you’ll need to have a Java installed.
    • Then you’ll need to download Maven, this is what automates the build process for the BII web application. A bit like Ant, but it adds dependency management, meaning no need for pesky lib directories. Why this version I hear you ask? Well for some silly reason, the Maven developers (as great as they are) thought that removing the ability to specify profiles in profiles.xml was a great idea. We don’t think it is. In Maven 3+ you can only specify profiles in the pom.xml file or in the settings.xml file under the .m2 directory on your system. So, use version 2.2.1. We’ll move on to configuring these profiles a little later.
    • Now you need Git which we’ll use to get the latest BII codebase from GitHub. If you haven’t heard of Git, you simply haven’t lived. Get out from underneath that SVN rock and join the Git revolution. It’s worth migrating just for the benefit of GitHub or some other funky equivalent (BitBucket or Launchpad).
    • Next, download JBoss 5.1.0 from and move the JBoss directory to somewhere to your liking. For further examples, let’s say that’s /etc/jboss-5.1.0.GA/ for the rest of this post.
    • Finally, if you want to deploy properly, you’ll need a database. The BII works with Oracle, Postgres, MySQL or MariaDB. You can also run the application just for using the H2 database (we use this for testing). If your database of choice (apart from H2), you’ll need to create a database (we usually name it bioinvindex) and a user (it’s always a good idea to not just use root as the user) and grant that user all permissions to the database.


    2. Grabbing the code

    With everything in place, you need to ‘clone’ the BioInvIndex repository from GitHub. So navigate to a directory of your choosing, and via the command line type ‘git clone;. This will create a BioInvIndex directory for you with all the code inside.

    3. Configure your profiles

    I mentioned earlier about Maven and profiles. In the bioinvindex directory just created for you, you’ll see a profiles.xml file. Not to get too bogged down on details about what these profiles are for, I’ll give a brief explanation. The main pom.xml file (Project Object Model) for maven defines a number of dependencies, or libraries that are required for the application to run. Some of these dependencies are not always known in advance. For example, if I am running an application on MariaDB, why would I want to have Oracle and Postgres libraries in the final EAR (Enterprise Archive, the JBoss answer to WAR files in Tomcat)? The Profiles just allow us to automatically inject some properties in to the pom file on build depending on what the person building it wants to run. Some of these profiles also go towards creating the file required by hibernate for connection to the database or in specifying to the application the whereabouts of the Lucene index (will talk more about that in a bit).

    So now, given you have some context, open profiles.xml up and you’ll find a number of individual ‘profile’ elements for the various database installations and a few for the Lucene index locations.

    First, find the profile matching your database and edit the username and password, database name (if not bioinvindex), URL and any version information, etc.

    Then, modify the index profiles (named index_local and index_deploy) that specify where the Lucene index for the BII web app will reside. The Lucene index is used to speed up the web application, massively reducing the number of database queries that are required. The majority of the web application front end is based on the contents of the Lucene index. Make sure that the application has read/write access to that location.


    4. Build!

    Run the command mvn clean package -Dmaven.test.skip=true -Pdeploy,<your_database_profile>,<your_index_profile>

    So, if I was deploying using mysql and using the index_deploy profiles, I would run

    mvn clean package -Dmaven.test.skip=true -Pdeploy,mysql,index_deploy

    Now watch the build succeed. When it completes, look in ear/target/ and you’ll see bii-x.y.ear where x and y are the major and minor versions respectively. The ear, or enterprise archive is what you’ll be deploying. Copy this file in to your JBoss directory, so given we’ve copied the JBoss installation files to /etc/jboss-5.1.0.GA/, we’d copy the ear to /etc/jboss-5.1.0.GA/server/default/deploy/

    5. Run the web application

    Finally, we want to actually run our application. The next step will rely solely on JBoss. navigate to /etc/jboss-5.1.0.GA/bin/ and you’ll see a number of scripts. The only one you need worry about is – to run JBoss using the default server (that’s where we copied the ear to), execute the following command – ./ -c default -b & the last bit will bind the server to address, so it’ll be visible to the outside world and will run on port 8080 by default. You can change the port by following the guidance in this Stackoverflow post.


    Hopefully everything will start running, and the bii ear will be deployed and you’ll be able to see it at http://localhost:8080/bioinvindex. You will see errors in the startup log, but that’s because nothing exists in our database yet…there are no tables present at this point. We’ll create the database next.

    6. Set up the database

    For this, you’ll need the BII Manager. You can download this from The latest version (1.6.1) is available here.

    Unzip it and you’ll have a BII-Data-Manager-x.y directory with some files in it. We’ll need to configure some things before we start:

    1. Firstly, the database connection information. Open up the file under the config/ directory and copy in the same username, password, database URL, index location, etc. as you entered in the profiles.xml for the BII web application.
    2. Next, you may want to set up data-locations.xml. Data locations tell the manager tool where to copy data files and ISA-Tab files as well as the URL the web application will be able to access them from. More information on the set up of JBoss to point to these data directories is available in a previous blog post.

    Now, we’re ready to go. If you are using MySQL, H2, MariaDB or Postgres, you’ll be able to run the application by just double clicking isa_deps.jar or executing ./ from the command line.

    If you are using Oracle, you will need to add the Oracle driver on the classpath. Edit the file to do this then when ready, from the command line, run ./

    When the application starts, you’ll be presented with a log in screen. At this point, create a curator account. When this is done for the first time and the database has no schema available, the application will automatically create the schema via Hibernate (a fantastic tool). So you’ve nothing to do. Then, when that’s completed successfully (if it doesn’t check your entries), you’ll be able to log in and load content.

    Finally, to make things a bit faster, open up your file having used the data manager for the first time and delete the line

    This will stop the checking of the schema every time a connection is opened.

    That’s it! Let us know if we missed anything, and we’ll update this post.

    • Matthew Cserhati 11:01 pm on November 19, 2013 Permalink | Reply

      I was wondering how to make the web app public? Instead of being visible just on my local machine?

  • Eamonn Maguire 3:50 pm on August 23, 2013 Permalink | Reply
    Tags: , Data Files, , Static Content   

    Configuring Links to data files in the BII web app in JBoss 5.x 

    We have been getting asked a lot about general deployment within the ISA tools suite, particularly with respect to the web application, which can look a little complex. Here I’m going to describe one of the more perplexing tasks when setting up JBoss: how do I configure JBoss to serve up static content, i.e. my data files. I will also cover how to set up the URLs in data-locations.xml (for the BII Manager tool) to automatically place your files in this directory.

    Setting up JBoss to serve out files

    Probably the most annoying part of setting up JBoss is telling JBoss to serve out your data files from the web application. For instance, the BII data manager tool has sent the files to /tmp/data/bii/ on my file system and I want the URL http://localhost/data to point to that directory. There are a number of ways you can do this. You can use Apache or nginx to do this, you could change your data directory to be within the ROOT.war directory in your JBoss server directory, or you could do what I’m suggesting here and do everything through JBoss…which I think is a bit cleaner, and not so difficult when you know how.

    1. The first thing to do is modify the profile.xml file found under the server/default/config/bootstrap folder in your JBoss installation.


    In profile.xml, there is a bean named BootstrapProfileFactory, you need to modify this and add a value element to the list element. Here, I’ve added a path to my Downloads directory.


    2. Next, we need to set up a folder in my Downloads directory, which has to have a series of folders following the deploy pattern of  /server/<profile>/deploy/ – so now, the directory /Users/eamonnmaguire/Downloads/server/default/deploy/ should exist

    3. Within the deploy directory, create a data.war directory, and inside that create a WEB-INF directory. The name of the .war directory will dictate the URL, so data.war will correspond to http://localhost/data. In the WEB-INF directory, create an empty web.xml file. It’s contents will be <web-app></web-app> – Under the /Users/eamonnmaguire/Downloads/server/ I now have the following directory structure.


    4. Add your files

    Finally, within your data.war directory, add the files you want to display. Here I’ve added a PDF for simplicity.


    Start up JBoss running ./ -c default and navigate your browser to http://localhost:8080/data/Diagnosis.pdf and I get this lovely page.


    That’s it!

    Now, to configure data-locations.xml. For out ISA-Tab for example, we simply set up the filesystem_path to be where, on our machine we want the files to be distributed. The web_url will be the URL we’ve just configured that has mapped data to that actual position in the file system.


    • Mutlu Dogruel 4:15 pm on August 23, 2013 Permalink | Reply

      Hi Eamonn, thanks for this useful information. A small correction: The directory in which you change profile.xml must be
      server/default/config/bootstrap/ instead of server/default/bootstrap/.

    • Matthew Cserhati 4:54 pm on November 20, 2013 Permalink | Reply

      How do you do this all on a Linux system?

      • Eamonn Maguire 4:56 pm on November 20, 2013 Permalink | Reply

        It’s much the same as on mac. The only thing that’s different is the file path.

        • Matthew Cserhati 4:57 pm on November 20, 2013 Permalink

          okay, so could you possibly give an example?

    • Eamonn Maguire 5:03 pm on November 20, 2013 Permalink | Reply

      Well, in the example, instead of /Users/eamonnmaguire/ you’d just have /home/csherati/data/server/default/deploy/data.war/

      The applicationURIs option would be /home/csherati/data/ instead of /Users/eamonnmaguire/Downloads/

      It’s essentially just a case of modifying the paths in this example. Linux and Mac are essentially the same under the hood.

    • Matthew Cserhati 5:53 pm on November 20, 2013 Permalink | Reply

      Hi Eaonn,
      Thanks, I tried, but it didn’t work. I tried putting a test.pdf file into /home/cserhati/data/server/default/deploy/data.war/ but I cannot see it. Is this the place, by the way, where I have to put all my isatab files?

    • Eamonn Maguire 6:03 pm on November 20, 2013 Permalink | Reply

      Which version of JBoss are you using? A few people have followed this guide now and it works.

      The ISATab files are placed in these directories automatically by the loader – the last step in the above post shows a fragment of the data-locations.xml file that resides in the BII Data Manager config directory – you edit that file to tell it where your data.war directory is.

      There is an alternative, which is straightforward if you use Apache for load balancing etc. in that you can use apache to handle the files, or something more suited to media such as nginx.

  • agbeltran 9:26 am on August 3, 2013 Permalink | Reply  

    OntoMaton at the International Conference on Biomedical Ontology (ICBO) 

    The 4th International Conference on Biomedical Ontology (ICBO 2013) took place in Montreal, Canada, on 8th and 9th July 2013. It was held jointly with the Canadian Semantic Web Symposium (CSWS 2013) and Data Integration in the Life Sciences (DILS 2013) in what was called the Semantic Trilogy 2013.

    The members of the core ISA team could not be present this time, but our collaborator and co-author Trish Whetzel was there to present OntoMaton in the Highlight Track entitled OntoMaton: Google spreadsheets meet NCBO BioPortal services. We take this opportunity to thank Trish for her presentation, which was very well received. We have had many new users from the Biomedical Ontology community since ICBO.

    The presentation was about our publication “OntoMaton: a Bioportal powered ontology widget for Google Spreadsheets” available (open access) in Bioinformatics. 2013 February 15; 29(4): 525–527.

    OntoMaton is a script for Google Spreadsheets that relies on NCBO Bioportal Web Services to provide searching and tagging with ontology terms, using those ontologies registered in Bioportal. These functionality for ontology-based annotation of spreadsheets can be used collaboratively among distributed parties. Also, Google Spreadsheets provide version control.

    This is the link to the publication in Bioinformatics: and this is in PubMed:

    And the slides that Trish presented are here:

    If you are interested in OntoMaton, apart from the publication and slides, you can also see our previous blog postour YouTube video, some templates and the source code on Github.
    Thanks again Trish for presenting OntoMaton at ICBO!
  • agbeltran 5:05 pm on June 18, 2013 Permalink | Reply  

    ISAcreator available in GenomeSpace 

    ISAcreator has supported access to GenomeSpace since release 1.7.0. and it is now also available through the GenomeSpace online interface.

    GenomeSpace is a framework supporting cloud-based interoperability of genomics analysis tools. By providing access to multiple tools through their interface, and supporting file transfers in the cloud, GenomeSpace provides a bridge among the tools, allowing users    Some of the tools available through GenomeSpace are: CytoscapeGalaxyGenePatternGenomicaIntegrative Genomics Viewer (IGV), and the UCSC Genome Table Browser. Find out more about what is GenomeSpace and what GenomeSpace can do for you.

    I will now describe the functionality ISAcreator supports for GenomeSpace.

    You can launch ISAcreator from your desktop or you can launch it once you are logged in to GenomeSpace (after registering to their service). For launching ISAcreator from within GenomeSpace, just hover over the ISAcreator icon and select ‘Launch’:


    If you launch ISAcreator from GenomeSpace, you will be prompted to download ISAcreator and will see the following pop-up window (after you accept to download the file):


    When running ISAcreator (either from your desktop or following the GenomeSpace route), you will notice that it now has a third mode of operation (apart from the previously available light and normal modes) that corresponds to GenomeSpace. With this third method of operation, ISAcreator supports opening ISA-TAB files stored on the cloud environment provided by GenomeSpace and also, saving files into GenomeSpace storage facilities.


    If you choose the GenomeSpace mode, you will have to enter your GS user credentials in the ISAcreator login page:


    Then you will load the configuration files, as usual, and get to the main menu where you can choose to load an existing ISA-TAB file. If it is not the first time you are loading files, you will see the previously loaded files and also have the option to search GenomeSpace for more files:


    As an example, you can find the publicly available BII-I-1 ISA-TAB dataset in GenomeSpace under Public/agbeltran/ISA-TAB-datasets, and select it to load:


    After loading an ISA-TAB dataset, you can save it to GenomeSpace (even if it is a local dataset that you want to store in GenomeSpace):


    GenomeSpace also provides documentation about ISAcreator in this page and a guide about using ISAcreator in this other page.

    As always, send us comments or questions contacting:

    • the ISA team at isatools [at] googlegroups [dot] com, 
    • the ISA user forum at isaforum [at] googlegroups [dot] com

    or send us feature requests or bug reports through the issue tracker in Github:

  • Eamonn Maguire 12:20 pm on May 24, 2013 Permalink | Reply  

    Alejandra’s project wins the ORCID Codefest prize 

    Alejandra’s project, adding ORCID support in to ISAcreator has won the ORCID codefest prize.

    Alejandra will be going to CERN in October to participate in the ODIN codefest!

    Search for an ORCID record via a dedicated interface.

    Search for an ORCID record via a dedicated interface.

    User information automatically added from ORCID.

    User information automatically added from ORCID.

    Congrats to Alex! 🙂

Compose new post
Next post/Next comment
Previous post/Previous comment
Show/Hide comments
Go to top
Go to login
Show/Hide help
shift + esc
%d bloggers like this: