我使用内置导出器从 Cytoscape 3.1 BETA 3 将蛋白质-蛋白质网络导出到 JSON ( cyjs ) 文件。我尝试使用 Cytoscape.js 库将此cyjs文件导入 Web 应用程序,但失败了。
我昨天在这里阅读了 gcpdev 提出的问题(Exporting and importing JSON data to Cytoscape.js),但这对我没有帮助。
导入的 JavaScript 库:jQuery-1.11、Cytoscape.js、Arbor、Arbor-tween。我的代码是:
<script type="text/javascript">
$('#cy').cytoscape({
layout: {
name: 'arbor',
liveUpdate: true,
},
ready: function(){
window.cy = this;
var jsonfile = "src/inside_sc.cyjs";
$(document).ready(function() {
$.getJSON(jsonfile, function(json) {
cy.add( JSON.parse( json ) );
});
});
}
});
</script>
我总是在 Chrome 控制台上收到这样的错误消息:
Uncaught SyntaxError: Unexpected token o index.html:38
(anonymous function) index.html:38
j jquery-1.11.0.min.js:2
k.fireWith jquery-1.11.0.min.js:2
x jquery-1.11.0.min.js:4
b jquery-1.11.0.min.js:4
其中index.html是我的文件,而 line:38 是:
cy.add( JSON.parse( json ) );
我收到与更改相同的错误消息。如果我添加一些样式和基本节点和边缘,也不起作用,也$.parseJSON()
不起作用。
我试图将此行更改为cy.add( json );
结果与上面提到的问题相同:
An element must be of type `nodes` or `edges`; you specified `undefined`
Uncaught TypeError: Cannot read property 'single' of undefined
当我尝试向控制台显示 JSON 信息时,就像console.log( json );
它正常工作一样。
我的脚本有什么问题?我应该怎么办?