@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_01611#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_01611#construct-template-1>,
    <http://purl.uniprot.org/unirules/MF_01611#construct-template-0>, <http://purl.uniprot.org/unirules/MF_01611#construct-template-5>,
    <http://purl.uniprot.org/unirules/MF_01611#construct-template-4>, <http://purl.uniprot.org/unirules/MF_01611#construct-template-3>,
    <http://purl.uniprot.org/unirules/MF_01611#construct-template-2>, <http://purl.uniprot.org/unirules/MF_01611#construct-template-12>,
    <http://purl.uniprot.org/unirules/MF_01611#construct-template-11>, <http://purl.uniprot.org/unirules/MF_01611#construct-template-10>,
    <http://purl.uniprot.org/unirules/MF_01611#construct-template-16>, <http://purl.uniprot.org/unirules/MF_01611#construct-template-15>,
    <http://purl.uniprot.org/unirules/MF_01611#construct-template-14>, <http://purl.uniprot.org/unirules/MF_01611#construct-template-13>,
    <http://purl.uniprot.org/unirules/MF_01611#construct-template-20>, <http://purl.uniprot.org/unirules/MF_01611#construct-template-24>,
    <http://purl.uniprot.org/unirules/MF_01611#construct-template-23>, <http://purl.uniprot.org/unirules/MF_01611#construct-template-22>,
    <http://purl.uniprot.org/unirules/MF_01611#construct-template-21>, <http://purl.uniprot.org/unirules/MF_01611#construct-template-28>,
    <http://purl.uniprot.org/unirules/MF_01611#construct-template-27>, <http://purl.uniprot.org/unirules/MF_01611#construct-template-26>,
    <http://purl.uniprot.org/unirules/MF_01611#construct-template-25>, <http://purl.uniprot.org/unirules/MF_01611#construct-template-19>,
    <http://purl.uniprot.org/unirules/MF_01611#construct-template-18>, <http://purl.uniprot.org/unirules/MF_01611#construct-template-17>,
    <http://purl.uniprot.org/unirules/MF_01611#construct-template-9>, <http://purl.uniprot.org/unirules/MF_01611#construct-template-8>,
    <http://purl.uniprot.org/unirules/MF_01611#construct-template-7>, <http://purl.uniprot.org/unirules/MF_01611#construct-template-6>,
    <http://purl.uniprot.org/unirules/MF_01611#construct-template-72>, <http://purl.uniprot.org/unirules/MF_01611#construct-template-58>,
    <http://purl.uniprot.org/unirules/MF_01611#construct-template-60>, <http://purl.uniprot.org/unirules/MF_01611#construct-template-68>,
    <http://purl.uniprot.org/unirules/MF_01611#construct-template-76>, <http://purl.uniprot.org/unirules/MF_01611#construct-template-32>,
    <http://purl.uniprot.org/unirules/MF_01611#construct-template-39>, <http://purl.uniprot.org/unirules/MF_01611#construct-template-52>,
    <http://purl.uniprot.org/unirules/MF_01611#construct-template-45>, <http://purl.uniprot.org/unirules/MF_01611#construct-template-51>,
    <http://purl.uniprot.org/unirules/MF_01611#construct-template-99>, <http://purl.uniprot.org/unirules/MF_01611#construct-template-75>,
    <http://purl.uniprot.org/unirules/MF_01611#construct-template-38>, <http://purl.uniprot.org/unirules/MF_01611#construct-template-50>,
    <http://purl.uniprot.org/unirules/MF_01611#construct-template-41>, <http://purl.uniprot.org/unirules/MF_01611#construct-template-71>,
    <http://purl.uniprot.org/unirules/MF_01611#construct-template-98>, <http://purl.uniprot.org/unirules/MF_01611#construct-template-74>,
    <http://purl.uniprot.org/unirules/MF_01611#construct-template-73>, <http://purl.uniprot.org/unirules/MF_01611#construct-template-43>,
    <http://purl.uniprot.org/unirules/MF_01611#construct-template-97>, <http://purl.uniprot.org/unirules/MF_01611#construct-template-33>,
    <http://purl.uniprot.org/unirules/MF_01611#construct-template-61>, <http://purl.uniprot.org/unirules/MF_01611#construct-template-94>,
    <http://purl.uniprot.org/unirules/MF_01611#construct-template-56>, <http://purl.uniprot.org/unirules/MF_01611#construct-template-69>,
    <http://purl.uniprot.org/unirules/MF_01611#construct-template-79>, <http://purl.uniprot.org/unirules/MF_01611#construct-template-46>,
    <http://purl.uniprot.org/unirules/MF_01611#construct-template-55>, <http://purl.uniprot.org/unirules/MF_01611#construct-template-31>,
    <http://purl.uniprot.org/unirules/MF_01611#construct-template-57>, <http://purl.uniprot.org/unirules/MF_01611#construct-template-54>,
    <http://purl.uniprot.org/unirules/MF_01611#construct-template-30>, <http://purl.uniprot.org/unirules/MF_01611#construct-template-78>,
    <http://purl.uniprot.org/unirules/MF_01611#construct-template-83>, <http://purl.uniprot.org/unirules/MF_01611#construct-template-35>,
    <http://purl.uniprot.org/unirules/MF_01611#construct-template-77>, <http://purl.uniprot.org/unirules/MF_01611#construct-template-53>,
    <http://purl.uniprot.org/unirules/MF_01611#construct-template-47>, <http://purl.uniprot.org/unirules/MF_01611#construct-template-66>,
    <http://purl.uniprot.org/unirules/MF_01611#construct-template-37>, <http://purl.uniprot.org/unirules/MF_01611#construct-template-81>,
    <http://purl.uniprot.org/unirules/MF_01611#construct-template-36>, <http://purl.uniprot.org/unirules/MF_01611#construct-template-59>,
    <http://purl.uniprot.org/unirules/MF_01611#construct-template-70>, <http://purl.uniprot.org/unirules/MF_01611#construct-template-80>,
    <http://purl.uniprot.org/unirules/MF_01611#construct-template-62>, <http://purl.uniprot.org/unirules/MF_01611#construct-template-34>,
    <http://purl.uniprot.org/unirules/MF_01611#construct-template-29>, <http://purl.uniprot.org/unirules/MF_01611#construct-template-44>,
    <http://purl.uniprot.org/unirules/MF_01611#construct-template-92>, <http://purl.uniprot.org/unirules/MF_01611#construct-template-40>,
    <http://purl.uniprot.org/unirules/MF_01611#construct-template-48>, <http://purl.uniprot.org/unirules/MF_01611#construct-template-91>,
    <http://purl.uniprot.org/unirules/MF_01611#construct-template-102>, <http://purl.uniprot.org/unirules/MF_01611#construct-template-49>,
    <http://purl.uniprot.org/unirules/MF_01611#construct-template-65>, <http://purl.uniprot.org/unirules/MF_01611#construct-template-63>,
    <http://purl.uniprot.org/unirules/MF_01611#construct-template-87>, <http://purl.uniprot.org/unirules/MF_01611#construct-template-90>,
    <http://purl.uniprot.org/unirules/MF_01611#construct-template-103>, <http://purl.uniprot.org/unirules/MF_01611#construct-template-64>,
    <http://purl.uniprot.org/unirules/MF_01611#construct-template-100>, <http://purl.uniprot.org/unirules/MF_01611#construct-template-101>,
    <http://purl.uniprot.org/unirules/MF_01611#construct-template-96>, <http://purl.uniprot.org/unirules/MF_01611#construct-template-95>,
    <http://purl.uniprot.org/unirules/MF_01611#construct-template-93>, <http://purl.uniprot.org/unirules/MF_01611#construct-template-85>,
    <http://purl.uniprot.org/unirules/MF_01611#construct-template-67>, <http://purl.uniprot.org/unirules/MF_01611#construct-template-42>,
    <http://purl.uniprot.org/unirules/MF_01611#construct-template-88>, <http://purl.uniprot.org/unirules/MF_01611#construct-template-86>,
    <http://purl.uniprot.org/unirules/MF_01611#construct-template-84>, <http://purl.uniprot.org/unirules/MF_01611#construct-template-89>,
    <http://purl.uniprot.org/unirules/MF_01611#construct-template-82>;
  <http://www.w3.org/ns/shacl#prefixes> <http://purl.uniprot.org/unirules/>;
  <http://spinrdf.org/sp#where> <http://purl.uniprot.org/unirules/MF_01611#construct-where-list-0>;
  <http://spinrdf.org/sp#templates> <http://purl.uniprot.org/unirules/MF_01611#construct-template-list-0>;
  <http://www.w3.org/ns/shacl#construct> """CONSTRUCT {
  _:582733 up:source unirule:MF_01611 .
  _:582734 up:source unirule:MF_01611 .
  _:582735 up:source unirule:MF_01611 .
  _:582736 up:source unirule:MF_01611 .
  _:582737 up:source unirule:MF_01611 .
  _:582738 up:source unirule:MF_01611 .
  _:582739 up:source unirule:MF_01611 .
  _:582740 up:source unirule:MF_01611 .
  _:582741 up:source unirule:MF_01611 .
  _:582742 up:source unirule:MF_01611 .
  _:582743 up:source unirule:MF_01611 .
  _:582744 up:source unirule:MF_01611 .
  _:582745 up:source unirule:MF_01611 .
  _:582746 up:source unirule:MF_01611 .
  _:582747 up:source unirule:MF_01611 .
  _:582748 up:source unirule:MF_01611 .
  _:582749 up:source unirule:MF_01611 .
  _:582750 up:source unirule:MF_01611 .
  _:582751 up:source unirule:MF_01611 .
  ?this up:alternativeName ?name1 ;
    up:annotation ?annotation3 ,
      ?annotation4 ,
      ?annotation6 ,
      ?annotation7 ,
      ?annotation8 ;
    up:classifiedWith GO:0016841 ,
      keyword:456 ;
    up:recommendedName ?name0 .
  ?name0 up:ecName '4.3.1.32' ;
    up:fullName '7,8-didemethyl-8-hydroxy-5-deazariboflavin synthase' ;
    rdf:type up:Structured_Name .
  ?name1 up:fullName 'FO synthase subunit 1' ;
    rdf:type up:Structured_Name .
  ?gene2 skos:prefLabel 'cofG' .
  ?annotation3 a up:Function_Annotation ;
    rdfs:comment 'Catalyzes the radical-mediated synthesis of 7,8-didemethyl-8-hydroxy-5-deazariboflavin (FO) from 5-amino-5-(4-hydroxybenzyl)-6-(D-ribitylimino)-5,6-dihydrouracil.' .
  ?annotation4 up:activity ?activity5 ;
    rdf:type up:Catalytic_Activity_Annotation .
  ?activity5 up:catalyticActivity <http://rdf.rhea-db.org/55204>;
    up:enzymeClass <http://purl.uniprot.org/enzyme/4.3.1.32>.
  ?annotation6 a up:Pathway_Annotation ;
    rdfs:comment 'Cofactor biosynthesis; coenzyme F0 biosynthesis.' .
  ?annotation7 a up:Subunit_Annotation ;
    rdfs:comment 'The FO synthase complex consists of two subunits, CofG and CofH.' .
  ?annotation8 a up:Similarity_Annotation ;
    rdfs:comment 'Belongs to the radical SAM superfamily. CofG family.' .
  ?case9 up:classifiedWith GO:0005506 ,
      keyword:408 ,
      keyword:411 ,
      keyword:479 ,
      keyword:4 ,
      keyword:949 .
  ?pfs10 up:annotation ?annotation11 ,
      ?annotation17 ,
      ?annotation23 .
  ?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:49883 .
  ?annotation17 faldo:begin ?pfsb18 ;
    faldo:end ?pfse19 ;
    up:ligand ?ligand20 ;
    rdf:type up:Binding_Site_Annotation .
  ?pfsb18 faldo:position ?thisPositionOn21 ;
    rdf:type faldo:ExactPosition .
  ?pfse19 faldo:position ?thisPositionOn22 ;
    rdf:type faldo:ExactPosition .
  ?ligand20 rdfs:subClassOf chebi:49883 .
  ?annotation23 faldo:begin ?pfsb24 ;
    faldo:end ?pfse25 ;
    up:ligand ?ligand26 ;
    rdf:type up:Binding_Site_Annotation .
  ?pfsb24 faldo:position ?thisPositionOn27 ;
    rdf:type faldo:ExactPosition .
  ?pfse25 faldo:position ?thisPositionOn28 ;
    rdf:type faldo:ExactPosition .
  ?ligand26 rdfs:subClassOf chebi:49883 .
  _:582752 a rdf:Statement ;
    up:attribution _:582733 ;
    rdf:subject ?this ;
    rdf:predicate up:recommendedName ;
    rdf:object ?name0 .
  _:582753 a rdf:Statement ;
    up:attribution _:582734 ;
    rdf:subject ?this ;
    rdf:predicate up:alternativeName ;
    rdf:object ?name1 .
  _:582754 a rdf:Statement ;
    up:attribution _:582735 ;
    rdf:subject ?gene2 ;
    rdf:predicate up:encodedBy ;
    rdf:object ?gene2 .
  _:582755 a rdf:Statement ;
    up:attribution _:582736 ;
    rdf:subject ?this ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation3 .
  _:582756 a rdf:Statement ;
    up:attribution _:582737 ;
    rdf:subject ?this ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation4 .
  _:582757 a rdf:Statement ;
    up:attribution _:582738 ;
    rdf:subject ?this ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation6 .
  _:582758 a rdf:Statement ;
    up:attribution _:582739 ;
    rdf:subject ?this ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation7 .
  _:582759 a rdf:Statement ;
    up:attribution _:582740 ;
    rdf:subject ?this ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation8 .
  _:582760 a rdf:Statement ;
    up:attribution _:582741 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object keyword:456 .
  _:582761 a rdf:Statement ;
    up:attribution _:582742 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object GO:0016841 .
  _:582762 a rdf:Statement ;
    up:attribution _:582743 ;
    rdf:subject ?case9 ;
    rdf:predicate up:classifiedWith ;
    rdf:object keyword:4 .
  _:582763 a rdf:Statement ;
    up:attribution _:582744 ;
    rdf:subject ?case9 ;
    rdf:predicate up:classifiedWith ;
    rdf:object keyword:408 .
  _:582764 a rdf:Statement ;
    up:attribution _:582745 ;
    rdf:subject ?case9 ;
    rdf:predicate up:classifiedWith ;
    rdf:object keyword:411 .
  _:582765 a rdf:Statement ;
    up:attribution _:582746 ;
    rdf:subject ?case9 ;
    rdf:predicate up:classifiedWith ;
    rdf:object keyword:479 .
  _:582766 a rdf:Statement ;
    up:attribution _:582747 ;
    rdf:subject ?case9 ;
    rdf:predicate up:classifiedWith ;
    rdf:object keyword:949 .
  _:582767 a rdf:Statement ;
    up:attribution _:582748 ;
    rdf:subject ?case9 ;
    rdf:predicate up:classifiedWith ;
    rdf:object GO:0005506 .
  _:582768 a rdf:Statement ;
    up:source unirule:MF_01611 ;
    rdf:subject ?pfs10 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation11 .
  _:582769 a rdf:Statement ;
    up:attribution _:582749 ;
    rdf:subject ?pfs10 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation11 .
  _:582770 a rdf:Statement ;
    up:source unirule:MF_01611 ;
    rdf:subject ?pfs10 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation17 .
  _:582771 a rdf:Statement ;
    up:attribution _:582750 ;
    rdf:subject ?pfs10 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation17 .
  _:582772 a rdf:Statement ;
    up:source unirule:MF_01611 ;
    rdf:subject ?pfs10 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation23 .
  _:582773 a rdf:Statement ;
    up:attribution _:582751 ;
    rdf:subject ?pfs10 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation23 .
}
WHERE {
  #baseURI: http://purl.uniprot.org/unirule/MF_01611
  #Rule MF_01611 Created by:? on:2005-06-13 Modified by:Catherine Rivoire on:2024-10-08
  VALUES ?supertaxon29 {taxon:1117 taxon:3366610}
  ?this up:organism ?thisOrganism ;
    rdfs:seeAlso signature:MF_01611 .
  ?thisOrganism rdfs:subClassOf+ ?supertaxon29 .
  BIND(URI(CONCAT(STR(?this), '#MF_01611a0')) AS ?name0) .
  BIND(URI(CONCAT(STR(?this), '#MF_01611a1')) AS ?name1) .
  BIND(URI(CONCAT(STR(?this), '#MF_01611a3')) AS ?annotation3) .
  BIND(URI(CONCAT(STR(?this), '#MF_01611a4')) AS ?annotation4) .
  BIND(URI(CONCAT(STR(?this), '#MF_01611a6')) AS ?annotation6) .
  BIND(URI(CONCAT(STR(?this), '#MF_01611a7')) AS ?annotation7) .
  BIND(URI(CONCAT(STR(?this), '#MF_01611a8')) AS ?annotation8) .
  OPTIONAL {
    ?this up:sequence ?thisSequence .
    ?thisSequence rdf:value ?thisSequenceValue .
    ?templateMotifMatch34 faldo:location ?templateMotifSequenceMatchRegionQ5788835 ;
      edam:is_output_of ?templateMotifSequenceProfileAlignmentOperationQ5788837 ;
      rdf:type edam:data_0869 ;
      rdf:value ?templateMotifCigarQ57888MF_0161130 .
    ?templateMotifSequenceMatchRegionQ5788835 faldo:begin ?templateMotifSequenceMatchBeginQ5788836 .
    ?templateMotifSequenceMatchBeginQ5788836 faldo:position ?templateMotifSequenceMatchBeginPositionQ5788831 ;
      faldo:reference isoform:Q57888-1 .
    ?templateMotifSequenceProfileAlignmentOperationQ5788837 edam:has_input signature:MF_01611 ;
      rdf:type edam:operation_0300 .
    ?targetMotifMatch38 faldo:location ?targetMotifMatchRegionMatch39 ;
      edam:is_output_of ?targetMotifSequenceAlignmentOperationMF_0161141 ;
      rdf:type edam:data_0869 ;
      rdf:value ?targetMotifMatchCigarQ57888MF_0161132 .
    ?targetMotifMatchRegionMatch39 faldo:begin ?targetMotifMatchRegionMatchBeginMF_0161140 .
    ?targetMotifMatchRegionMatchBeginMF_0161140 faldo:position ?targetMotifMatchRegionMatchBeginPositionMF_0161133 ;
      faldo:reference ?thisSequence .
    ?targetMotifSequenceAlignmentOperationMF_0161141 edam:has_input signature:MF_01611 ;
      rdf:type edam:operation_0300 .
    BIND(?this AS ?tagFTGRP_1) .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarQ57888MF_0161130, 1, (STRLEN(?templateMotifCigarQ57888MF_0161130) - STRLEN(REPLACE(?templateMotifCigarQ57888MF_0161130, CONCAT('^(?:-*[^-]){', STR(((49 - ?templateMotifSequenceMatchBeginPositionQ5788831) + 1)), '}'), '')))), '[a-z]', '')) AS ?step142) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarQ57888MF_0161132, 1, (STRLEN(?targetMotifMatchCigarQ57888MF_0161132) - STRLEN(REPLACE(?targetMotifMatchCigarQ57888MF_0161132, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step142), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarQ57888MF_0161132, 1, (STRLEN(?targetMotifMatchCigarQ57888MF_0161132) - STRLEN(REPLACE(?targetMotifMatchCigarQ57888MF_0161132, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step142), '}'), '')))), '[^-]', ''))) AS ?step243) .
    BIND(((?step243 + ?targetMotifMatchRegionMatchBeginPositionMF_0161133) - 1) AS ?thisPositionOn15) .
    BIND(?thisPositionOn15 AS ?thisPositionOn16) .
    BIND(?this AS ?pfs1t44) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn15))) AS ?pfsb12) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn16))) AS ?pfse13) .
    FILTER ((SUBSTR(?thisSequenceValue, ?thisPositionOn15, 1) = 'C')) .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarQ57888MF_0161130, 1, (STRLEN(?templateMotifCigarQ57888MF_0161130) - STRLEN(REPLACE(?templateMotifCigarQ57888MF_0161130, CONCAT('^(?:-*[^-]){', STR(((53 - ?templateMotifSequenceMatchBeginPositionQ5788831) + 1)), '}'), '')))), '[a-z]', '')) AS ?step145) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarQ57888MF_0161132, 1, (STRLEN(?targetMotifMatchCigarQ57888MF_0161132) - STRLEN(REPLACE(?targetMotifMatchCigarQ57888MF_0161132, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step145), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarQ57888MF_0161132, 1, (STRLEN(?targetMotifMatchCigarQ57888MF_0161132) - STRLEN(REPLACE(?targetMotifMatchCigarQ57888MF_0161132, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step145), '}'), '')))), '[^-]', ''))) AS ?step246) .
    BIND(((?step246 + ?targetMotifMatchRegionMatchBeginPositionMF_0161133) - 1) AS ?thisPositionOn21) .
    BIND(?thisPositionOn21 AS ?thisPositionOn22) .
    BIND(?this AS ?pfs1t47) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn21))) AS ?pfsb18) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn22))) AS ?pfse19) .
    FILTER ((SUBSTR(?thisSequenceValue, ?thisPositionOn21, 1) = 'C')) .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarQ57888MF_0161130, 1, (STRLEN(?templateMotifCigarQ57888MF_0161130) - STRLEN(REPLACE(?templateMotifCigarQ57888MF_0161130, CONCAT('^(?:-*[^-]){', STR(((56 - ?templateMotifSequenceMatchBeginPositionQ5788831) + 1)), '}'), '')))), '[a-z]', '')) AS ?step148) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarQ57888MF_0161132, 1, (STRLEN(?targetMotifMatchCigarQ57888MF_0161132) - STRLEN(REPLACE(?targetMotifMatchCigarQ57888MF_0161132, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step148), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarQ57888MF_0161132, 1, (STRLEN(?targetMotifMatchCigarQ57888MF_0161132) - STRLEN(REPLACE(?targetMotifMatchCigarQ57888MF_0161132, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step148), '}'), '')))), '[^-]', ''))) AS ?step249) .
    BIND(((?step249 + ?targetMotifMatchRegionMatchBeginPositionMF_0161133) - 1) AS ?thisPositionOn27) .
    BIND(?thisPositionOn27 AS ?thisPositionOn28) .
    BIND(?this AS ?pfs1t50) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn27))) AS ?pfsb24) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn28))) AS ?pfse25) .
    FILTER ((SUBSTR(?thisSequenceValue, ?thisPositionOn27, 1) = 'C')) .
    BIND(?this AS ?pfs10) .
  }
  OPTIONAL {
    ?this a up:Protein .
    BIND(?this AS ?caseWithTag51) .
  }
  BIND(IF(BOUND(?tagFTGRP_1), ?caseWithTag51, ?UNBOUND_VARIABLE) AS ?case9) .
}
""" .

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