@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_00535#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_00535#construct-template-28>,
    <http://purl.uniprot.org/unirules/MF_00535#construct-template-14>, <http://purl.uniprot.org/unirules/MF_00535#construct-template-60>,
    <http://purl.uniprot.org/unirules/MF_00535#construct-template-6>, <http://purl.uniprot.org/unirules/MF_00535#construct-template-52>,
    <http://purl.uniprot.org/unirules/MF_00535#construct-template-10>, <http://purl.uniprot.org/unirules/MF_00535#construct-template-45>,
    <http://purl.uniprot.org/unirules/MF_00535#construct-template-43>, <http://purl.uniprot.org/unirules/MF_00535#construct-template-5>,
    <http://purl.uniprot.org/unirules/MF_00535#construct-template-27>, <http://purl.uniprot.org/unirules/MF_00535#construct-template-8>,
    <http://purl.uniprot.org/unirules/MF_00535#construct-template-13>, <http://purl.uniprot.org/unirules/MF_00535#construct-template-18>,
    <http://purl.uniprot.org/unirules/MF_00535#construct-template-29>, <http://purl.uniprot.org/unirules/MF_00535#construct-template-50>,
    <http://purl.uniprot.org/unirules/MF_00535#construct-template-41>, <http://purl.uniprot.org/unirules/MF_00535#construct-template-49>,
    <http://purl.uniprot.org/unirules/MF_00535#construct-template-34>, <http://purl.uniprot.org/unirules/MF_00535#construct-template-24>,
    <http://purl.uniprot.org/unirules/MF_00535#construct-template-48>, <http://purl.uniprot.org/unirules/MF_00535#construct-template-42>,
    <http://purl.uniprot.org/unirules/MF_00535#construct-template-32>, <http://purl.uniprot.org/unirules/MF_00535#construct-template-19>,
    <http://purl.uniprot.org/unirules/MF_00535#construct-template-23>, <http://purl.uniprot.org/unirules/MF_00535#construct-template-47>,
    <http://purl.uniprot.org/unirules/MF_00535#construct-template-71>, <http://purl.uniprot.org/unirules/MF_00535#construct-template-31>,
    <http://purl.uniprot.org/unirules/MF_00535#construct-template-21>, <http://purl.uniprot.org/unirules/MF_00535#construct-template-56>,
    <http://purl.uniprot.org/unirules/MF_00535#construct-template-26>, <http://purl.uniprot.org/unirules/MF_00535#construct-template-1>,
    <http://purl.uniprot.org/unirules/MF_00535#construct-template-16>, <http://purl.uniprot.org/unirules/MF_00535#construct-template-25>,
    <http://purl.uniprot.org/unirules/MF_00535#construct-template-67>, <http://purl.uniprot.org/unirules/MF_00535#construct-template-53>,
    <http://purl.uniprot.org/unirules/MF_00535#construct-template-3>, <http://purl.uniprot.org/unirules/MF_00535#construct-template-4>,
    <http://purl.uniprot.org/unirules/MF_00535#construct-template-9>, <http://purl.uniprot.org/unirules/MF_00535#construct-template-78>,
    <http://purl.uniprot.org/unirules/MF_00535#construct-template-38>, <http://purl.uniprot.org/unirules/MF_00535#construct-template-55>,
    <http://purl.uniprot.org/unirules/MF_00535#construct-template-11>, <http://purl.uniprot.org/unirules/MF_00535#construct-template-33>,
    <http://purl.uniprot.org/unirules/MF_00535#construct-template-54>, <http://purl.uniprot.org/unirules/MF_00535#construct-template-7>,
    <http://purl.uniprot.org/unirules/MF_00535#construct-template-20>, <http://purl.uniprot.org/unirules/MF_00535#construct-template-17>,
    <http://purl.uniprot.org/unirules/MF_00535#construct-template-40>, <http://purl.uniprot.org/unirules/MF_00535#construct-template-44>,
    <http://purl.uniprot.org/unirules/MF_00535#construct-template-65>, <http://purl.uniprot.org/unirules/MF_00535#construct-template-39>,
    <http://purl.uniprot.org/unirules/MF_00535#construct-template-2>, <http://purl.uniprot.org/unirules/MF_00535#construct-template-46>,
    <http://purl.uniprot.org/unirules/MF_00535#construct-template-0>, <http://purl.uniprot.org/unirules/MF_00535#construct-template-72>,
    <http://purl.uniprot.org/unirules/MF_00535#construct-template-76>, <http://purl.uniprot.org/unirules/MF_00535#construct-template-74>,
    <http://purl.uniprot.org/unirules/MF_00535#construct-template-30>, <http://purl.uniprot.org/unirules/MF_00535#construct-template-73>,
    <http://purl.uniprot.org/unirules/MF_00535#construct-template-57>, <http://purl.uniprot.org/unirules/MF_00535#construct-template-15>,
    <http://purl.uniprot.org/unirules/MF_00535#construct-template-70>, <http://purl.uniprot.org/unirules/MF_00535#construct-template-61>,
    <http://purl.uniprot.org/unirules/MF_00535#construct-template-58>, <http://purl.uniprot.org/unirules/MF_00535#construct-template-35>,
    <http://purl.uniprot.org/unirules/MF_00535#construct-template-37>, <http://purl.uniprot.org/unirules/MF_00535#construct-template-63>,
    <http://purl.uniprot.org/unirules/MF_00535#construct-template-59>, <http://purl.uniprot.org/unirules/MF_00535#construct-template-75>,
    <http://purl.uniprot.org/unirules/MF_00535#construct-template-22>, <http://purl.uniprot.org/unirules/MF_00535#construct-template-51>,
    <http://purl.uniprot.org/unirules/MF_00535#construct-template-77>, <http://purl.uniprot.org/unirules/MF_00535#construct-template-36>,
    <http://purl.uniprot.org/unirules/MF_00535#construct-template-68>, <http://purl.uniprot.org/unirules/MF_00535#construct-template-62>,
    <http://purl.uniprot.org/unirules/MF_00535#construct-template-12>, <http://purl.uniprot.org/unirules/MF_00535#construct-template-66>,
    <http://purl.uniprot.org/unirules/MF_00535#construct-template-64>, <http://purl.uniprot.org/unirules/MF_00535#construct-template-69>;
  <http://www.w3.org/ns/shacl#prefixes> <http://purl.uniprot.org/unirules/>;
  <http://spinrdf.org/sp#where> <http://purl.uniprot.org/unirules/MF_00535#construct-where-list-0>;
  <http://spinrdf.org/sp#templates> <http://purl.uniprot.org/unirules/MF_00535#construct-template-list-0>;
  <http://www.w3.org/ns/shacl#construct> """CONSTRUCT {
  _:208851 up:source unirule:MF_00535 .
  _:208852 up:source unirule:MF_00535 .
  _:208853 up:source unirule:MF_00535 .
  _:208854 up:source unirule:MF_00535 .
  _:208855 up:source unirule:MF_00535 .
  _:208856 up:source unirule:MF_00535 .
  _:208857 up:source unirule:MF_00535 .
  _:208858 up:source unirule:MF_00535 .
  _:208859 up:source unirule:MF_00535 .
  _:208860 up:source unirule:MF_00535 .
  _:208861 up:source unirule:MF_00535 .
  _:208862 up:source unirule:MF_00535 .
  _:208863 up:source unirule:MF_00535 .
  ?this up:alternativeName ?name1 ,
      ?name2 ;
    up:annotation ?annotation4 ,
      ?annotation5 ,
      ?annotation7 ;
    up:classifiedWith GO:0008824 ,
      GO:0009440 ,
      keyword:456 ;
    up:recommendedName ?name0 .
  ?name0 up:ecName '4.2.1.104' ;
    up:fullName 'Cyanate hydratase' ;
    up:shortName 'Cyanase' ;
    rdf:type up:Structured_Name .
  ?name1 up:fullName 'Cyanate hydrolase' ;
    rdf:type up:Structured_Name .
  ?name2 up:fullName 'Cyanate lyase' ;
    rdf:type up:Structured_Name .
  ?gene3 skos:prefLabel 'cynS' .
  ?annotation4 a up:Function_Annotation ;
    rdfs:comment 'Catalyzes the reaction of cyanate with bicarbonate to produce ammonia and carbon dioxide.' .
  ?annotation5 up:activity ?activity6 ;
    rdf:type up:Catalytic_Activity_Annotation .
  ?activity6 up:catalyticActivity <http://rdf.rhea-db.org/11120>;
    up:enzymeClass <http://purl.uniprot.org/enzyme/4.2.1.104>.
  ?annotation7 a up:Similarity_Annotation ;
    rdfs:comment 'Belongs to the cyanase family.' .
  ?pfs8 up:annotation ?annotation9 .
  ?annotation9 faldo:begin ?pfsb10 ;
    faldo:end ?pfse11 ;
    rdf:type up:Active_Site_Annotation .
  ?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 ;
    rdf:type up:Active_Site_Annotation .
  ?pfsb16 faldo:position ?thisPositionOn18 ;
    rdf:type faldo:ExactPosition .
  ?pfse17 faldo:position ?thisPositionOn19 ;
    rdf:type faldo:ExactPosition .
  ?pfs20 up:annotation ?annotation21 .
  ?annotation21 faldo:begin ?pfsb22 ;
    faldo:end ?pfse23 ;
    rdf:type up:Active_Site_Annotation .
  ?pfsb22 faldo:position ?thisPositionOn24 ;
    rdf:type faldo:ExactPosition .
  ?pfse23 faldo:position ?thisPositionOn25 ;
    rdf:type faldo:ExactPosition .
  _:208864 a rdf:Statement ;
    up:attribution _:208851 ;
    rdf:subject ?this ;
    rdf:predicate up:recommendedName ;
    rdf:object ?name0 .
  _:208865 a rdf:Statement ;
    up:attribution _:208852 ;
    rdf:subject ?this ;
    rdf:predicate up:alternativeName ;
    rdf:object ?name1 .
  _:208866 a rdf:Statement ;
    up:attribution _:208853 ;
    rdf:subject ?this ;
    rdf:predicate up:alternativeName ;
    rdf:object ?name2 .
  _:208867 a rdf:Statement ;
    up:attribution _:208854 ;
    rdf:subject ?gene3 ;
    rdf:predicate up:encodedBy ;
    rdf:object ?gene3 .
  _:208868 a rdf:Statement ;
    up:attribution _:208855 ;
    rdf:subject ?this ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation4 .
  _:208869 a rdf:Statement ;
    up:attribution _:208856 ;
    rdf:subject ?this ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation5 .
  _:208870 a rdf:Statement ;
    up:attribution _:208857 ;
    rdf:subject ?this ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation7 .
  _:208871 a rdf:Statement ;
    up:attribution _:208858 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object keyword:456 .
  _:208872 a rdf:Statement ;
    up:attribution _:208859 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object GO:0008824 .
  _:208873 a rdf:Statement ;
    up:attribution _:208860 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object GO:0009440 .
  _:208874 a rdf:Statement ;
    up:source unirule:MF_00535 ;
    rdf:subject ?pfs8 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation9 .
  _:208875 a rdf:Statement ;
    up:attribution _:208861 ;
    rdf:subject ?pfs8 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation9 .
  _:208876 a rdf:Statement ;
    up:source unirule:MF_00535 ;
    rdf:subject ?pfs14 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation15 .
  _:208877 a rdf:Statement ;
    up:attribution _:208862 ;
    rdf:subject ?pfs14 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation15 .
  _:208878 a rdf:Statement ;
    up:source unirule:MF_00535 ;
    rdf:subject ?pfs20 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation21 .
  _:208879 a rdf:Statement ;
    up:attribution _:208863 ;
    rdf:subject ?pfs20 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation21 .
}
WHERE {
  #baseURI: http://purl.uniprot.org/unirule/MF_00535
  #Rule MF_00535 Created by:? on:2005-02-28 Modified by:Catherine Rivoire on:2025-09-19
  {
    ?this up:organism ?thisOrganism ;
      rdfs:seeAlso signature:MF_00535 .
    ?thisOrganism rdfs:subClassOf+ taxon:2 .
  } UNION {
    ?this up:organism ?thisOrganism ;
      rdfs:seeAlso signature:MF_00535 .
    ?thisOrganism rdfs:subClassOf+ taxon:2157 .
  }
  BIND(URI(CONCAT(STR(?this), '#MF_00535a0')) AS ?name0) .
  BIND(URI(CONCAT(STR(?this), '#MF_00535a1')) AS ?name1) .
  BIND(URI(CONCAT(STR(?this), '#MF_00535a2')) AS ?name2) .
  BIND(URI(CONCAT(STR(?this), '#MF_00535a4')) AS ?annotation4) .
  BIND(URI(CONCAT(STR(?this), '#MF_00535a5')) AS ?annotation5) .
  BIND(URI(CONCAT(STR(?this), '#MF_00535a7')) AS ?annotation7) .
  OPTIONAL {
    ?this up:sequence ?thisSequence .
    ?thisSequence rdf:value ?thisSequenceValue .
    ?templateMotifMatch30 faldo:location ?templateMotifSequenceMatchRegionP0081631 ;
      edam:is_output_of ?templateMotifSequenceProfileAlignmentOperationP0081633 ;
      rdf:type edam:data_0869 ;
      rdf:value ?templateMotifCigarP00816MF_0053526 .
    ?templateMotifSequenceMatchRegionP0081631 faldo:begin ?templateMotifSequenceMatchBeginP0081632 .
    ?templateMotifSequenceMatchBeginP0081632 faldo:position ?templateMotifSequenceMatchBeginPositionP0081627 ;
      faldo:reference isoform:P00816-1 .
    ?templateMotifSequenceProfileAlignmentOperationP0081633 edam:has_input signature:MF_00535 ;
      rdf:type edam:operation_0300 .
    ?targetMotifMatch34 faldo:location ?targetMotifMatchRegionMatch35 ;
      edam:is_output_of ?targetMotifSequenceAlignmentOperationMF_0053537 ;
      rdf:type edam:data_0869 ;
      rdf:value ?targetMotifMatchCigarP00816MF_0053528 .
    ?targetMotifMatchRegionMatch35 faldo:begin ?targetMotifMatchRegionMatchBeginMF_0053536 .
    ?targetMotifMatchRegionMatchBeginMF_0053536 faldo:position ?targetMotifMatchRegionMatchBeginPositionMF_0053529 ;
      faldo:reference ?thisSequence .
    ?targetMotifSequenceAlignmentOperationMF_0053537 edam:has_input signature:MF_00535 ;
      rdf:type edam:operation_0300 .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarP00816MF_0053526, 1, (STRLEN(?templateMotifCigarP00816MF_0053526) - STRLEN(REPLACE(?templateMotifCigarP00816MF_0053526, CONCAT('^(?:-*[^-]){', STR(((96 - ?templateMotifSequenceMatchBeginPositionP0081627) + 1)), '}'), '')))), '[a-z]', '')) AS ?step138) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarP00816MF_0053528, 1, (STRLEN(?targetMotifMatchCigarP00816MF_0053528) - STRLEN(REPLACE(?targetMotifMatchCigarP00816MF_0053528, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step138), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarP00816MF_0053528, 1, (STRLEN(?targetMotifMatchCigarP00816MF_0053528) - STRLEN(REPLACE(?targetMotifMatchCigarP00816MF_0053528, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step138), '}'), '')))), '[^-]', ''))) AS ?step239) .
    BIND(((?step239 + ?targetMotifMatchRegionMatchBeginPositionMF_0053529) - 1) AS ?thisPositionOn12) .
    BIND(?thisPositionOn12 AS ?thisPositionOn13) .
    BIND(?this AS ?pfs1t40) .
    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) = 'R')) .
    BIND(URI(CONCAT(STR(?this), '#MF_00535a9')) AS ?annotation9) .
    BIND(?this AS ?pfs8) .
  }
  OPTIONAL {
    ?this up:sequence ?thisSequence .
    ?thisSequence rdf:value ?thisSequenceValue .
    ?templateMotifMatch45 faldo:location ?templateMotifSequenceMatchRegionP0081646 ;
      edam:is_output_of ?templateMotifSequenceProfileAlignmentOperationP0081648 ;
      rdf:type edam:data_0869 ;
      rdf:value ?templateMotifCigarP00816MF_0053541 .
    ?templateMotifSequenceMatchRegionP0081646 faldo:begin ?templateMotifSequenceMatchBeginP0081647 .
    ?templateMotifSequenceMatchBeginP0081647 faldo:position ?templateMotifSequenceMatchBeginPositionP0081642 ;
      faldo:reference isoform:P00816-1 .
    ?templateMotifSequenceProfileAlignmentOperationP0081648 edam:has_input signature:MF_00535 ;
      rdf:type edam:operation_0300 .
    ?targetMotifMatch49 faldo:location ?targetMotifMatchRegionMatch50 ;
      edam:is_output_of ?targetMotifSequenceAlignmentOperationMF_0053552 ;
      rdf:type edam:data_0869 ;
      rdf:value ?targetMotifMatchCigarP00816MF_0053543 .
    ?targetMotifMatchRegionMatch50 faldo:begin ?targetMotifMatchRegionMatchBeginMF_0053551 .
    ?targetMotifMatchRegionMatchBeginMF_0053551 faldo:position ?targetMotifMatchRegionMatchBeginPositionMF_0053544 ;
      faldo:reference ?thisSequence .
    ?targetMotifSequenceAlignmentOperationMF_0053552 edam:has_input signature:MF_00535 ;
      rdf:type edam:operation_0300 .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarP00816MF_0053541, 1, (STRLEN(?templateMotifCigarP00816MF_0053541) - STRLEN(REPLACE(?templateMotifCigarP00816MF_0053541, CONCAT('^(?:-*[^-]){', STR(((99 - ?templateMotifSequenceMatchBeginPositionP0081642) + 1)), '}'), '')))), '[a-z]', '')) AS ?step153) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarP00816MF_0053543, 1, (STRLEN(?targetMotifMatchCigarP00816MF_0053543) - STRLEN(REPLACE(?targetMotifMatchCigarP00816MF_0053543, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step153), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarP00816MF_0053543, 1, (STRLEN(?targetMotifMatchCigarP00816MF_0053543) - STRLEN(REPLACE(?targetMotifMatchCigarP00816MF_0053543, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step153), '}'), '')))), '[^-]', ''))) AS ?step254) .
    BIND(((?step254 + ?targetMotifMatchRegionMatchBeginPositionMF_0053544) - 1) AS ?thisPositionOn18) .
    BIND(?thisPositionOn18 AS ?thisPositionOn19) .
    BIND(?this AS ?pfs1t55) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn18))) AS ?pfsb16) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn19))) AS ?pfse17) .
    FILTER ((SUBSTR(?thisSequenceValue, ?thisPositionOn18, 1) = 'E')) .
    BIND(URI(CONCAT(STR(?this), '#MF_00535a15')) AS ?annotation15) .
    BIND(?this AS ?pfs14) .
  }
  OPTIONAL {
    ?this up:sequence ?thisSequence .
    ?thisSequence rdf:value ?thisSequenceValue .
    ?templateMotifMatch60 faldo:location ?templateMotifSequenceMatchRegionP0081661 ;
      edam:is_output_of ?templateMotifSequenceProfileAlignmentOperationP0081663 ;
      rdf:type edam:data_0869 ;
      rdf:value ?templateMotifCigarP00816MF_0053556 .
    ?templateMotifSequenceMatchRegionP0081661 faldo:begin ?templateMotifSequenceMatchBeginP0081662 .
    ?templateMotifSequenceMatchBeginP0081662 faldo:position ?templateMotifSequenceMatchBeginPositionP0081657 ;
      faldo:reference isoform:P00816-1 .
    ?templateMotifSequenceProfileAlignmentOperationP0081663 edam:has_input signature:MF_00535 ;
      rdf:type edam:operation_0300 .
    ?targetMotifMatch64 faldo:location ?targetMotifMatchRegionMatch65 ;
      edam:is_output_of ?targetMotifSequenceAlignmentOperationMF_0053567 ;
      rdf:type edam:data_0869 ;
      rdf:value ?targetMotifMatchCigarP00816MF_0053558 .
    ?targetMotifMatchRegionMatch65 faldo:begin ?targetMotifMatchRegionMatchBeginMF_0053566 .
    ?targetMotifMatchRegionMatchBeginMF_0053566 faldo:position ?targetMotifMatchRegionMatchBeginPositionMF_0053559 ;
      faldo:reference ?thisSequence .
    ?targetMotifSequenceAlignmentOperationMF_0053567 edam:has_input signature:MF_00535 ;
      rdf:type edam:operation_0300 .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarP00816MF_0053556, 1, (STRLEN(?templateMotifCigarP00816MF_0053556) - STRLEN(REPLACE(?templateMotifCigarP00816MF_0053556, CONCAT('^(?:-*[^-]){', STR(((122 - ?templateMotifSequenceMatchBeginPositionP0081657) + 1)), '}'), '')))), '[a-z]', '')) AS ?step168) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarP00816MF_0053558, 1, (STRLEN(?targetMotifMatchCigarP00816MF_0053558) - STRLEN(REPLACE(?targetMotifMatchCigarP00816MF_0053558, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step168), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarP00816MF_0053558, 1, (STRLEN(?targetMotifMatchCigarP00816MF_0053558) - STRLEN(REPLACE(?targetMotifMatchCigarP00816MF_0053558, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step168), '}'), '')))), '[^-]', ''))) AS ?step269) .
    BIND(((?step269 + ?targetMotifMatchRegionMatchBeginPositionMF_0053559) - 1) AS ?thisPositionOn24) .
    BIND(?thisPositionOn24 AS ?thisPositionOn25) .
    BIND(?this AS ?pfs1t70) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn24))) AS ?pfsb22) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn25))) AS ?pfse23) .
    FILTER ((SUBSTR(?thisSequenceValue, ?thisPositionOn24, 1) = 'S')) .
    BIND(URI(CONCAT(STR(?this), '#MF_00535a21')) AS ?annotation21) .
    BIND(?this AS ?pfs20) .
  }
}
""" .

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