@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_00617#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_00617#construct-template-15>,
    <http://purl.uniprot.org/unirules/MF_00617#construct-template-24>, <http://purl.uniprot.org/unirules/MF_00617#construct-template-58>,
    <http://purl.uniprot.org/unirules/MF_00617#construct-template-55>, <http://purl.uniprot.org/unirules/MF_00617#construct-template-56>,
    <http://purl.uniprot.org/unirules/MF_00617#construct-template-19>, <http://purl.uniprot.org/unirules/MF_00617#construct-template-49>,
    <http://purl.uniprot.org/unirules/MF_00617#construct-template-25>, <http://purl.uniprot.org/unirules/MF_00617#construct-template-50>,
    <http://purl.uniprot.org/unirules/MF_00617#construct-template-6>, <http://purl.uniprot.org/unirules/MF_00617#construct-template-21>,
    <http://purl.uniprot.org/unirules/MF_00617#construct-template-20>, <http://purl.uniprot.org/unirules/MF_00617#construct-template-48>,
    <http://purl.uniprot.org/unirules/MF_00617#construct-template-31>, <http://purl.uniprot.org/unirules/MF_00617#construct-template-46>,
    <http://purl.uniprot.org/unirules/MF_00617#construct-template-27>, <http://purl.uniprot.org/unirules/MF_00617#construct-template-39>,
    <http://purl.uniprot.org/unirules/MF_00617#construct-template-35>, <http://purl.uniprot.org/unirules/MF_00617#construct-template-14>,
    <http://purl.uniprot.org/unirules/MF_00617#construct-template-26>, <http://purl.uniprot.org/unirules/MF_00617#construct-template-45>,
    <http://purl.uniprot.org/unirules/MF_00617#construct-template-69>, <http://purl.uniprot.org/unirules/MF_00617#construct-template-57>,
    <http://purl.uniprot.org/unirules/MF_00617#construct-template-54>, <http://purl.uniprot.org/unirules/MF_00617#construct-template-34>,
    <http://purl.uniprot.org/unirules/MF_00617#construct-template-68>, <http://purl.uniprot.org/unirules/MF_00617#construct-template-44>,
    <http://purl.uniprot.org/unirules/MF_00617#construct-template-13>, <http://purl.uniprot.org/unirules/MF_00617#construct-template-59>,
    <http://purl.uniprot.org/unirules/MF_00617#construct-template-5>, <http://purl.uniprot.org/unirules/MF_00617#construct-template-33>,
    <http://purl.uniprot.org/unirules/MF_00617#construct-template-3>, <http://purl.uniprot.org/unirules/MF_00617#construct-template-23>,
    <http://purl.uniprot.org/unirules/MF_00617#construct-template-47>, <http://purl.uniprot.org/unirules/MF_00617#construct-template-22>,
    <http://purl.uniprot.org/unirules/MF_00617#construct-template-40>, <http://purl.uniprot.org/unirules/MF_00617#construct-template-7>,
    <http://purl.uniprot.org/unirules/MF_00617#construct-template-89>, <http://purl.uniprot.org/unirules/MF_00617#construct-template-65>,
    <http://purl.uniprot.org/unirules/MF_00617#construct-template-41>, <http://purl.uniprot.org/unirules/MF_00617#construct-template-64>,
    <http://purl.uniprot.org/unirules/MF_00617#construct-template-109>, <http://purl.uniprot.org/unirules/MF_00617#construct-template-4>,
    <http://purl.uniprot.org/unirules/MF_00617#construct-template-16>, <http://purl.uniprot.org/unirules/MF_00617#construct-template-88>,
    <http://purl.uniprot.org/unirules/MF_00617#construct-template-63>, <http://purl.uniprot.org/unirules/MF_00617#construct-template-108>,
    <http://purl.uniprot.org/unirules/MF_00617#construct-template-67>, <http://purl.uniprot.org/unirules/MF_00617#construct-template-43>,
    <http://purl.uniprot.org/unirules/MF_00617#construct-template-42>, <http://purl.uniprot.org/unirules/MF_00617#construct-template-37>,
    <http://purl.uniprot.org/unirules/MF_00617#construct-template-8>, <http://purl.uniprot.org/unirules/MF_00617#construct-template-66>,
    <http://purl.uniprot.org/unirules/MF_00617#construct-template-52>, <http://purl.uniprot.org/unirules/MF_00617#construct-template-9>,
    <http://purl.uniprot.org/unirules/MF_00617#construct-template-60>, <http://purl.uniprot.org/unirules/MF_00617#construct-template-84>,
    <http://purl.uniprot.org/unirules/MF_00617#construct-template-105>, <http://purl.uniprot.org/unirules/MF_00617#construct-template-1>,
    <http://purl.uniprot.org/unirules/MF_00617#construct-template-83>, <http://purl.uniprot.org/unirules/MF_00617#construct-template-104>,
    <http://purl.uniprot.org/unirules/MF_00617#construct-template-32>, <http://purl.uniprot.org/unirules/MF_00617#construct-template-17>,
    <http://purl.uniprot.org/unirules/MF_00617#construct-template-30>, <http://purl.uniprot.org/unirules/MF_00617#construct-template-87>,
    <http://purl.uniprot.org/unirules/MF_00617#construct-template-86>, <http://purl.uniprot.org/unirules/MF_00617#construct-template-62>,
    <http://purl.uniprot.org/unirules/MF_00617#construct-template-107>, <http://purl.uniprot.org/unirules/MF_00617#construct-template-85>,
    <http://purl.uniprot.org/unirules/MF_00617#construct-template-61>, <http://purl.uniprot.org/unirules/MF_00617#construct-template-106>,
    <http://purl.uniprot.org/unirules/MF_00617#construct-template-28>, <http://purl.uniprot.org/unirules/MF_00617#construct-template-80>,
    <http://purl.uniprot.org/unirules/MF_00617#construct-template-36>, <http://purl.uniprot.org/unirules/MF_00617#construct-template-113>,
    <http://purl.uniprot.org/unirules/MF_00617#construct-template-2>, <http://purl.uniprot.org/unirules/MF_00617#construct-template-38>,
    <http://purl.uniprot.org/unirules/MF_00617#construct-template-112>, <http://purl.uniprot.org/unirules/MF_00617#construct-template-51>,
    <http://purl.uniprot.org/unirules/MF_00617#construct-template-82>, <http://purl.uniprot.org/unirules/MF_00617#construct-template-53>,
    <http://purl.uniprot.org/unirules/MF_00617#construct-template-10>, <http://purl.uniprot.org/unirules/MF_00617#construct-template-81>,
    <http://purl.uniprot.org/unirules/MF_00617#construct-template-110>, <http://purl.uniprot.org/unirules/MF_00617#construct-template-0>,
    <http://purl.uniprot.org/unirules/MF_00617#construct-template-111>, <http://purl.uniprot.org/unirules/MF_00617#construct-template-11>,
    <http://purl.uniprot.org/unirules/MF_00617#construct-template-12>, <http://purl.uniprot.org/unirules/MF_00617#construct-template-18>,
    <http://purl.uniprot.org/unirules/MF_00617#construct-template-29>, <http://purl.uniprot.org/unirules/MF_00617#construct-template-77>,
    <http://purl.uniprot.org/unirules/MF_00617#construct-template-76>, <http://purl.uniprot.org/unirules/MF_00617#construct-template-75>,
    <http://purl.uniprot.org/unirules/MF_00617#construct-template-79>, <http://purl.uniprot.org/unirules/MF_00617#construct-template-78>,
    <http://purl.uniprot.org/unirules/MF_00617#construct-template-96>, <http://purl.uniprot.org/unirules/MF_00617#construct-template-72>,
    <http://purl.uniprot.org/unirules/MF_00617#construct-template-71>, <http://purl.uniprot.org/unirules/MF_00617#construct-template-95>,
    <http://purl.uniprot.org/unirules/MF_00617#construct-template-99>, <http://purl.uniprot.org/unirules/MF_00617#construct-template-74>,
    <http://purl.uniprot.org/unirules/MF_00617#construct-template-98>, <http://purl.uniprot.org/unirules/MF_00617#construct-template-97>,
    <http://purl.uniprot.org/unirules/MF_00617#construct-template-73>, <http://purl.uniprot.org/unirules/MF_00617#construct-template-92>,
    <http://purl.uniprot.org/unirules/MF_00617#construct-template-101>, <http://purl.uniprot.org/unirules/MF_00617#construct-template-91>,
    <http://purl.uniprot.org/unirules/MF_00617#construct-template-100>, <http://purl.uniprot.org/unirules/MF_00617#construct-template-70>,
    <http://purl.uniprot.org/unirules/MF_00617#construct-template-94>, <http://purl.uniprot.org/unirules/MF_00617#construct-template-103>,
    <http://purl.uniprot.org/unirules/MF_00617#construct-template-93>, <http://purl.uniprot.org/unirules/MF_00617#construct-template-102>,
    <http://purl.uniprot.org/unirules/MF_00617#construct-template-90>;
  <http://www.w3.org/ns/shacl#prefixes> <http://purl.uniprot.org/unirules/>;
  <http://spinrdf.org/sp#where> <http://purl.uniprot.org/unirules/MF_00617#construct-where-list-0>;
  <http://spinrdf.org/sp#templates> <http://purl.uniprot.org/unirules/MF_00617#construct-template-list-0>;
  <http://www.w3.org/ns/shacl#construct> """CONSTRUCT {
  _:238399 up:source unirule:MF_00617 .
  _:238400 up:source unirule:MF_00617 .
  _:238401 up:source unirule:MF_00617 .
  _:238402 up:source unirule:MF_00617 .
  _:238403 up:source unirule:MF_00617 .
  _:238404 up:source unirule:MF_00617 .
  _:238405 up:source unirule:MF_00617 .
  _:238406 up:source unirule:MF_00617 .
  _:238407 up:source unirule:MF_00617 .
  _:238408 up:source unirule:MF_00617 .
  _:238409 up:source unirule:MF_00617 .
  _:238410 up:source unirule:MF_00617 .
  _:238411 up:source unirule:MF_00617 .
  _:238412 up:source unirule:MF_00617 .
  _:238413 up:source unirule:MF_00617 .
  _:238414 up:source unirule:MF_00617 .
  _:238415 up:source unirule:MF_00617 .
  ?this up:annotation ?annotation1 ,
      ?annotation3 ,
      ?annotation4 ,
      ?annotation6 ;
    up:classifiedWith GO:0005737 ,
      GO:0050531 ,
      keyword:378 ,
      keyword:460 ,
      keyword:479 ,
      keyword:963 ;
    up:recommendedName ?name0 .
  ?name0 up:ecName '3.1.3.70' ;
    up:fullName 'Mannosyl-3-phosphoglycerate phosphatase' ;
    up:shortName 'MPGP' ;
    rdf:type up:Structured_Name .
  ?annotation1 up:activity ?activity2 ;
    rdf:type up:Catalytic_Activity_Annotation .
  ?activity2 up:catalyticActivity <http://rdf.rhea-db.org/19309>;
    up:enzymeClass <http://purl.uniprot.org/enzyme/3.1.3.70>.
  ?annotation3 up:cofactor chebi:18420 ;
    rdf:type up:Cofactor_Annotation .
  ?annotation4 a up:Subcellular_Location_Annotation .
  ?annotation4li5 up:cellularComponent <http://purl.uniprot.org/locations/null>.
  ?annotation6 a up:Similarity_Annotation ;
    rdfs:comment 'Belongs to the HAD-like hydrolase superfamily. MPGP family.' .
  ?case7 up:classifiedWith GO:0051479 .
  ?pfs8 up:annotation ?annotation9 .
  ?annotation9 faldo:begin ?pfsb10 ;
    faldo:end ?pfse11 ;
    rdf:type up:Active_Site_Annotation ;
    rdfs:comment 'Nucleophile' .
  ?pfsb10 faldo:position ?thisPositionOn12 ;
    rdf:type faldo:ExactPosition .
  ?pfse11 faldo:position ?thisPositionOn13 ;
    rdf:type faldo:ExactPosition .
  ?pfs14 up:annotation ?annotation15 .
  ?annotation15 faldo:begin ?pfsb16 ;
    faldo:end ?pfse17 ;
    up:ligand ?ligand18 ;
    rdf:type up:Binding_Site_Annotation .
  ?pfsb16 faldo:position ?thisPositionOn19 ;
    rdf:type faldo:ExactPosition .
  ?pfse17 faldo:position ?thisPositionOn20 ;
    rdf:type faldo:ExactPosition .
  ?ligand18 rdfs:subClassOf chebi:18420 .
  ?pfs21 up:annotation ?annotation22 .
  ?annotation22 faldo:begin ?pfsb23 ;
    faldo:end ?pfse24 ;
    up:ligand ?ligand25 ;
    rdf:type up:Binding_Site_Annotation .
  ?pfsb23 faldo:position ?thisPositionOn26 ;
    rdf:type faldo:ExactPosition .
  ?pfse24 faldo:position ?thisPositionOn27 ;
    rdf:type faldo:ExactPosition .
  ?ligand25 rdfs:subClassOf chebi:18420 .
  ?pfs28 up:annotation ?annotation29 .
  ?annotation29 faldo:begin ?pfsb30 ;
    faldo:end ?pfse31 ;
    up:ligand ?ligand32 ;
    rdf:type up:Binding_Site_Annotation .
  ?pfsb30 faldo:position ?thisPositionOn33 ;
    rdf:type faldo:ExactPosition .
  ?pfse31 faldo:position ?thisPositionOn34 ;
    rdf:type faldo:ExactPosition .
  ?ligand32 rdfs:subClassOf chebi:18420 .
  ?pfs35 up:annotation ?annotation36 .
  ?annotation36 faldo:begin ?pfsb37 ;
    faldo:end ?pfse38 ;
    up:ligand ?ligand39 ;
    rdf:type up:Binding_Site_Annotation .
  ?pfsb37 faldo:position ?thisPositionOn40 ;
    rdf:type faldo:ExactPosition .
  ?pfse38 faldo:position ?thisPositionOn41 ;
    rdf:type faldo:ExactPosition .
  ?ligand39 rdfs:subClassOf chebi:18420 .
  _:238416 a rdf:Statement ;
    up:attribution _:238399 ;
    rdf:subject ?this ;
    rdf:predicate up:recommendedName ;
    rdf:object ?name0 .
  _:238417 a rdf:Statement ;
    up:attribution _:238400 ;
    rdf:subject ?this ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation1 .
  _:238418 a rdf:Statement ;
    up:attribution _:238401 ;
    rdf:subject ?this ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation3 .
  _:238419 a rdf:Statement ;
    up:attribution _:238402 ;
    rdf:subject ?this ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation4 .
  _:238420 a rdf:Statement ;
    up:attribution _:238403 ;
    rdf:subject ?this ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation6 .
  _:238421 a rdf:Statement ;
    up:attribution _:238404 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object keyword:963 .
  _:238422 a rdf:Statement ;
    up:attribution _:238405 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object keyword:378 .
  _:238423 a rdf:Statement ;
    up:attribution _:238406 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object keyword:460 .
  _:238424 a rdf:Statement ;
    up:attribution _:238407 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object keyword:479 .
  _:238425 a rdf:Statement ;
    up:attribution _:238408 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object GO:0050531 .
  _:238426 a rdf:Statement ;
    up:attribution _:238409 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object GO:0005737 .
  _:238427 a rdf:Statement ;
    up:attribution _:238410 ;
    rdf:subject ?case7 ;
    rdf:predicate up:classifiedWith ;
    rdf:object GO:0051479 .
  _:238428 a rdf:Statement ;
    up:source unirule:MF_00617 ;
    rdf:subject ?pfs8 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation9 .
  _:238429 a rdf:Statement ;
    up:attribution _:238411 ;
    rdf:subject ?pfs8 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation9 .
  _:238430 a rdf:Statement ;
    up:source unirule:MF_00617 ;
    rdf:subject ?pfs14 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation15 .
  _:238431 a rdf:Statement ;
    up:attribution _:238412 ;
    rdf:subject ?pfs14 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation15 .
  _:238432 a rdf:Statement ;
    up:source unirule:MF_00617 ;
    rdf:subject ?pfs21 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation22 .
  _:238433 a rdf:Statement ;
    up:attribution _:238413 ;
    rdf:subject ?pfs21 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation22 .
  _:238434 a rdf:Statement ;
    up:source unirule:MF_00617 ;
    rdf:subject ?pfs28 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation29 .
  _:238435 a rdf:Statement ;
    up:attribution _:238414 ;
    rdf:subject ?pfs28 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation29 .
  _:238436 a rdf:Statement ;
    up:source unirule:MF_00617 ;
    rdf:subject ?pfs35 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation36 .
  _:238437 a rdf:Statement ;
    up:attribution _:238415 ;
    rdf:subject ?pfs35 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation36 .
}
WHERE {
  #baseURI: http://purl.uniprot.org/unirule/MF_00617
  #Rule MF_00617 Created by:? on:2005-02-28 Modified by:Catherine Rivoire on:2024-05-14
  VALUES ?supertaxon42 {taxon:2 taxon:2157}
  ?this up:organism ?thisOrganism ;
    rdfs:seeAlso signature:MF_00617 .
  ?thisOrganism rdfs:subClassOf+ ?supertaxon42 .
  BIND(URI(CONCAT(STR(?this), '#MF_00617a0')) AS ?name0) .
  BIND(URI(CONCAT(STR(?this), '#MF_00617a1')) AS ?annotation1) .
  BIND(URI(CONCAT(STR(?this), '#MF_00617a3')) AS ?annotation3) .
  BIND(URI(CONCAT(STR(?this), '#MF_00617a4')) AS ?annotation4) .
  BIND(URI(CONCAT(STR(?this), '#MF_00617a6')) AS ?annotation6) .
  OPTIONAL {
    ?this up:sequence ?thisSequence .
    ?thisSequence rdf:value ?thisSequenceValue .
    ?templateMotifMatch47 faldo:location ?templateMotifSequenceMatchRegionO5869048 ;
      edam:is_output_of ?templateMotifSequenceProfileAlignmentOperationO5869050 ;
      rdf:type edam:data_0869 ;
      rdf:value ?templateMotifCigarO58690MF_0061743 .
    ?templateMotifSequenceMatchRegionO5869048 faldo:begin ?templateMotifSequenceMatchBeginO5869049 .
    ?templateMotifSequenceMatchBeginO5869049 faldo:position ?templateMotifSequenceMatchBeginPositionO5869044 ;
      faldo:reference isoform:O58690-1 .
    ?templateMotifSequenceProfileAlignmentOperationO5869050 edam:has_input signature:MF_00617 ;
      rdf:type edam:operation_0300 .
    ?targetMotifMatch51 faldo:location ?targetMotifMatchRegionMatch52 ;
      edam:is_output_of ?targetMotifSequenceAlignmentOperationMF_0061754 ;
      rdf:type edam:data_0869 ;
      rdf:value ?targetMotifMatchCigarO58690MF_0061745 .
    ?targetMotifMatchRegionMatch52 faldo:begin ?targetMotifMatchRegionMatchBeginMF_0061753 .
    ?targetMotifMatchRegionMatchBeginMF_0061753 faldo:position ?targetMotifMatchRegionMatchBeginPositionMF_0061746 ;
      faldo:reference ?thisSequence .
    ?targetMotifSequenceAlignmentOperationMF_0061754 edam:has_input signature:MF_00617 ;
      rdf:type edam:operation_0300 .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarO58690MF_0061743, 1, (STRLEN(?templateMotifCigarO58690MF_0061743) - STRLEN(REPLACE(?templateMotifCigarO58690MF_0061743, CONCAT('^(?:-*[^-]){', STR(((8 - ?templateMotifSequenceMatchBeginPositionO5869044) + 1)), '}'), '')))), '[a-z]', '')) AS ?step155) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarO58690MF_0061745, 1, (STRLEN(?targetMotifMatchCigarO58690MF_0061745) - STRLEN(REPLACE(?targetMotifMatchCigarO58690MF_0061745, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step155), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarO58690MF_0061745, 1, (STRLEN(?targetMotifMatchCigarO58690MF_0061745) - STRLEN(REPLACE(?targetMotifMatchCigarO58690MF_0061745, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step155), '}'), '')))), '[^-]', ''))) AS ?step256) .
    BIND(((?step256 + ?targetMotifMatchRegionMatchBeginPositionMF_0061746) - 1) AS ?thisPositionOn12) .
    BIND(?thisPositionOn12 AS ?thisPositionOn13) .
    BIND(?this AS ?pfs1t57) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn12))) AS ?pfsb10) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn13))) AS ?pfse11) .
    FILTER ((SUBSTR(?thisSequenceValue, ?thisPositionOn12, 1) = 'D')) .
    BIND(URI(CONCAT(STR(?this), '#MF_00617a9')) AS ?annotation9) .
    BIND(?this AS ?pfs8) .
  }
  OPTIONAL {
    ?this up:sequence ?thisSequence .
    ?thisSequence rdf:value ?thisSequenceValue .
    ?templateMotifMatch62 faldo:location ?templateMotifSequenceMatchRegionO5869063 ;
      edam:is_output_of ?templateMotifSequenceProfileAlignmentOperationO5869065 ;
      rdf:type edam:data_0869 ;
      rdf:value ?templateMotifCigarO58690MF_0061758 .
    ?templateMotifSequenceMatchRegionO5869063 faldo:begin ?templateMotifSequenceMatchBeginO5869064 .
    ?templateMotifSequenceMatchBeginO5869064 faldo:position ?templateMotifSequenceMatchBeginPositionO5869059 ;
      faldo:reference isoform:O58690-1 .
    ?templateMotifSequenceProfileAlignmentOperationO5869065 edam:has_input signature:MF_00617 ;
      rdf:type edam:operation_0300 .
    ?targetMotifMatch66 faldo:location ?targetMotifMatchRegionMatch67 ;
      edam:is_output_of ?targetMotifSequenceAlignmentOperationMF_0061769 ;
      rdf:type edam:data_0869 ;
      rdf:value ?targetMotifMatchCigarO58690MF_0061760 .
    ?targetMotifMatchRegionMatch67 faldo:begin ?targetMotifMatchRegionMatchBeginMF_0061768 .
    ?targetMotifMatchRegionMatchBeginMF_0061768 faldo:position ?targetMotifMatchRegionMatchBeginPositionMF_0061761 ;
      faldo:reference ?thisSequence .
    ?targetMotifSequenceAlignmentOperationMF_0061769 edam:has_input signature:MF_00617 ;
      rdf:type edam:operation_0300 .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarO58690MF_0061758, 1, (STRLEN(?templateMotifCigarO58690MF_0061758) - STRLEN(REPLACE(?templateMotifCigarO58690MF_0061758, CONCAT('^(?:-*[^-]){', STR(((8 - ?templateMotifSequenceMatchBeginPositionO5869059) + 1)), '}'), '')))), '[a-z]', '')) AS ?step170) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarO58690MF_0061760, 1, (STRLEN(?targetMotifMatchCigarO58690MF_0061760) - STRLEN(REPLACE(?targetMotifMatchCigarO58690MF_0061760, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step170), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarO58690MF_0061760, 1, (STRLEN(?targetMotifMatchCigarO58690MF_0061760) - STRLEN(REPLACE(?targetMotifMatchCigarO58690MF_0061760, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step170), '}'), '')))), '[^-]', ''))) AS ?step271) .
    BIND(((?step271 + ?targetMotifMatchRegionMatchBeginPositionMF_0061761) - 1) AS ?thisPositionOn19) .
    BIND(?thisPositionOn19 AS ?thisPositionOn20) .
    BIND(?this AS ?pfs1t72) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn19))) AS ?pfsb16) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn20))) AS ?pfse17) .
    FILTER ((SUBSTR(?thisSequenceValue, ?thisPositionOn19, 1) = 'D')) .
    BIND(URI(CONCAT(STR(?this), '#MF_00617a15')) AS ?annotation15) .
    BIND(?this AS ?pfs14) .
  }
  OPTIONAL {
    ?this up:sequence ?thisSequence .
    ?thisSequence rdf:value ?thisSequenceValue .
    ?templateMotifMatch77 faldo:location ?templateMotifSequenceMatchRegionO5869078 ;
      edam:is_output_of ?templateMotifSequenceProfileAlignmentOperationO5869080 ;
      rdf:type edam:data_0869 ;
      rdf:value ?templateMotifCigarO58690MF_0061773 .
    ?templateMotifSequenceMatchRegionO5869078 faldo:begin ?templateMotifSequenceMatchBeginO5869079 .
    ?templateMotifSequenceMatchBeginO5869079 faldo:position ?templateMotifSequenceMatchBeginPositionO5869074 ;
      faldo:reference isoform:O58690-1 .
    ?templateMotifSequenceProfileAlignmentOperationO5869080 edam:has_input signature:MF_00617 ;
      rdf:type edam:operation_0300 .
    ?targetMotifMatch81 faldo:location ?targetMotifMatchRegionMatch82 ;
      edam:is_output_of ?targetMotifSequenceAlignmentOperationMF_0061784 ;
      rdf:type edam:data_0869 ;
      rdf:value ?targetMotifMatchCigarO58690MF_0061775 .
    ?targetMotifMatchRegionMatch82 faldo:begin ?targetMotifMatchRegionMatchBeginMF_0061783 .
    ?targetMotifMatchRegionMatchBeginMF_0061783 faldo:position ?targetMotifMatchRegionMatchBeginPositionMF_0061776 ;
      faldo:reference ?thisSequence .
    ?targetMotifSequenceAlignmentOperationMF_0061784 edam:has_input signature:MF_00617 ;
      rdf:type edam:operation_0300 .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarO58690MF_0061773, 1, (STRLEN(?templateMotifCigarO58690MF_0061773) - STRLEN(REPLACE(?templateMotifCigarO58690MF_0061773, CONCAT('^(?:-*[^-]){', STR(((10 - ?templateMotifSequenceMatchBeginPositionO5869074) + 1)), '}'), '')))), '[a-z]', '')) AS ?step185) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarO58690MF_0061775, 1, (STRLEN(?targetMotifMatchCigarO58690MF_0061775) - STRLEN(REPLACE(?targetMotifMatchCigarO58690MF_0061775, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step185), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarO58690MF_0061775, 1, (STRLEN(?targetMotifMatchCigarO58690MF_0061775) - STRLEN(REPLACE(?targetMotifMatchCigarO58690MF_0061775, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step185), '}'), '')))), '[^-]', ''))) AS ?step286) .
    BIND(((?step286 + ?targetMotifMatchRegionMatchBeginPositionMF_0061776) - 1) AS ?thisPositionOn26) .
    BIND(?thisPositionOn26 AS ?thisPositionOn27) .
    BIND(?this AS ?pfs1t87) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn26))) AS ?pfsb23) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn27))) AS ?pfse24) .
    FILTER ((SUBSTR(?thisSequenceValue, ?thisPositionOn26, 1) = 'D')) .
    BIND(URI(CONCAT(STR(?this), '#MF_00617a22')) AS ?annotation22) .
    BIND(?this AS ?pfs21) .
  }
  OPTIONAL {
    ?this up:sequence ?thisSequence .
    ?thisSequence rdf:value ?thisSequenceValue .
    ?templateMotifMatch92 faldo:location ?templateMotifSequenceMatchRegionO5869093 ;
      edam:is_output_of ?templateMotifSequenceProfileAlignmentOperationO5869095 ;
      rdf:type edam:data_0869 ;
      rdf:value ?templateMotifCigarO58690MF_0061788 .
    ?templateMotifSequenceMatchRegionO5869093 faldo:begin ?templateMotifSequenceMatchBeginO5869094 .
    ?templateMotifSequenceMatchBeginO5869094 faldo:position ?templateMotifSequenceMatchBeginPositionO5869089 ;
      faldo:reference isoform:O58690-1 .
    ?templateMotifSequenceProfileAlignmentOperationO5869095 edam:has_input signature:MF_00617 ;
      rdf:type edam:operation_0300 .
    ?targetMotifMatch96 faldo:location ?targetMotifMatchRegionMatch97 ;
      edam:is_output_of ?targetMotifSequenceAlignmentOperationMF_0061799 ;
      rdf:type edam:data_0869 ;
      rdf:value ?targetMotifMatchCigarO58690MF_0061790 .
    ?targetMotifMatchRegionMatch97 faldo:begin ?targetMotifMatchRegionMatchBeginMF_0061798 .
    ?targetMotifMatchRegionMatchBeginMF_0061798 faldo:position ?targetMotifMatchRegionMatchBeginPositionMF_0061791 ;
      faldo:reference ?thisSequence .
    ?targetMotifSequenceAlignmentOperationMF_0061799 edam:has_input signature:MF_00617 ;
      rdf:type edam:operation_0300 .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarO58690MF_0061788, 1, (STRLEN(?templateMotifCigarO58690MF_0061788) - STRLEN(REPLACE(?templateMotifCigarO58690MF_0061788, CONCAT('^(?:-*[^-]){', STR(((169 - ?templateMotifSequenceMatchBeginPositionO5869089) + 1)), '}'), '')))), '[a-z]', '')) AS ?step1100) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarO58690MF_0061790, 1, (STRLEN(?targetMotifMatchCigarO58690MF_0061790) - STRLEN(REPLACE(?targetMotifMatchCigarO58690MF_0061790, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step1100), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarO58690MF_0061790, 1, (STRLEN(?targetMotifMatchCigarO58690MF_0061790) - STRLEN(REPLACE(?targetMotifMatchCigarO58690MF_0061790, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step1100), '}'), '')))), '[^-]', ''))) AS ?step2101) .
    BIND(((?step2101 + ?targetMotifMatchRegionMatchBeginPositionMF_0061791) - 1) AS ?thisPositionOn33) .
    BIND(?thisPositionOn33 AS ?thisPositionOn34) .
    BIND(?this AS ?pfs1t102) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn33))) AS ?pfsb30) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn34))) AS ?pfse31) .
    FILTER ((SUBSTR(?thisSequenceValue, ?thisPositionOn33, 1) = 'S')) .
    BIND(URI(CONCAT(STR(?this), '#MF_00617a29')) AS ?annotation29) .
    BIND(?this AS ?pfs28) .
  }
  OPTIONAL {
    ?this up:sequence ?thisSequence .
    ?thisSequence rdf:value ?thisSequenceValue .
    ?templateMotifMatch107 faldo:location ?templateMotifSequenceMatchRegionO58690108 ;
      edam:is_output_of ?templateMotifSequenceProfileAlignmentOperationO58690110 ;
      rdf:type edam:data_0869 ;
      rdf:value ?templateMotifCigarO58690MF_00617103 .
    ?templateMotifSequenceMatchRegionO58690108 faldo:begin ?templateMotifSequenceMatchBeginO58690109 .
    ?templateMotifSequenceMatchBeginO58690109 faldo:position ?templateMotifSequenceMatchBeginPositionO58690104 ;
      faldo:reference isoform:O58690-1 .
    ?templateMotifSequenceProfileAlignmentOperationO58690110 edam:has_input signature:MF_00617 ;
      rdf:type edam:operation_0300 .
    ?targetMotifMatch111 faldo:location ?targetMotifMatchRegionMatch112 ;
      edam:is_output_of ?targetMotifSequenceAlignmentOperationMF_00617114 ;
      rdf:type edam:data_0869 ;
      rdf:value ?targetMotifMatchCigarO58690MF_00617105 .
    ?targetMotifMatchRegionMatch112 faldo:begin ?targetMotifMatchRegionMatchBeginMF_00617113 .
    ?targetMotifMatchRegionMatchBeginMF_00617113 faldo:position ?targetMotifMatchRegionMatchBeginPositionMF_00617106 ;
      faldo:reference ?thisSequence .
    ?targetMotifSequenceAlignmentOperationMF_00617114 edam:has_input signature:MF_00617 ;
      rdf:type edam:operation_0300 .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarO58690MF_00617103, 1, (STRLEN(?templateMotifCigarO58690MF_00617103) - STRLEN(REPLACE(?templateMotifCigarO58690MF_00617103, CONCAT('^(?:-*[^-]){', STR(((204 - ?templateMotifSequenceMatchBeginPositionO58690104) + 1)), '}'), '')))), '[a-z]', '')) AS ?step1115) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarO58690MF_00617105, 1, (STRLEN(?targetMotifMatchCigarO58690MF_00617105) - STRLEN(REPLACE(?targetMotifMatchCigarO58690MF_00617105, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step1115), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarO58690MF_00617105, 1, (STRLEN(?targetMotifMatchCigarO58690MF_00617105) - STRLEN(REPLACE(?targetMotifMatchCigarO58690MF_00617105, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step1115), '}'), '')))), '[^-]', ''))) AS ?step2116) .
    BIND(((?step2116 + ?targetMotifMatchRegionMatchBeginPositionMF_00617106) - 1) AS ?thisPositionOn40) .
    BIND(?thisPositionOn40 AS ?thisPositionOn41) .
    BIND(?this AS ?pfs1t117) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn40))) AS ?pfsb37) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn41))) AS ?pfse38) .
    FILTER ((SUBSTR(?thisSequenceValue, ?thisPositionOn40, 1) = 'D')) .
    BIND(URI(CONCAT(STR(?this), '#MF_00617a36')) AS ?annotation36) .
    BIND(?this AS ?pfs35) .
  }
  OPTIONAL {
    ?this a up:Protein .
    ?this up:organism ?thisOrganism .
    ?thisOrganism rdfs:subClassOf+ taxon:2157 .
    BIND(?this AS ?case7) .
  }
}
""" .

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