Accessing PCHi-C, DHS-promoter corr. etc. info via Open Targets Genetics GraphQL API


I learned about the Open Targets Genetics portal from your stand at the SymBLS '22 conference and it’s just what I need to annotate index variants, really great stuff.

I’m trying to request essentially all of the information available on the OTG Portal UI for variant look-ups, but using the GraphQL API. I have most of what I need, but I have not yet found in the schema the information presented in several of the columns in the ‘Assigned genes’ table on the UI, namely the enhancer-TSS corr. and PCHi-C columns and so on.

Is this available through the GraphQL API?


Hi @twillis209, good to see you around!

Thank you for your interest in using Open Targets Genetics! I am glad to hear that you have found it helpful.

In this case, I would suggest you access the data directly from our downloads rather than using the API, as some of the information that you’re looking for may not be readily available through the API’s GraphQL schema.By downloading the V2G (Variant to gene) dataset, you’ll have access to all of the information present in the ‘Assigned genes’ table, without the overhead of requesting the information per variant.

This is the schema of V2G, the easiest thing to do is to download it from the FTP, but you can see our docs for more ways to access our data.

 |-- chr_id: string (nullable = true)
 |-- position: long (nullable = true)
 |-- ref_allele: string (nullable = true)
 |-- alt_allele: string (nullable = true)
 |-- gene_id: string (nullable = true)
 |-- feature: string (nullable = true)
 |-- type_id: string (nullable = true)
 |-- source_id: string (nullable = true)
 |-- fpred_labels: array (nullable = true)
 |    |-- element: string (containsNull = true)
 |-- fpred_scores: array (nullable = true)
 |    |-- element: double (containsNull = true)
 |-- fpred_max_label: string (nullable = true)
 |-- fpred_max_score: double (nullable = true)
 |-- qtl_beta: double (nullable = true)
 |-- qtl_se: double (nullable = true)
 |-- qtl_pval: double (nullable = true)
 |-- qtl_score: double (nullable = true)
 |-- interval_score: double (nullable = true)
 |-- qtl_score_q: double (nullable = true)
 |-- interval_score_q: double (nullable = true)
 |-- d: long (nullable = true)
 |-- distance_score: double (nullable = true)
 |-- distance_score_q: double (nullable = true)

Let me know if this helps!

1 Like

That’s very helpful, thanks, Irene :slightly_smiling_face: