Skip to content

Commit c38933e

Browse files
authored
Merge pull request #746 from iVis-at-Bilkent/unstable
Merge unstable to master
2 parents 98af7d0 + d5876a1 commit c38933e

File tree

142 files changed

+36228
-9407
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

142 files changed

+36228
-9407
lines changed

.github/workflows/main.yml

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
name: Chrome headless
2+
3+
on: push
4+
5+
jobs:
6+
chrome-headless:
7+
runs-on: ubuntu-latest
8+
# https://github.com/cypress-io/cypress-docker-images
9+
container: cypress/browsers:node12.18.3-chrome87-ff82
10+
environment: test0
11+
steps:
12+
- name: Checkout
13+
uses: actions/checkout@v1
14+
- name: Headless Chrome
15+
uses: cypress-io/github-action@v2
16+
timeout-minutes: 10
17+
with:
18+
build: npm run release-build
19+
start: node server.js
20+
browser: chrome
21+
headless: true
22+
record: true
23+
env:
24+
# pass the Dashboard record key as an environment variable
25+
CYPRESS_RECORD_KEY: ${{ secrets.dashboardRecordKey }}

.gitignore

+3-1
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,6 @@
22

33
node_modules/
44

5-
app/bundle.js
5+
package-lock.json
6+
7+
app/bundle.js

README.md

+13-9
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,21 @@
11
# Newt: A Sample Application for ChiSE
22

