libSBML を使って、こんな感じ↓に作ったレイアウト情報を削除したいと思った。
SBMLReader reader = new SBMLReader(); SBMLDocument document = reader.readSBMLFromString(sbml); Model model = document.getModel(); Layout layout = model.createLayout();
で、
layout.delete();
とか書いてみたのだが、全然消えない… (ただの finalizer だからだ…) 結論としては、
ListOf listOfLayouts = model.getListOfLayouts(); long numLayouts = listOfLayouts.getNumItems(); for ( long i = numLayouts-1; i >= 0; i-- ) listOfLayouts.remove(i);
みたいにすればよいのですな。ふつうに libSBML を使って、species とか reaction とかを消す場合もこんな感じにやればいいみたいです。ていうか、サンプルのコードには、SBML のいろんな element を追加していって作る奴はあるんですが、消す奴はない (と思う) んですな…
そゆわけで、成田-フランクフルト線でひとつめのバッテリを消化して、無事に作業が終了したのでした。うひょー。