Skip to content

Commit

Permalink
fix: update converted uniprot IDs to go to local gene page
Browse files Browse the repository at this point in the history
fix #57
  • Loading branch information
erichartline committed Oct 22, 2018
1 parent f09fc01 commit 557bc4a
Show file tree
Hide file tree
Showing 3 changed files with 165 additions and 57 deletions.
54 changes: 40 additions & 14 deletions src/features/Ontology/Table/DisplayTable.js
Original file line number Diff line number Diff line change
Expand Up @@ -88,13 +88,26 @@ export class DisplayTable extends Component<Props> {
<span>
{" "}
<em>{item.relation}</em>{" "}
<a
className={classes.link}
href={withLinkGenerator(item.id, item.db)}
target="_blank">
{!item.name && `(${item.db}:${item.id})`}
{item.name && `(${item.name})`}
</a>
{!item.name && (
<a
className={classes.link}
href={withLinkGenerator(item.id, item.db)}
target="_blank">
({item.db}:{item.id})
</a>
)}
{item.name && (
<a
className={classes.link}
href={withLinkGenerator(
item.id,
item.db,
item.name,
)}
target="_blank">
({item.name})
</a>
)}
</span>
<br />
</Fragment>
Expand All @@ -106,13 +119,26 @@ export class DisplayTable extends Component<Props> {
item.with.map((item: Object, i: string) => (
<Fragment key={i}>
<span>
<a
className={classes.link}
href={withLinkGenerator(item.id, item.db)}
target="_blank">
{!item.name && `${item.db}:${item.id}`}
{item.name && `${item.name}`}
</a>
{!item.name && (
<a
className={classes.link}
href={withLinkGenerator(item.id, item.db)}
target="_blank">
{item.db}:{item.id}
</a>
)}
{item.name && (
<a
className={classes.link}
href={withLinkGenerator(
item.id,
item.db,
item.name,
)}
target="_blank">
{item.name}
</a>
)}
</span>
<br />
</Fragment>
Expand Down
6 changes: 5 additions & 1 deletion src/features/Ontology/utils/withLinkGenerator.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,14 @@
* This is a helper function to generate links for the With column of DisplayTable.
*/

const withLinkGenerator = (id: string, db: string) => {
const withLinkGenerator = (id: string, db: string, name: ?string) => {
if (id === undefined) {
return "#"
}
// if using converted gene name, link to gene page not uniprot
if (name && !name.includes(" ")) {
return `/${name}`
}
switch (db) {
case "CHEBI": {
return `https://www.ebi.ac.uk/chebi/searchId.do?chebiId=CHEBI:${id}`
Expand Down
162 changes: 120 additions & 42 deletions src/features/Summary/Panels/GoaPanel.js
Original file line number Diff line number Diff line change
Expand Up @@ -152,13 +152,26 @@ const GoaPanel = (props: Props) => {
<span>
{" "}
<em>with</em>{" "}
<a
className={classes.link}
href={withLinkGenerator(xref.id, xref.db)}
target="_blank">
{!xref.name && `${xref.db}:${xref.id}`}
{xref.name && `${xref.name}`}
</a>
{!xref.name && (
<a
className={classes.link}
href={withLinkGenerator(xref.id, xref.db)}
target="_blank">
{xref.db}:{xref.id}
</a>
)}
{xref.name && (
<a
className={classes.link}
href={withLinkGenerator(
xref.id,
xref.db,
xref.name,
)}
target="_blank">
{xref.name}
</a>
)}
</span>
</Fragment>
),
Expand All @@ -171,13 +184,26 @@ const GoaPanel = (props: Props) => {
<span>
{" "}
<em>{ext.relation}</em>{" "}
<a
className={classes.link}
href={withLinkGenerator(ext.id, ext.db)}
target="_blank">
{!ext.name && `${ext.db}:${ext.id}`}
{ext.name && `${ext.name}`}
</a>{" "}
{!ext.name && (
<a
className={classes.link}
href={withLinkGenerator(ext.id, ext.db)}
target="_blank">
{ext.db}:{ext.id}
</a>
)}
{ext.name && (
<a
className={classes.link}
href={withLinkGenerator(
ext.id,
ext.db,
ext.name,
)}
target="_blank">
{ext.name}
</a>
)}{" "}
</span>
</Fragment>
))}{" "}
Expand Down Expand Up @@ -209,13 +235,26 @@ const GoaPanel = (props: Props) => {
<span>
{" "}
<em>with</em>{" "}
<a
className={classes.link}
href={withLinkGenerator(xref.id, xref.db)}
target="_blank">
{!xref.name && `${xref.db}:${xref.id}`}
{xref.name && `${xref.name}`}
</a>
{!xref.name && (
<a
className={classes.link}
href={withLinkGenerator(xref.id, xref.db)}
target="_blank">
{xref.db}:{xref.id}
</a>
)}
{xref.name && (
<a
className={classes.link}
href={withLinkGenerator(
xref.id,
xref.db,
xref.name,
)}
target="_blank">
{xref.name}
</a>
)}
</span>
</Fragment>
),
Expand All @@ -228,13 +267,26 @@ const GoaPanel = (props: Props) => {
<span>
{" "}
<em>{ext.relation}</em>{" "}
<a
className={classes.link}
href={withLinkGenerator(ext.id, ext.db)}
target="_blank">
{!ext.name && `${ext.db}:${ext.id}`}
{ext.name && `${ext.name}`}
</a>{" "}
{!ext.name && (
<a
className={classes.link}
href={withLinkGenerator(ext.id, ext.db)}
target="_blank">
{ext.db}:{ext.id}
</a>
)}
{ext.name && (
<a
className={classes.link}
href={withLinkGenerator(
ext.id,
ext.db,
ext.name,
)}
target="_blank">
{ext.name}
</a>
)}{" "}
</span>
</Fragment>
))}{" "}
Expand Down Expand Up @@ -266,13 +318,26 @@ const GoaPanel = (props: Props) => {
<span>
{" "}
<em>with</em>{" "}
<a
className={classes.link}
href={withLinkGenerator(xref.id, xref.db)}
target="_blank">
{!xref.name && `${xref.db}:${xref.id}`}
{xref.name && `${xref.name}`}
</a>
{!xref.name && (
<a
className={classes.link}
href={withLinkGenerator(xref.id, xref.db)}
target="_blank">
{xref.db}:{xref.id}
</a>
)}
{xref.name && (
<a
className={classes.link}
href={withLinkGenerator(
xref.id,
xref.db,
xref.name,
)}
target="_blank">
{xref.name}
</a>
)}
</span>
</Fragment>
),
Expand All @@ -285,13 +350,26 @@ const GoaPanel = (props: Props) => {
<span>
{" "}
<em>{ext.relation}</em>{" "}
<a
className={classes.link}
href={withLinkGenerator(ext.id, ext.db)}
target="_blank">
{!ext.name && `${ext.db}:${ext.id}`}
{ext.name && `${ext.name}`}
</a>{" "}
{!ext.name && (
<a
className={classes.link}
href={withLinkGenerator(ext.id, ext.db)}
target="_blank">
{ext.db}:{ext.id}
</a>
)}
{ext.name && (
<a
className={classes.link}
href={withLinkGenerator(
ext.id,
ext.db,
ext.name,
)}
target="_blank">
{ext.name}
</a>
)}{" "}
</span>
</Fragment>
))}{" "}
Expand Down

0 comments on commit 557bc4a

Please sign in to comment.