gramene-search 1.2.38 → 1.2.39

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
File without changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gramene-search",
3
- "version": "1.2.38",
3
+ "version": "1.2.39",
4
4
  "description": "search wrapper for gramene",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
@@ -25,7 +25,7 @@
25
25
  "flat-to-nested": "^1.1.1",
26
26
  "formik": "^3.0.0-next.8",
27
27
  "gramene-bins-client": "^2.3.3",
28
- "gramene-dbxrefs": "^3.0.4",
28
+ "gramene-dbxrefs": "^3.0.11",
29
29
  "gramene-genetree-vis": "^4.1.13",
30
30
  "gramene-mdview": "^1.1.8",
31
31
  "gramene-search-vis": "^4.1.10",
@@ -37,16 +37,16 @@
37
37
  "numeral": "^2.0.6",
38
38
  "querystringify": "^2.2.0",
39
39
  "react": "^17.0.2",
40
- "react-bootstrap": "^1.6.3",
41
- "react-debounce-input": "^3.2.3",
40
+ "react-bootstrap": "^2.5.0",
41
+ "react-debounce-input": "^3.2.5",
42
42
  "react-dom": "17.0.2",
43
43
  "react-ga": "^3.3.0",
44
- "react-icons": "^4.1.0",
44
+ "react-icons": "^4.3.1",
45
45
  "react-markdown": "^5.0.3",
46
- "react-router-dom": "^5.2.0",
46
+ "react-router-dom": "^5.3.0",
47
47
  "react-tree-menu": "https://github.com/ajo2995/react-tree-menu",
48
48
  "redux-bundler": "21.0.0",
49
- "redux-bundler-react": "1.0.1",
49
+ "redux-bundler-react": "^1.2.0",
50
50
  "yup": "^0.32.9"
51
51
  },
52
52
  "prettier": {
@@ -57,9 +57,15 @@
57
57
  "@babel/core": "latest",
58
58
  "@babel/preset-env": "latest",
59
59
  "@babel/preset-react": "latest",
60
- "@parcel/transformer-image": "2.0.0",
61
- "@parcel/transformer-less": "2.0.0",
62
- "parcel": "2.0.0"
60
+ "@parcel/config-default": "^2.0.0-rc.0",
61
+ "@parcel/core": "^2.8.0",
62
+ "@parcel/transformer-image": "^2.8.0",
63
+ "@parcel/transformer-js": "^2.8.0",
64
+ "@parcel/transformer-less": "^2.8.0",
65
+ "buffer": "^5.7.1",
66
+ "http-proxy-middleware": "^2.0.6",
67
+ "parcel": "^2.8.0",
68
+ "process": "^0.11.10"
63
69
  },
64
70
  "repository": {
65
71
  "type": "git",
@@ -44,20 +44,13 @@ class Xref extends React.Component {
44
44
  }
45
45
 
46
46
  render() {
47
- var members, vals, db;
48
- db = this.props.displayName;
47
+ var db = this.props.xref.label;
48
+ var urlfcn = this.props.xref.url;
49
49
 
50
- members = this.props.members;
50
+ var members = this.props.members.sort();
51
51
 
52
- vals = _(members)
53
- .map(function (m) {
54
- return m.val;
55
- })
56
- .flatten(true)
57
- .sort()
58
- .uniq(true) // TODO figure out why there are duplicates.
59
- .map(function (item, idx) {
60
- var url = members[0].url(item),
52
+ var vals = members.map(function (item, idx) {
53
+ var url = urlfcn(item),
61
54
  liClass = idx < HOW_MANY_TO_SHOW_BY_DEFAULT ? "default" : "extra";
62
55
  let external = <small title="This link opens a page from an external site"> <i className="fa fa-external-link"/></small>;
63
56
  return (
@@ -72,16 +65,17 @@ class Xref extends React.Component {
72
65
  </li>
73
66
  )
74
67
  })
75
- .value();
76
68
 
77
69
  vals = this.possiblyTruncateList(vals);
78
70
 
79
71
  return (
80
72
  <tr>
81
- <td className="xref-name-col">{this.props.displayName}</td>
73
+ <td className="xref-name-col">{db}</td>
82
74
  <td className="xref-value-col">
83
75
  <ol className="xref-id-list">{vals}</ol>
84
76
  </td>
77
+ <td className="xref-name-col">{this.props.source}</td>
78
+ <td className="xref-value-col">{this.props.text}</td>
85
79
  </tr>
86
80
  );
87
81
  }
@@ -91,22 +85,39 @@ function formatXrefsForGene(gene) {
91
85
  if(!gene || !_.isArray(gene.xrefs)) {
92
86
  throw new Error("No xrefs for " + _.get(gene._id));
93
87
  }
94
- return _(gene.xrefs)
95
- .keyBy('db')
96
- .pickBy(function(val, name) {
97
- return dbxrefs.isKnown(name);
98
- })
99
- .map(function(val, name) {
100
- var xref = dbxrefs.fetch(name);
101
- return {url: xref.url, label: xref.label, val: val.ids};
88
+ return gene.xrefs
89
+ .filter(xr => dbxrefs.isKnown(xr.db))
90
+ .sort((a,b) => {
91
+ if (a.source) {
92
+ if (b.source) {
93
+ if (a.source < b.source) {
94
+ return -1;
95
+ }
96
+ if (a.source > b.source) {
97
+ return 1;
98
+ }
99
+ }
100
+ else {
101
+ return -1;
102
+ }
103
+ }
104
+ else if (b.source) {
105
+ return 1;
106
+ }
107
+ if (a.db < b.db) {
108
+ return -1;
109
+ }
110
+ if (a.db > b.db) {
111
+ return 1;
112
+ }
113
+ return 0;
102
114
  })
103
- .groupBy('label')
104
- .map(function(members, displayName) {
115
+ .map((xr,idx) => {
116
+ var xref = dbxrefs.fetch(xr.db);
105
117
  return (
106
- <Xref key={displayName} displayName={displayName} members={members} />
118
+ <Xref key={idx} xref={xref} members={xr.ids} source={xr.source} text={xr.text} />
107
119
  )
108
120
  })
109
- .value();
110
121
  }
111
122
 
112
123
  const Xrefs = ({searchResult, geneDocs}) => (
@@ -117,8 +128,10 @@ const Xrefs = ({searchResult, geneDocs}) => (
117
128
  <table className="xrefs table">
118
129
  <thead>
119
130
  <tr>
120
- <th className="xref-name-col">Database</th>
121
- <th className="xref-value-col">IDs and links</th>
131
+ <th className="xref-10-col">Database</th>
132
+ <th className="xref-10-col">IDs and links</th>
133
+ <th className="xref-10-col">Source</th>
134
+ <th className="xref-70-col">Text</th>
122
135
  </tr>
123
136
  </thead>
124
137
  <tbody>
@@ -24,6 +24,12 @@
24
24
  .xref-value-col {
25
25
  width: 80%;
26
26
  }
27
+ .xref-70-col {
28
+ width: 70%;
29
+ }
30
+ .xref-10-col {
31
+ width: 10%;
32
+ }
27
33
  .xref-id-list {
28
34
  padding-left: 0;
29
35
  list-style: none;
package/src/demo.js CHANGED
@@ -44,7 +44,7 @@ const panSites = [
44
44
  ensemblURL: 'https://ensembl.gramene.org',
45
45
  ensemblSite: 'https://ensembl.gramene.org',
46
46
  ensemblRest: 'https://data.gramene.org/ensembl',
47
- grameneData: 'https://data.gramene.org/v64',
47
+ grameneData: 'https://data.gramene.org/v66',
48
48
  targetTaxonId: 3702,
49
49
  alertText: 'Main site'
50
50
  },
package/src/index.html CHANGED
@@ -5,7 +5,7 @@
5
5
  <title>Gramene Search</title>
6
6
  <script>
7
7
  window.gramene = {};
8
- gramene.defaultServer = 'https://data.gramene.org/v65/swagger';
8
+ gramene.defaultServer = 'https://data.gramene.org/v66/swagger';
9
9
  </script>
10
10
  <script async src="./static/gramene-dalliance/dalliance-all.js"></script>
11
11
  <script async src="https://plantreactome.gramene.org/DiagramJs/diagram/diagram.nocache.js"></script>
@@ -1,2 +0,0 @@
1
- 43337522
2
- 1663863196280298000