Closed LisaSikkema closed 4 years ago
If you have used original cellxgene before, maybe the cache of your browser needs to be cleared. And then refresh the page to see if the VIP window minimized at the top left corner.
This is the command line I used and log info,
Then you should see "Visualization In Plugin" bar near cellxgene icon,
If you open Chrome Developer Tools, you should see these messages in Console, (Please pull the latest code, run ./update.VIPInterface.sh and restart cellxgene)
Hi! Thanks for the quick reply. Clearing the cache didn't help; also I know that something worked, because the name of the cellxgene tab in my browser is "cellxgene VIP".
The output of the cellxgene launch command is:
There's a new version of cellxgene available (0.16.4)!
To upgrade, run the following: pip install --upgrade cellxgene
[cellxgene] Starting the CLI...
[cellxgene] Loading data from atlas_OUTPUT.h5ad, this may take a while...
[cellxgene] CAUTION: due to the size of your dataset, running differential expression may take longer or fail.
[cellxgene] Launching! Please go to http://127.0.0.1:5005 in your browser.
[cellxgene] Type CTRL-C at any time to exit.
Chrome Developer Tools showed me a bunch of errors, maybe they explain it?
Could you please pull the latest code and run
./update.VIPInterface.sh once
After the run, you should see something like this,
ls -l /opt/anaconda3/lib/python3.7/site-packages/server/common/web/static/.
total 584
drwxr-xr-x 2 bzhang1 compbio 207 Jul 22 09:55 ace
drwxrwxr-x 2 bzhang1 compbio 4096 Apr 29 23:09 assets
-rwxr-xr-x 1 bzhang1 compbio 31196 Sep 3 10:51 color_brewer_diverging.png
-rwxr-xr-x 1 bzhang1 compbio 80225 Sep 3 10:51 color_brewer_sequential.png
-rw-rw-r-- 1 bzhang1 compbio 14216 Sep 3 10:51 color_map.png
drwxrwxr-x 5 bzhang1 compbio 4096 Apr 23 22:14 DataTables
-rwxrwxr-x 1 bzhang1 compbio 138407 Sep 3 10:51 interface.html
-rwxrwxr-x 1 bzhang1 compbio 88144 Sep 3 10:51 jquery.min.js
-rw-r--r-- 1 bzhang1 compbio 228077 Sep 3 10:51 jquery-ui.min.js
drwxrwxr-x 3 bzhang1 compbio 137 Apr 23 21:47 jspanel
drwxr-xr-x 2 bzhang1 compbio 102 Jul 26 17:16 stackedbar
then load a link similar to this to check availability in Chrome browser,
okay I removed cellxgene, cloned the repo, reinstalled, then ran the update.VIPInterface.sh command, and got an output similar to what you showed, but I still don't see the button.
Any other options?
I'm accessing cellxgene, that I run on a VM, by using a reverse proxy (nginx) in case that is of any relevance.
Please show us error messages in the Console of Chrome Developer Tools and on screen log on server side. I suspect that it is related to file permission.
Hi! Thanks for the instructions. I followed them, the icon perfectly shows, nothing is printed in the Chrome Developer Tools console. On server side, indeed this is printed:
[cellxgene] Type CTRL-C at any time to exit.
* Serving Flask app "server.app.app" (lazy loading)
* Environment: production
WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead.
* Debug mode: off
* Running on http://127.0.0.1:5005/ (Press CTRL+C to quit)
127.0.0.1 - - [07/Sep/2020 11:43:14] "GET //static/assets/favicon-48x48.png HTTP/1.0" 200 -
Here are outputs of these two commands from my environment,
(test2) [bzhang1@omicsoft01 cellxgene_VIP]$ which cellxgene
/opt/anaconda3/envs/test2/bin/cellxgene
(test2) [bzhang1@omicsoft01 cellxgene_VIP]$ grep jsPanel $(python -c "import server as _; print(_.__file__.replace('/__init__.py',''))")/common/web/templates/index.html
*/.bp3-omnibar{-webkit-filter:blur(0);filter:blur(0);opacity:1;top:20vh;left:calc(50% - 250px);z-index:21;border-radius:3px;-webkit-box-shadow:0 0 0 1px rgba(16,22,26,.1),0 4px 8px rgba(16,22,26,.2),0 18px 46px 6px rgba(16,22,26,.2);box-shadow:0 0 0 1px rgba(16,22,26,.1),0 4px 8px rgba(16,22,26,.2),0 18px 46px 6px rgba(16,22,26,.2);background-color:#fff;width:500px}.bp3-omnibar.bp3-overlay-appear,.bp3-omnibar.bp3-overlay-enter{-webkit-filter:blur(20px);filter:blur(20px);opacity:.2}.bp3-omnibar.bp3-overlay-appear-active,.bp3-omnibar.bp3-overlay-enter-active{-webkit-filter:blur(0);filter:blur(0);opacity:1;-webkit-transition-property:opacity,-webkit-filter;transition-property:opacity,-webkit-filter;transition-property:filter,opacity;transition-property:filter,opacity,-webkit-filter;-webkit-transition-duration:.2s;transition-duration:.2s;-webkit-transition-timing-function:cubic-bezier(.4,1,.75,.9);transition-timing-function:cubic-bezier(.4,1,.75,.9);-webkit-transition-delay:0;transition-delay:0}.bp3-omnibar.bp3-overlay-exit{-webkit-filter:blur(0);filter:blur(0);opacity:1}.bp3-omnibar.bp3-overlay-exit-active{-webkit-filter:blur(20px);filter:blur(20px);opacity:.2;-webkit-transition-property:opacity,-webkit-filter;transition-property:opacity,-webkit-filter;transition-property:filter,opacity;transition-property:filter,opacity,-webkit-filter;-webkit-transition-duration:.2s;transition-duration:.2s;-webkit-transition-timing-function:cubic-bezier(.4,1,.75,.9);transition-timing-function:cubic-bezier(.4,1,.75,.9);-webkit-transition-delay:0;transition-delay:0}.bp3-omnibar .bp3-input{border-radius:0;background-color:transparent}.bp3-omnibar .bp3-input,.bp3-omnibar .bp3-input:focus{-webkit-box-shadow:none;box-shadow:none}.bp3-omnibar .bp3-menu{border-radius:0;-webkit-box-shadow:inset 0 1px 0 rgba(16,22,26,.15);box-shadow:inset 0 1px 0 rgba(16,22,26,.15);background-color:transparent;max-height:calc(60vh - 40px);overflow:auto}.bp3-omnibar .bp3-menu:empty{display:none}.bp3-dark .bp3-omnibar,.bp3-omnibar.bp3-dark{-webkit-box-shadow:0 0 0 1px rgba(16,22,26,.2),0 4px 8px rgba(16,22,26,.4),0 18px 46px 6px rgba(16,22,26,.4);box-shadow:0 0 0 1px rgba(16,22,26,.2),0 4px 8px rgba(16,22,26,.4),0 18px 46px 6px rgba(16,22,26,.4);background-color:#30404d}.bp3-omnibar-overlay .bp3-overlay-backdrop{background-color:rgba(16,22,26,.2)}.bp3-select-popover .bp3-popover-content{padding:5px}.bp3-select-popover .bp3-input-group{margin-bottom:0}.bp3-select-popover .bp3-menu{max-width:400px;max-height:300px;overflow:auto;padding:0}.bp3-select-popover .bp3-menu:not(:first-child){padding-top:5px}.bp3-multi-select{min-width:150px}.bp3-multi-select-popover .bp3-menu{max-width:400px;max-height:300px;overflow:auto}.bp3-select-popover .bp3-popover-content{padding:5px}.bp3-select-popover .bp3-input-group{margin-bottom:0}.bp3-select-popover .bp3-menu{max-width:400px;max-height:300px;overflow:auto;padding:0}.bp3-select-popover .bp3-menu:not(:first-child){padding-top:5px}@font-face{font-family:'Roboto Condensed';font-style:italic;src:url(/static/assets/RobotoCondensed-Italic-aca8cfe6a0fd2abecaa6e21a19f66eba.ttf) format('truetype');font-weight:400}@font-face{font-family:'Roboto Condensed';font-style:normal;src:url(/static/assets/RobotoCondensed-Regular-db6d916952fb988edac1e531d47ff83a.ttf) format('truetype');font-weight:400}@font-face{font-family:'Roboto Condensed';font-style:normal;src:url(/static/assets/RobotoCondensed-Bold-89a396525c0de98da36505cb04eb9373.ttf) format('truetype');font-weight:700}.container__container___g6J_y{min-height:100%}.categorical__hover___EpB01,.categorical__value___2RKaC:hover{background:rgba(167,182,194,.3)}.scatterplot__scatterplot___t8EZL{display:block}.scatterplot__scatterplot___t8EZL canvas,.scatterplot__scatterplot___t8EZL svg{font:10px sans-serif;position:absolute}.scatterplot__scatterplot___t8EZL canvas{opacity:.9;pointer-events:none}.graph__graphCanvas___3bK5U path{shape-rendering:crispEdges}#graph__graphWrapper___2uUZt{position:relative}#graph__graphAttachPoint___2BNGY,.graph__graphCanvas___3bK5U,.graph__graphSVG___3hOWu{position:absolute}#graph__graphSVG___3hOWu{pointer-events:none}.graph__axis___QcLSb line,.graph__axis___QcLSb path{fill:none;stroke:#000;stroke-width:1px}circle{stroke-width:4px;stroke:#000;fill:none}.graph__hidden___3W5vy{display:none}</style></head><body><script type="text/javascript">window.CELLXGENE={},window.CELLXGENE.API={prefix:window.location.href+"api/",version:"v0.2/"}</script><noscript>If you're seeing this message, that means <strong>JavaScript has been disabled on your browser</strong>, please <strong>enable JS</strong> to make this app work.</noscript><script src="static/jquery.min.js"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.6/d3.min.js" charset="UTF-8"></script><link href="static/jspanel/dist/jspanel.css" rel="stylesheet"><script src="static/jspanel/dist/jspanel.js"></script><script src="static/jspanel/dist/extensions/modal/jspanel.modal.js"></script><script src="static/jspanel/dist/extensions/tooltip/jspanel.tooltip.js"></script><script src="static/jspanel/dist/extensions/hint/jspanel.hint.js"></script><script src="static/jspanel/dist/extensions/layout/jspanel.layout.js"></script><script src="static/jspanel/dist/extensions/contextmenu/jspanel.contextmenu.js"></script><script src="static/jspanel/dist/extensions/dock/jspanel.dock.js"></script><script>var setInnerHTML=function(e,t){e.innerHTML=t,Array.from(e.querySelectorAll("script")).forEach(e=>{const t=document.createElement("script");Array.from(e.attributes).forEach(e=>t.setAttribute(e.name,e.value)),t.appendChild(document.createTextNode(e.innerHTML)),e.parentNode.replaceChild(t,e)})},plotPanel=jsPanel.create({panelSize:"190 0",position:"left-top 160 6",dragit:{containment:[-10,-2e3,-4e3,-2e3]},boxShadow:1,border:"solid #D4DBDE thin",contentOverflow:"scroll scroll",headerControls:{close:"remove",minimize:"remove",maximize:"remove"},headerTitle:function(){return"<strong>Visualization in Plugin</strong>"},contentAjax:{url:"static/interface.html",done:function(e){setInnerHTML(e.content,this.responseText)}},onwindowresize:function(e,t){var n=parseInt(this.currentData.top),i=parseInt(this.currentData.left);(n<-10||window.innerHeight-n<10||window.innerWidth-i<10||i+parseInt(this.currentData.width)<10)&&this.reposition("left-top 160 6")},onunsmallified:function(e,t){this.reposition("center-top -370 180"),this.resize({width:740,height:function(){return Math.min(480,.6*window.innerHeight)}})},onsmallified:function(e,t){this.reposition("left-top 160 6"),this.style.width="190px"}}).smallify();plotPanel.headerbar.style.background="#D4DBDE"</script><div id="root"></div>{% for script in SCRIPTS %}<script type="text/javascript" src="{{script | safe}}"></script>{% endfor %}<script type="text/javascript">!function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/",n(n.s=110)}([function(e,t,n){"use strict";e.exports=n(111)},function(e,t,n){"use strict";var r=n(11);n.d(t,"a",(function(){return r}));var i=n(28);n.d(t,"b",(function(){return i}));var o=n(6);n.d(t,"c",(function(){return o}))},function(e,t,n){"use strict";n.d(t,"c",(function(){return i})),n.d(t,"a",(function(){return o})),n.d(t,"d",(function(){return a})),n.d(t,"b",(function(){return c})),n.d(t,"e",(function(){return s}));
Please remember to run "config.sh" that create and copy files needed by cellxgene_VIP.
Hi! Why was this issue closed?
my output for the two commands you posted are:
(cellxgene) [lisas@icbscrna ~]$ which cellxgene
~/miniconda3/envs/cellxgene/bin/cellxgene
(cellxgene) [lisas@icbscrna ~]$ grep jsPanel $(python -c "import server as _; print(_.__file__.replace('/__init__.py',''))")/common/web/templates/index.html
*/.bp3-omnibar{-webkit-filter:blur(0);filter:blur(0);opacity:1;top:20vh;left:calc(50% - 250px);z-index:21;border-radius:3px;-webkit-box-shadow:0 0 0 1px rgba(16,22,26,.1),0 4px 8px rgba(16,22,26,.2),0 18px 46px 6px rgba(16,22,26,.2);box-shadow:0 0 0 1px rgba(16,22,26,.1),0 4px 8px rgba(16,22,26,.2),0 18px 46px 6px rgba(16,22,26,.2);background-color:#fff;width:500px}.bp3-omnibar.bp3-overlay-appear,.bp3-omnibar.bp3-overlay-enter{-webkit-filter:blur(20px);filter:blur(20px);opacity:.2}.bp3-omnibar.bp3-overlay-appear-active,.bp3-omnibar.bp3-overlay-enter-active{-webkit-filter:blur(0);filter:blur(0);opacity:1;-webkit-transition-property:opacity,-webkit-filter;transition-property:opacity,-webkit-filter;transition-property:filter,opacity;transition-property:filter,opacity,-webkit-filter;-webkit-transition-duration:.2s;transition-duration:.2s;-webkit-transition-timing-function:cubic-bezier(.4,1,.75,.9);transition-timing-function:cubic-bezier(.4,1,.75,.9);-webkit-transition-delay:0;transition-delay:0}.bp3-omnibar.bp3-overlay-exit{-webkit-filter:blur(0);filter:blur(0);opacity:1}.bp3-omnibar.bp3-overlay-exit-active{-webkit-filter:blur(20px);filter:blur(20px);opacity:.2;-webkit-transition-property:opacity,-webkit-filter;transition-property:opacity,-webkit-filter;transition-property:filter,opacity;transition-property:filter,opacity,-webkit-filter;-webkit-transition-duration:.2s;transition-duration:.2s;-webkit-transition-timing-function:cubic-bezier(.4,1,.75,.9);transition-timing-function:cubic-bezier(.4,1,.75,.9);-webkit-transition-delay:0;transition-delay:0}.bp3-omnibar .bp3-input{border-radius:0;background-color:transparent}.bp3-omnibar .bp3-input,.bp3-omnibar .bp3-input:focus{-webkit-box-shadow:none;box-shadow:none}.bp3-omnibar .bp3-menu{border-radius:0;-webkit-box-shadow:inset 0 1px 0 rgba(16,22,26,.15);box-shadow:inset 0 1px 0 rgba(16,22,26,.15);background-color:transparent;max-height:calc(60vh - 40px);overflow:auto}.bp3-omnibar .bp3-menu:empty{display:none}.bp3-dark .bp3-omnibar,.bp3-omnibar.bp3-dark{-webkit-box-shadow:0 0 0 1px rgba(16,22,26,.2),0 4px 8px rgba(16,22,26,.4),0 18px 46px 6px rgba(16,22,26,.4);box-shadow:0 0 0 1px rgba(16,22,26,.2),0 4px 8px rgba(16,22,26,.4),0 18px 46px 6px rgba(16,22,26,.4);background-color:#30404d}.bp3-omnibar-overlay .bp3-overlay-backdrop{background-color:rgba(16,22,26,.2)}.bp3-select-popover .bp3-popover-content{padding:5px}.bp3-select-popover .bp3-input-group{margin-bottom:0}.bp3-select-popover .bp3-menu{max-width:400px;max-height:300px;overflow:auto;padding:0}.bp3-select-popover .bp3-menu:not(:first-child){padding-top:5px}.bp3-multi-select{min-width:150px}.bp3-multi-select-popover .bp3-menu{max-width:400px;max-height:300px;overflow:auto}.bp3-select-popover .bp3-popover-content{padding:5px}.bp3-select-popover .bp3-input-group{margin-bottom:0}.bp3-select-popover .bp3-menu{max-width:400px;max-height:300px;overflow:auto;padding:0}.bp3-select-popover .bp3-menu:not(:first-child){padding-top:5px}@font-face{font-family:'Roboto Condensed';font-style:italic;src:url(/static/assets/RobotoCondensed-Italic-aca8cfe6a0fd2abecaa6e21a19f66eba.ttf) format('truetype');font-weight:400}@font-face{font-family:'Roboto Condensed';font-style:normal;src:url(/static/assets/RobotoCondensed-Regular-db6d916952fb988edac1e531d47ff83a.ttf) format('truetype');font-weight:400}@font-face{font-family:'Roboto Condensed';font-style:normal;src:url(/static/assets/RobotoCondensed-Bold-89a396525c0de98da36505cb04eb9373.ttf) format('truetype');font-weight:700}.container__container___g6J_y{min-height:100%}.categorical__hover___EpB01,.categorical__value___2RKaC:hover{background:rgba(167,182,194,.3)}.scatterplot__scatterplot___t8EZL{display:block}.scatterplot__scatterplot___t8EZL canvas,.scatterplot__scatterplot___t8EZL svg{font:10px sans-serif;position:absolute}.scatterplot__scatterplot___t8EZL canvas{opacity:.9;pointer-events:none}.graph__graphCanvas___3bK5U path{shape-rendering:crispEdges}#graph__graphWrapper___2uUZt{position:relative}#graph__graphAttachPoint___2BNGY,.graph__graphCanvas___3bK5U,.graph__graphSVG___3hOWu{position:absolute}#graph__graphSVG___3hOWu{pointer-events:none}.graph__axis___QcLSb line,.graph__axis___QcLSb path{fill:none;stroke:#000;stroke-width:1px}circle{stroke-width:4px;stroke:#000;fill:none}.graph__hidden___3W5vy{display:none}</style></head><body><script type="text/javascript">window.CELLXGENE={},window.CELLXGENE.API={prefix:window.location.href+"api/",version:"v0.2/"}</script><noscript>If you're seeing this message, that means <strong>JavaScript has been disabled on your browser</strong>, please <strong>enable JS</strong> to make this app work.</noscript><script src="static/jquery.min.js"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.6/d3.min.js" charset="UTF-8"></script><link href="static/jspanel/dist/jspanel.css" rel="stylesheet"><script src="static/jspanel/dist/jspanel.js"></script><script src="static/jspanel/dist/extensions/modal/jspanel.modal.js"></script><script src="static/jspanel/dist/extensions/tooltip/jspanel.tooltip.js"></script><script src="static/jspanel/dist/extensions/hint/jspanel.hint.js"></script><script src="static/jspanel/dist/extensions/layout/jspanel.layout.js"></script><script src="static/jspanel/dist/extensions/contextmenu/jspanel.contextmenu.js"></script><script src="static/jspanel/dist/extensions/dock/jspanel.dock.js"></script><script>var setInnerHTML=function(e,t){e.innerHTML=t,Array.from(e.querySelectorAll("script")).forEach(e=>{const t=document.createElement("script");Array.from(e.attributes).forEach(e=>t.setAttribute(e.name,e.value)),t.appendChild(document.createTextNode(e.innerHTML)),e.parentNode.replaceChild(t,e)})},plotPanel=jsPanel.create({panelSize:"190 0",position:"left-top 160 6",dragit:{containment:[-10,-2e3,-4e3,-2e3]},boxShadow:1,border:"solid #D4DBDE thin",contentOverflow:"scroll scroll",headerControls:{close:"remove",minimize:"remove",maximize:"remove"},headerTitle:function(){return"<strong>Visualization in Plugin</strong>"},contentAjax:{url:"static/interface.html",done:function(e){setInnerHTML(e.content,this.responseText)}},onwindowresize:function(e,t){var n=parseInt(this.currentData.top),i=parseInt(this.currentData.left);(n<-10||window.innerHeight-n<10||window.innerWidth-i<10||i+parseInt(this.currentData.width)<10)&&this.reposition("left-top 160 6")},onunsmallified:function(e,t){this.reposition("center-top -370 180"),this.resize({width:740,height:function(){return Math.min(480,.6*window.innerHeight)}})},onsmallified:function(e,t){this.reposition("left-top 160 6"),this.style.width="190px"}}).smallify();plotPanel.headerbar.style.background="#D4DBDE"</script><div id="root"></div>{% for script in SCRIPTS %}<script type="text/javascript" src="{{script | safe}}"></script>{% endfor %}<script type="text/javascript">!function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/",n(n.s=110)}([function(e,t,n){"use strict";e.exports=n(111)},function(e,t,n){"use strict";var r=n(11);n.d(t,"a",(function(){return r}));var i=n(28);n.d(t,"b",(function(){return i}));var o=n(6);n.d(t,"c",(function(){return o}))},function(e,t,n){"use strict";n.d(t,"c",(function(){return i})),n.d(t,"a",(function(){return o})),n.d(t,"d",(function(){return a})),n.d(t,"b",(function(){return c})),n.d(t,"e",(function(){return s}));
Yes I ran the config.sh file before already. Ran it again just now, it says it "successfully installed cellxgene-0.15.0". Somewhere in the middle, this is printed:
Requirement already satisfied: pytz>=2017.2 in /home/lisas/miniconda3/envs/cellxgene/lib/python3.7/site-packages (from pandas>=1.0->anndata==0.7.4) (2020.1)
fatal: destination path 'scanpy' already exists and is not an empty directory.
HEAD is now at 2ea9f83... fix missing yticklabels (#1342)
Processing ./scanpy
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing wheel metadata ... done
Not sure if that is a problem?
Sorry, wrong button was clicked.
scanpy has nothing to do with the display of VIP button.
What is the output of this command?
$(python -c "import server as _; print(_.__file__.replace('/__init__.py',''))")
Also, when you click on "Elements" tab in Developer Tools, do you see these lines with "jspanel" in it?
Please schedule a meeting with baohong.zhang@biogen.com and oyoung@bioinforx.com if you still have issues.
I changed the way how js/css files are served. Please run these,
git pull
./update.index_template.sh
./update.VIPInterface.sh
After these, relaunch cellxgene and you should see this under "Elements" tab,
Okay yes there is some progress now! I pulled and ran the update .sh scripts, and now I do see a VIP button. Indeed, the line starting with "<div class=" appeared in the elements tab.
However, when I click on the button, an empty Visualization in Plugin window appears:
Any idea where that comes from?
Yes if it is easier to schedule a meeting, happy to do that!
Seems that your instance has issue to access files under, $(python -c "import server as ; print(.file.replace('/init.py',''))")/common/web/static. interface.html is not loaded in your case.
(base) [bzhang1@omicsoft01 cellxgene_VIP]$ ls -l $(python -c "import server as _; print(_.__file__.replace('/__init__.py',''))")/common/web/static
total 588
drwxr-xr-x 2 bzhang1 compbio 207 Jul 22 09:55 ace
drwxrwxr-x 2 bzhang1 compbio 4096 Apr 29 23:09 assets
-rwxr-xr-x 1 bzhang1 compbio 31196 Sep 3 10:51 color_brewer_diverging.png
-rwxr-xr-x 1 bzhang1 compbio 80225 Sep 3 10:51 color_brewer_sequential.png
-rw-rw-r-- 1 bzhang1 compbio 14216 Sep 3 10:51 color_map.png
drwxrwxr-x 5 bzhang1 compbio 4096 Apr 23 22:14 DataTables
-rwxrwxr-x 1 bzhang1 compbio 139893 Sep 9 23:39 interface.html
-rwxrwxr-x 1 bzhang1 compbio 88144 Sep 3 10:51 jquery.min.js
-rw-r--r-- 1 bzhang1 compbio 228077 Sep 3 10:51 jquery-ui.min.js
drwxrwxr-x 3 bzhang1 compbio 137 Apr 23 21:47 jspanel
drwxr-xr-x 2 bzhang1 compbio 102 Jul 26 17:16 stackedbar
Do you use link like this http://yourhost:yourport to access your instance?
Can you get similar thing like this by accessing http://yourhost:yourport/static/interface.html, please ignore messages of "jQuery (or d3) is not defined" as these are loaded somewhere else?
Also, please check your version of cellxgene,
(base) [bzhang1@omicsoft01 cellxgene_VIP]$ pip show cellxgene
Name: cellxgene
Version: 0.15.0
Summary: Web application for exploration of large scale scRNA-seq datasets
Home-page: https://github.com/chanzuckerberg/cellxgene
Author: Chan Zuckerberg Initiative
Author-email: cellxgene@chanzuckerberg.com
License: MIT
Location: /opt/anaconda3/lib/python3.7/site-packages
Requires: flask-server-timing, packaging, requests, fsspec, flatbuffers, pandas, s3fs, Flask-RESTful, Flask, scipy, Flask-Compress, boto3, tiledb, click, numpy, fastobo, Flask-Cors, anndata, flatten-dict, PyYAML, flask-talisman
Required-by: cellxgene-gateway
Hi!
Thanks again for your help. Your first command, ls -l ....., gives me the same output except that I don't see the "js" file/directory.
I don't use the link you said, but a different address that I set with nginx (I'm hosting the server from ssh and set up a reverse proxy with nginx, so that I can access the cellxgene instance from any computer). When I load my cellxgene link with static/interface.html appended, I get exactly the same console output as you printed above (aside from the different http address).
Cellxgene version is 0.15.0, like yours.
This is in the Console when I load the cellxgene instance:
Did you get this by accessing http://yourhost:yourport/static/assets/RobotoCondensed-Bold-89a396525c0de98da36505cb04eb9373.ttf ?
Yes more or less, a file with the name RobotoCondensed-Bold-89a396525c0de98da36505cb04eb9373 is automatically downloaded.
Please provide your email address and availability for a call.
okay sent you an email!
Fixed the issue caused by NGNIX proxy.
Hi all,
Thanks for developing this plugin, it looks great in the demo and I'm excited to start using it. I installed VIP as instructed in the readme (no errors occurred, just a bunch of warnings), but when I launch cellxgene I don't see the VIP button in my browser. How should I start troubleshooting? I have no idea what the problem is.
Thanks!
Lisa