This is a test version of Biostars. For the public version, visit https://www.biostars.org.
Uniprot SPARQL: InterPro domain positions

Hi

Using the uniprot sparql endpoint (https://sparql.uniprot.org/) I'm looking for a way to extract start/end positional information for each InterProscan domain.

Example:

PREFIX up:<http://purl.uniprot.org/core/>  
PREFIX rdfs:<http://www.w3.org/2000/01/rdf-schema#>  
SELECT DISTINCT *
WHERE{
   VALUES ?protein {<http://purl.uniprot.org/uniprot/P30443>} .
   ?protein rdfs:seeAlso ?sa .
   ?sa up:database <http://purl.uniprot.org/database/InterPro> .
}

I think it should be possible somehow...

Cheers, Fabian

sparql

1 answer

You could not do it then, but currently you can.

SELECT *
WHERE{
   VALUES ?protein {<http://purl.uniprot.org/uniprot/P05067>} .
  ?protein rdfs:seeAlso ?sa .
  ?uniparc up:sequenceFor ?protein ;
           rdfs:seeAlso ?sa .
  ?sa up:signatureSequenceMatch ?sam .
  ?sam faldo:begin ?sab .
  ?sam faldo:end ?sae .
  ?sab faldo:position ?matchStart .
  ?sae     faldo:position ?matchEnd .
  FILTER(STRSTARTS(STR(?sab), STR(?uniparc)) && STRSTARTS(STR(?sae), STR(?uniparc)))
}

Once release 2024_04 is out, this should be replaced with

SELECT *
WHERE{
  VALUES ?protein {<http://purl.uniprot.org/uniprot/P05067>} .
  ?protein rdfs:seeAlso ?sa .
  ?uniparc up:sequenceFor ?protein ;
      rdfs:seeAlso ?sa .
  ?sa up:signatureSequenceMatch ?sam .
  ?sam faldo:begin ?sab ;
    faldo:end ?sae .
  ?sab faldo:position ?matchStart ;
    faldo:reference ?uniparc .
  ?sae  faldo:position ?matchEnd ;
    faldo:reference ?uniparc .
}

Log in to answer this question.