“There’s an app for that” – interview with Alex Pico

Today F1000Research is very excited to announce the launch of the Cytoscape App Collection which consists of 16 new articles and an overarching editorial. Building upon the success of the BioJS Collection published earlier this year, our latest collection is a collaboration with Cytoscape, the open source software platform for visualizing complex networks. The collection itself is geared towards publishing articles based upon Cytoscape apps, which are individual pieces of software that extend the functionality of Cytoscape for network data integration, analysis and visualization. Each app published in the collection will have the opportunity for regular software updates and all of the code will be fully available to maximize reproducibility. The idea of publishing the apps is to help encourage further scientific discussion that can hopefully foster new meaningful collaborations and communities. To give a little more insight into the collection, we were lucky enough to interview the Guest Editor, Alex Pico, who is the Executive Director for the National Resource for Network Biology (NRNB) and the Associate Director for the Systems Biology Group at Gladstone Bioinformatics. Here’s what he had to say:

Interview

F1000Research: Alex, Cytoscape has now been around for 12 years and has continued to grow and develop into an important open source platform for biological research – can you give us a brief background of how it has expanded and what function it provides for the biological community?

Alex: The first public release of Cytoscape dates back to 2002. It was originally developed at the Institute for Systems Biology in Seattle by a team led by Trey Ideker (now at UCSD) and Benno Schwikowski (now at Institut Pasteur). In their first paper introducing Cytoscape (Shannon et al. 2003), you can clearly see the emphasis on combining a generic core capable of handling any kind of network data with an extensible plugin architecture enabling specialization. This customizability helped build a community of users, making Cytoscape relevant to unique research questions, and in turn helped build a community of developers. In 2004, I went to my first Cytoscape Retreat hosted by the Memorial Sloan Kettering Cancer Center in New York and I met dozens of other researchers wanting to build lightweight applications on top of the Cytoscape platform. Dozens quickly became hundreds and then thousands as Cytoscape usage expanded and network biology methods in general became more relevant to various research domains. I think it was at the 2008 ISMB conference in Toronto that I first noticed that the majority of network figures in slides and posters were coming from Cytoscape. Now, we are seeing 8,000 downloads per month and 500 citations per year. The broad range of applications of Cytoscape to actual, publishable research can really be seen in the monthly archive of Cytoscape figures we’ve been curated since 2011: https://cytoscape-publications.tumblr.com/archive.

F1000Research: Cytoscape version 3 was launched in February 2013 and is the latest generation of the platform; what has changed and how has it improved for both developers and users?

Alex: Cytoscape 3 was a major undertaking; a complete redesign from the ground up. The entire core development team was involved over many years, but the chief architect at the time, Mike Smoot (Ideker lab), really took the lead in planning and implementation. The adoption of standard tools and specs, like Maven, OSGi and semantic versioning helped guide the redesign and development of a more modular, less bug-prone codebase with a well-defined API for app developers. We added support for distinct network collections within a session, tweaked event handling and expanded the table model. We also made improvements to the user interface, including the new welcome screen, updated network and annotation editing controls and a new visual style panel. But in my mind, the most important upgrade has been the improved support for apps and app developers.

F1000Research: So, Cytoscape version 3 is the platform, but really it’s all about the apps right?! Can you explain a little more about them and what role they play?

Alex: That’s right. It really is all about the apps! These are relatively small Java applications that call upon Cytoscape’s API to leverage all of its built-in network, table and operating functions. So, if your goal is to develop a software tool that deals with data that is modeled and/or viewed as a network, then instead of starting from scratch, you can simply write a Cytoscape app. This approach lets you avoid implementing all the boring parts of a stand-alone application as well as all the challenging parts of a refined and high-performing network application, and instead focus on the more interesting aspects relating to your data types, resources and domain of research. Many of the core developers of Cytoscape also develop apps, but the great majority of apps come from the larger community of developers— 460 at last count—represented around the world. The Cytoscape App Store tracks all app submissions, ratings and downloads. In the last year alone, there have been 110,000 downloads of Cytoscape 3 apps from 100 countries.

