@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_03226#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_03226#construct-template-9>,
    <http://purl.uniprot.org/unirules/MF_03226#construct-template-8>, <http://purl.uniprot.org/unirules/MF_03226#construct-template-5>,
    <http://purl.uniprot.org/unirules/MF_03226#construct-template-4>, <http://purl.uniprot.org/unirules/MF_03226#construct-template-7>,
    <http://purl.uniprot.org/unirules/MF_03226#construct-template-6>, <http://purl.uniprot.org/unirules/MF_03226#construct-template-0>,
    <http://purl.uniprot.org/unirules/MF_03226#construct-template-1>, <http://purl.uniprot.org/unirules/MF_03226#construct-template-10>,
    <http://purl.uniprot.org/unirules/MF_03226#construct-template-3>, <http://purl.uniprot.org/unirules/MF_03226#construct-template-2>,
    <http://purl.uniprot.org/unirules/MF_03226#construct-template-12>, <http://purl.uniprot.org/unirules/MF_03226#construct-template-11>,
    <http://purl.uniprot.org/unirules/MF_03226#construct-template-14>, <http://purl.uniprot.org/unirules/MF_03226#construct-template-13>,
    <http://purl.uniprot.org/unirules/MF_03226#construct-template-16>, <http://purl.uniprot.org/unirules/MF_03226#construct-template-15>,
    <http://purl.uniprot.org/unirules/MF_03226#construct-template-18>, <http://purl.uniprot.org/unirules/MF_03226#construct-template-17>,
    <http://purl.uniprot.org/unirules/MF_03226#construct-template-19>, <http://purl.uniprot.org/unirules/MF_03226#construct-template-20>,
    <http://purl.uniprot.org/unirules/MF_03226#construct-template-22>, <http://purl.uniprot.org/unirules/MF_03226#construct-template-21>,
    <http://purl.uniprot.org/unirules/MF_03226#construct-template-24>, <http://purl.uniprot.org/unirules/MF_03226#construct-template-23>,
    <http://purl.uniprot.org/unirules/MF_03226#construct-template-26>, <http://purl.uniprot.org/unirules/MF_03226#construct-template-25>,
    <http://purl.uniprot.org/unirules/MF_03226#construct-template-40>, <http://purl.uniprot.org/unirules/MF_03226#construct-template-65>,
    <http://purl.uniprot.org/unirules/MF_03226#construct-template-59>, <http://purl.uniprot.org/unirules/MF_03226#construct-template-58>,
    <http://purl.uniprot.org/unirules/MF_03226#construct-template-38>, <http://purl.uniprot.org/unirules/MF_03226#construct-template-63>,
    <http://purl.uniprot.org/unirules/MF_03226#construct-template-52>, <http://purl.uniprot.org/unirules/MF_03226#construct-template-33>,
    <http://purl.uniprot.org/unirules/MF_03226#construct-template-42>, <http://purl.uniprot.org/unirules/MF_03226#construct-template-90>,
    <http://purl.uniprot.org/unirules/MF_03226#construct-template-30>, <http://purl.uniprot.org/unirules/MF_03226#construct-template-54>,
    <http://purl.uniprot.org/unirules/MF_03226#construct-template-37>, <http://purl.uniprot.org/unirules/MF_03226#construct-template-92>,
    <http://purl.uniprot.org/unirules/MF_03226#construct-template-44>, <http://purl.uniprot.org/unirules/MF_03226#construct-template-85>,
    <http://purl.uniprot.org/unirules/MF_03226#construct-template-35>, <http://purl.uniprot.org/unirules/MF_03226#construct-template-57>,
    <http://purl.uniprot.org/unirules/MF_03226#construct-template-91>, <http://purl.uniprot.org/unirules/MF_03226#construct-template-49>,
    <http://purl.uniprot.org/unirules/MF_03226#construct-template-94>, <http://purl.uniprot.org/unirules/MF_03226#construct-template-70>,
    <http://purl.uniprot.org/unirules/MF_03226#construct-template-48>, <http://purl.uniprot.org/unirules/MF_03226#construct-template-74>,
    <http://purl.uniprot.org/unirules/MF_03226#construct-template-93>, <http://purl.uniprot.org/unirules/MF_03226#construct-template-45>,
    <http://purl.uniprot.org/unirules/MF_03226#construct-template-51>, <http://purl.uniprot.org/unirules/MF_03226#construct-template-72>,
    <http://purl.uniprot.org/unirules/MF_03226#construct-template-95>, <http://purl.uniprot.org/unirules/MF_03226#construct-template-71>,
    <http://purl.uniprot.org/unirules/MF_03226#construct-template-39>, <http://purl.uniprot.org/unirules/MF_03226#construct-template-67>,
    <http://purl.uniprot.org/unirules/MF_03226#construct-template-50>, <http://purl.uniprot.org/unirules/MF_03226#construct-template-41>,
    <http://purl.uniprot.org/unirules/MF_03226#construct-template-80>, <http://purl.uniprot.org/unirules/MF_03226#construct-template-31>,
    <http://purl.uniprot.org/unirules/MF_03226#construct-template-73>, <http://purl.uniprot.org/unirules/MF_03226#construct-template-64>,
    <http://purl.uniprot.org/unirules/MF_03226#construct-template-76>, <http://purl.uniprot.org/unirules/MF_03226#construct-template-87>,
    <http://purl.uniprot.org/unirules/MF_03226#construct-template-56>, <http://purl.uniprot.org/unirules/MF_03226#construct-template-75>,
    <http://purl.uniprot.org/unirules/MF_03226#construct-template-78>, <http://purl.uniprot.org/unirules/MF_03226#construct-template-53>,
    <http://purl.uniprot.org/unirules/MF_03226#construct-template-32>, <http://purl.uniprot.org/unirules/MF_03226#construct-template-60>,
    <http://purl.uniprot.org/unirules/MF_03226#construct-template-77>, <http://purl.uniprot.org/unirules/MF_03226#construct-template-82>,
    <http://purl.uniprot.org/unirules/MF_03226#construct-template-47>, <http://purl.uniprot.org/unirules/MF_03226#construct-template-29>,
    <http://purl.uniprot.org/unirules/MF_03226#construct-template-79>, <http://purl.uniprot.org/unirules/MF_03226#construct-template-55>,
    <http://purl.uniprot.org/unirules/MF_03226#construct-template-34>, <http://purl.uniprot.org/unirules/MF_03226#construct-template-61>,
    <http://purl.uniprot.org/unirules/MF_03226#construct-template-43>, <http://purl.uniprot.org/unirules/MF_03226#construct-template-28>,
    <http://purl.uniprot.org/unirules/MF_03226#construct-template-36>, <http://purl.uniprot.org/unirules/MF_03226#construct-template-46>,
    <http://purl.uniprot.org/unirules/MF_03226#construct-template-89>, <http://purl.uniprot.org/unirules/MF_03226#construct-template-27>,
    <http://purl.uniprot.org/unirules/MF_03226#construct-template-84>, <http://purl.uniprot.org/unirules/MF_03226#construct-template-69>,
    <http://purl.uniprot.org/unirules/MF_03226#construct-template-66>, <http://purl.uniprot.org/unirules/MF_03226#construct-template-86>,
    <http://purl.uniprot.org/unirules/MF_03226#construct-template-68>, <http://purl.uniprot.org/unirules/MF_03226#construct-template-62>,
    <http://purl.uniprot.org/unirules/MF_03226#construct-template-81>, <http://purl.uniprot.org/unirules/MF_03226#construct-template-88>,
    <http://purl.uniprot.org/unirules/MF_03226#construct-template-83>;
  <http://www.w3.org/ns/shacl#prefixes> <http://purl.uniprot.org/unirules/>;
  <http://spinrdf.org/sp#where> <http://purl.uniprot.org/unirules/MF_03226#construct-where-list-0>;
  <http://spinrdf.org/sp#templates> <http://purl.uniprot.org/unirules/MF_03226#construct-template-list-0>;
  <http://www.w3.org/ns/shacl#construct> """CONSTRUCT {
  _:890223 up:source unirule:MF_03226 .
  _:890224 up:source unirule:MF_03226 .
  _:890225 up:source unirule:MF_03226 .
  _:890226 up:source unirule:MF_03226 .
  _:890227 up:source unirule:MF_03226 .
  _:890228 up:source unirule:MF_03226 .
  _:890229 up:source unirule:MF_03226 .
  _:890230 up:source unirule:MF_03226 .
  _:890231 up:source unirule:MF_03226 .
  _:890232 up:source unirule:MF_03226 .
  _:890233 up:source unirule:MF_03226 .
  _:890234 up:source unirule:MF_03226 .
  _:890235 up:source unirule:MF_03226 .
  _:890236 up:source unirule:MF_03226 .
  _:890237 up:source unirule:MF_03226 .
  _:890238 up:source unirule:MF_03226 .
  ?this up:annotation ?annotation1 ,
      ?annotation2 ,
      ?annotation4 ;
    up:classifiedWith GO:0000349 ,
      GO:0071006 ,
      keyword:539 ,
      keyword:747 ;
    up:recommendedName ?name0 .
  ?name0 up:fullName 'Splicing factor YJU2' ;
    rdf:type up:Structured_Name .
  ?annotation1 a up:Subunit_Annotation ;
    rdfs:comment 'Component of the spliceosome. Present in the activated B complex, the catalytically activated B* complex which catalyzes the branching, the catalytic step 1 C complex catalyzing the exon ligation, and the postcatalytic P complex containing the ligated exons (mRNA) and the excised lariat intron.' .
  ?annotation2 a up:Subcellular_Location_Annotation .
  ?annotation2li3 up:cellularComponent <http://purl.uniprot.org/locations/null>.
  ?annotation4 a up:Similarity_Annotation ;
    rdfs:comment 'Belongs to the CWC16 family. YJU2 subfamily.' .
  ?case5 up:classifiedWith keyword:479 ,
      keyword:862 .
  ?case7 up:classifiedWith GO:0000350 ,
      GO:0071007 .
  ?pfs10 up:annotation ?annotation11 ,
      ?annotation17 ,
      ?annotation23 ,
      ?annotation29 .
  ?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:29105 .
  ?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:29105 .
  ?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:29105 .
  ?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:29105 .
  _:890239 a rdf:Statement ;
    up:attribution _:890223 ;
    rdf:subject ?this ;
    rdf:predicate up:recommendedName ;
    rdf:object ?name0 .
  _:890240 a rdf:Statement ;
    up:attribution _:890224 ;
    rdf:subject ?this ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation1 .
  _:890241 a rdf:Statement ;
    up:attribution _:890225 ;
    rdf:subject ?this ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation2 .
  _:890242 a rdf:Statement ;
    up:attribution _:890226 ;
    rdf:subject ?this ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation4 .
  _:890243 a rdf:Statement ;
    up:attribution _:890227 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object keyword:539 .
  _:890244 a rdf:Statement ;
    up:attribution _:890228 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object keyword:747 .
  _:890245 a rdf:Statement ;
    up:attribution _:890229 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object GO:0071006 .
  _:890246 a rdf:Statement ;
    up:attribution _:890230 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object GO:0000349 .
  _:890247 a rdf:Statement ;
    up:attribution _:890231 ;
    rdf:subject ?case5 ;
    rdf:predicate up:classifiedWith ;
    rdf:object keyword:479 .
  _:890248 a rdf:Statement ;
    up:attribution _:890232 ;
    rdf:subject ?case5 ;
    rdf:predicate up:classifiedWith ;
    rdf:object keyword:862 .
  _:890249 a rdf:Statement ;
    up:attribution _:890233 ;
    rdf:subject ?case7 ;
    rdf:predicate up:classifiedWith ;
    rdf:object GO:0071007 .
  _:890250 a rdf:Statement ;
    up:attribution _:890234 ;
    rdf:subject ?case7 ;
    rdf:predicate up:classifiedWith ;
    rdf:object GO:0000350 .
  _:890251 a rdf:Statement ;
    up:source unirule:MF_03226 ;
    rdf:subject ?pfs10 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation11 .
  _:890252 a rdf:Statement ;
    up:attribution _:890235 ;
    rdf:subject ?pfs10 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation11 .
  _:890253 a rdf:Statement ;
    up:source unirule:MF_03226 ;
    rdf:subject ?pfs10 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation17 .
  _:890254 a rdf:Statement ;
    up:attribution _:890236 ;
    rdf:subject ?pfs10 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation17 .
  _:890255 a rdf:Statement ;
    up:source unirule:MF_03226 ;
    rdf:subject ?pfs10 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation23 .
  _:890256 a rdf:Statement ;
    up:attribution _:890237 ;
    rdf:subject ?pfs10 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation23 .
  _:890257 a rdf:Statement ;
    up:source unirule:MF_03226 ;
    rdf:subject ?pfs10 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation29 .
  _:890258 a rdf:Statement ;
    up:attribution _:890238 ;
    rdf:subject ?pfs10 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation29 .
}
WHERE {
  #baseURI: http://purl.uniprot.org/unirule/MF_03226
  #Rule MF_03226 Created by:? on:2018-12-19 Modified by:Edouard de Castro on:2022-11-19
  ?this up:organism ?thisOrganism ;
    rdfs:seeAlso signature:MF_03226 .
  ?thisOrganism rdfs:subClassOf+ taxon:2759 .
  BIND(URI(CONCAT(STR(?this), '#MF_03226a0')) AS ?name0) .
  BIND(URI(CONCAT(STR(?this), '#MF_03226a1')) AS ?annotation1) .
  BIND(URI(CONCAT(STR(?this), '#MF_03226a2')) AS ?annotation2) .
  BIND(URI(CONCAT(STR(?this), '#MF_03226a4')) AS ?annotation4) .
  OPTIONAL {
    ?this up:sequence ?thisSequence .
    ?thisSequence rdf:value ?thisSequenceValue .
    ?templateMotifMatch39 faldo:location ?templateMotifSequenceMatchRegionP2832040 ;
      edam:is_output_of ?templateMotifSequenceProfileAlignmentOperationP2832042 ;
      rdf:type edam:data_0869 ;
      rdf:value ?templateMotifCigarP28320MF_0322635 .
    ?templateMotifSequenceMatchRegionP2832040 faldo:begin ?templateMotifSequenceMatchBeginP2832041 .
    ?templateMotifSequenceMatchBeginP2832041 faldo:position ?templateMotifSequenceMatchBeginPositionP2832036 ;
      faldo:reference isoform:P28320-1 .
    ?templateMotifSequenceProfileAlignmentOperationP2832042 edam:has_input signature:MF_03226 ;
      rdf:type edam:operation_0300 .
    ?targetMotifMatch43 faldo:location ?targetMotifMatchRegionMatch44 ;
      edam:is_output_of ?targetMotifSequenceAlignmentOperationMF_0322646 ;
      rdf:type edam:data_0869 ;
      rdf:value ?targetMotifMatchCigarP28320MF_0322637 .
    ?targetMotifMatchRegionMatch44 faldo:begin ?targetMotifMatchRegionMatchBeginMF_0322645 .
    ?targetMotifMatchRegionMatchBeginMF_0322645 faldo:position ?targetMotifMatchRegionMatchBeginPositionMF_0322638 ;
      faldo:reference ?thisSequence .
    ?targetMotifSequenceAlignmentOperationMF_0322646 edam:has_input signature:MF_03226 ;
      rdf:type edam:operation_0300 .
    BIND(?this AS ?tagFTGRP_1) .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarP28320MF_0322635, 1, (STRLEN(?templateMotifCigarP28320MF_0322635) - STRLEN(REPLACE(?templateMotifCigarP28320MF_0322635, CONCAT('^(?:-*[^-]){', STR(((51 - ?templateMotifSequenceMatchBeginPositionP2832036) + 1)), '}'), '')))), '[a-z]', '')) AS ?step147) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarP28320MF_0322637, 1, (STRLEN(?targetMotifMatchCigarP28320MF_0322637) - STRLEN(REPLACE(?targetMotifMatchCigarP28320MF_0322637, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step147), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarP28320MF_0322637, 1, (STRLEN(?targetMotifMatchCigarP28320MF_0322637) - STRLEN(REPLACE(?targetMotifMatchCigarP28320MF_0322637, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step147), '}'), '')))), '[^-]', ''))) AS ?step248) .
    BIND(((?step248 + ?targetMotifMatchRegionMatchBeginPositionMF_0322638) - 1) AS ?thisPositionOn15) .
    BIND(?thisPositionOn15 AS ?thisPositionOn16) .
    BIND(?this AS ?pfs1t49) .
    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(?templateMotifCigarP28320MF_0322635, 1, (STRLEN(?templateMotifCigarP28320MF_0322635) - STRLEN(REPLACE(?templateMotifCigarP28320MF_0322635, CONCAT('^(?:-*[^-]){', STR(((54 - ?templateMotifSequenceMatchBeginPositionP2832036) + 1)), '}'), '')))), '[a-z]', '')) AS ?step150) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarP28320MF_0322637, 1, (STRLEN(?targetMotifMatchCigarP28320MF_0322637) - STRLEN(REPLACE(?targetMotifMatchCigarP28320MF_0322637, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step150), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarP28320MF_0322637, 1, (STRLEN(?targetMotifMatchCigarP28320MF_0322637) - STRLEN(REPLACE(?targetMotifMatchCigarP28320MF_0322637, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step150), '}'), '')))), '[^-]', ''))) AS ?step251) .
    BIND(((?step251 + ?targetMotifMatchRegionMatchBeginPositionMF_0322638) - 1) AS ?thisPositionOn21) .
    BIND(?thisPositionOn21 AS ?thisPositionOn22) .
    BIND(?this AS ?pfs1t52) .
    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(?templateMotifCigarP28320MF_0322635, 1, (STRLEN(?templateMotifCigarP28320MF_0322635) - STRLEN(REPLACE(?templateMotifCigarP28320MF_0322635, CONCAT('^(?:-*[^-]){', STR(((88 - ?templateMotifSequenceMatchBeginPositionP2832036) + 1)), '}'), '')))), '[a-z]', '')) AS ?step153) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarP28320MF_0322637, 1, (STRLEN(?targetMotifMatchCigarP28320MF_0322637) - STRLEN(REPLACE(?targetMotifMatchCigarP28320MF_0322637, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step153), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarP28320MF_0322637, 1, (STRLEN(?targetMotifMatchCigarP28320MF_0322637) - STRLEN(REPLACE(?targetMotifMatchCigarP28320MF_0322637, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step153), '}'), '')))), '[^-]', ''))) AS ?step254) .
    BIND(((?step254 + ?targetMotifMatchRegionMatchBeginPositionMF_0322638) - 1) AS ?thisPositionOn27) .
    BIND(?thisPositionOn27 AS ?thisPositionOn28) .
    BIND(?this AS ?pfs1t55) .
    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(STRLEN(REPLACE(SUBSTR(?templateMotifCigarP28320MF_0322635, 1, (STRLEN(?templateMotifCigarP28320MF_0322635) - STRLEN(REPLACE(?templateMotifCigarP28320MF_0322635, CONCAT('^(?:-*[^-]){', STR(((91 - ?templateMotifSequenceMatchBeginPositionP2832036) + 1)), '}'), '')))), '[a-z]', '')) AS ?step156) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarP28320MF_0322637, 1, (STRLEN(?targetMotifMatchCigarP28320MF_0322637) - STRLEN(REPLACE(?targetMotifMatchCigarP28320MF_0322637, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step156), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarP28320MF_0322637, 1, (STRLEN(?targetMotifMatchCigarP28320MF_0322637) - STRLEN(REPLACE(?targetMotifMatchCigarP28320MF_0322637, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step156), '}'), '')))), '[^-]', ''))) AS ?step257) .
    BIND(((?step257 + ?targetMotifMatchRegionMatchBeginPositionMF_0322638) - 1) AS ?thisPositionOn33) .
    BIND(?thisPositionOn33 AS ?thisPositionOn34) .
    BIND(?this AS ?pfs1t58) .
    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) = 'C')) .
    BIND(?this AS ?pfs10) .
  }
  OPTIONAL {
    ?this a up:Protein .
    BIND(?this AS ?caseWithTag59) .
  }
  BIND(IF(BOUND(?tagFTGRP_1), ?caseWithTag59, ?UNBOUND_VARIABLE) AS ?case5) .
  OPTIONAL {
    ?this a up:Protein .
    ?this up:organism ?thisOrganism .
    ?thisOrganism rdfs:subClassOf+ taxon:7742 .
    BIND(?this AS ?case6) .
  }
  OPTIONAL {
    ?this a up:Protein .
    ?this up:organism ?thisOrganism .
    ?thisOrganism rdfs:subClassOf+ taxon:4892 .
    BIND(?this AS ?case7) .
  }
  OPTIONAL {
    ?this a up:Protein .
    VALUES ?supertaxon60 {taxon:4892 taxon:7742}
    ?this up:organism ?thisOrganism .
    ?thisOrganism rdfs:subClassOf+ ?supertaxon60 .
    BIND(?this AS ?case8) .
  }
  OPTIONAL {
    ?this a up:Protein .
    ?this up:organism ?thisOrganism .
    FILTER (! (EXISTS {
      VALUES ?supertaxon61 {taxon:7742 taxon:4892}
      ?thisOrganism rdfs:subClassOf+ ?supertaxon61 .
    })) .
    BIND(?this AS ?case9) .
  }
}
""" .

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