@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_00972#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_00972#construct-template-81>,
    <http://purl.uniprot.org/unirules/MF_00972#construct-template-16>, <http://purl.uniprot.org/unirules/MF_00972#construct-template-31>,
    <http://purl.uniprot.org/unirules/MF_00972#construct-template-76>, <http://purl.uniprot.org/unirules/MF_00972#construct-template-28>,
    <http://purl.uniprot.org/unirules/MF_00972#construct-template-57>, <http://purl.uniprot.org/unirules/MF_00972#construct-template-35>,
    <http://purl.uniprot.org/unirules/MF_00972#construct-template-67>, <http://purl.uniprot.org/unirules/MF_00972#construct-template-71>,
    <http://purl.uniprot.org/unirules/MF_00972#construct-template-72>, <http://purl.uniprot.org/unirules/MF_00972#construct-template-3>,
    <http://purl.uniprot.org/unirules/MF_00972#construct-template-66>, <http://purl.uniprot.org/unirules/MF_00972#construct-template-59>,
    <http://purl.uniprot.org/unirules/MF_00972#construct-template-60>, <http://purl.uniprot.org/unirules/MF_00972#construct-template-12>,
    <http://purl.uniprot.org/unirules/MF_00972#construct-template-56>, <http://purl.uniprot.org/unirules/MF_00972#construct-template-21>,
    <http://purl.uniprot.org/unirules/MF_00972#construct-template-22>, <http://purl.uniprot.org/unirules/MF_00972#construct-template-61>,
    <http://purl.uniprot.org/unirules/MF_00972#construct-template-24>, <http://purl.uniprot.org/unirules/MF_00972#construct-template-63>,
    <http://purl.uniprot.org/unirules/MF_00972#construct-template-37>, <http://purl.uniprot.org/unirules/MF_00972#construct-template-47>,
    <http://purl.uniprot.org/unirules/MF_00972#construct-template-77>, <http://purl.uniprot.org/unirules/MF_00972#construct-template-92>,
    <http://purl.uniprot.org/unirules/MF_00972#construct-template-20>, <http://purl.uniprot.org/unirules/MF_00972#construct-template-51>,
    <http://purl.uniprot.org/unirules/MF_00972#construct-template-45>, <http://purl.uniprot.org/unirules/MF_00972#construct-template-19>,
    <http://purl.uniprot.org/unirules/MF_00972#construct-template-5>, <http://purl.uniprot.org/unirules/MF_00972#construct-template-18>,
    <http://purl.uniprot.org/unirules/MF_00972#construct-template-53>, <http://purl.uniprot.org/unirules/MF_00972#construct-template-102>,
    <http://purl.uniprot.org/unirules/MF_00972#construct-template-17>, <http://purl.uniprot.org/unirules/MF_00972#construct-template-55>,
    <http://purl.uniprot.org/unirules/MF_00972#construct-template-8>, <http://purl.uniprot.org/unirules/MF_00972#construct-template-10>,
    <http://purl.uniprot.org/unirules/MF_00972#construct-template-14>, <http://purl.uniprot.org/unirules/MF_00972#construct-template-27>,
    <http://purl.uniprot.org/unirules/MF_00972#construct-template-29>, <http://purl.uniprot.org/unirules/MF_00972#construct-template-100>,
    <http://purl.uniprot.org/unirules/MF_00972#construct-template-39>, <http://purl.uniprot.org/unirules/MF_00972#construct-template-15>,
    <http://purl.uniprot.org/unirules/MF_00972#construct-template-42>, <http://purl.uniprot.org/unirules/MF_00972#construct-template-70>,
    <http://purl.uniprot.org/unirules/MF_00972#construct-template-101>, <http://purl.uniprot.org/unirules/MF_00972#construct-template-44>,
    <http://purl.uniprot.org/unirules/MF_00972#construct-template-52>, <http://purl.uniprot.org/unirules/MF_00972#construct-template-36>,
    <http://purl.uniprot.org/unirules/MF_00972#construct-template-82>, <http://purl.uniprot.org/unirules/MF_00972#construct-template-64>,
    <http://purl.uniprot.org/unirules/MF_00972#construct-template-62>, <http://purl.uniprot.org/unirules/MF_00972#construct-template-75>,
    <http://purl.uniprot.org/unirules/MF_00972#construct-template-65>, <http://purl.uniprot.org/unirules/MF_00972#construct-template-90>,
    <http://purl.uniprot.org/unirules/MF_00972#construct-template-80>, <http://purl.uniprot.org/unirules/MF_00972#construct-template-46>,
    <http://purl.uniprot.org/unirules/MF_00972#construct-template-49>, <http://purl.uniprot.org/unirules/MF_00972#construct-template-54>,
    <http://purl.uniprot.org/unirules/MF_00972#construct-template-7>, <http://purl.uniprot.org/unirules/MF_00972#construct-template-1>,
    <http://purl.uniprot.org/unirules/MF_00972#construct-template-38>, <http://purl.uniprot.org/unirules/MF_00972#construct-template-6>,
    <http://purl.uniprot.org/unirules/MF_00972#construct-template-88>, <http://purl.uniprot.org/unirules/MF_00972#construct-template-68>,
    <http://purl.uniprot.org/unirules/MF_00972#construct-template-0>, <http://purl.uniprot.org/unirules/MF_00972#construct-template-99>,
    <http://purl.uniprot.org/unirules/MF_00972#construct-template-41>, <http://purl.uniprot.org/unirules/MF_00972#construct-template-30>,
    <http://purl.uniprot.org/unirules/MF_00972#construct-template-50>, <http://purl.uniprot.org/unirules/MF_00972#construct-template-89>,
    <http://purl.uniprot.org/unirules/MF_00972#construct-template-85>, <http://purl.uniprot.org/unirules/MF_00972#construct-template-9>,
    <http://purl.uniprot.org/unirules/MF_00972#construct-template-74>, <http://purl.uniprot.org/unirules/MF_00972#construct-template-40>,
    <http://purl.uniprot.org/unirules/MF_00972#construct-template-43>, <http://purl.uniprot.org/unirules/MF_00972#construct-template-96>,
    <http://purl.uniprot.org/unirules/MF_00972#construct-template-87>, <http://purl.uniprot.org/unirules/MF_00972#construct-template-13>,
    <http://purl.uniprot.org/unirules/MF_00972#construct-template-86>, <http://purl.uniprot.org/unirules/MF_00972#construct-template-25>,
    <http://purl.uniprot.org/unirules/MF_00972#construct-template-23>, <http://purl.uniprot.org/unirules/MF_00972#construct-template-32>,
    <http://purl.uniprot.org/unirules/MF_00972#construct-template-73>, <http://purl.uniprot.org/unirules/MF_00972#construct-template-84>,
    <http://purl.uniprot.org/unirules/MF_00972#construct-template-33>, <http://purl.uniprot.org/unirules/MF_00972#construct-template-48>,
    <http://purl.uniprot.org/unirules/MF_00972#construct-template-83>, <http://purl.uniprot.org/unirules/MF_00972#construct-template-2>,
    <http://purl.uniprot.org/unirules/MF_00972#construct-template-58>, <http://purl.uniprot.org/unirules/MF_00972#construct-template-26>,
    <http://purl.uniprot.org/unirules/MF_00972#construct-template-78>, <http://purl.uniprot.org/unirules/MF_00972#construct-template-34>,
    <http://purl.uniprot.org/unirules/MF_00972#construct-template-79>, <http://purl.uniprot.org/unirules/MF_00972#construct-template-94>,
    <http://purl.uniprot.org/unirules/MF_00972#construct-template-11>, <http://purl.uniprot.org/unirules/MF_00972#construct-template-69>,
    <http://purl.uniprot.org/unirules/MF_00972#construct-template-4>, <http://purl.uniprot.org/unirules/MF_00972#construct-template-93>,
    <http://purl.uniprot.org/unirules/MF_00972#construct-template-98>, <http://purl.uniprot.org/unirules/MF_00972#construct-template-91>,
    <http://purl.uniprot.org/unirules/MF_00972#construct-template-97>, <http://purl.uniprot.org/unirules/MF_00972#construct-template-95>;
  <http://www.w3.org/ns/shacl#prefixes> <http://purl.uniprot.org/unirules/>;
  <http://spinrdf.org/sp#where> <http://purl.uniprot.org/unirules/MF_00972#construct-where-list-0>;
  <http://spinrdf.org/sp#templates> <http://purl.uniprot.org/unirules/MF_00972#construct-template-list-0>;
  <http://www.w3.org/ns/shacl#construct> """CONSTRUCT {
  _:338976 up:source unirule:MF_00972 .
  _:338977 up:source unirule:MF_00972 .
  _:338978 up:source unirule:MF_00972 .
  _:338979 up:source unirule:MF_00972 .
  _:338980 up:source unirule:MF_00972 .
  _:338981 up:source unirule:MF_00972 .
  _:338982 up:source unirule:MF_00972 .
  _:338983 up:source unirule:MF_00972 .
  _:338984 up:source unirule:MF_00972 .
  _:338985 up:source unirule:MF_00972 .
  _:338986 up:source unirule:MF_00972 .
  _:338987 up:source unirule:MF_00972 .
  _:338988 up:source unirule:MF_00972 .
  _:338989 up:source unirule:MF_00972 .
  _:338990 up:source unirule:MF_00972 .
  _:338991 up:source unirule:MF_00972 .
  _:338992 up:source unirule:MF_00972 .
  ?this up:annotation ?annotation2 ,
      ?annotation3 ,
      ?annotation5 ,
      ?annotation6 ;
    up:classifiedWith GO:0002100 ,
      GO:0052717 ,
      keyword:378 ,
      keyword:819 ;
    up:recommendedName ?name0 .
  ?name0 up:ecName '3.5.4.33' ;
    up:fullName 'tRNA-specific adenosine deaminase' ;
    rdf:type up:Structured_Name .
  ?gene1 skos:prefLabel 'tadA' .
  ?annotation2 a up:Function_Annotation ;
    rdfs:comment 'Catalyzes the deamination of adenosine to inosine at the wobble position 34 of tRNA(Arg2).' .
  ?annotation3 up:activity ?activity4 ;
    rdf:type up:Catalytic_Activity_Annotation .
  ?activity4 up:catalyticActivity <http://rdf.rhea-db.org/43168>;
    up:enzymeClass <http://purl.uniprot.org/enzyme/3.5.4.33>.
  ?annotation5 a up:Subunit_Annotation ;
    rdfs:comment 'Homodimer.' .
  ?annotation6 a up:Similarity_Annotation ;
    rdfs:comment 'Belongs to the cytidine and deoxycytidylate deaminase family.' .
  ?case7 up:classifiedWith GO:0008270 ,
      keyword:479 ,
      keyword:862 .
  ?pfs8 up:annotation ?annotation9 ,
      ?annotation15 ,
      ?annotation21 .
  ?annotation9 faldo:begin ?pfsb10 ;
    faldo:end ?pfse11 ;
    up:ligand ?ligand12 ;
    rdf:type up:Binding_Site_Annotation .
  ?pfsb10 faldo:position ?thisPositionOn13 ;
    rdf:type faldo:ExactPosition .
  ?pfse11 faldo:position ?thisPositionOn14 ;
    rdf:type faldo:ExactPosition .
  ?ligand12 rdfs:subClassOf chebi:29105 .
  ?annotation15 faldo:begin ?pfsb16 ;
    faldo:end ?pfse17 ;
    up:ligand ?ligand18 ;
    rdf:type up:Binding_Site_Annotation .
  ?pfsb16 faldo:position ?thisPositionOn19 ;
    rdf:type faldo:ExactPosition .
  ?pfse17 faldo:position ?thisPositionOn20 ;
    rdf:type faldo:ExactPosition .
  ?ligand18 rdfs:subClassOf chebi:29105 .
  ?annotation21 faldo:begin ?pfsb22 ;
    faldo:end ?pfse23 ;
    up:ligand ?ligand24 ;
    rdf:type up:Binding_Site_Annotation .
  ?pfsb22 faldo:position ?thisPositionOn25 ;
    rdf:type faldo:ExactPosition .
  ?pfse23 faldo:position ?thisPositionOn26 ;
    rdf:type faldo:ExactPosition .
  ?ligand24 rdfs:subClassOf chebi:29105 .
  ?pfs27 up:annotation ?annotation28 .
  ?annotation28 faldo:begin ?pfsb29 ;
    faldo:end ?pfse30 ;
    rdf:type up:Active_Site_Annotation ;
    rdfs:comment 'Proton donor' .
  ?pfsb29 faldo:position ?thisPositionOn31 ;
    rdf:type faldo:ExactPosition .
  ?pfse30 faldo:position ?thisPositionOn32 ;
    rdf:type faldo:ExactPosition .
  _:338993 a rdf:Statement ;
    up:attribution _:338976 ;
    rdf:subject ?this ;
    rdf:predicate up:recommendedName ;
    rdf:object ?name0 .
  _:338994 a rdf:Statement ;
    up:attribution _:338977 ;
    rdf:subject ?gene1 ;
    rdf:predicate up:encodedBy ;
    rdf:object ?gene1 .
  _:338995 a rdf:Statement ;
    up:attribution _:338978 ;
    rdf:subject ?this ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation2 .
  _:338996 a rdf:Statement ;
    up:attribution _:338979 ;
    rdf:subject ?this ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation3 .
  _:338997 a rdf:Statement ;
    up:attribution _:338980 ;
    rdf:subject ?this ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation5 .
  _:338998 a rdf:Statement ;
    up:attribution _:338981 ;
    rdf:subject ?this ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation6 .
  _:338999 a rdf:Statement ;
    up:attribution _:338982 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object keyword:378 .
  _:339000 a rdf:Statement ;
    up:attribution _:338983 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object keyword:819 .
  _:339001 a rdf:Statement ;
    up:attribution _:338984 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object GO:0052717 .
  _:339002 a rdf:Statement ;
    up:attribution _:338985 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object GO:0002100 .
  _:339003 a rdf:Statement ;
    up:attribution _:338986 ;
    rdf:subject ?case7 ;
    rdf:predicate up:classifiedWith ;
    rdf:object keyword:479 .
  _:339004 a rdf:Statement ;
    up:attribution _:338987 ;
    rdf:subject ?case7 ;
    rdf:predicate up:classifiedWith ;
    rdf:object keyword:862 .
  _:339005 a rdf:Statement ;
    up:attribution _:338988 ;
    rdf:subject ?case7 ;
    rdf:predicate up:classifiedWith ;
    rdf:object GO:0008270 .
  _:339006 a rdf:Statement ;
    up:source unirule:MF_00972 ;
    rdf:subject ?pfs8 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation9 .
  _:339007 a rdf:Statement ;
    up:attribution _:338989 ;
    rdf:subject ?pfs8 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation9 .
  _:339008 a rdf:Statement ;
    up:source unirule:MF_00972 ;
    rdf:subject ?pfs8 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation15 .
  _:339009 a rdf:Statement ;
    up:attribution _:338990 ;
    rdf:subject ?pfs8 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation15 .
  _:339010 a rdf:Statement ;
    up:source unirule:MF_00972 ;
    rdf:subject ?pfs8 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation21 .
  _:339011 a rdf:Statement ;
    up:attribution _:338991 ;
    rdf:subject ?pfs8 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation21 .
  _:339012 a rdf:Statement ;
    up:source unirule:MF_00972 ;
    rdf:subject ?pfs27 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation28 .
  _:339013 a rdf:Statement ;
    up:attribution _:338992 ;
    rdf:subject ?pfs27 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation28 .
}
WHERE {
  #baseURI: http://purl.uniprot.org/unirule/MF_00972
  #Rule MF_00972 Created by:? on:2013-08-20 Modified by:Edouard de Castro on:2024-09-03
  ?this up:organism ?thisOrganism ;
    rdfs:seeAlso signature:MF_00972 .
  ?thisOrganism rdfs:subClassOf+ taxon:2 .
  BIND(URI(CONCAT(STR(?this), '#MF_00972a0')) AS ?name0) .
  BIND(URI(CONCAT(STR(?this), '#MF_00972a2')) AS ?annotation2) .
  BIND(URI(CONCAT(STR(?this), '#MF_00972a3')) AS ?annotation3) .
  BIND(URI(CONCAT(STR(?this), '#MF_00972a5')) AS ?annotation5) .
  BIND(URI(CONCAT(STR(?this), '#MF_00972a6')) AS ?annotation6) .
  OPTIONAL {
    ?this up:sequence ?thisSequence .
    ?thisSequence rdf:value ?thisSequenceValue .
    ?templateMotifMatch37 faldo:location ?templateMotifSequenceMatchRegionP6839838 ;
      edam:is_output_of ?templateMotifSequenceProfileAlignmentOperationP6839840 ;
      rdf:type edam:data_0869 ;
      rdf:value ?templateMotifCigarP68398MF_0097233 .
    ?templateMotifSequenceMatchRegionP6839838 faldo:begin ?templateMotifSequenceMatchBeginP6839839 .
    ?templateMotifSequenceMatchBeginP6839839 faldo:position ?templateMotifSequenceMatchBeginPositionP6839834 ;
      faldo:reference isoform:P68398-1 .
    ?templateMotifSequenceProfileAlignmentOperationP6839840 edam:has_input signature:MF_00972 ;
      rdf:type edam:operation_0300 .
    ?targetMotifMatch41 faldo:location ?targetMotifMatchRegionMatch42 ;
      edam:is_output_of ?targetMotifSequenceAlignmentOperationMF_0097244 ;
      rdf:type edam:data_0869 ;
      rdf:value ?targetMotifMatchCigarP68398MF_0097235 .
    ?targetMotifMatchRegionMatch42 faldo:begin ?targetMotifMatchRegionMatchBeginMF_0097243 .
    ?targetMotifMatchRegionMatchBeginMF_0097243 faldo:position ?targetMotifMatchRegionMatchBeginPositionMF_0097236 ;
      faldo:reference ?thisSequence .
    ?targetMotifSequenceAlignmentOperationMF_0097244 edam:has_input signature:MF_00972 ;
      rdf:type edam:operation_0300 .
    BIND(?this AS ?tagFTGRP_1) .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarP68398MF_0097233, 1, (STRLEN(?templateMotifCigarP68398MF_0097233) - STRLEN(REPLACE(?templateMotifCigarP68398MF_0097233, CONCAT('^(?:-*[^-]){', STR(((57 - ?templateMotifSequenceMatchBeginPositionP6839834) + 1)), '}'), '')))), '[a-z]', '')) AS ?step145) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarP68398MF_0097235, 1, (STRLEN(?targetMotifMatchCigarP68398MF_0097235) - STRLEN(REPLACE(?targetMotifMatchCigarP68398MF_0097235, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step145), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarP68398MF_0097235, 1, (STRLEN(?targetMotifMatchCigarP68398MF_0097235) - STRLEN(REPLACE(?targetMotifMatchCigarP68398MF_0097235, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step145), '}'), '')))), '[^-]', ''))) AS ?step246) .
    BIND(((?step246 + ?targetMotifMatchRegionMatchBeginPositionMF_0097236) - 1) AS ?thisPositionOn13) .
    BIND(?thisPositionOn13 AS ?thisPositionOn14) .
    BIND(?this AS ?pfs1t47) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn13))) AS ?pfsb10) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn14))) AS ?pfse11) .
    FILTER ((SUBSTR(?thisSequenceValue, ?thisPositionOn13, 1) = 'H')) .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarP68398MF_0097233, 1, (STRLEN(?templateMotifCigarP68398MF_0097233) - STRLEN(REPLACE(?templateMotifCigarP68398MF_0097233, CONCAT('^(?:-*[^-]){', STR(((87 - ?templateMotifSequenceMatchBeginPositionP6839834) + 1)), '}'), '')))), '[a-z]', '')) AS ?step148) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarP68398MF_0097235, 1, (STRLEN(?targetMotifMatchCigarP68398MF_0097235) - STRLEN(REPLACE(?targetMotifMatchCigarP68398MF_0097235, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step148), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarP68398MF_0097235, 1, (STRLEN(?targetMotifMatchCigarP68398MF_0097235) - STRLEN(REPLACE(?targetMotifMatchCigarP68398MF_0097235, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step148), '}'), '')))), '[^-]', ''))) AS ?step249) .
    BIND(((?step249 + ?targetMotifMatchRegionMatchBeginPositionMF_0097236) - 1) AS ?thisPositionOn19) .
    BIND(?thisPositionOn19 AS ?thisPositionOn20) .
    BIND(?this AS ?pfs1t50) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn19))) AS ?pfsb16) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn20))) AS ?pfse17) .
    FILTER ((SUBSTR(?thisSequenceValue, ?thisPositionOn19, 1) = 'C')) .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarP68398MF_0097233, 1, (STRLEN(?templateMotifCigarP68398MF_0097233) - STRLEN(REPLACE(?templateMotifCigarP68398MF_0097233, CONCAT('^(?:-*[^-]){', STR(((90 - ?templateMotifSequenceMatchBeginPositionP6839834) + 1)), '}'), '')))), '[a-z]', '')) AS ?step151) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarP68398MF_0097235, 1, (STRLEN(?targetMotifMatchCigarP68398MF_0097235) - STRLEN(REPLACE(?targetMotifMatchCigarP68398MF_0097235, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step151), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarP68398MF_0097235, 1, (STRLEN(?targetMotifMatchCigarP68398MF_0097235) - STRLEN(REPLACE(?targetMotifMatchCigarP68398MF_0097235, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step151), '}'), '')))), '[^-]', ''))) AS ?step252) .
    BIND(((?step252 + ?targetMotifMatchRegionMatchBeginPositionMF_0097236) - 1) AS ?thisPositionOn25) .
    BIND(?thisPositionOn25 AS ?thisPositionOn26) .
    BIND(?this AS ?pfs1t53) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn25))) AS ?pfsb22) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn26))) AS ?pfse23) .
    FILTER ((SUBSTR(?thisSequenceValue, ?thisPositionOn25, 1) = 'C')) .
    BIND(?this AS ?pfs8) .
  }
  OPTIONAL {
    ?this up:sequence ?thisSequence .
    ?thisSequence rdf:value ?thisSequenceValue .
    ?templateMotifMatch58 faldo:location ?templateMotifSequenceMatchRegionP6839859 ;
      edam:is_output_of ?templateMotifSequenceProfileAlignmentOperationP6839861 ;
      rdf:type edam:data_0869 ;
      rdf:value ?templateMotifCigarP68398MF_0097254 .
    ?templateMotifSequenceMatchRegionP6839859 faldo:begin ?templateMotifSequenceMatchBeginP6839860 .
    ?templateMotifSequenceMatchBeginP6839860 faldo:position ?templateMotifSequenceMatchBeginPositionP6839855 ;
      faldo:reference isoform:P68398-1 .
    ?templateMotifSequenceProfileAlignmentOperationP6839861 edam:has_input signature:MF_00972 ;
      rdf:type edam:operation_0300 .
    ?targetMotifMatch62 faldo:location ?targetMotifMatchRegionMatch63 ;
      edam:is_output_of ?targetMotifSequenceAlignmentOperationMF_0097265 ;
      rdf:type edam:data_0869 ;
      rdf:value ?targetMotifMatchCigarP68398MF_0097256 .
    ?targetMotifMatchRegionMatch63 faldo:begin ?targetMotifMatchRegionMatchBeginMF_0097264 .
    ?targetMotifMatchRegionMatchBeginMF_0097264 faldo:position ?targetMotifMatchRegionMatchBeginPositionMF_0097257 ;
      faldo:reference ?thisSequence .
    ?targetMotifSequenceAlignmentOperationMF_0097265 edam:has_input signature:MF_00972 ;
      rdf:type edam:operation_0300 .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarP68398MF_0097254, 1, (STRLEN(?templateMotifCigarP68398MF_0097254) - STRLEN(REPLACE(?templateMotifCigarP68398MF_0097254, CONCAT('^(?:-*[^-]){', STR(((59 - ?templateMotifSequenceMatchBeginPositionP6839855) + 1)), '}'), '')))), '[a-z]', '')) AS ?step166) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarP68398MF_0097256, 1, (STRLEN(?targetMotifMatchCigarP68398MF_0097256) - STRLEN(REPLACE(?targetMotifMatchCigarP68398MF_0097256, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step166), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarP68398MF_0097256, 1, (STRLEN(?targetMotifMatchCigarP68398MF_0097256) - STRLEN(REPLACE(?targetMotifMatchCigarP68398MF_0097256, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step166), '}'), '')))), '[^-]', ''))) AS ?step267) .
    BIND(((?step267 + ?targetMotifMatchRegionMatchBeginPositionMF_0097257) - 1) AS ?thisPositionOn31) .
    BIND(?thisPositionOn31 AS ?thisPositionOn32) .
    BIND(?this AS ?pfs2t68) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn31))) AS ?pfsb29) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn32))) AS ?pfse30) .
    FILTER ((SUBSTR(?thisSequenceValue, ?thisPositionOn31, 1) = 'E')) .
    BIND(URI(CONCAT(STR(?this), '#MF_00972a28')) AS ?annotation28) .
    BIND(?this AS ?pfs27) .
  }
  OPTIONAL {
    ?this a up:Protein .
    BIND(?this AS ?caseWithTag69) .
  }
  BIND(IF(BOUND(?tagFTGRP_1), ?caseWithTag69, ?UNBOUND_VARIABLE) AS ?case7) .
}
""" .

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