KBase App Replacement

KBase recently introduced a Software Development Kit (SDK) that simplifies the process of integrating analysis tools as KBase apps and also unifies the release and update process, making it easier for developers to support and upgrade KBase functionality. This will result in the KBase platform evolving more rapidly to better serve the requirements of our users.

We are in the process of converting all of the KBase analysis methods and apps to SDK apps. Many have already been converted; the rest will be converted soon.

What will this mean to me as a KBase user?

If you didn’t have any saved Narratives, then the impact will be minor. The obsolete apps will no longer appear in the Apps panel, so any apps you add to Narratives will be the new ones.

If you have saved Narratives that include methods or apps that are about to be retired, you will no longer be able to rerun those app cells–however, any results generated by having run these apps in the past will still be saved in your Narrative and will be accessible in your data panel. If you want to rerun the analyses in your Narrative, you will have to replace the obsolete app cells with the corresponding new apps from the Apps panel.

I have published Narratives that use legacy apps–what will happen to them?

Don’t panic–we are committed to making sure that published Narratives remain available and that you will be able to see all the original results. The short-term solution is a Legacy Narrative Server that will support these legacy published Narratives in their original forms. For the Narratives in question, anyone who visits the legacy Narrative will be redirected to the preserved version on the Legacy Server.

If you have a published Narrative that you want to preserve, please let us know–send us the Narrative URL(s).

How can I tell whether I have obsolete apps in my Narrative?

If you have an app cell that uses an obsolete app, the cell will look something like this:

Reconstruct Genome-scale Metabolic Model (multi-step app)

Obsolete App!

Sorry, this app is obsolete and can no longer function. But don’t worry! Any data objects that were produced when you ran this app have been saved.

Parameter settings you used:

build_a_metabolic_model

template_model – None

input_genome – Rhodobacter_CACIA_14H1

core_model – 0

output_model – NewTestModel

full_db_model – 0

gapfill_a_metabolic_model

input_model – NewTestModel

comprehensive_gapfill – 0

output_model – NewTestModel

input_media – None

source_model – None

Suggested replacement app(s):

The following replacement apps might help and are available in the Apps menu:

build_a_metabolic_model

Build Metabolic Model

gapfill_a_metabolic_model

Gapfill Metabolic Model

Notice that the information about the obsolete app cell includes the parameter settings that you used, so you can set the parameters the same way if you want to replace the legacy app with its SDK equivalent and rerun it.

What if I’m planning ahead, and want to know whether I have legacy apps in my Narrative that will soon become obsolete?

If you look at the app input cell, there’s a short description of what the app does, with “more…” at the end, e.g.,
Annotate or re-annotate bacterial or archaeal genome using RASTtk. more...(If you don’t see a description line like that, your app input cell is probably collapsed–click the “v” to the left of the app name to expand it.)

If you click “more…”, the app detail page will pop up in a new web browser window. You can tell from the app information at the top whether it’s a legacy app or an SDK app. SDK apps have usage stats in the top box that include the number of times the app has been run and the percent successful completion. If you see that information, then the app you used was an SDK app that will continue to work. If, instead, the app detail page says “Run statistics cannot be displayed for this method,” then you know it’s a legacy app (which used to be called a “method”).

Are there replacements for the legacy apps?

Yes, with very few exceptions. If you have an obsolete app in your Narrative, it will have information about the replacement app(s). For single-step apps, the replacement app generally has the same name as the legacy app.

What about the multi-step legacy apps such as “Reconstruct Genome-scale Metabolic Model”?

The seven multi-step apps (which are currently marked as “deprecated” in the Apps panel) will become obsolete; however, since they consisted of short (two or three step) sequences of single-step methods (as they were previously known), you will be able to achieve the same results by using that sequence of single-step Apps. For example, the “Reconstruct Genome-scale Metabolic Model” app consists of two steps:

Build Metabolic Model

Gapfill Metabolic Model

Both of these steps are available as SDK Apps, so you can recreate the steps that were performed by the obsolete two-step app.

Please see the table of replacement apps below for more details.

Why are you getting rid of the multi-step apps?

We are transitioning all apps to the SDK, which will make them much easier to support and update (not to mention enabling external developers to easily add new apps to KBase). Unfortunately, the SDK does not currently support multi-step apps. However, we plan to offer Narrative “templates” to reproduce the useful short workflows represented by these legacy multi-step apps (for example, Assemble and then Annotate).

When are the legacy apps going to be deprecated?

In the next few months, each remaining single-step legacy app will be replaced by an equivalent SDK App. The transition should be complete by late 2016.

Is this app obsolescence something that’s going to happen regularly?

No, this is a one-time conversion that will make all of our Apps consistent and supportable for the foreseeable future. All new Apps that are introduced in KBase are SDK Apps, so they will not need to be converted in the future.