3-
Newt is a sample application for the web based library named [ChiSE](https://github.com/iVis-at-Bilkent/chise.js) developed to visualize and edit the pathway models represented by process description (PD) and activity flow (AF) languages of [SBGN](http://sbgn.org) or in [simple interaction format (SIF)](https://www.pathwaycommons.org/pc/sif_interaction_rules.do).
4-
5-
## Software
3+
Newt is a sample application for the web based library named [ChiSE](https://github.com/iVis-at-Bilkent/chise.js) developed to visualize and edit the pathway models represented by process description (PD) and activity flow (AF) languages of [SBGN](http://sbgn.org), [SBML](https://sbml.org/) or [simple interaction format (SIF)](https://www.pathwaycommons.org/pc/sif_interaction_rules.do).
64

75
ChiSE and this sample application are distributed under [GNU Lesser General Public License](http://www.gnu.org/licenses/lgpl.html).
86

9-
**A deployment of this sample application along with detailed documentation on its usage** can be found [here](http://newteditor.org/). ChiSE and Newt work on every platform that have JavaScript support including mobile devices.
7+
### How to Cite Usage
108

119
Please cite the following when you use Newt:
1210

1311
H. Balci, M.C. Siper, N. Saleh, I. Safarli, L. Roy, M. Kilicarslan, R. Ozaydin, A. Mazein, C. Auffray, O. Babur, E. Demir and U. Dogrusoz, [Newt: a comprehensive web-based tool for viewing,constructing, and analyzing biological maps](https://doi.org/10.1093/bioinformatics/btaa850), **Bioinformatics**, 37(10), pp.1475-1477, 2021.
1412

13+
## Software
14+
15+
**A deployment of this sample application along with detailed documentation on its usage** can be found [here](http://newteditor.org/). ChiSE and Newt work on every platform that have JavaScript support including mobile devices.
16+
1517
#### Running a Local Instance
16-
In order to deploy and run a local instance of the tool, please follow the steps below (we recommend the use of LTS version 12.16.1 of node.js):
18+
In order to deploy and run a local instance of the tool, please follow the steps below (we recommend the use of version 14.19.3 of node.js):
1719

1820
- Installation
1921
```
@@ -54,7 +56,7 @@ Third-party libraries:
5456
[jQuery](https://github.com/jquery/jquery),
5557
[jquery-expander](https://github.com/kswedberg/jquery-expander),
5658
[Konva](https://github.com/konvajs/konva),
57-
[Libxmljs](https://github.com/libxmljs/libxmljs),
59+
[libxmljs](https://github.com/libxmljs/libxmljs),
5860
[lodash](https://github.com/lodash/lodash),
5961
[underscore](https://github.com/jashkenas/underscore),
6062
[express](https://github.com/expressjs/express),
@@ -64,18 +66,20 @@ Third-party libraries:
6466
[Tippyjs](https://github.com/atomiks/tippyjs),
6567
[nodemailer](https://nodemailer.com/about/),
6668
[body-parser](https://github.com/expressjs/body-parser),
69+
[jsdom](https://github.com/jsdom/jsdom),
70+
[cypress](https://github.com/cypress-io/cypress),
6771
[multer](https://github.com/expressjs/multer) licensed with [MIT](https://opensource.org/licenses/MIT);
6872
[Mousetrap](https://github.com/ccampbell/mousetrap),
6973
[Request](https://github.com/request/request) licensed with [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0),
7074
[Intro.js](https://github.com/usablica/intro.js) licensed with [GNU AGPL](https://www.gnu.org/licenses/agpl-3.0.en.html), and
7175
[chroma-js](https://github.com/gka/chroma.js) licensed with [this](https://github.com/gka/chroma.js/blob/master/LICENSE).
7276

73-
We refer the user to [GeneCards](https://www.genecards.org/) for detailed properties of genes. Similarly, we pull properties of simple chemicals from [ChEBI](https://www.ebi.ac.uk/chebi/). CellDesigner conversion is performed through [this library](https://github.com/royludo/cd2sbgnml ) and [its associated service](https://github.com/iVis-at-Bilkent/cd2sbgnml-webservice). Finally, SBML conversion is due to [this Minerva service](https://minerva-dev.lcsb.uni.lu/minerva/api/convert/).
77+
We refer the user to [GeneCards](https://www.genecards.org/) for detailed properties of genes. Similarly, we pull properties of simple chemicals from [ChEBI](https://www.ebi.ac.uk/chebi/). CellDesigner conversion is performed through [this library](https://github.com/royludo/cd2sbgnml ) and [its associated service](https://github.com/iVis-at-Bilkent/cd2sbgnml-webservice). Finally, SBML and GPML conversions are due to [this Minerva service](https://minerva-dev.lcsb.uni.lu/minerva/api/convert/).
7478

7579
## Team
7680

77-
* [Hasan Balci](https://github.com/hasanbalci), [Nasim Saleh](https://github.com/nasimsaleh), [Merve Kilicarslan](https://github.com/mervekilicarslan5), [Rumeysa Ozaydin](https://github.com/rumeysaozaydin), and [Ugur Dogrusoz](https://github.com/ugurdogrusoz) of [i-Vis at Bilkent University](http://www.cs.bilkent.edu.tr/~ivis), and [Metin Can Siper](https://github.com/metincansiper), [Ozgun Babur](https://github.com/ozgunbabur), and [Emek Demir](https://github.com/emekdemir) of the Demir Lab at [OHSU](http://www.ohsu.edu/)
81+
* [Hasan Balci](https://github.com/hasanbalci), [Selbi Ereshova](https://github.com/SelbiEreshova), [Umut Utku Ersahince](https://github.com/umut-er), [Noor Muhammad](https://github.com/NoorMuhammad1) and [Ugur Dogrusoz](https://github.com/ugurdogrusoz) of [i-Vis at Bilkent University](http://www.cs.bilkent.edu.tr/~ivis), [Ozgun Babur](https://github.com/ozgunbabur) of University of Massachusetts at Boston, and [Emek Demir](https://github.com/emekdemir) of the Demir Lab at [OHSU](http://www.ohsu.edu/)
7882

7983
#### Alumni
8084

81-
* [Ilkin Safarli](https://github.com/kinimesi), [Ahmet Candiroglu](https://github.com/ahmetcandiroglu), [Kaan Sancak](https://github.com/kaansancak), [Ludovic Roy](https://github.com/royludo), [Leonard Dervishi](https://github.com/leonarddrv), [Istemi Bahceci](https://github.com/istemi-bahceci), [Alper Karacelik](https://github.com/alperkaracelik), [Alexander Mazein](https://github.com/amazein)
85+
* [Metin Can Siper](https://github.com/metincansiper), [Muhammed Salih Altun](https://github.com/msalihaltun), [Nasim Saleh](https://github.com/nasimsaleh), [Merve Kilicarslan](https://github.com/mervekilicarslan5), [Rumeysa Ozaydin](https://github.com/rumeysaozaydin), [Ilkin Safarli](https://github.com/kinimesi), [Ahmet Candiroglu](https://github.com/ahmetcandiroglu), [Kaan Sancak](https://github.com/kaansancak), [Ludovic Roy](https://github.com/royludo), [Leonard Dervishi](https://github.com/leonarddrv), [Istemi Bahceci](https://github.com/istemi-bahceci), [Alper Karacelik](https://github.com/alperkaracelik), [Alexander Mazein](https://github.com/amazein)

app/.DS_Store

6 KB
Binary file not shown.

app/css/chise.css

+155-35
Original file line numberDiff line numberDiff line change
@@ -465,11 +465,8 @@ input::-webkit-outer-spin-button, input::-webkit-inner-spin-button {
465465
}
466466

467467
#template-modal-content {
468-
position: fixed;
469-
width: 600px;
470-
top: 50%;
471-
left: 50%;
472-
margin-left: -300px;
468+
width: 850px;
469+
margin-left: -150px;
473470
}
474471

475472
.sbgn-input-small {
@@ -580,7 +577,7 @@ menu:not([title]):before{
580577

581578
.selected-mode-sustainable, .toggle-mode-sustainable {
582579
background-color: #b9b9b9;
583-
*background-color: #ffffff;
580+
background-color: #ffffff;
584581
background-image: -moz-linear-gradient(top, #ffffff, #b9b9b9);
585582
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#b9b9b9));
586583
background-image: -webkit-linear-gradient(top, #ffffff, #b9b9b9);
@@ -640,6 +637,22 @@ menu:not([title]):before{
640637
padding-right: 0px !important;
641638
}
642639

640+
.palette-panel-body {
641+
margin-top: 10px;
642+
}
643+
644+
.palette-label {
645+
font-size: 12px;
646+
background:white;
647+
margin-bottom:0px;
648+
width: fit-content;
649+
text-align:left;
650+
color: #555;
651+
margin-top: -17px;
652+
padding-right: 6px;
653+
padding-left: 6px;
654+
}
655+
643656
.panel {
644657
border: 1px solid transparent;
645658
}
@@ -705,11 +718,6 @@ hr.inspector-divider {
705718
padding: 3px;
706719
}
707720

708-
.element-palette div {
709-
/*width: 36px;*/
710-
/*height: 30px;*/
711-
}
712-
713721
.selected-mode.inactive-palette-element {
714722
border-style: dotted;
715723
border-width: 1px;
@@ -719,34 +727,79 @@ hr.inspector-divider {
719727
margin: 1px;
720728
}
721729

730+
.caption-style-text {
731+
padding-top: 8px;
732+
padding-bottom: 8px;
733+
color: #777;
734+
text-align: left;
735+
}
736+
722737
.chise-tab a {
723738
color: #555;
724739
padding-left: 5px !important;
725740
padding-right: 5px !important;
726741
border-radius: 8px 8px 0 0 !important;
742+
border: 1px solid #aaaaaa;
743+
box-shadow: 1px -1px 2px #999999;
744+
}
745+
746+
.chise-tab.active a {
747+
background: #eaeaea !important;
748+
border: 1px solid #434343;
749+
box-shadow: 1px -1px 2px 0 #303030 !important;
750+
}
751+
752+
.chise-tab:hover a {
753+
background: #eaeaea !important;
754+
}
755+
756+
.chise-network-tab {
757+
margin-right: 2px;
758+
border-radius: 0 0 8px 2px !important;
759+
background: transparent !important;
760+
border-top: 0px !important;
761+
border: 1px solid #b9b9b9;
762+
border-left-width: 0px !important;
763+
box-shadow: 1px 1px 1px #b9b9b9;
727764
}
728765

729766
.chise-network-tab a {
730-
border-radius: 0 0 8px 8px !important;
767+
color: #555;
768+
padding-top: 10px !important;
769+
padding-bottom: 12px !important;
770+
padding-left: 5px !important;
771+
padding-right: 5px !important;
772+
border-bottom-right-radius: 8px !important;
773+
border-bottom-left-radius: 2px !important;
731774
font-size: 11px;
732775
width: 86px;
733776
white-space: nowrap;
734777
overflow: hidden;
735778
text-overflow: ellipsis;
736779
background: transparent !important;
737-
border-top: 0px !important;
780+
border: 0px !important;
738781
}
739782

740-
/*.chise-tab.active {
741-
font-weight: bold;
742-
}*/
743-
744-
.chise-tab.active a {
745-
background: #eaeaea !important;
783+
.chise-network-tab.active {
784+
border: 1px solid #434343;
785+
box-shadow: 1px 1px 2px #434343;
746786
}
747787

748-
.chise-network-tab.active a {
788+
.chise-network-tab.active, .chise-network-tab.active a {
749789
background: white !important;
790+
791+
}
792+
.map-tab-type {
793+
position: absolute;
794+
background-color: #555;
795+
margin-top: -2px;
796+
padding-left: 4px;
797+
padding-right: 4px;
798+
border: 0px solid #555;
799+
border-radius: 5px;
800+
right: 3px;
801+
font-size: 9px;
802+
color: white;
750803
}
751804

752805
.close:hover,
@@ -755,14 +808,10 @@ hr.inspector-divider {
755808
}
756809

757810
.closeTab {
758-
margin-top: -10px !important;
811+
margin-top: -10px;
759812
}
760813

761-
.chise-tab:hover a {
762-
background: #eaeaea !important;
763-
}
764-
765-
.chise-network-tab:hover a {
814+
.chise-network-tab:hover, .chise-network-tab:hover a{
766815
background: white !important;
767816
}
768817

@@ -772,7 +821,6 @@ hr.inspector-divider {
772821
border-width: 1px !important;
773822
border-radius: calc !important;
774823
font-size: 12px;
775-
align: center;
776824
}
777825

778826
#sbgn-toolbar img {
@@ -783,7 +831,11 @@ hr.inspector-divider {
783831
height: 26px;
784832
}
785833

786-
img#template-reaction-add-button:hover {
834+
img#metabolic-reaction-add-input:hover {
835+
cursor: pointer;
836+
}
837+
838+
img#metabolic-reaction-add-output:hover {
787839
cursor: pointer;
788840
}
789841

@@ -823,12 +875,7 @@ img#template-reversible-output-add-button:hover {
823875
{
824876
display: table;
825877
margin: auto;
826-
width: 300px;
827-
}
828-
829-
.paletteCont
830-
{
831-
878+
width: 350px;
832879
}
833880

834881
.paletteCol {
@@ -887,6 +934,13 @@ img#template-reversible-output-add-button:hover {
887934
Palettes on right pane
888935
*/
889936

937+
@media (max-width: 1770px) {
938+
.paletteWrapper
939+
{
940+
width: 300px;
941+
}
942+
}
943+
890944
@media (max-width: 1530px) {
891945
.paletteWrapper
892946
{
@@ -931,4 +985,70 @@ img#template-reversible-output-add-button:hover {
931985

932986
.table-hover tbody tr:hover td, .table-hover tbody tr:hover th {
933987
background-color: #b5b5b5;
934-
}
988+
}
989+
990+
.icon-small {
991+
width: 16px;
992+
height: 16px;
993+
}
994+
995+
.dropdown-sbgn-bricks-molecule-type {
996+
width: 120px;
997+
}
998+
999+
.image-button-disabled-appearance {
1000+
cursor: default;
1001+
opacity: 0.2;
1002+
}
1003+
1004+
.image-button-enabled-appearance {
1005+
cursor: pointer;
1006+
opacity: 1.0;
1007+
}
1008+
1009+
.thin-blue-border {
1010+
border: 1px solid #0B9BCD;
1011+
border-radius: 4px;
1012+
}
1013+
1014+
.thin-grey-border {
1015+
border: 1px solid rgb(204, 204, 204);
1016+
border-radius: 4px;
1017+
}
1018+
1019+
.checkbox-label-disabled {
1020+
color: rgb(204, 204, 204);
1021+
font: inherit;
1022+
}
1023+
1024+
.checkbox-label-enabled {
1025+
color: #000000;
1026+
font: inherit;
1027+
}
1028+
1029+
.text-input-disabled {
1030+
color: rgb(204, 204, 204);
1031+
}
1032+
1033+
.text-input-enabled {
1034+
color: black;
1035+
}
1036+
1037+
.cy-preview-area {
1038+
width: 250px;
1039+
height: 200px;
1040+
}
1041+
1042+
.conversion-type-dropdown {
1043+
width: fit-content;
1044+
margin-right: 20px;
1045+
}
1046+
1047+
.conversion-residue-input-label {
1048+
font: inherit;
1049+
margin-right: 5px;
1050+
}
1051+
1052+
.small-right-margin {
1053+
margin-right: 10px;
1054+
}

0 commit comments

Comments
 (0)