Uniprot SPARQL: InterPro domain positions
1
1
Entering edit mode
6.6 years ago

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.7k views
ADD COMMENT
0
Entering edit mode
6 months ago
me ▴ 760

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 .
}
ADD COMMENT

Login before adding your answer.

Traffic: 1837 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6