@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_01586#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_01586#construct-template-52>,
    <http://purl.uniprot.org/unirules/MF_01586#construct-template-76>, <http://purl.uniprot.org/unirules/MF_01586#construct-template-27>,
    <http://purl.uniprot.org/unirules/MF_01586#construct-template-64>, <http://purl.uniprot.org/unirules/MF_01586#construct-template-19>,
    <http://purl.uniprot.org/unirules/MF_01586#construct-template-51>, <http://purl.uniprot.org/unirules/MF_01586#construct-template-75>,
    <http://purl.uniprot.org/unirules/MF_01586#construct-template-61>, <http://purl.uniprot.org/unirules/MF_01586#construct-template-67>,
    <http://purl.uniprot.org/unirules/MF_01586#construct-template-31>, <http://purl.uniprot.org/unirules/MF_01586#construct-template-58>,
    <http://purl.uniprot.org/unirules/MF_01586#construct-template-30>, <http://purl.uniprot.org/unirules/MF_01586#construct-template-54>,
    <http://purl.uniprot.org/unirules/MF_01586#construct-template-55>, <http://purl.uniprot.org/unirules/MF_01586#construct-template-78>,
    <http://purl.uniprot.org/unirules/MF_01586#construct-template-20>, <http://purl.uniprot.org/unirules/MF_01586#construct-template-5>,
    <http://purl.uniprot.org/unirules/MF_01586#construct-template-44>, <http://purl.uniprot.org/unirules/MF_01586#construct-template-29>,
    <http://purl.uniprot.org/unirules/MF_01586#construct-template-23>, <http://purl.uniprot.org/unirules/MF_01586#construct-template-14>,
    <http://purl.uniprot.org/unirules/MF_01586#construct-template-59>, <http://purl.uniprot.org/unirules/MF_01586#construct-template-7>,
    <http://purl.uniprot.org/unirules/MF_01586#construct-template-53>, <http://purl.uniprot.org/unirules/MF_01586#construct-template-77>,
    <http://purl.uniprot.org/unirules/MF_01586#construct-template-42>, <http://purl.uniprot.org/unirules/MF_01586#construct-template-12>,
    <http://purl.uniprot.org/unirules/MF_01586#construct-template-72>, <http://purl.uniprot.org/unirules/MF_01586#construct-template-4>,
    <http://purl.uniprot.org/unirules/MF_01586#construct-template-34>, <http://purl.uniprot.org/unirules/MF_01586#construct-template-22>,
    <http://purl.uniprot.org/unirules/MF_01586#construct-template-86>, <http://purl.uniprot.org/unirules/MF_01586#construct-template-3>,
    <http://purl.uniprot.org/unirules/MF_01586#construct-template-32>, <http://purl.uniprot.org/unirules/MF_01586#construct-template-62>,
    <http://purl.uniprot.org/unirules/MF_01586#construct-template-71>, <http://purl.uniprot.org/unirules/MF_01586#construct-template-18>,
    <http://purl.uniprot.org/unirules/MF_01586#construct-template-50>, <http://purl.uniprot.org/unirules/MF_01586#construct-template-74>,
    <http://purl.uniprot.org/unirules/MF_01586#construct-template-90>, <http://purl.uniprot.org/unirules/MF_01586#construct-template-73>,
    <http://purl.uniprot.org/unirules/MF_01586#construct-template-60>, <http://purl.uniprot.org/unirules/MF_01586#construct-template-57>,
    <http://purl.uniprot.org/unirules/MF_01586#construct-template-45>, <http://purl.uniprot.org/unirules/MF_01586#construct-template-69>,
    <http://purl.uniprot.org/unirules/MF_01586#construct-template-36>, <http://purl.uniprot.org/unirules/MF_01586#construct-template-63>,
    <http://purl.uniprot.org/unirules/MF_01586#construct-template-9>, <http://purl.uniprot.org/unirules/MF_01586#construct-template-11>,
    <http://purl.uniprot.org/unirules/MF_01586#construct-template-35>, <http://purl.uniprot.org/unirules/MF_01586#construct-template-66>,
    <http://purl.uniprot.org/unirules/MF_01586#construct-template-17>, <http://purl.uniprot.org/unirules/MF_01586#construct-template-25>,
    <http://purl.uniprot.org/unirules/MF_01586#construct-template-38>, <http://purl.uniprot.org/unirules/MF_01586#construct-template-13>,
    <http://purl.uniprot.org/unirules/MF_01586#construct-template-39>, <http://purl.uniprot.org/unirules/MF_01586#construct-template-37>,
    <http://purl.uniprot.org/unirules/MF_01586#construct-template-40>, <http://purl.uniprot.org/unirules/MF_01586#construct-template-33>,
    <http://purl.uniprot.org/unirules/MF_01586#construct-template-84>, <http://purl.uniprot.org/unirules/MF_01586#construct-template-1>,
    <http://purl.uniprot.org/unirules/MF_01586#construct-template-56>, <http://purl.uniprot.org/unirules/MF_01586#construct-template-6>,
    <http://purl.uniprot.org/unirules/MF_01586#construct-template-48>, <http://purl.uniprot.org/unirules/MF_01586#construct-template-47>,
    <http://purl.uniprot.org/unirules/MF_01586#construct-template-79>, <http://purl.uniprot.org/unirules/MF_01586#construct-template-21>,
    <http://purl.uniprot.org/unirules/MF_01586#construct-template-10>, <http://purl.uniprot.org/unirules/MF_01586#construct-template-46>,
    <http://purl.uniprot.org/unirules/MF_01586#construct-template-28>, <http://purl.uniprot.org/unirules/MF_01586#construct-template-81>,
    <http://purl.uniprot.org/unirules/MF_01586#construct-template-0>, <http://purl.uniprot.org/unirules/MF_01586#construct-template-68>,
    <http://purl.uniprot.org/unirules/MF_01586#construct-template-70>, <http://purl.uniprot.org/unirules/MF_01586#construct-template-16>,
    <http://purl.uniprot.org/unirules/MF_01586#construct-template-43>, <http://purl.uniprot.org/unirules/MF_01586#construct-template-24>,
    <http://purl.uniprot.org/unirules/MF_01586#construct-template-49>, <http://purl.uniprot.org/unirules/MF_01586#construct-template-8>,
    <http://purl.uniprot.org/unirules/MF_01586#construct-template-92>, <http://purl.uniprot.org/unirules/MF_01586#construct-template-91>,
    <http://purl.uniprot.org/unirules/MF_01586#construct-template-2>, <http://purl.uniprot.org/unirules/MF_01586#construct-template-93>,
    <http://purl.uniprot.org/unirules/MF_01586#construct-template-88>, <http://purl.uniprot.org/unirules/MF_01586#construct-template-15>,
    <http://purl.uniprot.org/unirules/MF_01586#construct-template-65>, <http://purl.uniprot.org/unirules/MF_01586#construct-template-26>,
    <http://purl.uniprot.org/unirules/MF_01586#construct-template-85>, <http://purl.uniprot.org/unirules/MF_01586#construct-template-87>,
    <http://purl.uniprot.org/unirules/MF_01586#construct-template-41>, <http://purl.uniprot.org/unirules/MF_01586#construct-template-89>,
    <http://purl.uniprot.org/unirules/MF_01586#construct-template-83>, <http://purl.uniprot.org/unirules/MF_01586#construct-template-82>,
    <http://purl.uniprot.org/unirules/MF_01586#construct-template-80>;
  <http://www.w3.org/ns/shacl#prefixes> <http://purl.uniprot.org/unirules/>;
  <http://spinrdf.org/sp#where> <http://purl.uniprot.org/unirules/MF_01586#construct-where-list-0>;
  <http://spinrdf.org/sp#templates> <http://purl.uniprot.org/unirules/MF_01586#construct-template-list-0>;
  <http://www.w3.org/ns/shacl#construct> """CONSTRUCT {
  _:573609 up:source unirule:MF_01586 .
  _:573610 up:source unirule:MF_01586 .
  _:573611 up:source unirule:MF_01586 .
  _:573612 up:source unirule:MF_01586 .
  _:573613 up:source unirule:MF_01586 .
  _:573614 up:source unirule:MF_01586 .
  _:573615 up:source unirule:MF_01586 .
  _:573616 up:source unirule:MF_01586 .
  _:573617 up:source unirule:MF_01586 .
  _:573618 up:source unirule:MF_01586 .
  _:573619 up:source unirule:MF_01586 .
  _:573620 up:source unirule:MF_01586 .
  _:573621 up:source unirule:MF_01586 .
  _:573622 up:source unirule:MF_01586 .
  _:573623 up:source unirule:MF_01586 .
  _:573624 up:source unirule:MF_01586 .
  ?this up:annotation ?annotation2 ,
      ?annotation3 ;
    up:classifiedWith GO:0005506 ,
      keyword:238 ,
      keyword:678 ,
      keyword:804 ,
      keyword:805 ;
    up:recommendedName ?name0 .
  ?name0 up:fullName 'Probable [Fe-S]-dependent transcriptional repressor' ;
    rdf:type up:Structured_Name .
  ?gene1 skos:prefLabel 'feoC' .
  ?annotation2 a up:Function_Annotation ;
    rdfs:comment 'May function as a transcriptional regulator that controls feoABC expression.' .
  ?annotation3 a up:Similarity_Annotation ;
    rdfs:comment 'Belongs to the FeoC family.' .
  ?case4 up:classifiedWith keyword:408 ,
      keyword:411 ,
      keyword:479 .
  ?pfs5 up:annotation ?annotation6 ,
      ?annotation12 ,
      ?annotation18 ,
      ?annotation24 .
  ?annotation6 faldo:begin ?pfsb7 ;
    faldo:end ?pfse8 ;
    up:ligand ?ligand9 ;
    rdf:type up:Binding_Site_Annotation .
  ?pfsb7 faldo:position ?thisPositionOn10 ;
    rdf:type faldo:ExactPosition .
  ?pfse8 faldo:position ?thisPositionOn11 ;
    rdf:type faldo:ExactPosition .
  ?ligand9 rdfs:subClassOf chebi:30408 .
  ?annotation12 faldo:begin ?pfsb13 ;
    faldo:end ?pfse14 ;
    up:ligand ?ligand15 ;
    rdf:type up:Binding_Site_Annotation .
  ?pfsb13 faldo:position ?thisPositionOn16 ;
    rdf:type faldo:ExactPosition .
  ?pfse14 faldo:position ?thisPositionOn17 ;
    rdf:type faldo:ExactPosition .
  ?ligand15 rdfs:subClassOf chebi:30408 .
  ?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:30408 .
  ?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:30408 .
  _:573625 a rdf:Statement ;
    up:attribution _:573609 ;
    rdf:subject ?this ;
    rdf:predicate up:recommendedName ;
    rdf:object ?name0 .
  _:573626 a rdf:Statement ;
    up:attribution _:573610 ;
    rdf:subject ?gene1 ;
    rdf:predicate up:encodedBy ;
    rdf:object ?gene1 .
  _:573627 a rdf:Statement ;
    up:attribution _:573611 ;
    rdf:subject ?this ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation2 .
  _:573628 a rdf:Statement ;
    up:attribution _:573612 ;
    rdf:subject ?this ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation3 .
  _:573629 a rdf:Statement ;
    up:attribution _:573613 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object keyword:238 .
  _:573630 a rdf:Statement ;
    up:attribution _:573614 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object keyword:678 .
  _:573631 a rdf:Statement ;
    up:attribution _:573615 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object keyword:804 .
  _:573632 a rdf:Statement ;
    up:attribution _:573616 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object keyword:805 .
  _:573633 a rdf:Statement ;
    up:attribution _:573617 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object GO:0005506 .
  _:573634 a rdf:Statement ;
    up:attribution _:573618 ;
    rdf:subject ?case4 ;
    rdf:predicate up:classifiedWith ;
    rdf:object keyword:408 .
  _:573635 a rdf:Statement ;
    up:attribution _:573619 ;
    rdf:subject ?case4 ;
    rdf:predicate up:classifiedWith ;
    rdf:object keyword:411 .
  _:573636 a rdf:Statement ;
    up:attribution _:573620 ;
    rdf:subject ?case4 ;
    rdf:predicate up:classifiedWith ;
    rdf:object keyword:479 .
  _:573637 a rdf:Statement ;
    up:source unirule:MF_01586 ;
    rdf:subject ?pfs5 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation6 .
  _:573638 a rdf:Statement ;
    up:attribution _:573621 ;
    rdf:subject ?pfs5 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation6 .
  _:573639 a rdf:Statement ;
    up:source unirule:MF_01586 ;
    rdf:subject ?pfs5 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation12 .
  _:573640 a rdf:Statement ;
    up:attribution _:573622 ;
    rdf:subject ?pfs5 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation12 .
  _:573641 a rdf:Statement ;
    up:source unirule:MF_01586 ;
    rdf:subject ?pfs5 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation18 .
  _:573642 a rdf:Statement ;
    up:attribution _:573623 ;
    rdf:subject ?pfs5 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation18 .
  _:573643 a rdf:Statement ;
    up:source unirule:MF_01586 ;
    rdf:subject ?pfs5 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation24 .
  _:573644 a rdf:Statement ;
    up:attribution _:573624 ;
    rdf:subject ?pfs5 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation24 .
}
WHERE {
  #baseURI: http://purl.uniprot.org/unirule/MF_01586
  #Rule MF_01586 Created by:? on:2007-11-14 Modified by:Edouard de Castro on:2022-11-19
  ?this up:organism ?thisOrganism ;
    rdfs:seeAlso signature:MF_01586 .
  ?thisOrganism rdfs:subClassOf+ taxon:91347 .
  BIND(URI(CONCAT(STR(?this), '#MF_01586a0')) AS ?name0) .
  BIND(URI(CONCAT(STR(?this), '#MF_01586a2')) AS ?annotation2) .
  BIND(URI(CONCAT(STR(?this), '#MF_01586a3')) AS ?annotation3) .
  OPTIONAL {
    ?this up:sequence ?thisSequence .
    ?thisSequence rdf:value ?thisSequenceValue .
    ?templateMotifMatch34 faldo:location ?templateMotifSequenceMatchRegionP6463835 ;
      edam:is_output_of ?templateMotifSequenceProfileAlignmentOperationP6463837 ;
      rdf:type edam:data_0869 ;
      rdf:value ?templateMotifCigarP64638MF_0158630 .
    ?templateMotifSequenceMatchRegionP6463835 faldo:begin ?templateMotifSequenceMatchBeginP6463836 .
    ?templateMotifSequenceMatchBeginP6463836 faldo:position ?templateMotifSequenceMatchBeginPositionP6463831 ;
      faldo:reference isoform:P64638-1 .
    ?templateMotifSequenceProfileAlignmentOperationP6463837 edam:has_input signature:MF_01586 ;
      rdf:type edam:operation_0300 .
    ?targetMotifMatch38 faldo:location ?targetMotifMatchRegionMatch39 ;
      edam:is_output_of ?targetMotifSequenceAlignmentOperationMF_0158641 ;
      rdf:type edam:data_0869 ;
      rdf:value ?targetMotifMatchCigarP64638MF_0158632 .
    ?targetMotifMatchRegionMatch39 faldo:begin ?targetMotifMatchRegionMatchBeginMF_0158640 .
    ?targetMotifMatchRegionMatchBeginMF_0158640 faldo:position ?targetMotifMatchRegionMatchBeginPositionMF_0158633 ;
      faldo:reference ?thisSequence .
    ?targetMotifSequenceAlignmentOperationMF_0158641 edam:has_input signature:MF_01586 ;
      rdf:type edam:operation_0300 .
    BIND(?this AS ?tagFTGRP_1) .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarP64638MF_0158630, 1, (STRLEN(?templateMotifCigarP64638MF_0158630) - STRLEN(REPLACE(?templateMotifCigarP64638MF_0158630, CONCAT('^(?:-*[^-]){', STR(((56 - ?templateMotifSequenceMatchBeginPositionP6463831) + 1)), '}'), '')))), '[a-z]', '')) AS ?step142) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarP64638MF_0158632, 1, (STRLEN(?targetMotifMatchCigarP64638MF_0158632) - STRLEN(REPLACE(?targetMotifMatchCigarP64638MF_0158632, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step142), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarP64638MF_0158632, 1, (STRLEN(?targetMotifMatchCigarP64638MF_0158632) - STRLEN(REPLACE(?targetMotifMatchCigarP64638MF_0158632, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step142), '}'), '')))), '[^-]', ''))) AS ?step243) .
    BIND(((?step243 + ?targetMotifMatchRegionMatchBeginPositionMF_0158633) - 1) AS ?thisPositionOn10) .
    BIND(?thisPositionOn10 AS ?thisPositionOn11) .
    BIND(?this AS ?pfs1t44) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn10))) AS ?pfsb7) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn11))) AS ?pfse8) .
    FILTER ((SUBSTR(?thisSequenceValue, ?thisPositionOn10, 1) = 'C')) .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarP64638MF_0158630, 1, (STRLEN(?templateMotifCigarP64638MF_0158630) - STRLEN(REPLACE(?templateMotifCigarP64638MF_0158630, CONCAT('^(?:-*[^-]){', STR(((61 - ?templateMotifSequenceMatchBeginPositionP6463831) + 1)), '}'), '')))), '[a-z]', '')) AS ?step145) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarP64638MF_0158632, 1, (STRLEN(?targetMotifMatchCigarP64638MF_0158632) - STRLEN(REPLACE(?targetMotifMatchCigarP64638MF_0158632, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step145), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarP64638MF_0158632, 1, (STRLEN(?targetMotifMatchCigarP64638MF_0158632) - STRLEN(REPLACE(?targetMotifMatchCigarP64638MF_0158632, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step145), '}'), '')))), '[^-]', ''))) AS ?step246) .
    BIND(((?step246 + ?targetMotifMatchRegionMatchBeginPositionMF_0158633) - 1) AS ?thisPositionOn16) .
    BIND(?thisPositionOn16 AS ?thisPositionOn17) .
    BIND(?this AS ?pfs1t47) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn16))) AS ?pfsb13) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn17))) AS ?pfse14) .
    FILTER ((SUBSTR(?thisSequenceValue, ?thisPositionOn16, 1) = 'C')) .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarP64638MF_0158630, 1, (STRLEN(?templateMotifCigarP64638MF_0158630) - STRLEN(REPLACE(?templateMotifCigarP64638MF_0158630, CONCAT('^(?:-*[^-]){', STR(((64 - ?templateMotifSequenceMatchBeginPositionP6463831) + 1)), '}'), '')))), '[a-z]', '')) AS ?step148) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarP64638MF_0158632, 1, (STRLEN(?targetMotifMatchCigarP64638MF_0158632) - STRLEN(REPLACE(?targetMotifMatchCigarP64638MF_0158632, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step148), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarP64638MF_0158632, 1, (STRLEN(?targetMotifMatchCigarP64638MF_0158632) - STRLEN(REPLACE(?targetMotifMatchCigarP64638MF_0158632, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step148), '}'), '')))), '[^-]', ''))) AS ?step249) .
    BIND(((?step249 + ?targetMotifMatchRegionMatchBeginPositionMF_0158633) - 1) AS ?thisPositionOn22) .
    BIND(?thisPositionOn22 AS ?thisPositionOn23) .
    BIND(?this AS ?pfs1t50) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn22))) AS ?pfsb19) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn23))) AS ?pfse20) .
    FILTER ((SUBSTR(?thisSequenceValue, ?thisPositionOn22, 1) = 'C')) .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarP64638MF_0158630, 1, (STRLEN(?templateMotifCigarP64638MF_0158630) - STRLEN(REPLACE(?templateMotifCigarP64638MF_0158630, CONCAT('^(?:-*[^-]){', STR(((70 - ?templateMotifSequenceMatchBeginPositionP6463831) + 1)), '}'), '')))), '[a-z]', '')) AS ?step151) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarP64638MF_0158632, 1, (STRLEN(?targetMotifMatchCigarP64638MF_0158632) - STRLEN(REPLACE(?targetMotifMatchCigarP64638MF_0158632, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step151), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarP64638MF_0158632, 1, (STRLEN(?targetMotifMatchCigarP64638MF_0158632) - STRLEN(REPLACE(?targetMotifMatchCigarP64638MF_0158632, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step151), '}'), '')))), '[^-]', ''))) AS ?step252) .
    BIND(((?step252 + ?targetMotifMatchRegionMatchBeginPositionMF_0158633) - 1) AS ?thisPositionOn28) .
    BIND(?thisPositionOn28 AS ?thisPositionOn29) .
    BIND(?this AS ?pfs1t53) .
    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) = 'C')) .
    BIND(?this AS ?pfs5) .
  }
  OPTIONAL {
    ?this a up:Protein .
    BIND(?this AS ?caseWithTag54) .
  }
  BIND(IF(BOUND(?tagFTGRP_1), ?caseWithTag54, ?UNBOUND_VARIABLE) AS ?case4) .
}
""" .

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