F1000Research: Out of interest, why did you change the name to ‘apps’ from ‘plugins’?

Alex: With the rise of smartphones, everyone and their mother (and even their toddlers) know what an app is! A plugin on the other hand is slightly more on the technical jargon end of the spectrum. When explaining plugins to new Cytoscape users, I often found myself saying, “they’re like apps for Cytoscape.” So, with the scheduled redesign of Cytoscape 3— which included substantial changes to how plugins/apps were going to work— and with our intent to continually make Cytoscape easier to grasp by a broader audience of researchers, we took the opportunity to change the name.

F1000Research: What made you decide that a dedicated Cytoscape app collection in F1000Research is something you wanted to pursue?

Alex: Well, I first became aware of these collections when I was invited to referee KEGGViewer one of the BioJS component articles in the F1000Research BioJS collection. In a follow up discussion with the journal, we noted some interesting parallels between BioJS and Cytoscape. For example, both were participating as open source organizations in Google Summer of Code (Cytoscape via the National Resource for Network Biology (NRNB)). But more to the point, BioJS components and Cytoscape apps were modular, dependent and often technical in a way that made them difficult to publish as independent research reports. A dedicated collection allows us to tailor short-format article guidelines for app authors, making the articles more relevant to researchers and other app developers.

F1000Research: F1000Research prides itself on being the first open science journal. What benefits do you see open data and open peer review bringing to each app that is published?

Alex: In general, I’m a proponent of open source software, open access publishing and data deposition. For these app articles in particular, the comprehensive Software Availability section will benefit researchers that want to install and run an app following the provided sample usage. Another benefit to developers is that all apps in this collection are not only open source, but also provided a GitHub repository (if it’s not already there) and minted with a citable DOI via Zenodo. These are good steps toward better code documentation and code reproducibility in the life sciences. The open peer review experience was a new one for me, and even though I found myself putting in a bit more time, it was a worthwhile experience and I see some clear benefits. The first one being the quick turnaround from submission to publication which was a matter of 1-2 weeks instead of 2-8 months. The ability to revise and update articles addresses many of the issues with post-publication review and is perfectly suited for software tool articles. Furthermore, with open peer review, there is the potential to launch new collaborations (rather than hidden agendas) around the work and common concerns.

F1000Research: What types of articles are being published in the Cytoscape app collection, and how do you see the collection growing?

Alex: The initial launch of the collection already includes a pretty diverse set of articles on apps that connect to KEGG, Reactome and WikiPathways, perform identifier mapping, interface with R, GenomeSpace and GeneMANIA, perform network alignment and topological analysis, add pie charts to nodes, and export networks to the Web. This diversity is presented in one of two article formats specifically designed for Cytoscape apps: 1). Software Tool for apps primarily developed to integrate a new method or public resource into Cytoscape, and 2). Research Note for apps that can be described as supporting a driving biological project. The Cytoscape app collection is intended to be an ideal publishing option for app authors. I suspect we will see this collection grow extensively as new and updated apps continue to be developed.

F1000Research: There are now just over 200 apps in the Cytoscape App Store, how can one become involved in the Cytoscape community and develop a Cytoscape app?

Alex: If you are interested in developing a Cytoscape app, a good place to start is the App Developer page on the Cytoscape wiki, which includes documentation on the redesigned architecture and API of Cytoscape 3, links to app developer tutorials and a code snippet “cookbook”. Searching the Cytoscape App Store for related apps can also be useful. The cytoscape-helpdesk Google Group is an active resource for any and all Cytoscape questions, including app development questions. We also organize mentoring for new app developers annually through the Google Summer of Code program and year-round through NRNB Academy. So please, feel free to get involved!

previous post

A focus on NYC

next post

The Shaw Prize 2014