@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_00549#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_00549#construct-template-19>,
    <http://purl.uniprot.org/unirules/MF_00549#construct-template-28>, <http://purl.uniprot.org/unirules/MF_00549#construct-template-11>,
    <http://purl.uniprot.org/unirules/MF_00549#construct-template-18>, <http://purl.uniprot.org/unirules/MF_00549#construct-template-24>,
    <http://purl.uniprot.org/unirules/MF_00549#construct-template-1>, <http://purl.uniprot.org/unirules/MF_00549#construct-template-30>,
    <http://purl.uniprot.org/unirules/MF_00549#construct-template-9>, <http://purl.uniprot.org/unirules/MF_00549#construct-template-26>,
    <http://purl.uniprot.org/unirules/MF_00549#construct-template-14>, <http://purl.uniprot.org/unirules/MF_00549#construct-template-12>,
    <http://purl.uniprot.org/unirules/MF_00549#construct-template-27>, <http://purl.uniprot.org/unirules/MF_00549#construct-template-8>,
    <http://purl.uniprot.org/unirules/MF_00549#construct-template-15>, <http://purl.uniprot.org/unirules/MF_00549#construct-template-17>,
    <http://purl.uniprot.org/unirules/MF_00549#construct-template-25>, <http://purl.uniprot.org/unirules/MF_00549#construct-template-16>,
    <http://purl.uniprot.org/unirules/MF_00549#construct-template-10>, <http://purl.uniprot.org/unirules/MF_00549#construct-template-5>,
    <http://purl.uniprot.org/unirules/MF_00549#construct-template-22>, <http://purl.uniprot.org/unirules/MF_00549#construct-template-80>,
    <http://purl.uniprot.org/unirules/MF_00549#construct-template-13>, <http://purl.uniprot.org/unirules/MF_00549#construct-template-82>,
    <http://purl.uniprot.org/unirules/MF_00549#construct-template-81>, <http://purl.uniprot.org/unirules/MF_00549#construct-template-0>,
    <http://purl.uniprot.org/unirules/MF_00549#construct-template-21>, <http://purl.uniprot.org/unirules/MF_00549#construct-template-60>,
    <http://purl.uniprot.org/unirules/MF_00549#construct-template-6>, <http://purl.uniprot.org/unirules/MF_00549#construct-template-84>,
    <http://purl.uniprot.org/unirules/MF_00549#construct-template-3>, <http://purl.uniprot.org/unirules/MF_00549#construct-template-83>,
    <http://purl.uniprot.org/unirules/MF_00549#construct-template-98>, <http://purl.uniprot.org/unirules/MF_00549#construct-template-50>,
    <http://purl.uniprot.org/unirules/MF_00549#construct-template-74>, <http://purl.uniprot.org/unirules/MF_00549#construct-template-73>,
    <http://purl.uniprot.org/unirules/MF_00549#construct-template-97>, <http://purl.uniprot.org/unirules/MF_00549#construct-template-23>,
    <http://purl.uniprot.org/unirules/MF_00549#construct-template-76>, <http://purl.uniprot.org/unirules/MF_00549#construct-template-52>,
    <http://purl.uniprot.org/unirules/MF_00549#construct-template-7>, <http://purl.uniprot.org/unirules/MF_00549#construct-template-99>,
    <http://purl.uniprot.org/unirules/MF_00549#construct-template-51>, <http://purl.uniprot.org/unirules/MF_00549#construct-template-75>,
    <http://purl.uniprot.org/unirules/MF_00549#construct-template-31>, <http://purl.uniprot.org/unirules/MF_00549#construct-template-54>,
    <http://purl.uniprot.org/unirules/MF_00549#construct-template-78>, <http://purl.uniprot.org/unirules/MF_00549#construct-template-109>,
    <http://purl.uniprot.org/unirules/MF_00549#construct-template-77>, <http://purl.uniprot.org/unirules/MF_00549#construct-template-108>,
    <http://purl.uniprot.org/unirules/MF_00549#construct-template-53>, <http://purl.uniprot.org/unirules/MF_00549#construct-template-4>,
    <http://purl.uniprot.org/unirules/MF_00549#construct-template-107>, <http://purl.uniprot.org/unirules/MF_00549#construct-template-32>,
    <http://purl.uniprot.org/unirules/MF_00549#construct-template-56>, <http://purl.uniprot.org/unirules/MF_00549#construct-template-106>,
    <http://purl.uniprot.org/unirules/MF_00549#construct-template-55>, <http://purl.uniprot.org/unirules/MF_00549#construct-template-79>,
    <http://purl.uniprot.org/unirules/MF_00549#construct-template-105>, <http://purl.uniprot.org/unirules/MF_00549#construct-template-34>,
    <http://purl.uniprot.org/unirules/MF_00549#construct-template-29>, <http://purl.uniprot.org/unirules/MF_00549#construct-template-59>,
    <http://purl.uniprot.org/unirules/MF_00549#construct-template-104>, <http://purl.uniprot.org/unirules/MF_00549#construct-template-33>,
    <http://purl.uniprot.org/unirules/MF_00549#construct-template-57>, <http://purl.uniprot.org/unirules/MF_00549#construct-template-58>,
    <http://purl.uniprot.org/unirules/MF_00549#construct-template-103>, <http://purl.uniprot.org/unirules/MF_00549#construct-template-37>,
    <http://purl.uniprot.org/unirules/MF_00549#construct-template-102>, <http://purl.uniprot.org/unirules/MF_00549#construct-template-35>,
    <http://purl.uniprot.org/unirules/MF_00549#construct-template-36>, <http://purl.uniprot.org/unirules/MF_00549#construct-template-101>,
    <http://purl.uniprot.org/unirules/MF_00549#construct-template-20>, <http://purl.uniprot.org/unirules/MF_00549#construct-template-39>,
    <http://purl.uniprot.org/unirules/MF_00549#construct-template-100>, <http://purl.uniprot.org/unirules/MF_00549#construct-template-38>,
    <http://purl.uniprot.org/unirules/MF_00549#construct-template-2>, <http://purl.uniprot.org/unirules/MF_00549#construct-template-90>,
    <http://purl.uniprot.org/unirules/MF_00549#construct-template-92>, <http://purl.uniprot.org/unirules/MF_00549#construct-template-91>,
    <http://purl.uniprot.org/unirules/MF_00549#construct-template-70>, <http://purl.uniprot.org/unirules/MF_00549#construct-template-94>,
    <http://purl.uniprot.org/unirules/MF_00549#construct-template-93>, <http://purl.uniprot.org/unirules/MF_00549#construct-template-72>,
    <http://purl.uniprot.org/unirules/MF_00549#construct-template-96>, <http://purl.uniprot.org/unirules/MF_00549#construct-template-71>,
    <http://purl.uniprot.org/unirules/MF_00549#construct-template-95>, <http://purl.uniprot.org/unirules/MF_00549#construct-template-62>,
    <http://purl.uniprot.org/unirules/MF_00549#construct-template-86>, <http://purl.uniprot.org/unirules/MF_00549#construct-template-61>,
    <http://purl.uniprot.org/unirules/MF_00549#construct-template-85>, <http://purl.uniprot.org/unirules/MF_00549#construct-template-88>,
    <http://purl.uniprot.org/unirules/MF_00549#construct-template-40>, <http://purl.uniprot.org/unirules/MF_00549#construct-template-64>,
    <http://purl.uniprot.org/unirules/MF_00549#construct-template-87>, <http://purl.uniprot.org/unirules/MF_00549#construct-template-63>,
    <http://purl.uniprot.org/unirules/MF_00549#construct-template-66>, <http://purl.uniprot.org/unirules/MF_00549#construct-template-42>,
    <http://purl.uniprot.org/unirules/MF_00549#construct-template-65>, <http://purl.uniprot.org/unirules/MF_00549#construct-template-89>,
    <http://purl.uniprot.org/unirules/MF_00549#construct-template-41>, <http://purl.uniprot.org/unirules/MF_00549#construct-template-44>,
    <http://purl.uniprot.org/unirules/MF_00549#construct-template-68>, <http://purl.uniprot.org/unirules/MF_00549#construct-template-69>,
    <http://purl.uniprot.org/unirules/MF_00549#construct-template-43>, <http://purl.uniprot.org/unirules/MF_00549#construct-template-67>,
    <http://purl.uniprot.org/unirules/MF_00549#construct-template-117>, <http://purl.uniprot.org/unirules/MF_00549#construct-template-46>,
    <http://purl.uniprot.org/unirules/MF_00549#construct-template-47>, <http://purl.uniprot.org/unirules/MF_00549#construct-template-116>,
    <http://purl.uniprot.org/unirules/MF_00549#construct-template-45>, <http://purl.uniprot.org/unirules/MF_00549#construct-template-115>,
    <http://purl.uniprot.org/unirules/MF_00549#construct-template-49>, <http://purl.uniprot.org/unirules/MF_00549#construct-template-114>,
    <http://purl.uniprot.org/unirules/MF_00549#construct-template-48>, <http://purl.uniprot.org/unirules/MF_00549#construct-template-113>,
    <http://purl.uniprot.org/unirules/MF_00549#construct-template-112>, <http://purl.uniprot.org/unirules/MF_00549#construct-template-111>,
    <http://purl.uniprot.org/unirules/MF_00549#construct-template-110>;
  <http://www.w3.org/ns/shacl#prefixes> <http://purl.uniprot.org/unirules/>;
  <http://spinrdf.org/sp#where> <http://purl.uniprot.org/unirules/MF_00549#construct-where-list-0>;
  <http://spinrdf.org/sp#templates> <http://purl.uniprot.org/unirules/MF_00549#construct-template-list-0>;
  <http://www.w3.org/ns/shacl#construct> """CONSTRUCT {
  _:213749 up:source unirule:MF_00549 .
  _:213750 up:source unirule:MF_00549 .
  _:213751 up:source unirule:MF_00549 .
  _:213752 up:source unirule:MF_00549 .
  _:213753 up:source unirule:MF_00549 .
  _:213754 up:source unirule:MF_00549 .
  _:213755 up:source unirule:MF_00549 .
  _:213756 up:source unirule:MF_00549 .
  _:213757 up:source unirule:MF_00549 .
  _:213758 up:source unirule:MF_00549 .
  _:213759 up:source unirule:MF_00549 .
  _:213760 up:source unirule:MF_00549 .
  _:213761 up:source unirule:MF_00549 .
  _:213762 up:source unirule:MF_00549 .
  ?this up:annotation ?annotation2 ,
      ?annotation3 ,
      ?annotation5 ;
    up:classifiedWith GO:0008929 ,
      GO:0019242 ,
      keyword:456 ;
    up:recommendedName ?name0 .
  ?name0 up:ecName '4.2.3.3' ;
    up:fullName 'Methylglyoxal synthase' ;
    up:shortName 'MGS' ;
    rdf:type up:Structured_Name .
  ?gene1 skos:prefLabel 'mgsA' .
  ?annotation2 a up:Function_Annotation ;
    rdfs:comment 'Catalyzes the formation of methylglyoxal from dihydroxyacetone phosphate.' .
  ?annotation3 up:activity ?activity4 ;
    rdf:type up:Catalytic_Activity_Annotation .
  ?activity4 up:catalyticActivity <http://rdf.rhea-db.org/17937>;
    up:enzymeClass <http://purl.uniprot.org/enzyme/4.2.3.3>.
  ?annotation5 a up:Similarity_Annotation ;
    rdfs:comment 'Belongs to the methylglyoxal synthase family.' .
  ?pfs6 up:annotation ?annotation7 .
  ?annotation7 faldo:begin ?pfsb8 ;
    faldo:end ?pfse9 ;
    up:ligand ?ligand10 ;
    rdf:type up:Binding_Site_Annotation .
  ?pfsb8 faldo:position ?thisPositionOn12 ;
    rdf:type faldo:ExactPosition .
  ?pfse9 faldo:position ?thisPositionOn13 ;
    rdf:type faldo:ExactPosition .
  ?ligand10 rdfs:subClassOf ?molecule11 .
  ?molecule11 rdfs:label 'substrate' .
  ?pfs14 up:annotation ?annotation15 .
  ?annotation15 faldo:begin ?pfsb16 ;
    faldo:end ?pfse17 ;
    up:ligand ?ligand18 ;
    rdf:type up:Binding_Site_Annotation .
  ?pfsb16 faldo:position ?thisPositionOn20 ;
    rdf:type faldo:ExactPosition .
  ?pfse17 faldo:position ?thisPositionOn21 ;
    rdf:type faldo:ExactPosition .
  ?ligand18 rdfs:subClassOf ?molecule19 .
  ?molecule19 rdfs:label 'substrate' .
  ?pfs22 up:annotation ?annotation23 .
  ?annotation23 faldo:begin ?pfsb24 ;
    faldo:end ?pfse25 ;
    rdf:type up:Active_Site_Annotation ;
    rdfs:comment 'Proton donor/acceptor' .
  ?pfsb24 faldo:position ?thisPositionOn26 ;
    rdf:type faldo:ExactPosition .
  ?pfse25 faldo:position ?thisPositionOn27 ;
    rdf:type faldo:ExactPosition .
  ?pfs28 up:annotation ?annotation29 .
  ?annotation29 faldo:begin ?pfsb30 ;
    faldo:end ?pfse31 ;
    up:ligand ?ligand32 ;
    rdf:type up:Binding_Site_Annotation .
  ?pfsb30 faldo:position ?thisPositionOn34 ;
    rdf:type faldo:ExactPosition .
  ?pfse31 faldo:position ?thisPositionOn35 ;
    rdf:type faldo:ExactPosition .
  ?ligand32 rdfs:subClassOf ?molecule33 .
  ?molecule33 rdfs:label 'substrate' .
  ?pfs36 up:annotation ?annotation37 .
  ?annotation37 faldo:begin ?pfsb38 ;
    faldo:end ?pfse39 ;
    up:ligand ?ligand40 ;
    rdf:type up:Binding_Site_Annotation .
  ?pfsb38 faldo:position ?thisPositionOn42 ;
    rdf:type faldo:ExactPosition .
  ?pfse39 faldo:position ?thisPositionOn43 ;
    rdf:type faldo:ExactPosition .
  ?ligand40 rdfs:subClassOf ?molecule41 .
  ?molecule41 rdfs:label 'substrate' .
  ?pfs44 up:annotation ?annotation45 .
  ?annotation45 faldo:begin ?pfsb46 ;
    faldo:end ?pfse47 ;
    up:ligand ?ligand48 ;
    rdf:type up:Binding_Site_Annotation .
  ?pfsb46 faldo:position ?thisPositionOn50 ;
    rdf:type faldo:ExactPosition .
  ?pfse47 faldo:position ?thisPositionOn51 ;
    rdf:type faldo:ExactPosition .
  ?ligand48 rdfs:subClassOf ?molecule49 .
  ?molecule49 rdfs:label 'substrate' .
  _:213763 a rdf:Statement ;
    up:attribution _:213749 ;
    rdf:subject ?this ;
    rdf:predicate up:recommendedName ;
    rdf:object ?name0 .
  _:213764 a rdf:Statement ;
    up:attribution _:213750 ;
    rdf:subject ?gene1 ;
    rdf:predicate up:encodedBy ;
    rdf:object ?gene1 .
  _:213765 a rdf:Statement ;
    up:attribution _:213751 ;
    rdf:subject ?this ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation2 .
  _:213766 a rdf:Statement ;
    up:attribution _:213752 ;
    rdf:subject ?this ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation3 .
  _:213767 a rdf:Statement ;
    up:attribution _:213753 ;
    rdf:subject ?this ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation5 .
  _:213768 a rdf:Statement ;
    up:attribution _:213754 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object keyword:456 .
  _:213769 a rdf:Statement ;
    up:attribution _:213755 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object GO:0008929 .
  _:213770 a rdf:Statement ;
    up:attribution _:213756 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object GO:0019242 .
  _:213771 a rdf:Statement ;
    up:source unirule:MF_00549 ;
    rdf:subject ?pfs6 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation7 .
  _:213772 a rdf:Statement ;
    up:attribution _:213757 ;
    rdf:subject ?pfs6 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation7 .
  _:213773 a rdf:Statement ;
    up:source unirule:MF_00549 ;
    rdf:subject ?pfs14 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation15 .
  _:213774 a rdf:Statement ;
    up:attribution _:213758 ;
    rdf:subject ?pfs14 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation15 .
  _:213775 a rdf:Statement ;
    up:source unirule:MF_00549 ;
    rdf:subject ?pfs22 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation23 .
  _:213776 a rdf:Statement ;
    up:attribution _:213759 ;
    rdf:subject ?pfs22 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation23 .
  _:213777 a rdf:Statement ;
    up:source unirule:MF_00549 ;
    rdf:subject ?pfs28 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation29 .
  _:213778 a rdf:Statement ;
    up:attribution _:213760 ;
    rdf:subject ?pfs28 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation29 .
  _:213779 a rdf:Statement ;
    up:source unirule:MF_00549 ;
    rdf:subject ?pfs36 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation37 .
  _:213780 a rdf:Statement ;
    up:attribution _:213761 ;
    rdf:subject ?pfs36 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation37 .
  _:213781 a rdf:Statement ;
    up:source unirule:MF_00549 ;
    rdf:subject ?pfs44 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation45 .
  _:213782 a rdf:Statement ;
    up:attribution _:213762 ;
    rdf:subject ?pfs44 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation45 .
}
WHERE {
  #baseURI: http://purl.uniprot.org/unirule/MF_00549
  #Rule MF_00549 Created by:? on:2005-02-28 Modified by:Edouard de Castro on:2023-06-01
  VALUES ?supertaxon52 {taxon:2157 taxon:2}
  ?this up:organism ?thisOrganism ;
    rdfs:seeAlso signature:MF_00549 .
  ?thisOrganism rdfs:subClassOf+ ?supertaxon52 .
  BIND(URI(CONCAT(STR(?this), '#MF_00549a0')) AS ?name0) .
  BIND(URI(CONCAT(STR(?this), '#MF_00549a2')) AS ?annotation2) .
  BIND(URI(CONCAT(STR(?this), '#MF_00549a3')) AS ?annotation3) .
  BIND(URI(CONCAT(STR(?this), '#MF_00549a5')) AS ?annotation5) .
  OPTIONAL {
    ?this up:sequence ?thisSequence .
    ?thisSequence rdf:value ?thisSequenceValue .
    ?templateMotifMatch57 faldo:location ?templateMotifSequenceMatchRegionP0A73158 ;
      edam:is_output_of ?templateMotifSequenceProfileAlignmentOperationP0A73160 ;
      rdf:type edam:data_0869 ;
      rdf:value ?templateMotifCigarP0A731MF_0054953 .
    ?templateMotifSequenceMatchRegionP0A73158 faldo:begin ?templateMotifSequenceMatchBeginP0A73159 .
    ?templateMotifSequenceMatchBeginP0A73159 faldo:position ?templateMotifSequenceMatchBeginPositionP0A73154 ;
      faldo:reference isoform:P0A731-1 .
    ?templateMotifSequenceProfileAlignmentOperationP0A73160 edam:has_input signature:MF_00549 ;
      rdf:type edam:operation_0300 .
    ?targetMotifMatch61 faldo:location ?targetMotifMatchRegionMatch62 ;
      edam:is_output_of ?targetMotifSequenceAlignmentOperationMF_0054964 ;
      rdf:type edam:data_0869 ;
      rdf:value ?targetMotifMatchCigarP0A731MF_0054955 .
    ?targetMotifMatchRegionMatch62 faldo:begin ?targetMotifMatchRegionMatchBeginMF_0054963 .
    ?targetMotifMatchRegionMatchBeginMF_0054963 faldo:position ?targetMotifMatchRegionMatchBeginPositionMF_0054956 ;
      faldo:reference ?thisSequence .
    ?targetMotifSequenceAlignmentOperationMF_0054964 edam:has_input signature:MF_00549 ;
      rdf:type edam:operation_0300 .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarP0A731MF_0054953, 1, (STRLEN(?templateMotifCigarP0A731MF_0054953) - STRLEN(REPLACE(?templateMotifCigarP0A731MF_0054953, CONCAT('^(?:-*[^-]){', STR(((45 - ?templateMotifSequenceMatchBeginPositionP0A73154) + 1)), '}'), '')))), '[a-z]', '')) AS ?step165) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarP0A731MF_0054955, 1, (STRLEN(?targetMotifMatchCigarP0A731MF_0054955) - STRLEN(REPLACE(?targetMotifMatchCigarP0A731MF_0054955, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step165), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarP0A731MF_0054955, 1, (STRLEN(?targetMotifMatchCigarP0A731MF_0054955) - STRLEN(REPLACE(?targetMotifMatchCigarP0A731MF_0054955, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step165), '}'), '')))), '[^-]', ''))) AS ?step266) .
    BIND(((?step266 + ?targetMotifMatchRegionMatchBeginPositionMF_0054956) - 1) AS ?thisPositionOn12) .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarP0A731MF_0054953, 1, (STRLEN(?templateMotifCigarP0A731MF_0054953) - STRLEN(REPLACE(?templateMotifCigarP0A731MF_0054953, CONCAT('^(?:-*[^-]){', STR(((48 - ?templateMotifSequenceMatchBeginPositionP0A73154) + 1)), '}'), '')))), '[a-z]', '')) AS ?step167) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarP0A731MF_0054955, 1, (STRLEN(?targetMotifMatchCigarP0A731MF_0054955) - STRLEN(REPLACE(?targetMotifMatchCigarP0A731MF_0054955, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step167), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarP0A731MF_0054955, 1, (STRLEN(?targetMotifMatchCigarP0A731MF_0054955) - STRLEN(REPLACE(?targetMotifMatchCigarP0A731MF_0054955, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step167), '}'), '')))), '[^-]', ''))) AS ?step268) .
    BIND(((?step268 + ?targetMotifMatchRegionMatchBeginPositionMF_0054956) - 1) AS ?thisPositionOn13) .
    BIND(?this AS ?pfs1t69) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn12))) AS ?pfsb8) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn13))) AS ?pfse9) .
    FILTER (REGEX('TG[TAS]T', SUBSTR(?thisSequenceValue, ?thisPositionOn12, (?thisPositionOn13 - ?thisPositionOn12)))) .
    BIND(URI(CONCAT(STR(?this), '#MF_00549a7')) AS ?annotation7) .
    BIND(?this AS ?pfs6) .
  }
  OPTIONAL {
    ?this up:sequence ?thisSequence .
    ?thisSequence rdf:value ?thisSequenceValue .
    ?templateMotifMatch74 faldo:location ?templateMotifSequenceMatchRegionP0A73175 ;
      edam:is_output_of ?templateMotifSequenceProfileAlignmentOperationP0A73177 ;
      rdf:type edam:data_0869 ;
      rdf:value ?templateMotifCigarP0A731MF_0054970 .
    ?templateMotifSequenceMatchRegionP0A73175 faldo:begin ?templateMotifSequenceMatchBeginP0A73176 .
    ?templateMotifSequenceMatchBeginP0A73176 faldo:position ?templateMotifSequenceMatchBeginPositionP0A73171 ;
      faldo:reference isoform:P0A731-1 .
    ?templateMotifSequenceProfileAlignmentOperationP0A73177 edam:has_input signature:MF_00549 ;
      rdf:type edam:operation_0300 .
    ?targetMotifMatch78 faldo:location ?targetMotifMatchRegionMatch79 ;
      edam:is_output_of ?targetMotifSequenceAlignmentOperationMF_0054981 ;
      rdf:type edam:data_0869 ;
      rdf:value ?targetMotifMatchCigarP0A731MF_0054972 .
    ?targetMotifMatchRegionMatch79 faldo:begin ?targetMotifMatchRegionMatchBeginMF_0054980 .
    ?targetMotifMatchRegionMatchBeginMF_0054980 faldo:position ?targetMotifMatchRegionMatchBeginPositionMF_0054973 ;
      faldo:reference ?thisSequence .
    ?targetMotifSequenceAlignmentOperationMF_0054981 edam:has_input signature:MF_00549 ;
      rdf:type edam:operation_0300 .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarP0A731MF_0054970, 1, (STRLEN(?templateMotifCigarP0A731MF_0054970) - STRLEN(REPLACE(?templateMotifCigarP0A731MF_0054970, CONCAT('^(?:-*[^-]){', STR(((65 - ?templateMotifSequenceMatchBeginPositionP0A73171) + 1)), '}'), '')))), '[a-z]', '')) AS ?step182) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarP0A731MF_0054972, 1, (STRLEN(?targetMotifMatchCigarP0A731MF_0054972) - STRLEN(REPLACE(?targetMotifMatchCigarP0A731MF_0054972, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step182), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarP0A731MF_0054972, 1, (STRLEN(?targetMotifMatchCigarP0A731MF_0054972) - STRLEN(REPLACE(?targetMotifMatchCigarP0A731MF_0054972, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step182), '}'), '')))), '[^-]', ''))) AS ?step283) .
    BIND(((?step283 + ?targetMotifMatchRegionMatchBeginPositionMF_0054973) - 1) AS ?thisPositionOn20) .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarP0A731MF_0054970, 1, (STRLEN(?templateMotifCigarP0A731MF_0054970) - STRLEN(REPLACE(?templateMotifCigarP0A731MF_0054970, CONCAT('^(?:-*[^-]){', STR(((66 - ?templateMotifSequenceMatchBeginPositionP0A73171) + 1)), '}'), '')))), '[a-z]', '')) AS ?step184) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarP0A731MF_0054972, 1, (STRLEN(?targetMotifMatchCigarP0A731MF_0054972) - STRLEN(REPLACE(?targetMotifMatchCigarP0A731MF_0054972, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step184), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarP0A731MF_0054972, 1, (STRLEN(?targetMotifMatchCigarP0A731MF_0054972) - STRLEN(REPLACE(?targetMotifMatchCigarP0A731MF_0054972, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step184), '}'), '')))), '[^-]', ''))) AS ?step285) .
    BIND(((?step285 + ?targetMotifMatchRegionMatchBeginPositionMF_0054973) - 1) AS ?thisPositionOn21) .
    BIND(?this AS ?pfs1t86) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn20))) AS ?pfsb16) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn21))) AS ?pfse17) .
    FILTER ((SUBSTR(?thisSequenceValue, ?thisPositionOn20, (?thisPositionOn21 - ?thisPositionOn20)) = 'SG')) .
    BIND(URI(CONCAT(STR(?this), '#MF_00549a15')) AS ?annotation15) .
    BIND(?this AS ?pfs14) .
  }
  OPTIONAL {
    ?this up:sequence ?thisSequence .
    ?thisSequence rdf:value ?thisSequenceValue .
    ?templateMotifMatch91 faldo:location ?templateMotifSequenceMatchRegionP0A73192 ;
      edam:is_output_of ?templateMotifSequenceProfileAlignmentOperationP0A73194 ;
      rdf:type edam:data_0869 ;
      rdf:value ?templateMotifCigarP0A731MF_0054987 .
    ?templateMotifSequenceMatchRegionP0A73192 faldo:begin ?templateMotifSequenceMatchBeginP0A73193 .
    ?templateMotifSequenceMatchBeginP0A73193 faldo:position ?templateMotifSequenceMatchBeginPositionP0A73188 ;
      faldo:reference isoform:P0A731-1 .
    ?templateMotifSequenceProfileAlignmentOperationP0A73194 edam:has_input signature:MF_00549 ;
      rdf:type edam:operation_0300 .
    ?targetMotifMatch95 faldo:location ?targetMotifMatchRegionMatch96 ;
      edam:is_output_of ?targetMotifSequenceAlignmentOperationMF_0054998 ;
      rdf:type edam:data_0869 ;
      rdf:value ?targetMotifMatchCigarP0A731MF_0054989 .
    ?targetMotifMatchRegionMatch96 faldo:begin ?targetMotifMatchRegionMatchBeginMF_0054997 .
    ?targetMotifMatchRegionMatchBeginMF_0054997 faldo:position ?targetMotifMatchRegionMatchBeginPositionMF_0054990 ;
      faldo:reference ?thisSequence .
    ?targetMotifSequenceAlignmentOperationMF_0054998 edam:has_input signature:MF_00549 ;
      rdf:type edam:operation_0300 .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarP0A731MF_0054987, 1, (STRLEN(?templateMotifCigarP0A731MF_0054987) - STRLEN(REPLACE(?templateMotifCigarP0A731MF_0054987, CONCAT('^(?:-*[^-]){', STR(((71 - ?templateMotifSequenceMatchBeginPositionP0A73188) + 1)), '}'), '')))), '[a-z]', '')) AS ?step199) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarP0A731MF_0054989, 1, (STRLEN(?targetMotifMatchCigarP0A731MF_0054989) - STRLEN(REPLACE(?targetMotifMatchCigarP0A731MF_0054989, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step199), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarP0A731MF_0054989, 1, (STRLEN(?targetMotifMatchCigarP0A731MF_0054989) - STRLEN(REPLACE(?targetMotifMatchCigarP0A731MF_0054989, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step199), '}'), '')))), '[^-]', ''))) AS ?step2100) .
    BIND(((?step2100 + ?targetMotifMatchRegionMatchBeginPositionMF_0054990) - 1) AS ?thisPositionOn26) .
    BIND(?thisPositionOn26 AS ?thisPositionOn27) .
    BIND(?this AS ?pfs1t101) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn26))) AS ?pfsb24) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn27))) AS ?pfse25) .
    FILTER ((SUBSTR(?thisSequenceValue, ?thisPositionOn26, 1) = 'D')) .
    BIND(URI(CONCAT(STR(?this), '#MF_00549a23')) AS ?annotation23) .
    BIND(?this AS ?pfs22) .
  }
  OPTIONAL {
    ?this up:sequence ?thisSequence .
    ?thisSequence rdf:value ?thisSequenceValue .
    ?templateMotifMatch106 faldo:location ?templateMotifSequenceMatchRegionP0A731107 ;
      edam:is_output_of ?templateMotifSequenceProfileAlignmentOperationP0A731109 ;
      rdf:type edam:data_0869 ;
      rdf:value ?templateMotifCigarP0A731MF_00549102 .
    ?templateMotifSequenceMatchRegionP0A731107 faldo:begin ?templateMotifSequenceMatchBeginP0A731108 .
    ?templateMotifSequenceMatchBeginP0A731108 faldo:position ?templateMotifSequenceMatchBeginPositionP0A731103 ;
      faldo:reference isoform:P0A731-1 .
    ?templateMotifSequenceProfileAlignmentOperationP0A731109 edam:has_input signature:MF_00549 ;
      rdf:type edam:operation_0300 .
    ?targetMotifMatch110 faldo:location ?targetMotifMatchRegionMatch111 ;
      edam:is_output_of ?targetMotifSequenceAlignmentOperationMF_00549113 ;
      rdf:type edam:data_0869 ;
      rdf:value ?targetMotifMatchCigarP0A731MF_00549104 .
    ?targetMotifMatchRegionMatch111 faldo:begin ?targetMotifMatchRegionMatchBeginMF_00549112 .
    ?targetMotifMatchRegionMatchBeginMF_00549112 faldo:position ?targetMotifMatchRegionMatchBeginPositionMF_00549105 ;
      faldo:reference ?thisSequence .
    ?targetMotifSequenceAlignmentOperationMF_00549113 edam:has_input signature:MF_00549 ;
      rdf:type edam:operation_0300 .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarP0A731MF_00549102, 1, (STRLEN(?templateMotifCigarP0A731MF_00549102) - STRLEN(REPLACE(?templateMotifCigarP0A731MF_00549102, CONCAT('^(?:-*[^-]){', STR(((19 - ?templateMotifSequenceMatchBeginPositionP0A731103) + 1)), '}'), '')))), '[a-z]', '')) AS ?step1114) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarP0A731MF_00549104, 1, (STRLEN(?targetMotifMatchCigarP0A731MF_00549104) - STRLEN(REPLACE(?targetMotifMatchCigarP0A731MF_00549104, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step1114), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarP0A731MF_00549104, 1, (STRLEN(?targetMotifMatchCigarP0A731MF_00549104) - STRLEN(REPLACE(?targetMotifMatchCigarP0A731MF_00549104, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step1114), '}'), '')))), '[^-]', ''))) AS ?step2115) .
    BIND(((?step2115 + ?targetMotifMatchRegionMatchBeginPositionMF_00549105) - 1) AS ?thisPositionOn34) .
    BIND(?thisPositionOn34 AS ?thisPositionOn35) .
    BIND(?this AS ?pfs1t116) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn34))) AS ?pfsb30) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn35))) AS ?pfse31) .
    FILTER ((SUBSTR(?thisSequenceValue, ?thisPositionOn34, 1) = 'H')) .
    BIND(URI(CONCAT(STR(?this), '#MF_00549a29')) AS ?annotation29) .
    BIND(?this AS ?pfs28) .
  }
  OPTIONAL {
    ?this up:sequence ?thisSequence .
    ?thisSequence rdf:value ?thisSequenceValue .
    ?templateMotifMatch121 faldo:location ?templateMotifSequenceMatchRegionP0A731122 ;
      edam:is_output_of ?templateMotifSequenceProfileAlignmentOperationP0A731124 ;
      rdf:type edam:data_0869 ;
      rdf:value ?templateMotifCigarP0A731MF_00549117 .
    ?templateMotifSequenceMatchRegionP0A731122 faldo:begin ?templateMotifSequenceMatchBeginP0A731123 .
    ?templateMotifSequenceMatchBeginP0A731123 faldo:position ?templateMotifSequenceMatchBeginPositionP0A731118 ;
      faldo:reference isoform:P0A731-1 .
    ?templateMotifSequenceProfileAlignmentOperationP0A731124 edam:has_input signature:MF_00549 ;
      rdf:type edam:operation_0300 .
    ?targetMotifMatch125 faldo:location ?targetMotifMatchRegionMatch126 ;
      edam:is_output_of ?targetMotifSequenceAlignmentOperationMF_00549128 ;
      rdf:type edam:data_0869 ;
      rdf:value ?targetMotifMatchCigarP0A731MF_00549119 .
    ?targetMotifMatchRegionMatch126 faldo:begin ?targetMotifMatchRegionMatchBeginMF_00549127 .
    ?targetMotifMatchRegionMatchBeginMF_00549127 faldo:position ?targetMotifMatchRegionMatchBeginPositionMF_00549120 ;
      faldo:reference ?thisSequence .
    ?targetMotifSequenceAlignmentOperationMF_00549128 edam:has_input signature:MF_00549 ;
      rdf:type edam:operation_0300 .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarP0A731MF_00549117, 1, (STRLEN(?templateMotifCigarP0A731MF_00549117) - STRLEN(REPLACE(?templateMotifCigarP0A731MF_00549117, CONCAT('^(?:-*[^-]){', STR(((23 - ?templateMotifSequenceMatchBeginPositionP0A731118) + 1)), '}'), '')))), '[a-z]', '')) AS ?step1129) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarP0A731MF_00549119, 1, (STRLEN(?targetMotifMatchCigarP0A731MF_00549119) - STRLEN(REPLACE(?targetMotifMatchCigarP0A731MF_00549119, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step1129), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarP0A731MF_00549119, 1, (STRLEN(?targetMotifMatchCigarP0A731MF_00549119) - STRLEN(REPLACE(?targetMotifMatchCigarP0A731MF_00549119, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step1129), '}'), '')))), '[^-]', ''))) AS ?step2130) .
    BIND(((?step2130 + ?targetMotifMatchRegionMatchBeginPositionMF_00549120) - 1) AS ?thisPositionOn42) .
    BIND(?thisPositionOn42 AS ?thisPositionOn43) .
    BIND(?this AS ?pfs1t131) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn42))) AS ?pfsb38) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn43))) AS ?pfse39) .
    FILTER ((SUBSTR(?thisSequenceValue, ?thisPositionOn42, 1) = 'K')) .
    BIND(URI(CONCAT(STR(?this), '#MF_00549a37')) AS ?annotation37) .
    BIND(?this AS ?pfs36) .
  }
  OPTIONAL {
    ?this up:sequence ?thisSequence .
    ?thisSequence rdf:value ?thisSequenceValue .
    ?templateMotifMatch136 faldo:location ?templateMotifSequenceMatchRegionP0A731137 ;
      edam:is_output_of ?templateMotifSequenceProfileAlignmentOperationP0A731139 ;
      rdf:type edam:data_0869 ;
      rdf:value ?templateMotifCigarP0A731MF_00549132 .
    ?templateMotifSequenceMatchRegionP0A731137 faldo:begin ?templateMotifSequenceMatchBeginP0A731138 .
    ?templateMotifSequenceMatchBeginP0A731138 faldo:position ?templateMotifSequenceMatchBeginPositionP0A731133 ;
      faldo:reference isoform:P0A731-1 .
    ?templateMotifSequenceProfileAlignmentOperationP0A731139 edam:has_input signature:MF_00549 ;
      rdf:type edam:operation_0300 .
    ?targetMotifMatch140 faldo:location ?targetMotifMatchRegionMatch141 ;
      edam:is_output_of ?targetMotifSequenceAlignmentOperationMF_00549143 ;
      rdf:type edam:data_0869 ;
      rdf:value ?targetMotifMatchCigarP0A731MF_00549134 .
    ?targetMotifMatchRegionMatch141 faldo:begin ?targetMotifMatchRegionMatchBeginMF_00549142 .
    ?targetMotifMatchRegionMatchBeginMF_00549142 faldo:position ?targetMotifMatchRegionMatchBeginPositionMF_00549135 ;
      faldo:reference ?thisSequence .
    ?targetMotifSequenceAlignmentOperationMF_00549143 edam:has_input signature:MF_00549 ;
      rdf:type edam:operation_0300 .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarP0A731MF_00549132, 1, (STRLEN(?templateMotifCigarP0A731MF_00549132) - STRLEN(REPLACE(?templateMotifCigarP0A731MF_00549132, CONCAT('^(?:-*[^-]){', STR(((98 - ?templateMotifSequenceMatchBeginPositionP0A731133) + 1)), '}'), '')))), '[a-z]', '')) AS ?step1144) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarP0A731MF_00549134, 1, (STRLEN(?targetMotifMatchCigarP0A731MF_00549134) - STRLEN(REPLACE(?targetMotifMatchCigarP0A731MF_00549134, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step1144), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarP0A731MF_00549134, 1, (STRLEN(?targetMotifMatchCigarP0A731MF_00549134) - STRLEN(REPLACE(?targetMotifMatchCigarP0A731MF_00549134, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step1144), '}'), '')))), '[^-]', ''))) AS ?step2145) .
    BIND(((?step2145 + ?targetMotifMatchRegionMatchBeginPositionMF_00549135) - 1) AS ?thisPositionOn50) .
    BIND(?thisPositionOn50 AS ?thisPositionOn51) .
    BIND(?this AS ?pfs1t146) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn50))) AS ?pfsb46) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn51))) AS ?pfse47) .
    FILTER ((SUBSTR(?thisSequenceValue, ?thisPositionOn50, 1) = 'H')) .
    BIND(URI(CONCAT(STR(?this), '#MF_00549a45')) AS ?annotation45) .
    BIND(?this AS ?pfs44) .
  }
}
""" .

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