@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix rdf4j: <http://rdf4j.org/schema/rdf4j#> .
@prefix sesame: <http://www.openrdf.org/schema/sesame#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix fn: <http://www.w3.org/2005/xpath-functions#> .

<http://purl.uniprot.org/unirules/MF_02005#construct> a <http://www.w3.org/ns/shacl#SPARQLRule>,
    <http://spinrdf.org/sp#Construct>;
  <https://hamap.expasy.org/rdf/vocab#addsTriple> <http://purl.uniprot.org/unirules/MF_02005#construct-template-0>,
    <http://purl.uniprot.org/unirules/MF_02005#construct-template-83>, <http://purl.uniprot.org/unirules/MF_02005#construct-template-2>,
    <http://purl.uniprot.org/unirules/MF_02005#construct-template-39>, <http://purl.uniprot.org/unirules/MF_02005#construct-template-35>,
    <http://purl.uniprot.org/unirules/MF_02005#construct-template-37>, <http://purl.uniprot.org/unirules/MF_02005#construct-template-84>,
    <http://purl.uniprot.org/unirules/MF_02005#construct-template-10>, <http://purl.uniprot.org/unirules/MF_02005#construct-template-60>,
    <http://purl.uniprot.org/unirules/MF_02005#construct-template-14>, <http://purl.uniprot.org/unirules/MF_02005#construct-template-3>,
    <http://purl.uniprot.org/unirules/MF_02005#construct-template-29>, <http://purl.uniprot.org/unirules/MF_02005#construct-template-81>,
    <http://purl.uniprot.org/unirules/MF_02005#construct-template-7>, <http://purl.uniprot.org/unirules/MF_02005#construct-template-40>,
    <http://purl.uniprot.org/unirules/MF_02005#construct-template-82>, <http://purl.uniprot.org/unirules/MF_02005#construct-template-15>,
    <http://purl.uniprot.org/unirules/MF_02005#construct-template-1>, <http://purl.uniprot.org/unirules/MF_02005#construct-template-25>,
    <http://purl.uniprot.org/unirules/MF_02005#construct-template-87>, <http://purl.uniprot.org/unirules/MF_02005#construct-template-63>,
    <http://purl.uniprot.org/unirules/MF_02005#construct-template-36>, <http://purl.uniprot.org/unirules/MF_02005#construct-template-27>,
    <http://purl.uniprot.org/unirules/MF_02005#construct-template-26>, <http://purl.uniprot.org/unirules/MF_02005#construct-template-20>,
    <http://purl.uniprot.org/unirules/MF_02005#construct-template-88>, <http://purl.uniprot.org/unirules/MF_02005#construct-template-64>,
    <http://purl.uniprot.org/unirules/MF_02005#construct-template-19>, <http://purl.uniprot.org/unirules/MF_02005#construct-template-61>,
    <http://purl.uniprot.org/unirules/MF_02005#construct-template-85>, <http://purl.uniprot.org/unirules/MF_02005#construct-template-8>,
    <http://purl.uniprot.org/unirules/MF_02005#construct-template-62>, <http://purl.uniprot.org/unirules/MF_02005#construct-template-86>,
    <http://purl.uniprot.org/unirules/MF_02005#construct-template-9>, <http://purl.uniprot.org/unirules/MF_02005#construct-template-23>,
    <http://purl.uniprot.org/unirules/MF_02005#construct-template-31>, <http://purl.uniprot.org/unirules/MF_02005#construct-template-16>,
    <http://purl.uniprot.org/unirules/MF_02005#construct-template-38>, <http://purl.uniprot.org/unirules/MF_02005#construct-template-4>,
    <http://purl.uniprot.org/unirules/MF_02005#construct-template-13>, <http://purl.uniprot.org/unirules/MF_02005#construct-template-42>,
    <http://purl.uniprot.org/unirules/MF_02005#construct-template-12>, <http://purl.uniprot.org/unirules/MF_02005#construct-template-28>,
    <http://purl.uniprot.org/unirules/MF_02005#construct-template-33>, <http://purl.uniprot.org/unirules/MF_02005#construct-template-6>,
    <http://purl.uniprot.org/unirules/MF_02005#construct-template-80>, <http://purl.uniprot.org/unirules/MF_02005#construct-template-11>,
    <http://purl.uniprot.org/unirules/MF_02005#construct-template-18>, <http://purl.uniprot.org/unirules/MF_02005#construct-template-32>,
    <http://purl.uniprot.org/unirules/MF_02005#construct-template-44>, <http://purl.uniprot.org/unirules/MF_02005#construct-template-49>,
    <http://purl.uniprot.org/unirules/MF_02005#construct-template-22>, <http://purl.uniprot.org/unirules/MF_02005#construct-template-21>,
    <http://purl.uniprot.org/unirules/MF_02005#construct-template-34>, <http://purl.uniprot.org/unirules/MF_02005#construct-template-43>,
    <http://purl.uniprot.org/unirules/MF_02005#construct-template-104>, <http://purl.uniprot.org/unirules/MF_02005#construct-template-17>,
    <http://purl.uniprot.org/unirules/MF_02005#construct-template-67>, <http://purl.uniprot.org/unirules/MF_02005#construct-template-103>,
    <http://purl.uniprot.org/unirules/MF_02005#construct-template-68>, <http://purl.uniprot.org/unirules/MF_02005#construct-template-102>,
    <http://purl.uniprot.org/unirules/MF_02005#construct-template-65>, <http://purl.uniprot.org/unirules/MF_02005#construct-template-41>,
    <http://purl.uniprot.org/unirules/MF_02005#construct-template-89>, <http://purl.uniprot.org/unirules/MF_02005#construct-template-5>,
    <http://purl.uniprot.org/unirules/MF_02005#construct-template-101>, <http://purl.uniprot.org/unirules/MF_02005#construct-template-66>,
    <http://purl.uniprot.org/unirules/MF_02005#construct-template-30>, <http://purl.uniprot.org/unirules/MF_02005#construct-template-108>,
    <http://purl.uniprot.org/unirules/MF_02005#construct-template-47>, <http://purl.uniprot.org/unirules/MF_02005#construct-template-107>,
    <http://purl.uniprot.org/unirules/MF_02005#construct-template-48>, <http://purl.uniprot.org/unirules/MF_02005#construct-template-24>,
    <http://purl.uniprot.org/unirules/MF_02005#construct-template-106>, <http://purl.uniprot.org/unirules/MF_02005#construct-template-69>,
    <http://purl.uniprot.org/unirules/MF_02005#construct-template-45>, <http://purl.uniprot.org/unirules/MF_02005#construct-template-105>,
    <http://purl.uniprot.org/unirules/MF_02005#construct-template-46>, <http://purl.uniprot.org/unirules/MF_02005#construct-template-95>,
    <http://purl.uniprot.org/unirules/MF_02005#construct-template-71>, <http://purl.uniprot.org/unirules/MF_02005#construct-template-72>,
    <http://purl.uniprot.org/unirules/MF_02005#construct-template-96>, <http://purl.uniprot.org/unirules/MF_02005#construct-template-93>,
    <http://purl.uniprot.org/unirules/MF_02005#construct-template-94>, <http://purl.uniprot.org/unirules/MF_02005#construct-template-70>,
    <http://purl.uniprot.org/unirules/MF_02005#construct-template-51>, <http://purl.uniprot.org/unirules/MF_02005#construct-template-100>,
    <http://purl.uniprot.org/unirules/MF_02005#construct-template-99>, <http://purl.uniprot.org/unirules/MF_02005#construct-template-75>,
    <http://purl.uniprot.org/unirules/MF_02005#construct-template-76>, <http://purl.uniprot.org/unirules/MF_02005#construct-template-52>,
    <http://purl.uniprot.org/unirules/MF_02005#construct-template-73>, <http://purl.uniprot.org/unirules/MF_02005#construct-template-97>,
    <http://purl.uniprot.org/unirules/MF_02005#construct-template-50>, <http://purl.uniprot.org/unirules/MF_02005#construct-template-98>,
    <http://purl.uniprot.org/unirules/MF_02005#construct-template-74>, <http://purl.uniprot.org/unirules/MF_02005#construct-template-91>,
    <http://purl.uniprot.org/unirules/MF_02005#construct-template-92>, <http://purl.uniprot.org/unirules/MF_02005#construct-template-90>,
    <http://purl.uniprot.org/unirules/MF_02005#construct-template-55>, <http://purl.uniprot.org/unirules/MF_02005#construct-template-79>,
    <http://purl.uniprot.org/unirules/MF_02005#construct-template-56>, <http://purl.uniprot.org/unirules/MF_02005#construct-template-77>,
    <http://purl.uniprot.org/unirules/MF_02005#construct-template-53>, <http://purl.uniprot.org/unirules/MF_02005#construct-template-54>,
    <http://purl.uniprot.org/unirules/MF_02005#construct-template-78>, <http://purl.uniprot.org/unirules/MF_02005#construct-template-59>,
    <http://purl.uniprot.org/unirules/MF_02005#construct-template-57>, <http://purl.uniprot.org/unirules/MF_02005#construct-template-58>;
  <http://www.w3.org/ns/shacl#prefixes> <http://purl.uniprot.org/unirules/>;
  <http://spinrdf.org/sp#where> <http://purl.uniprot.org/unirules/MF_02005#construct-where-list-0>;
  <http://spinrdf.org/sp#templates> <http://purl.uniprot.org/unirules/MF_02005#construct-template-list-0>;
  <http://www.w3.org/ns/shacl#construct> """CONSTRUCT {
  _:705491 up:source unirule:MF_02005 .
  _:705492 up:source unirule:MF_02005 .
  _:705493 up:source unirule:MF_02005 .
  _:705494 up:source unirule:MF_02005 .
  _:705495 up:source unirule:MF_02005 .
  _:705496 up:source unirule:MF_02005 .
  _:705497 up:source unirule:MF_02005 .
  _:705498 up:source unirule:MF_02005 .
  _:705499 up:source unirule:MF_02005 .
  _:705500 up:source unirule:MF_02005 .
  _:705501 up:source unirule:MF_02005 .
  _:705502 up:source unirule:MF_02005 .
  _:705503 up:source unirule:MF_02005 .
  _:705504 up:source unirule:MF_02005 .
  _:705505 up:source unirule:MF_02005 .
  _:705506 up:source unirule:MF_02005 .
  _:705507 up:source unirule:MF_02005 .
  _:705508 up:source unirule:MF_02005 .
  _:705509 up:source unirule:MF_02005 .
  _:705510 up:source unirule:MF_02005 .
  _:705511 up:source unirule:MF_02005 .
  ?this up:alternativeName ?name1 ;
    up:annotation ?annotation3 ,
      ?annotation4 ,
      ?annotation6 ,
      ?annotation8 ,
      ?annotation9 ;
    up:classifiedWith GO:0004832 ,
      GO:0005524 ,
      GO:0005737 ,
      GO:0006438 ,
      keyword:30 ,
      keyword:436 ,
      keyword:547 ,
      keyword:648 ,
      keyword:67 ,
      keyword:963 ;
    up:recommendedName ?name0 .
  ?name0 up:ecName '6.1.1.9' ;
    up:fullName 'Valine--tRNA ligase' ;
    rdf:type up:Structured_Name .
  ?name1 up:fullName 'Valyl-tRNA synthetase' ;
    up:shortName 'ValRS' ;
    rdf:type up:Structured_Name .
  ?gene2 skos:prefLabel 'valS' .
  ?annotation3 a up:Function_Annotation ;
    rdfs:comment \"Catalyzes the attachment of valine to tRNA(Val). As ValRS can inadvertently accommodate and process structurally similar amino acids such as threonine, to avoid such errors, it has a 'posttransfer' editing activity that hydrolyzes mischarged Thr-tRNA(Val) in a tRNA-dependent manner.\" .
  ?annotation4 up:activity ?activity5 ;
    rdf:type up:Catalytic_Activity_Annotation .
  ?activity5 up:catalyticActivity <http://rdf.rhea-db.org/10704>;
    up:enzymeClass <http://purl.uniprot.org/enzyme/6.1.1.9>.
  ?annotation6 a up:Subcellular_Location_Annotation .
  ?annotation6li7 up:cellularComponent <http://purl.uniprot.org/locations/null>.
  ?annotation8 a up:Domain_Annotation ;
    rdfs:comment 'ValRS has two distinct active sites: one for aminoacylation and one for editing. The misactivated threonine is translocated from the active site to the editing site.' .
  ?annotation9 a up:Similarity_Annotation ;
    rdfs:comment 'Belongs to the class-I aminoacyl-tRNA synthetase family. ValS type 2 subfamily.' .
  ?pfs11 up:annotation ?annotation12 .
  ?annotation12 faldo:begin ?pfsb13 ;
    faldo:end ?pfse14 ;
    rdf:type up:Motif_Annotation ;
    rdfs:comment \"'HIGH' region\" .
  ?pfsb13 faldo:position ?thisPositionOn15 ;
    rdf:type faldo:ExactPosition .
  ?pfse14 faldo:position ?thisPositionOn16 ;
    rdf:type faldo:ExactPosition .
  ?pfs17 up:annotation ?annotation18 .
  ?annotation18 faldo:begin ?pfsb19 ;
    faldo:end ?pfse20 ;
    rdf:type up:Motif_Annotation ;
    rdfs:comment \"'KMSKS' region\" .
  ?pfsb19 faldo:position ?thisPositionOn21 ;
    rdf:type faldo:ExactPosition .
  ?pfse20 faldo:position ?thisPositionOn22 ;
    rdf:type faldo:ExactPosition .
  ?pfs23 up:annotation ?annotation24 .
  ?annotation24 faldo:begin ?pfsb25 ;
    faldo:end ?pfse26 ;
    up:ligand ?ligand27 ;
    rdf:type up:Binding_Site_Annotation .
  ?pfsb25 faldo:position ?thisPositionOn28 ;
    rdf:type faldo:ExactPosition .
  ?pfse26 faldo:position ?thisPositionOn29 ;
    rdf:type faldo:ExactPosition .
  ?ligand27 rdfs:subClassOf chebi:30616 .
  _:705512 a rdf:Statement ;
    up:attribution _:705491 ;
    rdf:subject ?this ;
    rdf:predicate up:recommendedName ;
    rdf:object ?name0 .
  _:705513 a rdf:Statement ;
    up:attribution _:705492 ;
    rdf:subject ?this ;
    rdf:predicate up:alternativeName ;
    rdf:object ?name1 .
  _:705514 a rdf:Statement ;
    up:attribution _:705493 ;
    rdf:subject ?gene2 ;
    rdf:predicate up:encodedBy ;
    rdf:object ?gene2 .
  _:705515 a rdf:Statement ;
    up:attribution _:705494 ;
    rdf:subject ?this ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation3 .
  _:705516 a rdf:Statement ;
    up:attribution _:705495 ;
    rdf:subject ?this ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation4 .
  _:705517 a rdf:Statement ;
    up:attribution _:705496 ;
    rdf:subject ?this ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation6 .
  _:705518 a rdf:Statement ;
    up:attribution _:705497 ;
    rdf:subject ?this ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation8 .
  _:705519 a rdf:Statement ;
    up:attribution _:705498 ;
    rdf:subject ?this ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation9 .
  _:705520 a rdf:Statement ;
    up:attribution _:705499 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object keyword:963 .
  _:705521 a rdf:Statement ;
    up:attribution _:705500 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object keyword:30 .
  _:705522 a rdf:Statement ;
    up:attribution _:705501 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object keyword:67 .
  _:705523 a rdf:Statement ;
    up:attribution _:705502 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object keyword:436 .
  _:705524 a rdf:Statement ;
    up:attribution _:705503 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object keyword:547 .
  _:705525 a rdf:Statement ;
    up:attribution _:705504 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object keyword:648 .
  _:705526 a rdf:Statement ;
    up:attribution _:705505 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object GO:0004832 .
  _:705527 a rdf:Statement ;
    up:attribution _:705506 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object GO:0005524 .
  _:705528 a rdf:Statement ;
    up:attribution _:705507 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object GO:0006438 .
  _:705529 a rdf:Statement ;
    up:attribution _:705508 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object GO:0005737 .
  _:705530 a rdf:Statement ;
    up:source unirule:MF_02005 ;
    rdf:subject ?pfs11 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation12 .
  _:705531 a rdf:Statement ;
    up:attribution _:705509 ;
    rdf:subject ?pfs11 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation12 .
  _:705532 a rdf:Statement ;
    up:source unirule:MF_02005 ;
    rdf:subject ?pfs17 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation18 .
  _:705533 a rdf:Statement ;
    up:attribution _:705510 ;
    rdf:subject ?pfs17 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation18 .
  _:705534 a rdf:Statement ;
    up:source unirule:MF_02005 ;
    rdf:subject ?pfs23 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation24 .
  _:705535 a rdf:Statement ;
    up:attribution _:705511 ;
    rdf:subject ?pfs23 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation24 .
}
WHERE {
  #baseURI: http://purl.uniprot.org/unirule/MF_02005
  #Rule MF_02005 Created by:? on:2006-02-07 Modified by:Edouard de Castro on:2024-09-03
  VALUES ?supertaxon30 {taxon:201174 taxon:766 taxon:2157}
  ?this up:organism ?thisOrganism ;
    rdfs:seeAlso signature:MF_02005 .
  ?thisOrganism rdfs:subClassOf+ ?supertaxon30 .
  BIND(URI(CONCAT(STR(?this), '#MF_02005a0')) AS ?name0) .
  BIND(URI(CONCAT(STR(?this), '#MF_02005a1')) AS ?name1) .
  BIND(URI(CONCAT(STR(?this), '#MF_02005a3')) AS ?annotation3) .
  BIND(URI(CONCAT(STR(?this), '#MF_02005a4')) AS ?annotation4) .
  BIND(URI(CONCAT(STR(?this), '#MF_02005a6')) AS ?annotation6) .
  BIND(URI(CONCAT(STR(?this), '#MF_02005a8')) AS ?annotation8) .
  BIND(URI(CONCAT(STR(?this), '#MF_02005a9')) AS ?annotation9) .
  OPTIONAL {
    ?this up:sequence ?thisSequence .
    ?thisSequence rdf:value ?thisSequenceValue .
    ?templateMotifMatch35 faldo:location ?templateMotifSequenceMatchRegionQ9ZCN636 ;
      edam:is_output_of ?templateMotifSequenceProfileAlignmentOperationQ9ZCN638 ;
      rdf:type edam:data_0869 ;
      rdf:value ?templateMotifCigarQ9ZCN6MF_0200531 .
    ?templateMotifSequenceMatchRegionQ9ZCN636 faldo:begin ?templateMotifSequenceMatchBeginQ9ZCN637 .
    ?templateMotifSequenceMatchBeginQ9ZCN637 faldo:position ?templateMotifSequenceMatchBeginPositionQ9ZCN632 ;
      faldo:reference isoform:Q9ZCN6-1 .
    ?templateMotifSequenceProfileAlignmentOperationQ9ZCN638 edam:has_input signature:MF_02005 ;
      rdf:type edam:operation_0300 .
    ?targetMotifMatch39 faldo:location ?targetMotifMatchRegionMatch40 ;
      edam:is_output_of ?targetMotifSequenceAlignmentOperationMF_0200542 ;
      rdf:type edam:data_0869 ;
      rdf:value ?targetMotifMatchCigarQ9ZCN6MF_0200533 .
    ?targetMotifMatchRegionMatch40 faldo:begin ?targetMotifMatchRegionMatchBeginMF_0200541 .
    ?targetMotifMatchRegionMatchBeginMF_0200541 faldo:position ?targetMotifMatchRegionMatchBeginPositionMF_0200534 ;
      faldo:reference ?thisSequence .
    ?targetMotifSequenceAlignmentOperationMF_0200542 edam:has_input signature:MF_02005 ;
      rdf:type edam:operation_0300 .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarQ9ZCN6MF_0200531, 1, (STRLEN(?templateMotifCigarQ9ZCN6MF_0200531) - STRLEN(REPLACE(?templateMotifCigarQ9ZCN6MF_0200531, CONCAT('^(?:-*[^-]){', STR(((46 - ?templateMotifSequenceMatchBeginPositionQ9ZCN632) + 1)), '}'), '')))), '[a-z]', '')) AS ?step143) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarQ9ZCN6MF_0200533, 1, (STRLEN(?targetMotifMatchCigarQ9ZCN6MF_0200533) - STRLEN(REPLACE(?targetMotifMatchCigarQ9ZCN6MF_0200533, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step143), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarQ9ZCN6MF_0200533, 1, (STRLEN(?targetMotifMatchCigarQ9ZCN6MF_0200533) - STRLEN(REPLACE(?targetMotifMatchCigarQ9ZCN6MF_0200533, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step143), '}'), '')))), '[^-]', ''))) AS ?step244) .
    BIND(((?step244 + ?targetMotifMatchRegionMatchBeginPositionMF_0200534) - 1) AS ?thisPositionOn15) .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarQ9ZCN6MF_0200531, 1, (STRLEN(?templateMotifCigarQ9ZCN6MF_0200531) - STRLEN(REPLACE(?templateMotifCigarQ9ZCN6MF_0200531, CONCAT('^(?:-*[^-]){', STR(((56 - ?templateMotifSequenceMatchBeginPositionQ9ZCN632) + 1)), '}'), '')))), '[a-z]', '')) AS ?step145) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarQ9ZCN6MF_0200533, 1, (STRLEN(?targetMotifMatchCigarQ9ZCN6MF_0200533) - STRLEN(REPLACE(?targetMotifMatchCigarQ9ZCN6MF_0200533, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step145), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarQ9ZCN6MF_0200533, 1, (STRLEN(?targetMotifMatchCigarQ9ZCN6MF_0200533) - STRLEN(REPLACE(?targetMotifMatchCigarQ9ZCN6MF_0200533, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step145), '}'), '')))), '[^-]', ''))) AS ?step246) .
    BIND(((?step246 + ?targetMotifMatchRegionMatchBeginPositionMF_0200534) - 1) AS ?thisPositionOn16) .
    BIND(?this AS ?pfs1t47) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn15))) AS ?pfsb13) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn16))) AS ?pfse14) .
    FILTER (REGEX('P[TYF][ARNDCQEGHILKMFPSTWYVBZJUOX][STA]G[ARNDCQEGHILKMFPSTWYVBZJUOX][ARNDCQEGHILKMFPSTWYVBZJUOX]H[ILMVP]G[HN]', SUBSTR(?thisSequenceValue, ?thisPositionOn15, (?thisPositionOn16 - ?thisPositionOn15)))) .
    BIND(URI(CONCAT(STR(?this), '#MF_02005a12')) AS ?annotation12) .
    BIND(?this AS ?pfs11) .
  }
  OPTIONAL {
    ?this up:sequence ?thisSequence .
    ?thisSequence rdf:value ?thisSequenceValue .
    ?templateMotifMatch52 faldo:location ?templateMotifSequenceMatchRegionQ9ZCN653 ;
      edam:is_output_of ?templateMotifSequenceProfileAlignmentOperationQ9ZCN655 ;
      rdf:type edam:data_0869 ;
      rdf:value ?templateMotifCigarQ9ZCN6MF_0200548 .
    ?templateMotifSequenceMatchRegionQ9ZCN653 faldo:begin ?templateMotifSequenceMatchBeginQ9ZCN654 .
    ?templateMotifSequenceMatchBeginQ9ZCN654 faldo:position ?templateMotifSequenceMatchBeginPositionQ9ZCN649 ;
      faldo:reference isoform:Q9ZCN6-1 .
    ?templateMotifSequenceProfileAlignmentOperationQ9ZCN655 edam:has_input signature:MF_02005 ;
      rdf:type edam:operation_0300 .
    ?targetMotifMatch56 faldo:location ?targetMotifMatchRegionMatch57 ;
      edam:is_output_of ?targetMotifSequenceAlignmentOperationMF_0200559 ;
      rdf:type edam:data_0869 ;
      rdf:value ?targetMotifMatchCigarQ9ZCN6MF_0200550 .
    ?targetMotifMatchRegionMatch57 faldo:begin ?targetMotifMatchRegionMatchBeginMF_0200558 .
    ?targetMotifMatchRegionMatchBeginMF_0200558 faldo:position ?targetMotifMatchRegionMatchBeginPositionMF_0200551 ;
      faldo:reference ?thisSequence .
    ?targetMotifSequenceAlignmentOperationMF_0200559 edam:has_input signature:MF_02005 ;
      rdf:type edam:operation_0300 .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarQ9ZCN6MF_0200548, 1, (STRLEN(?templateMotifCigarQ9ZCN6MF_0200548) - STRLEN(REPLACE(?templateMotifCigarQ9ZCN6MF_0200548, CONCAT('^(?:-*[^-]){', STR(((536 - ?templateMotifSequenceMatchBeginPositionQ9ZCN649) + 1)), '}'), '')))), '[a-z]', '')) AS ?step160) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarQ9ZCN6MF_0200550, 1, (STRLEN(?targetMotifMatchCigarQ9ZCN6MF_0200550) - STRLEN(REPLACE(?targetMotifMatchCigarQ9ZCN6MF_0200550, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step160), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarQ9ZCN6MF_0200550, 1, (STRLEN(?targetMotifMatchCigarQ9ZCN6MF_0200550) - STRLEN(REPLACE(?targetMotifMatchCigarQ9ZCN6MF_0200550, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step160), '}'), '')))), '[^-]', ''))) AS ?step261) .
    BIND(((?step261 + ?targetMotifMatchRegionMatchBeginPositionMF_0200551) - 1) AS ?thisPositionOn21) .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarQ9ZCN6MF_0200548, 1, (STRLEN(?templateMotifCigarQ9ZCN6MF_0200548) - STRLEN(REPLACE(?templateMotifCigarQ9ZCN6MF_0200548, CONCAT('^(?:-*[^-]){', STR(((540 - ?templateMotifSequenceMatchBeginPositionQ9ZCN649) + 1)), '}'), '')))), '[a-z]', '')) AS ?step162) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarQ9ZCN6MF_0200550, 1, (STRLEN(?targetMotifMatchCigarQ9ZCN6MF_0200550) - STRLEN(REPLACE(?targetMotifMatchCigarQ9ZCN6MF_0200550, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step162), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarQ9ZCN6MF_0200550, 1, (STRLEN(?targetMotifMatchCigarQ9ZCN6MF_0200550) - STRLEN(REPLACE(?targetMotifMatchCigarQ9ZCN6MF_0200550, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step162), '}'), '')))), '[^-]', ''))) AS ?step263) .
    BIND(((?step263 + ?targetMotifMatchRegionMatchBeginPositionMF_0200551) - 1) AS ?thisPositionOn22) .
    BIND(?this AS ?pfs1t64) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn21))) AS ?pfsb19) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn22))) AS ?pfse20) .
    FILTER (REGEX('[KRA]MSKS', SUBSTR(?thisSequenceValue, ?thisPositionOn21, (?thisPositionOn22 - ?thisPositionOn21)))) .
    BIND(URI(CONCAT(STR(?this), '#MF_02005a18')) AS ?annotation18) .
    BIND(?this AS ?pfs17) .
  }
  OPTIONAL {
    ?this up:sequence ?thisSequence .
    ?thisSequence rdf:value ?thisSequenceValue .
    ?templateMotifMatch69 faldo:location ?templateMotifSequenceMatchRegionQ9ZCN670 ;
      edam:is_output_of ?templateMotifSequenceProfileAlignmentOperationQ9ZCN672 ;
      rdf:type edam:data_0869 ;
      rdf:value ?templateMotifCigarQ9ZCN6MF_0200565 .
    ?templateMotifSequenceMatchRegionQ9ZCN670 faldo:begin ?templateMotifSequenceMatchBeginQ9ZCN671 .
    ?templateMotifSequenceMatchBeginQ9ZCN671 faldo:position ?templateMotifSequenceMatchBeginPositionQ9ZCN666 ;
      faldo:reference isoform:Q9ZCN6-1 .
    ?templateMotifSequenceProfileAlignmentOperationQ9ZCN672 edam:has_input signature:MF_02005 ;
      rdf:type edam:operation_0300 .
    ?targetMotifMatch73 faldo:location ?targetMotifMatchRegionMatch74 ;
      edam:is_output_of ?targetMotifSequenceAlignmentOperationMF_0200576 ;
      rdf:type edam:data_0869 ;
      rdf:value ?targetMotifMatchCigarQ9ZCN6MF_0200567 .
    ?targetMotifMatchRegionMatch74 faldo:begin ?targetMotifMatchRegionMatchBeginMF_0200575 .
    ?targetMotifMatchRegionMatchBeginMF_0200575 faldo:position ?targetMotifMatchRegionMatchBeginPositionMF_0200568 ;
      faldo:reference ?thisSequence .
    ?targetMotifSequenceAlignmentOperationMF_0200576 edam:has_input signature:MF_02005 ;
      rdf:type edam:operation_0300 .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarQ9ZCN6MF_0200565, 1, (STRLEN(?templateMotifCigarQ9ZCN6MF_0200565) - STRLEN(REPLACE(?templateMotifCigarQ9ZCN6MF_0200565, CONCAT('^(?:-*[^-]){', STR(((539 - ?templateMotifSequenceMatchBeginPositionQ9ZCN666) + 1)), '}'), '')))), '[a-z]', '')) AS ?step177) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarQ9ZCN6MF_0200567, 1, (STRLEN(?targetMotifMatchCigarQ9ZCN6MF_0200567) - STRLEN(REPLACE(?targetMotifMatchCigarQ9ZCN6MF_0200567, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step177), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarQ9ZCN6MF_0200567, 1, (STRLEN(?targetMotifMatchCigarQ9ZCN6MF_0200567) - STRLEN(REPLACE(?targetMotifMatchCigarQ9ZCN6MF_0200567, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step177), '}'), '')))), '[^-]', ''))) AS ?step278) .
    BIND(((?step278 + ?targetMotifMatchRegionMatchBeginPositionMF_0200568) - 1) AS ?thisPositionOn28) .
    BIND(?thisPositionOn28 AS ?thisPositionOn29) .
    BIND(?this AS ?pfs1t79) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn28))) AS ?pfsb25) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn29))) AS ?pfse26) .
    FILTER ((SUBSTR(?thisSequenceValue, ?thisPositionOn28, 1) = 'K')) .
    BIND(URI(CONCAT(STR(?this), '#MF_02005a24')) AS ?annotation24) .
    BIND(?this AS ?pfs23) .
  }
  OPTIONAL {
    ?this a up:Protein .
    ?this up:organism ?thisOrganism .
    ?thisOrganism rdfs:subClassOf+ taxon:2 .
    BIND(?this AS ?case10) .
  }
}
""" .

<http://purl.uniprot.org/unirules/MF_02005> <http://www.w3.org/ns/shacl#rule> <http://purl.uniprot.org/unirules/MF_02005#construct> .
