@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_01652#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_01652#construct-template-33>,
    <http://purl.uniprot.org/unirules/MF_01652#construct-template-57>, <http://purl.uniprot.org/unirules/MF_01652#construct-template-58>,
    <http://purl.uniprot.org/unirules/MF_01652#construct-template-10>, <http://purl.uniprot.org/unirules/MF_01652#construct-template-34>,
    <http://purl.uniprot.org/unirules/MF_01652#construct-template-59>, <http://purl.uniprot.org/unirules/MF_01652#construct-template-11>,
    <http://purl.uniprot.org/unirules/MF_01652#construct-template-35>, <http://purl.uniprot.org/unirules/MF_01652#construct-template-1>,
    <http://purl.uniprot.org/unirules/MF_01652#construct-template-36>, <http://purl.uniprot.org/unirules/MF_01652#construct-template-12>,
    <http://purl.uniprot.org/unirules/MF_01652#construct-template-77>, <http://purl.uniprot.org/unirules/MF_01652#construct-template-53>,
    <http://purl.uniprot.org/unirules/MF_01652#construct-template-54>, <http://purl.uniprot.org/unirules/MF_01652#construct-template-78>,
    <http://purl.uniprot.org/unirules/MF_01652#construct-template-30>, <http://purl.uniprot.org/unirules/MF_01652#construct-template-55>,
    <http://purl.uniprot.org/unirules/MF_01652#construct-template-79>, <http://purl.uniprot.org/unirules/MF_01652#construct-template-31>,
    <http://purl.uniprot.org/unirules/MF_01652#construct-template-3>, <http://purl.uniprot.org/unirules/MF_01652#construct-template-5>,
    <http://purl.uniprot.org/unirules/MF_01652#construct-template-32>, <http://purl.uniprot.org/unirules/MF_01652#construct-template-56>,
    <http://purl.uniprot.org/unirules/MF_01652#construct-template-8>, <http://purl.uniprot.org/unirules/MF_01652#construct-template-17>,
    <http://purl.uniprot.org/unirules/MF_01652#construct-template-18>, <http://purl.uniprot.org/unirules/MF_01652#construct-template-19>,
    <http://purl.uniprot.org/unirules/MF_01652#construct-template-37>, <http://purl.uniprot.org/unirules/MF_01652#construct-template-13>,
    <http://purl.uniprot.org/unirules/MF_01652#construct-template-14>, <http://purl.uniprot.org/unirules/MF_01652#construct-template-38>,
    <http://purl.uniprot.org/unirules/MF_01652#construct-template-15>, <http://purl.uniprot.org/unirules/MF_01652#construct-template-39>,
    <http://purl.uniprot.org/unirules/MF_01652#construct-template-16>, <http://purl.uniprot.org/unirules/MF_01652#construct-template-0>,
    <http://purl.uniprot.org/unirules/MF_01652#construct-template-80>, <http://purl.uniprot.org/unirules/MF_01652#construct-template-6>,
    <http://purl.uniprot.org/unirules/MF_01652#construct-template-61>, <http://purl.uniprot.org/unirules/MF_01652#construct-template-85>,
    <http://purl.uniprot.org/unirules/MF_01652#construct-template-62>, <http://purl.uniprot.org/unirules/MF_01652#construct-template-86>,
    <http://purl.uniprot.org/unirules/MF_01652#construct-template-87>, <http://purl.uniprot.org/unirules/MF_01652#construct-template-63>,
    <http://purl.uniprot.org/unirules/MF_01652#construct-template-88>, <http://purl.uniprot.org/unirules/MF_01652#construct-template-7>,
    <http://purl.uniprot.org/unirules/MF_01652#construct-template-40>, <http://purl.uniprot.org/unirules/MF_01652#construct-template-64>,
    <http://purl.uniprot.org/unirules/MF_01652#construct-template-81>, <http://purl.uniprot.org/unirules/MF_01652#construct-template-82>,
    <http://purl.uniprot.org/unirules/MF_01652#construct-template-83>, <http://purl.uniprot.org/unirules/MF_01652#construct-template-4>,
    <http://purl.uniprot.org/unirules/MF_01652#construct-template-84>, <http://purl.uniprot.org/unirules/MF_01652#construct-template-60>,
    <http://purl.uniprot.org/unirules/MF_01652#construct-template-2>, <http://purl.uniprot.org/unirules/MF_01652#construct-template-69>,
    <http://purl.uniprot.org/unirules/MF_01652#construct-template-21>, <http://purl.uniprot.org/unirules/MF_01652#construct-template-45>,
    <http://purl.uniprot.org/unirules/MF_01652#construct-template-22>, <http://purl.uniprot.org/unirules/MF_01652#construct-template-46>,
    <http://purl.uniprot.org/unirules/MF_01652#construct-template-47>, <http://purl.uniprot.org/unirules/MF_01652#construct-template-23>,
    <http://purl.uniprot.org/unirules/MF_01652#construct-template-48>, <http://purl.uniprot.org/unirules/MF_01652#construct-template-24>,
    <http://purl.uniprot.org/unirules/MF_01652#construct-template-65>, <http://purl.uniprot.org/unirules/MF_01652#construct-template-89>,
    <http://purl.uniprot.org/unirules/MF_01652#construct-template-41>, <http://purl.uniprot.org/unirules/MF_01652#construct-template-66>,
    <http://purl.uniprot.org/unirules/MF_01652#construct-template-42>, <http://purl.uniprot.org/unirules/MF_01652#construct-template-43>,
    <http://purl.uniprot.org/unirules/MF_01652#construct-template-67>, <http://purl.uniprot.org/unirules/MF_01652#construct-template-44>,
    <http://purl.uniprot.org/unirules/MF_01652#construct-template-68>, <http://purl.uniprot.org/unirules/MF_01652#construct-template-20>,
    <http://purl.uniprot.org/unirules/MF_01652#construct-template-29>, <http://purl.uniprot.org/unirules/MF_01652#construct-template-9>,
    <http://purl.uniprot.org/unirules/MF_01652#construct-template-25>, <http://purl.uniprot.org/unirules/MF_01652#construct-template-49>,
    <http://purl.uniprot.org/unirules/MF_01652#construct-template-26>, <http://purl.uniprot.org/unirules/MF_01652#construct-template-27>,
    <http://purl.uniprot.org/unirules/MF_01652#construct-template-28>, <http://purl.uniprot.org/unirules/MF_01652#construct-template-90>,
    <http://purl.uniprot.org/unirules/MF_01652#construct-template-91>, <http://purl.uniprot.org/unirules/MF_01652#construct-template-73>,
    <http://purl.uniprot.org/unirules/MF_01652#construct-template-50>, <http://purl.uniprot.org/unirules/MF_01652#construct-template-74>,
    <http://purl.uniprot.org/unirules/MF_01652#construct-template-51>, <http://purl.uniprot.org/unirules/MF_01652#construct-template-75>,
    <http://purl.uniprot.org/unirules/MF_01652#construct-template-76>, <http://purl.uniprot.org/unirules/MF_01652#construct-template-52>,
    <http://purl.uniprot.org/unirules/MF_01652#construct-template-70>, <http://purl.uniprot.org/unirules/MF_01652#construct-template-71>,
    <http://purl.uniprot.org/unirules/MF_01652#construct-template-72>;
  <http://www.w3.org/ns/shacl#prefixes> <http://purl.uniprot.org/unirules/>;
  <http://spinrdf.org/sp#where> <http://purl.uniprot.org/unirules/MF_01652#construct-where-list-0>;
  <http://spinrdf.org/sp#templates> <http://purl.uniprot.org/unirules/MF_01652#construct-template-list-0>;
  <http://www.w3.org/ns/shacl#construct> """CONSTRUCT {
  _:603176 up:source unirule:MF_01652 .
  _:603177 up:source unirule:MF_01652 .
  _:603178 up:source unirule:MF_01652 .
  _:603179 up:source unirule:MF_01652 .
  _:603180 up:source unirule:MF_01652 .
  _:603181 up:source unirule:MF_01652 .
  _:603182 up:source unirule:MF_01652 .
  _:603183 up:source unirule:MF_01652 .
  _:603184 up:source unirule:MF_01652 .
  _:603185 up:source unirule:MF_01652 .
  _:603186 up:source unirule:MF_01652 .
  _:603187 up:source unirule:MF_01652 .
  _:603188 up:source unirule:MF_01652 .
  _:603189 up:source unirule:MF_01652 .
  _:603190 up:source unirule:MF_01652 .
  _:603191 up:source unirule:MF_01652 .
  _:603192 up:source unirule:MF_01652 .
  ?this up:annotation ?annotation2 ,
      ?annotation3 ,
      ?annotation5 ,
      ?annotation7 ,
      ?annotation8 ,
      ?annotation9 ;
    up:classifiedWith GO:0008688 ,
      GO:0019622 ,
      keyword:274 ,
      keyword:285 ,
      keyword:520 ,
      keyword:560 ,
      keyword:58 ;
    up:recommendedName ?name0 .
  ?name0 up:ecName '1.14.13.127' ;
    up:fullName '3-(3-hydroxy-phenyl)propionate/3-hydroxycinnamic acid hydroxylase' ;
    up:shortName '3-HCI hydroxylase' ,
      '3-HPP hydroxylase' ;
    rdf:type up:Structured_Name .
  ?gene1 skos:prefLabel 'mhpA' .
  ?annotation2 a up:Function_Annotation ;
    rdfs:comment 'Catalyzes the insertion of one atom of molecular oxygen into position 2 of the phenyl ring of 3-(3-hydroxyphenyl)propionate (3-HPP) and hydroxycinnamic acid (3HCI).' .
  ?annotation3 up:activity ?activity4 ;
    rdf:type up:Catalytic_Activity_Annotation .
  ?activity4 up:catalyticActivity <http://rdf.rhea-db.org/24785>;
    up:enzymeClass <http://purl.uniprot.org/enzyme/1.14.13.127>.
  ?annotation5 up:activity ?activity6 ;
    rdf:type up:Catalytic_Activity_Annotation .
  ?activity6 up:catalyticActivity <http://rdf.rhea-db.org/27846>;
    up:enzymeClass <http://purl.uniprot.org/enzyme/1.14.13.127>.
  ?annotation7 up:cofactor chebi:57692 ;
    rdf:type up:Cofactor_Annotation .
  ?annotation8 a up:Pathway_Annotation ;
    rdfs:comment 'Aromatic compound metabolism; 3-phenylpropanoate degradation.' .
  ?annotation9 a up:Similarity_Annotation ;
    rdfs:comment 'Belongs to the PheA/TfdB FAD monooxygenase family.' .
  ?pfs10 up:annotation ?annotation11 .
  ?annotation11 faldo:begin ?pfsb12 ;
    faldo:end ?pfse13 ;
    up:ligand ?ligand14 ;
    rdf:type up:Binding_Site_Annotation .
  ?pfsb12 faldo:position ?thisPositionOn15 ;
    rdf:type faldo:ExactPosition .
  ?pfse13 faldo:position ?thisPositionOn16 ;
    rdf:type faldo:ExactPosition .
  ?ligand14 rdfs:subClassOf chebi:57692 .
  ?pfs17 up:annotation ?annotation18 .
  ?annotation18 faldo:begin ?pfsb19 ;
    faldo:end ?pfse20 ;
    up:ligand ?ligand21 ;
    rdf:type up:Binding_Site_Annotation .
  ?pfsb19 faldo:position ?thisPositionOn22 ;
    rdf:type faldo:ExactPosition .
  ?pfse20 faldo:position ?thisPositionOn23 ;
    rdf:type faldo:ExactPosition .
  ?ligand21 rdfs:subClassOf chebi:57692 .
  _:603193 a rdf:Statement ;
    up:attribution _:603176 ;
    rdf:subject ?this ;
    rdf:predicate up:recommendedName ;
    rdf:object ?name0 .
  _:603194 a rdf:Statement ;
    up:attribution _:603177 ;
    rdf:subject ?gene1 ;
    rdf:predicate up:encodedBy ;
    rdf:object ?gene1 .
  _:603195 a rdf:Statement ;
    up:attribution _:603178 ;
    rdf:subject ?this ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation2 .
  _:603196 a rdf:Statement ;
    up:attribution _:603179 ;
    rdf:subject ?this ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation3 .
  _:603197 a rdf:Statement ;
    up:attribution _:603180 ;
    rdf:subject ?this ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation5 .
  _:603198 a rdf:Statement ;
    up:attribution _:603181 ;
    rdf:subject ?this ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation7 .
  _:603199 a rdf:Statement ;
    up:attribution _:603182 ;
    rdf:subject ?this ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation8 .
  _:603200 a rdf:Statement ;
    up:attribution _:603183 ;
    rdf:subject ?this ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation9 .
  _:603201 a rdf:Statement ;
    up:attribution _:603184 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object keyword:58 .
  _:603202 a rdf:Statement ;
    up:attribution _:603185 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object keyword:274 .
  _:603203 a rdf:Statement ;
    up:attribution _:603186 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object keyword:285 .
  _:603204 a rdf:Statement ;
    up:attribution _:603187 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object keyword:520 .
  _:603205 a rdf:Statement ;
    up:attribution _:603188 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object keyword:560 .
  _:603206 a rdf:Statement ;
    up:attribution _:603189 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object GO:0008688 .
  _:603207 a rdf:Statement ;
    up:attribution _:603190 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object GO:0019622 .
  _:603208 a rdf:Statement ;
    up:source unirule:MF_01652 ;
    rdf:subject ?pfs10 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation11 .
  _:603209 a rdf:Statement ;
    up:attribution _:603191 ;
    rdf:subject ?pfs10 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation11 .
  _:603210 a rdf:Statement ;
    up:source unirule:MF_01652 ;
    rdf:subject ?pfs17 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation18 .
  _:603211 a rdf:Statement ;
    up:attribution _:603192 ;
    rdf:subject ?pfs17 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation18 .
}
WHERE {
  #baseURI: http://purl.uniprot.org/unirule/MF_01652
  #Rule MF_01652 Created by:? on:2008-04-29 Modified by:Edouard de Castro on:2024-09-03
  VALUES ?supertaxon24 {taxon:85007 taxon:1224}
  ?this up:organism ?thisOrganism ;
    rdfs:seeAlso signature:MF_01652 .
  ?thisOrganism rdfs:subClassOf+ ?supertaxon24 .
  BIND(URI(CONCAT(STR(?this), '#MF_01652a0')) AS ?name0) .
  BIND(URI(CONCAT(STR(?this), '#MF_01652a2')) AS ?annotation2) .
  BIND(URI(CONCAT(STR(?this), '#MF_01652a3')) AS ?annotation3) .
  BIND(URI(CONCAT(STR(?this), '#MF_01652a5')) AS ?annotation5) .
  BIND(URI(CONCAT(STR(?this), '#MF_01652a7')) AS ?annotation7) .
  BIND(URI(CONCAT(STR(?this), '#MF_01652a8')) AS ?annotation8) .
  BIND(URI(CONCAT(STR(?this), '#MF_01652a9')) AS ?annotation9) .
  OPTIONAL {
    ?this up:sequence ?thisSequence .
    ?thisSequence rdf:value ?thisSequenceValue .
    ?templateMotifMatch29 faldo:location ?templateMotifSequenceMatchRegionP7739730 ;
      edam:is_output_of ?templateMotifSequenceProfileAlignmentOperationP7739732 ;
      rdf:type edam:data_0869 ;
      rdf:value ?templateMotifCigarP77397MF_0165225 .
    ?templateMotifSequenceMatchRegionP7739730 faldo:begin ?templateMotifSequenceMatchBeginP7739731 .
    ?templateMotifSequenceMatchBeginP7739731 faldo:position ?templateMotifSequenceMatchBeginPositionP7739726 ;
      faldo:reference isoform:P77397-1 .
    ?templateMotifSequenceProfileAlignmentOperationP7739732 edam:has_input signature:MF_01652 ;
      rdf:type edam:operation_0300 .
    ?targetMotifMatch33 faldo:location ?targetMotifMatchRegionMatch34 ;
      edam:is_output_of ?targetMotifSequenceAlignmentOperationMF_0165236 ;
      rdf:type edam:data_0869 ;
      rdf:value ?targetMotifMatchCigarP77397MF_0165227 .
    ?targetMotifMatchRegionMatch34 faldo:begin ?targetMotifMatchRegionMatchBeginMF_0165235 .
    ?targetMotifMatchRegionMatchBeginMF_0165235 faldo:position ?targetMotifMatchRegionMatchBeginPositionMF_0165228 ;
      faldo:reference ?thisSequence .
    ?targetMotifSequenceAlignmentOperationMF_0165236 edam:has_input signature:MF_01652 ;
      rdf:type edam:operation_0300 .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarP77397MF_0165225, 1, (STRLEN(?templateMotifCigarP77397MF_0165225) - STRLEN(REPLACE(?templateMotifCigarP77397MF_0165225, CONCAT('^(?:-*[^-]){', STR(((17 - ?templateMotifSequenceMatchBeginPositionP7739726) + 1)), '}'), '')))), '[a-z]', '')) AS ?step137) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarP77397MF_0165227, 1, (STRLEN(?targetMotifMatchCigarP77397MF_0165227) - STRLEN(REPLACE(?targetMotifMatchCigarP77397MF_0165227, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step137), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarP77397MF_0165227, 1, (STRLEN(?targetMotifMatchCigarP77397MF_0165227) - STRLEN(REPLACE(?targetMotifMatchCigarP77397MF_0165227, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step137), '}'), '')))), '[^-]', ''))) AS ?step238) .
    BIND(((?step238 + ?targetMotifMatchRegionMatchBeginPositionMF_0165228) - 1) AS ?thisPositionOn15) .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarP77397MF_0165225, 1, (STRLEN(?templateMotifCigarP77397MF_0165225) - STRLEN(REPLACE(?templateMotifCigarP77397MF_0165225, CONCAT('^(?:-*[^-]){', STR(((46 - ?templateMotifSequenceMatchBeginPositionP7739726) + 1)), '}'), '')))), '[a-z]', '')) AS ?step139) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarP77397MF_0165227, 1, (STRLEN(?targetMotifMatchCigarP77397MF_0165227) - STRLEN(REPLACE(?targetMotifMatchCigarP77397MF_0165227, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step139), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarP77397MF_0165227, 1, (STRLEN(?targetMotifMatchCigarP77397MF_0165227) - STRLEN(REPLACE(?targetMotifMatchCigarP77397MF_0165227, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step139), '}'), '')))), '[^-]', ''))) AS ?step240) .
    BIND(((?step240 + ?targetMotifMatchRegionMatchBeginPositionMF_0165228) - 1) AS ?thisPositionOn16) .
    BIND(?this AS ?pfs1t41) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn15))) AS ?pfsb12) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn16))) AS ?pfse13) .
    FILTER ((BOUND(?thisPositionOn15) && BOUND(?thisPositionOn16))) .
    BIND(URI(CONCAT(STR(?this), '#MF_01652a11')) AS ?annotation11) .
    BIND(?this AS ?pfs10) .
  }
  OPTIONAL {
    ?this up:sequence ?thisSequence .
    ?thisSequence rdf:value ?thisSequenceValue .
    ?templateMotifMatch46 faldo:location ?templateMotifSequenceMatchRegionP7739747 ;
      edam:is_output_of ?templateMotifSequenceProfileAlignmentOperationP7739749 ;
      rdf:type edam:data_0869 ;
      rdf:value ?templateMotifCigarP77397MF_0165242 .
    ?templateMotifSequenceMatchRegionP7739747 faldo:begin ?templateMotifSequenceMatchBeginP7739748 .
    ?templateMotifSequenceMatchBeginP7739748 faldo:position ?templateMotifSequenceMatchBeginPositionP7739743 ;
      faldo:reference isoform:P77397-1 .
    ?templateMotifSequenceProfileAlignmentOperationP7739749 edam:has_input signature:MF_01652 ;
      rdf:type edam:operation_0300 .
    ?targetMotifMatch50 faldo:location ?targetMotifMatchRegionMatch51 ;
      edam:is_output_of ?targetMotifSequenceAlignmentOperationMF_0165253 ;
      rdf:type edam:data_0869 ;
      rdf:value ?targetMotifMatchCigarP77397MF_0165244 .
    ?targetMotifMatchRegionMatch51 faldo:begin ?targetMotifMatchRegionMatchBeginMF_0165252 .
    ?targetMotifMatchRegionMatchBeginMF_0165252 faldo:position ?targetMotifMatchRegionMatchBeginPositionMF_0165245 ;
      faldo:reference ?thisSequence .
    ?targetMotifSequenceAlignmentOperationMF_0165253 edam:has_input signature:MF_01652 ;
      rdf:type edam:operation_0300 .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarP77397MF_0165242, 1, (STRLEN(?templateMotifCigarP77397MF_0165242) - STRLEN(REPLACE(?templateMotifCigarP77397MF_0165242, CONCAT('^(?:-*[^-]){', STR(((285 - ?templateMotifSequenceMatchBeginPositionP7739743) + 1)), '}'), '')))), '[a-z]', '')) AS ?step154) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarP77397MF_0165244, 1, (STRLEN(?targetMotifMatchCigarP77397MF_0165244) - STRLEN(REPLACE(?targetMotifMatchCigarP77397MF_0165244, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step154), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarP77397MF_0165244, 1, (STRLEN(?targetMotifMatchCigarP77397MF_0165244) - STRLEN(REPLACE(?targetMotifMatchCigarP77397MF_0165244, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step154), '}'), '')))), '[^-]', ''))) AS ?step255) .
    BIND(((?step255 + ?targetMotifMatchRegionMatchBeginPositionMF_0165245) - 1) AS ?thisPositionOn22) .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarP77397MF_0165242, 1, (STRLEN(?templateMotifCigarP77397MF_0165242) - STRLEN(REPLACE(?templateMotifCigarP77397MF_0165242, CONCAT('^(?:-*[^-]){', STR(((295 - ?templateMotifSequenceMatchBeginPositionP7739743) + 1)), '}'), '')))), '[a-z]', '')) AS ?step156) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarP77397MF_0165244, 1, (STRLEN(?targetMotifMatchCigarP77397MF_0165244) - STRLEN(REPLACE(?targetMotifMatchCigarP77397MF_0165244, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step156), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarP77397MF_0165244, 1, (STRLEN(?targetMotifMatchCigarP77397MF_0165244) - STRLEN(REPLACE(?targetMotifMatchCigarP77397MF_0165244, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step156), '}'), '')))), '[^-]', ''))) AS ?step257) .
    BIND(((?step257 + ?targetMotifMatchRegionMatchBeginPositionMF_0165245) - 1) AS ?thisPositionOn23) .
    BIND(?this AS ?pfs1t58) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn22))) AS ?pfsb19) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn23))) AS ?pfse20) .
    FILTER ((BOUND(?thisPositionOn22) && BOUND(?thisPositionOn23))) .
    BIND(URI(CONCAT(STR(?this), '#MF_01652a18')) AS ?annotation18) .
    BIND(?this AS ?pfs17) .
  }
}
""" .

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