@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_00820#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_00820#construct-template-0>,
    <http://purl.uniprot.org/unirules/MF_00820#construct-template-80>, <http://purl.uniprot.org/unirules/MF_00820#construct-template-17>,
    <http://purl.uniprot.org/unirules/MF_00820#construct-template-1>, <http://purl.uniprot.org/unirules/MF_00820#construct-template-10>,
    <http://purl.uniprot.org/unirules/MF_00820#construct-template-2>, <http://purl.uniprot.org/unirules/MF_00820#construct-template-22>,
    <http://purl.uniprot.org/unirules/MF_00820#construct-template-21>, <http://purl.uniprot.org/unirules/MF_00820#construct-template-15>,
    <http://purl.uniprot.org/unirules/MF_00820#construct-template-19>, <http://purl.uniprot.org/unirules/MF_00820#construct-template-60>,
    <http://purl.uniprot.org/unirules/MF_00820#construct-template-5>, <http://purl.uniprot.org/unirules/MF_00820#construct-template-84>,
    <http://purl.uniprot.org/unirules/MF_00820#construct-template-114>, <http://purl.uniprot.org/unirules/MF_00820#construct-template-6>,
    <http://purl.uniprot.org/unirules/MF_00820#construct-template-83>, <http://purl.uniprot.org/unirules/MF_00820#construct-template-20>,
    <http://purl.uniprot.org/unirules/MF_00820#construct-template-23>, <http://purl.uniprot.org/unirules/MF_00820#construct-template-12>,
    <http://purl.uniprot.org/unirules/MF_00820#construct-template-82>, <http://purl.uniprot.org/unirules/MF_00820#construct-template-8>,
    <http://purl.uniprot.org/unirules/MF_00820#construct-template-4>, <http://purl.uniprot.org/unirules/MF_00820#construct-template-3>,
    <http://purl.uniprot.org/unirules/MF_00820#construct-template-81>, <http://purl.uniprot.org/unirules/MF_00820#construct-template-9>,
    <http://purl.uniprot.org/unirules/MF_00820#construct-template-7>, <http://purl.uniprot.org/unirules/MF_00820#construct-template-18>,
    <http://purl.uniprot.org/unirules/MF_00820#construct-template-36>, <http://purl.uniprot.org/unirules/MF_00820#construct-template-11>,
    <http://purl.uniprot.org/unirules/MF_00820#construct-template-35>, <http://purl.uniprot.org/unirules/MF_00820#construct-template-59>,
    <http://purl.uniprot.org/unirules/MF_00820#construct-template-34>, <http://purl.uniprot.org/unirules/MF_00820#construct-template-58>,
    <http://purl.uniprot.org/unirules/MF_00820#construct-template-33>, <http://purl.uniprot.org/unirules/MF_00820#construct-template-57>,
    <http://purl.uniprot.org/unirules/MF_00820#construct-template-13>, <http://purl.uniprot.org/unirules/MF_00820#construct-template-16>,
    <http://purl.uniprot.org/unirules/MF_00820#construct-template-39>, <http://purl.uniprot.org/unirules/MF_00820#construct-template-14>,
    <http://purl.uniprot.org/unirules/MF_00820#construct-template-38>, <http://purl.uniprot.org/unirules/MF_00820#construct-template-37>,
    <http://purl.uniprot.org/unirules/MF_00820#construct-template-76>, <http://purl.uniprot.org/unirules/MF_00820#construct-template-52>,
    <http://purl.uniprot.org/unirules/MF_00820#construct-template-99>, <http://purl.uniprot.org/unirules/MF_00820#construct-template-51>,
    <http://purl.uniprot.org/unirules/MF_00820#construct-template-75>, <http://purl.uniprot.org/unirules/MF_00820#construct-template-101>,
    <http://purl.uniprot.org/unirules/MF_00820#construct-template-98>, <http://purl.uniprot.org/unirules/MF_00820#construct-template-50>,
    <http://purl.uniprot.org/unirules/MF_00820#construct-template-74>, <http://purl.uniprot.org/unirules/MF_00820#construct-template-100>,
    <http://purl.uniprot.org/unirules/MF_00820#construct-template-73>, <http://purl.uniprot.org/unirules/MF_00820#construct-template-97>,
    <http://purl.uniprot.org/unirules/MF_00820#construct-template-32>, <http://purl.uniprot.org/unirules/MF_00820#construct-template-56>,
    <http://purl.uniprot.org/unirules/MF_00820#construct-template-55>, <http://purl.uniprot.org/unirules/MF_00820#construct-template-79>,
    <http://purl.uniprot.org/unirules/MF_00820#construct-template-31>, <http://purl.uniprot.org/unirules/MF_00820#construct-template-54>,
    <http://purl.uniprot.org/unirules/MF_00820#construct-template-78>, <http://purl.uniprot.org/unirules/MF_00820#construct-template-30>,
    <http://purl.uniprot.org/unirules/MF_00820#construct-template-77>, <http://purl.uniprot.org/unirules/MF_00820#construct-template-53>,
    <http://purl.uniprot.org/unirules/MF_00820#construct-template-107>, <http://purl.uniprot.org/unirules/MF_00820#construct-template-92>,
    <http://purl.uniprot.org/unirules/MF_00820#construct-template-106>, <http://purl.uniprot.org/unirules/MF_00820#construct-template-91>,
    <http://purl.uniprot.org/unirules/MF_00820#construct-template-90>, <http://purl.uniprot.org/unirules/MF_00820#construct-template-109>,
    <http://purl.uniprot.org/unirules/MF_00820#construct-template-108>, <http://purl.uniprot.org/unirules/MF_00820#construct-template-103>,
    <http://purl.uniprot.org/unirules/MF_00820#construct-template-72>, <http://purl.uniprot.org/unirules/MF_00820#construct-template-96>,
    <http://purl.uniprot.org/unirules/MF_00820#construct-template-102>, <http://purl.uniprot.org/unirules/MF_00820#construct-template-71>,
    <http://purl.uniprot.org/unirules/MF_00820#construct-template-95>, <http://purl.uniprot.org/unirules/MF_00820#construct-template-105>,
    <http://purl.uniprot.org/unirules/MF_00820#construct-template-70>, <http://purl.uniprot.org/unirules/MF_00820#construct-template-94>,
    <http://purl.uniprot.org/unirules/MF_00820#construct-template-104>, <http://purl.uniprot.org/unirules/MF_00820#construct-template-93>,
    <http://purl.uniprot.org/unirules/MF_00820#construct-template-29>, <http://purl.uniprot.org/unirules/MF_00820#construct-template-24>,
    <http://purl.uniprot.org/unirules/MF_00820#construct-template-48>, <http://purl.uniprot.org/unirules/MF_00820#construct-template-47>,
    <http://purl.uniprot.org/unirules/MF_00820#construct-template-46>, <http://purl.uniprot.org/unirules/MF_00820#construct-template-45>,
    <http://purl.uniprot.org/unirules/MF_00820#construct-template-69>, <http://purl.uniprot.org/unirules/MF_00820#construct-template-28>,
    <http://purl.uniprot.org/unirules/MF_00820#construct-template-27>, <http://purl.uniprot.org/unirules/MF_00820#construct-template-26>,
    <http://purl.uniprot.org/unirules/MF_00820#construct-template-25>, <http://purl.uniprot.org/unirules/MF_00820#construct-template-49>,
    <http://purl.uniprot.org/unirules/MF_00820#construct-template-111>, <http://purl.uniprot.org/unirules/MF_00820#construct-template-88>,
    <http://purl.uniprot.org/unirules/MF_00820#construct-template-40>, <http://purl.uniprot.org/unirules/MF_00820#construct-template-64>,
    <http://purl.uniprot.org/unirules/MF_00820#construct-template-110>, <http://purl.uniprot.org/unirules/MF_00820#construct-template-87>,
    <http://purl.uniprot.org/unirules/MF_00820#construct-template-63>, <http://purl.uniprot.org/unirules/MF_00820#construct-template-113>,
    <http://purl.uniprot.org/unirules/MF_00820#construct-template-62>, <http://purl.uniprot.org/unirules/MF_00820#construct-template-86>,
    <http://purl.uniprot.org/unirules/MF_00820#construct-template-112>, <http://purl.uniprot.org/unirules/MF_00820#construct-template-61>,
    <http://purl.uniprot.org/unirules/MF_00820#construct-template-85>, <http://purl.uniprot.org/unirules/MF_00820#construct-template-44>,
    <http://purl.uniprot.org/unirules/MF_00820#construct-template-68>, <http://purl.uniprot.org/unirules/MF_00820#construct-template-43>,
    <http://purl.uniprot.org/unirules/MF_00820#construct-template-67>, <http://purl.uniprot.org/unirules/MF_00820#construct-template-66>,
    <http://purl.uniprot.org/unirules/MF_00820#construct-template-42>, <http://purl.uniprot.org/unirules/MF_00820#construct-template-65>,
    <http://purl.uniprot.org/unirules/MF_00820#construct-template-89>, <http://purl.uniprot.org/unirules/MF_00820#construct-template-41>;
  <http://www.w3.org/ns/shacl#prefixes> <http://purl.uniprot.org/unirules/>;
  <http://spinrdf.org/sp#where> <http://purl.uniprot.org/unirules/MF_00820#construct-where-list-0>;
  <http://spinrdf.org/sp#templates> <http://purl.uniprot.org/unirules/MF_00820#construct-template-list-0>;
  <http://www.w3.org/ns/shacl#construct> """CONSTRUCT {
  _:292429 up:source unirule:MF_00820 .
  _:292430 up:source unirule:MF_00820 .
  _:292431 up:source unirule:MF_00820 .
  _:292432 up:source unirule:MF_00820 .
  _:292433 up:source unirule:MF_00820 .
  _:292434 up:source unirule:MF_00820 .
  _:292435 up:source unirule:MF_00820 .
  _:292436 up:source unirule:MF_00820 .
  _:292437 up:source unirule:MF_00820 .
  _:292438 up:source unirule:MF_00820 .
  _:292439 up:source unirule:MF_00820 .
  _:292440 up:source unirule:MF_00820 .
  _:292441 up:source unirule:MF_00820 .
  _:292442 up:source unirule:MF_00820 .
  _:292443 up:source unirule:MF_00820 .
  _:292444 up:source unirule:MF_00820 .
  _:292445 up:source unirule:MF_00820 .
  _:292446 up:source unirule:MF_00820 .
  ?this up:alternativeName ?name1 ;
    up:annotation ?annotation3 ,
      ?annotation4 ,
      ?annotation6 ,
      ?annotation8 ,
      ?annotation9 ,
      ?annotation11 ;
    up:classifiedWith GO:0005737 ,
      GO:0047559 ,
      keyword:520 ,
      keyword:560 ,
      keyword:963 ;
    up:recommendedName ?name0 .
  ?name0 up:ecName '1.1.1.130' ;
    up:fullName '2,3-diketo-L-gulonate reductase' ;
    up:shortName '2,3-DKG reductase' ;
    rdf:type up:Structured_Name .
  ?name1 up:fullName '3-dehydro-L-gulonate 2-dehydrogenase' ;
    rdf:type up:Structured_Name .
  ?gene2 skos:prefLabel 'dlgD' .
  ?annotation3 a up:Function_Annotation ;
    rdfs:comment 'Catalyzes the reduction of 2,3-diketo-L-gulonate in the presence of NADH, to form 3-keto-L-gulonate.' .
  ?annotation4 up:activity ?activity5 ;
    rdf:type up:Catalytic_Activity_Annotation .
  ?activity5 up:catalyticActivity <http://rdf.rhea-db.org/21924>;
    up:enzymeClass <http://purl.uniprot.org/enzyme/1.1.1.130>.
  ?annotation6 up:activity ?activity7 ;
    rdf:type up:Catalytic_Activity_Annotation .
  ?activity7 up:catalyticActivity <http://rdf.rhea-db.org/21928>;
    up:enzymeClass <http://purl.uniprot.org/enzyme/1.1.1.130>.
  ?annotation8 a up:Subunit_Annotation ;
    rdfs:comment 'Homodimer.' .
  ?annotation9 a up:Subcellular_Location_Annotation .
  ?annotation9li10 up:cellularComponent <http://purl.uniprot.org/locations/null>.
  ?annotation11 a up:Similarity_Annotation ;
    rdfs:comment 'Belongs to the LDH2/MDH2 oxidoreductase family. DlgD subfamily.' .
  ?pfs12 up:annotation ?annotation13 .
  ?annotation13 faldo:begin ?pfsb14 ;
    faldo:end ?pfse15 ;
    up:ligand ?ligand16 ;
    rdf:type up:Binding_Site_Annotation .
  ?pfsb14 faldo:position ?thisPositionOn17 ;
    rdf:type faldo:ExactPosition .
  ?pfse15 faldo:position ?thisPositionOn18 ;
    rdf:type faldo:ExactPosition .
  ?ligand16 rdfs:subClassOf chebi:57540 .
  ?pfs19 up:annotation ?annotation20 .
  ?annotation20 faldo:begin ?pfsb21 ;
    faldo:end ?pfse22 ;
    up:ligand ?ligand23 ;
    rdf:type up:Binding_Site_Annotation .
  ?pfsb21 faldo:position ?thisPositionOn24 ;
    rdf:type faldo:ExactPosition .
  ?pfse22 faldo:position ?thisPositionOn25 ;
    rdf:type faldo:ExactPosition .
  ?ligand23 rdfs:subClassOf chebi:57540 .
  ?pfs26 up:annotation ?annotation27 .
  ?annotation27 faldo:begin ?pfsb28 ;
    faldo:end ?pfse29 ;
    up:ligand ?ligand30 ;
    rdf:type up:Binding_Site_Annotation .
  ?pfsb28 faldo:position ?thisPositionOn31 ;
    rdf:type faldo:ExactPosition .
  ?pfse29 faldo:position ?thisPositionOn32 ;
    rdf:type faldo:ExactPosition .
  ?ligand30 rdfs:subClassOf chebi:57540 .
  ?pfs33 up:annotation ?annotation34 .
  ?annotation34 faldo:begin ?pfsb35 ;
    faldo:end ?pfse36 ;
    rdf:type up:Active_Site_Annotation ;
    rdfs:comment 'Proton donor' .
  ?pfsb35 faldo:position ?thisPositionOn37 ;
    rdf:type faldo:ExactPosition .
  ?pfse36 faldo:position ?thisPositionOn38 ;
    rdf:type faldo:ExactPosition .
  _:292447 a rdf:Statement ;
    up:attribution _:292429 ;
    rdf:subject ?this ;
    rdf:predicate up:recommendedName ;
    rdf:object ?name0 .
  _:292448 a rdf:Statement ;
    up:attribution _:292430 ;
    rdf:subject ?this ;
    rdf:predicate up:alternativeName ;
    rdf:object ?name1 .
  _:292449 a rdf:Statement ;
    up:attribution _:292431 ;
    rdf:subject ?gene2 ;
    rdf:predicate up:encodedBy ;
    rdf:object ?gene2 .
  _:292450 a rdf:Statement ;
    up:attribution _:292432 ;
    rdf:subject ?this ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation3 .
  _:292451 a rdf:Statement ;
    up:attribution _:292433 ;
    rdf:subject ?this ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation4 .
  _:292452 a rdf:Statement ;
    up:attribution _:292434 ;
    rdf:subject ?this ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation6 .
  _:292453 a rdf:Statement ;
    up:attribution _:292435 ;
    rdf:subject ?this ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation8 .
  _:292454 a rdf:Statement ;
    up:attribution _:292436 ;
    rdf:subject ?this ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation9 .
  _:292455 a rdf:Statement ;
    up:attribution _:292437 ;
    rdf:subject ?this ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation11 .
  _:292456 a rdf:Statement ;
    up:attribution _:292438 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object keyword:963 .
  _:292457 a rdf:Statement ;
    up:attribution _:292439 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object keyword:520 .
  _:292458 a rdf:Statement ;
    up:attribution _:292440 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object keyword:560 .
  _:292459 a rdf:Statement ;
    up:attribution _:292441 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object GO:0047559 .
  _:292460 a rdf:Statement ;
    up:attribution _:292442 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object GO:0005737 .
  _:292461 a rdf:Statement ;
    up:source unirule:MF_00820 ;
    rdf:subject ?pfs12 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation13 .
  _:292462 a rdf:Statement ;
    up:attribution _:292443 ;
    rdf:subject ?pfs12 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation13 .
  _:292463 a rdf:Statement ;
    up:source unirule:MF_00820 ;
    rdf:subject ?pfs19 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation20 .
  _:292464 a rdf:Statement ;
    up:attribution _:292444 ;
    rdf:subject ?pfs19 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation20 .
  _:292465 a rdf:Statement ;
    up:source unirule:MF_00820 ;
    rdf:subject ?pfs26 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation27 .
  _:292466 a rdf:Statement ;
    up:attribution _:292445 ;
    rdf:subject ?pfs26 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation27 .
  _:292467 a rdf:Statement ;
    up:source unirule:MF_00820 ;
    rdf:subject ?pfs33 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation34 .
  _:292468 a rdf:Statement ;
    up:attribution _:292446 ;
    rdf:subject ?pfs33 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation34 .
}
WHERE {
  #baseURI: http://purl.uniprot.org/unirule/MF_00820
  #Rule MF_00820 Created by:? on:2005-11-29 Modified by:Edouard de Castro on:2024-09-03
  ?this up:organism ?thisOrganism ;
    rdfs:seeAlso signature:MF_00820 .
  ?thisOrganism rdfs:subClassOf+ taxon:1236 .
  BIND(URI(CONCAT(STR(?this), '#MF_00820a0')) AS ?name0) .
  BIND(URI(CONCAT(STR(?this), '#MF_00820a1')) AS ?name1) .
  BIND(URI(CONCAT(STR(?this), '#MF_00820a3')) AS ?annotation3) .
  BIND(URI(CONCAT(STR(?this), '#MF_00820a4')) AS ?annotation4) .
  BIND(URI(CONCAT(STR(?this), '#MF_00820a6')) AS ?annotation6) .
  BIND(URI(CONCAT(STR(?this), '#MF_00820a8')) AS ?annotation8) .
  BIND(URI(CONCAT(STR(?this), '#MF_00820a9')) AS ?annotation9) .
  BIND(URI(CONCAT(STR(?this), '#MF_00820a11')) AS ?annotation11) .
  OPTIONAL {
    ?this up:sequence ?thisSequence .
    ?thisSequence rdf:value ?thisSequenceValue .
    ?templateMotifMatch43 faldo:location ?templateMotifSequenceMatchRegionP3767244 ;
      edam:is_output_of ?templateMotifSequenceProfileAlignmentOperationP3767246 ;
      rdf:type edam:data_0869 ;
      rdf:value ?templateMotifCigarP37672MF_0082039 .
    ?templateMotifSequenceMatchRegionP3767244 faldo:begin ?templateMotifSequenceMatchBeginP3767245 .
    ?templateMotifSequenceMatchBeginP3767245 faldo:position ?templateMotifSequenceMatchBeginPositionP3767240 ;
      faldo:reference isoform:P37672-1 .
    ?templateMotifSequenceProfileAlignmentOperationP3767246 edam:has_input signature:MF_00820 ;
      rdf:type edam:operation_0300 .
    ?targetMotifMatch47 faldo:location ?targetMotifMatchRegionMatch48 ;
      edam:is_output_of ?targetMotifSequenceAlignmentOperationMF_0082050 ;
      rdf:type edam:data_0869 ;
      rdf:value ?targetMotifMatchCigarP37672MF_0082041 .
    ?targetMotifMatchRegionMatch48 faldo:begin ?targetMotifMatchRegionMatchBeginMF_0082049 .
    ?targetMotifMatchRegionMatchBeginMF_0082049 faldo:position ?targetMotifMatchRegionMatchBeginPositionMF_0082042 ;
      faldo:reference ?thisSequence .
    ?targetMotifSequenceAlignmentOperationMF_0082050 edam:has_input signature:MF_00820 ;
      rdf:type edam:operation_0300 .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarP37672MF_0082039, 1, (STRLEN(?templateMotifCigarP37672MF_0082039) - STRLEN(REPLACE(?templateMotifCigarP37672MF_0082039, CONCAT('^(?:-*[^-]){', STR(((168 - ?templateMotifSequenceMatchBeginPositionP3767240) + 1)), '}'), '')))), '[a-z]', '')) AS ?step151) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarP37672MF_0082041, 1, (STRLEN(?targetMotifMatchCigarP37672MF_0082041) - STRLEN(REPLACE(?targetMotifMatchCigarP37672MF_0082041, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step151), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarP37672MF_0082041, 1, (STRLEN(?targetMotifMatchCigarP37672MF_0082041) - STRLEN(REPLACE(?targetMotifMatchCigarP37672MF_0082041, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step151), '}'), '')))), '[^-]', ''))) AS ?step252) .
    BIND(((?step252 + ?targetMotifMatchRegionMatchBeginPositionMF_0082042) - 1) AS ?thisPositionOn17) .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarP37672MF_0082039, 1, (STRLEN(?templateMotifCigarP37672MF_0082039) - STRLEN(REPLACE(?templateMotifCigarP37672MF_0082039, CONCAT('^(?:-*[^-]){', STR(((174 - ?templateMotifSequenceMatchBeginPositionP3767240) + 1)), '}'), '')))), '[a-z]', '')) AS ?step153) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarP37672MF_0082041, 1, (STRLEN(?targetMotifMatchCigarP37672MF_0082041) - STRLEN(REPLACE(?targetMotifMatchCigarP37672MF_0082041, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step153), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarP37672MF_0082041, 1, (STRLEN(?targetMotifMatchCigarP37672MF_0082041) - STRLEN(REPLACE(?targetMotifMatchCigarP37672MF_0082041, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step153), '}'), '')))), '[^-]', ''))) AS ?step254) .
    BIND(((?step254 + ?targetMotifMatchRegionMatchBeginPositionMF_0082042) - 1) AS ?thisPositionOn18) .
    BIND(?this AS ?pfs1t55) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn17))) AS ?pfsb14) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn18))) AS ?pfse15) .
    FILTER (REGEX('[ARNDCQEGHILKMFPSTWYVBZJUOX][ARNDCQEGHILKMFPSTWYVBZJUOX]M[ARNDCQEGHILKMFPSTWYVBZJUOX]D[ARNDCQEGHILKMFPSTWYVBZJUOX]S', SUBSTR(?thisSequenceValue, ?thisPositionOn17, (?thisPositionOn18 - ?thisPositionOn17)))) .
    BIND(URI(CONCAT(STR(?this), '#MF_00820a13')) AS ?annotation13) .
    BIND(?this AS ?pfs12) .
  }
  OPTIONAL {
    ?this up:sequence ?thisSequence .
    ?thisSequence rdf:value ?thisSequenceValue .
    ?templateMotifMatch60 faldo:location ?templateMotifSequenceMatchRegionP3767261 ;
      edam:is_output_of ?templateMotifSequenceProfileAlignmentOperationP3767263 ;
      rdf:type edam:data_0869 ;
      rdf:value ?templateMotifCigarP37672MF_0082056 .
    ?templateMotifSequenceMatchRegionP3767261 faldo:begin ?templateMotifSequenceMatchBeginP3767262 .
    ?templateMotifSequenceMatchBeginP3767262 faldo:position ?templateMotifSequenceMatchBeginPositionP3767257 ;
      faldo:reference isoform:P37672-1 .
    ?templateMotifSequenceProfileAlignmentOperationP3767263 edam:has_input signature:MF_00820 ;
      rdf:type edam:operation_0300 .
    ?targetMotifMatch64 faldo:location ?targetMotifMatchRegionMatch65 ;
      edam:is_output_of ?targetMotifSequenceAlignmentOperationMF_0082067 ;
      rdf:type edam:data_0869 ;
      rdf:value ?targetMotifMatchCigarP37672MF_0082058 .
    ?targetMotifMatchRegionMatch65 faldo:begin ?targetMotifMatchRegionMatchBeginMF_0082066 .
    ?targetMotifMatchRegionMatchBeginMF_0082066 faldo:position ?targetMotifMatchRegionMatchBeginPositionMF_0082059 ;
      faldo:reference ?thisSequence .
    ?targetMotifSequenceAlignmentOperationMF_0082067 edam:has_input signature:MF_00820 ;
      rdf:type edam:operation_0300 .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarP37672MF_0082056, 1, (STRLEN(?templateMotifCigarP37672MF_0082056) - STRLEN(REPLACE(?templateMotifCigarP37672MF_0082056, CONCAT('^(?:-*[^-]){', STR(((224 - ?templateMotifSequenceMatchBeginPositionP3767257) + 1)), '}'), '')))), '[a-z]', '')) AS ?step168) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarP37672MF_0082058, 1, (STRLEN(?targetMotifMatchCigarP37672MF_0082058) - STRLEN(REPLACE(?targetMotifMatchCigarP37672MF_0082058, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step168), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarP37672MF_0082058, 1, (STRLEN(?targetMotifMatchCigarP37672MF_0082058) - STRLEN(REPLACE(?targetMotifMatchCigarP37672MF_0082058, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step168), '}'), '')))), '[^-]', ''))) AS ?step269) .
    BIND(((?step269 + ?targetMotifMatchRegionMatchBeginPositionMF_0082059) - 1) AS ?thisPositionOn24) .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarP37672MF_0082056, 1, (STRLEN(?templateMotifCigarP37672MF_0082056) - STRLEN(REPLACE(?templateMotifCigarP37672MF_0082056, CONCAT('^(?:-*[^-]){', STR(((225 - ?templateMotifSequenceMatchBeginPositionP3767257) + 1)), '}'), '')))), '[a-z]', '')) AS ?step170) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarP37672MF_0082058, 1, (STRLEN(?targetMotifMatchCigarP37672MF_0082058) - STRLEN(REPLACE(?targetMotifMatchCigarP37672MF_0082058, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step170), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarP37672MF_0082058, 1, (STRLEN(?targetMotifMatchCigarP37672MF_0082058) - STRLEN(REPLACE(?targetMotifMatchCigarP37672MF_0082058, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step170), '}'), '')))), '[^-]', ''))) AS ?step271) .
    BIND(((?step271 + ?targetMotifMatchRegionMatchBeginPositionMF_0082059) - 1) AS ?thisPositionOn25) .
    BIND(?this AS ?pfs1t72) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn24))) AS ?pfsb21) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn25))) AS ?pfse22) .
    FILTER ((SUBSTR(?thisSequenceValue, ?thisPositionOn24, (?thisPositionOn25 - ?thisPositionOn24)) = 'WK')) .
    BIND(URI(CONCAT(STR(?this), '#MF_00820a20')) AS ?annotation20) .
    BIND(?this AS ?pfs19) .
  }
  OPTIONAL {
    ?this up:sequence ?thisSequence .
    ?thisSequence rdf:value ?thisSequenceValue .
    ?templateMotifMatch77 faldo:location ?templateMotifSequenceMatchRegionP3767278 ;
      edam:is_output_of ?templateMotifSequenceProfileAlignmentOperationP3767280 ;
      rdf:type edam:data_0869 ;
      rdf:value ?templateMotifCigarP37672MF_0082073 .
    ?templateMotifSequenceMatchRegionP3767278 faldo:begin ?templateMotifSequenceMatchBeginP3767279 .
    ?templateMotifSequenceMatchBeginP3767279 faldo:position ?templateMotifSequenceMatchBeginPositionP3767274 ;
      faldo:reference isoform:P37672-1 .
    ?templateMotifSequenceProfileAlignmentOperationP3767280 edam:has_input signature:MF_00820 ;
      rdf:type edam:operation_0300 .
    ?targetMotifMatch81 faldo:location ?targetMotifMatchRegionMatch82 ;
      edam:is_output_of ?targetMotifSequenceAlignmentOperationMF_0082084 ;
      rdf:type edam:data_0869 ;
      rdf:value ?targetMotifMatchCigarP37672MF_0082075 .
    ?targetMotifMatchRegionMatch82 faldo:begin ?targetMotifMatchRegionMatchBeginMF_0082083 .
    ?targetMotifMatchRegionMatchBeginMF_0082083 faldo:position ?targetMotifMatchRegionMatchBeginPositionMF_0082076 ;
      faldo:reference ?thisSequence .
    ?targetMotifSequenceAlignmentOperationMF_0082084 edam:has_input signature:MF_00820 ;
      rdf:type edam:operation_0300 .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarP37672MF_0082073, 1, (STRLEN(?templateMotifCigarP37672MF_0082073) - STRLEN(REPLACE(?templateMotifCigarP37672MF_0082073, CONCAT('^(?:-*[^-]){', STR(((304 - ?templateMotifSequenceMatchBeginPositionP3767274) + 1)), '}'), '')))), '[a-z]', '')) AS ?step185) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarP37672MF_0082075, 1, (STRLEN(?targetMotifMatchCigarP37672MF_0082075) - STRLEN(REPLACE(?targetMotifMatchCigarP37672MF_0082075, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step185), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarP37672MF_0082075, 1, (STRLEN(?targetMotifMatchCigarP37672MF_0082075) - STRLEN(REPLACE(?targetMotifMatchCigarP37672MF_0082075, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step185), '}'), '')))), '[^-]', ''))) AS ?step286) .
    BIND(((?step286 + ?targetMotifMatchRegionMatchBeginPositionMF_0082076) - 1) AS ?thisPositionOn31) .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarP37672MF_0082073, 1, (STRLEN(?templateMotifCigarP37672MF_0082073) - STRLEN(REPLACE(?templateMotifCigarP37672MF_0082073, CONCAT('^(?:-*[^-]){', STR(((306 - ?templateMotifSequenceMatchBeginPositionP3767274) + 1)), '}'), '')))), '[a-z]', '')) AS ?step187) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarP37672MF_0082075, 1, (STRLEN(?targetMotifMatchCigarP37672MF_0082075) - STRLEN(REPLACE(?targetMotifMatchCigarP37672MF_0082075, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step187), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarP37672MF_0082075, 1, (STRLEN(?targetMotifMatchCigarP37672MF_0082075) - STRLEN(REPLACE(?targetMotifMatchCigarP37672MF_0082075, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step187), '}'), '')))), '[^-]', ''))) AS ?step288) .
    BIND(((?step288 + ?targetMotifMatchRegionMatchBeginPositionMF_0082076) - 1) AS ?thisPositionOn32) .
    BIND(?this AS ?pfs1t89) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn31))) AS ?pfsb28) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn32))) AS ?pfse29) .
    FILTER (REGEX('G[ARNDCQEGHILKMFPSTWYVBZJUOX]E', SUBSTR(?thisSequenceValue, ?thisPositionOn31, (?thisPositionOn32 - ?thisPositionOn31)))) .
    BIND(URI(CONCAT(STR(?this), '#MF_00820a27')) AS ?annotation27) .
    BIND(?this AS ?pfs26) .
  }
  OPTIONAL {
    ?this up:sequence ?thisSequence .
    ?thisSequence rdf:value ?thisSequenceValue .
    ?templateMotifMatch94 faldo:location ?templateMotifSequenceMatchRegionP3767295 ;
      edam:is_output_of ?templateMotifSequenceProfileAlignmentOperationP3767297 ;
      rdf:type edam:data_0869 ;
      rdf:value ?templateMotifCigarP37672MF_0082090 .
    ?templateMotifSequenceMatchRegionP3767295 faldo:begin ?templateMotifSequenceMatchBeginP3767296 .
    ?templateMotifSequenceMatchBeginP3767296 faldo:position ?templateMotifSequenceMatchBeginPositionP3767291 ;
      faldo:reference isoform:P37672-1 .
    ?templateMotifSequenceProfileAlignmentOperationP3767297 edam:has_input signature:MF_00820 ;
      rdf:type edam:operation_0300 .
    ?targetMotifMatch98 faldo:location ?targetMotifMatchRegionMatch99 ;
      edam:is_output_of ?targetMotifSequenceAlignmentOperationMF_00820101 ;
      rdf:type edam:data_0869 ;
      rdf:value ?targetMotifMatchCigarP37672MF_0082092 .
    ?targetMotifMatchRegionMatch99 faldo:begin ?targetMotifMatchRegionMatchBeginMF_00820100 .
    ?targetMotifMatchRegionMatchBeginMF_00820100 faldo:position ?targetMotifMatchRegionMatchBeginPositionMF_0082093 ;
      faldo:reference ?thisSequence .
    ?targetMotifSequenceAlignmentOperationMF_00820101 edam:has_input signature:MF_00820 ;
      rdf:type edam:operation_0300 .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarP37672MF_0082090, 1, (STRLEN(?templateMotifCigarP37672MF_0082090) - STRLEN(REPLACE(?templateMotifCigarP37672MF_0082090, CONCAT('^(?:-*[^-]){', STR(((44 - ?templateMotifSequenceMatchBeginPositionP3767291) + 1)), '}'), '')))), '[a-z]', '')) AS ?step1102) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarP37672MF_0082092, 1, (STRLEN(?targetMotifMatchCigarP37672MF_0082092) - STRLEN(REPLACE(?targetMotifMatchCigarP37672MF_0082092, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step1102), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarP37672MF_0082092, 1, (STRLEN(?targetMotifMatchCigarP37672MF_0082092) - STRLEN(REPLACE(?targetMotifMatchCigarP37672MF_0082092, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step1102), '}'), '')))), '[^-]', ''))) AS ?step2103) .
    BIND(((?step2103 + ?targetMotifMatchRegionMatchBeginPositionMF_0082093) - 1) AS ?thisPositionOn37) .
    BIND(?thisPositionOn37 AS ?thisPositionOn38) .
    BIND(?this AS ?pfs1t104) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn37))) AS ?pfsb35) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn38))) AS ?pfse36) .
    FILTER ((SUBSTR(?thisSequenceValue, ?thisPositionOn37, 1) = 'H')) .
    BIND(URI(CONCAT(STR(?this), '#MF_00820a34')) AS ?annotation34) .
    BIND(?this AS ?pfs33) .
  }
}
""" .

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