Skip to content

Commit

Permalink
Merge pull request #204 from opentargets/cc-rename-pQTL-label
Browse files Browse the repository at this point in the history
[Variant page]: parse pQTL studies
  • Loading branch information
andrewhercules authored Feb 23, 2022
2 parents ee6436c + fb66c8c commit 7308263
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 1 deletion.
7 changes: 6 additions & 1 deletion src/pages/VariantPage/VariantPage.js
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ import {
variantHasAssociatedGenes,
variantTransformAssociatedIndexVariants,
variantTransformAssociatedTagVariants,
variantParseGenesForVariantSchema,
} from '../../utils';

const VARIANT_PAGE_QUERY = loader('../../queries/VariantPageQuery.gql');
Expand Down Expand Up @@ -118,6 +119,10 @@ function VariantPage(props) {
? variantTransformAssociatedTagVariants(data)
: [];

const genesForVariantSchema = isGeneVariant
? variantParseGenesForVariantSchema(data)
: [];

return (
<Fragment>
<SectionHeading
Expand All @@ -137,7 +142,7 @@ function VariantPage(props) {
{isGeneVariant ? (
<AssociatedGenes
variantId={variantId}
genesForVariantSchema={data.genesForVariantSchema}
genesForVariantSchema={genesForVariantSchema}
genesForVariant={data.genesForVariant}
/>
) : (
Expand Down
28 changes: 28 additions & 0 deletions src/utils/variant.js
Original file line number Diff line number Diff line change
Expand Up @@ -80,3 +80,31 @@ export const variantPopulations = [
{ code: 'NFESEU', description: 'Non-Finnish European Southern European' },
{ code: 'OTH', description: 'Other (population not assigned)' },
];

export function variantParseGenesForVariantSchema(data) {
const genesForVariantSchema = data.genesForVariantSchema;
const currentQtls = genesForVariantSchema.qtls;
if (currentQtls.length === 0) return genesForVariantSchema;
if (currentQtls[0].id === 'pqtl') {
const pqtl = currentQtls[0];
const restQtls = currentQtls.slice(1, pqtl.length);
const sourceDescriptionBreakdown = parseSourceDescriptionBreakdown(
pqtl.sourceDescriptionBreakdown
);
const sourceLabel = parseSourceLabel(pqtl.sourceLabel);
const newPqtl = { ...pqtl, sourceDescriptionBreakdown, sourceLabel };
const newQtls = [newPqtl, ...restQtls];
return { ...genesForVariantSchema, qtls: newQtls };
}
return genesForVariantSchema;
}

function parseSourceDescriptionBreakdown(description = '') {
if (!description) return;
return description.replace(' Sun *et al.* (2018)', '');
}

function parseSourceLabel(label = '') {
if (!label) return;
return label.replace(' (Sun, 2018)', '');
}

0 comments on commit 7308263

Please sign in to comment.