@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_01558#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_01558#construct-template-32>,
    <http://purl.uniprot.org/unirules/MF_01558#construct-template-74>, <http://purl.uniprot.org/unirules/MF_01558#construct-template-59>,
    <http://purl.uniprot.org/unirules/MF_01558#construct-template-4>, <http://purl.uniprot.org/unirules/MF_01558#construct-template-97>,
    <http://purl.uniprot.org/unirules/MF_01558#construct-template-48>, <http://purl.uniprot.org/unirules/MF_01558#construct-template-87>,
    <http://purl.uniprot.org/unirules/MF_01558#construct-template-10>, <http://purl.uniprot.org/unirules/MF_01558#construct-template-38>,
    <http://purl.uniprot.org/unirules/MF_01558#construct-template-51>, <http://purl.uniprot.org/unirules/MF_01558#construct-template-2>,
    <http://purl.uniprot.org/unirules/MF_01558#construct-template-15>, <http://purl.uniprot.org/unirules/MF_01558#construct-template-41>,
    <http://purl.uniprot.org/unirules/MF_01558#construct-template-5>, <http://purl.uniprot.org/unirules/MF_01558#construct-template-76>,
    <http://purl.uniprot.org/unirules/MF_01558#construct-template-43>, <http://purl.uniprot.org/unirules/MF_01558#construct-template-81>,
    <http://purl.uniprot.org/unirules/MF_01558#construct-template-67>, <http://purl.uniprot.org/unirules/MF_01558#construct-template-66>,
    <http://purl.uniprot.org/unirules/MF_01558#construct-template-6>, <http://purl.uniprot.org/unirules/MF_01558#construct-template-33>,
    <http://purl.uniprot.org/unirules/MF_01558#construct-template-109>, <http://purl.uniprot.org/unirules/MF_01558#construct-template-21>,
    <http://purl.uniprot.org/unirules/MF_01558#construct-template-30>, <http://purl.uniprot.org/unirules/MF_01558#construct-template-7>,
    <http://purl.uniprot.org/unirules/MF_01558#construct-template-46>, <http://purl.uniprot.org/unirules/MF_01558#construct-template-50>,
    <http://purl.uniprot.org/unirules/MF_01558#construct-template-0>, <http://purl.uniprot.org/unirules/MF_01558#construct-template-91>,
    <http://purl.uniprot.org/unirules/MF_01558#construct-template-45>, <http://purl.uniprot.org/unirules/MF_01558#construct-template-63>,
    <http://purl.uniprot.org/unirules/MF_01558#construct-template-52>, <http://purl.uniprot.org/unirules/MF_01558#construct-template-68>,
    <http://purl.uniprot.org/unirules/MF_01558#construct-template-88>, <http://purl.uniprot.org/unirules/MF_01558#construct-template-98>,
    <http://purl.uniprot.org/unirules/MF_01558#construct-template-1>, <http://purl.uniprot.org/unirules/MF_01558#construct-template-102>,
    <http://purl.uniprot.org/unirules/MF_01558#construct-template-61>, <http://purl.uniprot.org/unirules/MF_01558#construct-template-92>,
    <http://purl.uniprot.org/unirules/MF_01558#construct-template-22>, <http://purl.uniprot.org/unirules/MF_01558#construct-template-53>,
    <http://purl.uniprot.org/unirules/MF_01558#construct-template-26>, <http://purl.uniprot.org/unirules/MF_01558#construct-template-28>,
    <http://purl.uniprot.org/unirules/MF_01558#construct-template-34>, <http://purl.uniprot.org/unirules/MF_01558#construct-template-95>,
    <http://purl.uniprot.org/unirules/MF_01558#construct-template-90>, <http://purl.uniprot.org/unirules/MF_01558#construct-template-37>,
    <http://purl.uniprot.org/unirules/MF_01558#construct-template-8>, <http://purl.uniprot.org/unirules/MF_01558#construct-template-17>,
    <http://purl.uniprot.org/unirules/MF_01558#construct-template-54>, <http://purl.uniprot.org/unirules/MF_01558#construct-template-3>,
    <http://purl.uniprot.org/unirules/MF_01558#construct-template-13>, <http://purl.uniprot.org/unirules/MF_01558#construct-template-62>,
    <http://purl.uniprot.org/unirules/MF_01558#construct-template-113>, <http://purl.uniprot.org/unirules/MF_01558#construct-template-35>,
    <http://purl.uniprot.org/unirules/MF_01558#construct-template-18>, <http://purl.uniprot.org/unirules/MF_01558#construct-template-71>,
    <http://purl.uniprot.org/unirules/MF_01558#construct-template-44>, <http://purl.uniprot.org/unirules/MF_01558#construct-template-83>,
    <http://purl.uniprot.org/unirules/MF_01558#construct-template-96>, <http://purl.uniprot.org/unirules/MF_01558#construct-template-89>,
    <http://purl.uniprot.org/unirules/MF_01558#construct-template-72>, <http://purl.uniprot.org/unirules/MF_01558#construct-template-9>,
    <http://purl.uniprot.org/unirules/MF_01558#construct-template-93>, <http://purl.uniprot.org/unirules/MF_01558#construct-template-29>,
    <http://purl.uniprot.org/unirules/MF_01558#construct-template-12>, <http://purl.uniprot.org/unirules/MF_01558#construct-template-85>,
    <http://purl.uniprot.org/unirules/MF_01558#construct-template-70>, <http://purl.uniprot.org/unirules/MF_01558#construct-template-94>,
    <http://purl.uniprot.org/unirules/MF_01558#construct-template-20>, <http://purl.uniprot.org/unirules/MF_01558#construct-template-55>,
    <http://purl.uniprot.org/unirules/MF_01558#construct-template-75>, <http://purl.uniprot.org/unirules/MF_01558#construct-template-99>,
    <http://purl.uniprot.org/unirules/MF_01558#construct-template-104>, <http://purl.uniprot.org/unirules/MF_01558#construct-template-19>,
    <http://purl.uniprot.org/unirules/MF_01558#construct-template-11>, <http://purl.uniprot.org/unirules/MF_01558#construct-template-36>,
    <http://purl.uniprot.org/unirules/MF_01558#construct-template-84>, <http://purl.uniprot.org/unirules/MF_01558#construct-template-24>,
    <http://purl.uniprot.org/unirules/MF_01558#construct-template-73>, <http://purl.uniprot.org/unirules/MF_01558#construct-template-69>,
    <http://purl.uniprot.org/unirules/MF_01558#construct-template-40>, <http://purl.uniprot.org/unirules/MF_01558#construct-template-56>,
    <http://purl.uniprot.org/unirules/MF_01558#construct-template-115>, <http://purl.uniprot.org/unirules/MF_01558#construct-template-47>,
    <http://purl.uniprot.org/unirules/MF_01558#construct-template-117>, <http://purl.uniprot.org/unirules/MF_01558#construct-template-60>,
    <http://purl.uniprot.org/unirules/MF_01558#construct-template-79>, <http://purl.uniprot.org/unirules/MF_01558#construct-template-31>,
    <http://purl.uniprot.org/unirules/MF_01558#construct-template-105>, <http://purl.uniprot.org/unirules/MF_01558#construct-template-118>,
    <http://purl.uniprot.org/unirules/MF_01558#construct-template-120>, <http://purl.uniprot.org/unirules/MF_01558#construct-template-27>,
    <http://purl.uniprot.org/unirules/MF_01558#construct-template-119>, <http://purl.uniprot.org/unirules/MF_01558#construct-template-25>,
    <http://purl.uniprot.org/unirules/MF_01558#construct-template-77>, <http://purl.uniprot.org/unirules/MF_01558#construct-template-82>,
    <http://purl.uniprot.org/unirules/MF_01558#construct-template-116>, <http://purl.uniprot.org/unirules/MF_01558#construct-template-78>,
    <http://purl.uniprot.org/unirules/MF_01558#construct-template-14>, <http://purl.uniprot.org/unirules/MF_01558#construct-template-80>,
    <http://purl.uniprot.org/unirules/MF_01558#construct-template-49>, <http://purl.uniprot.org/unirules/MF_01558#construct-template-58>,
    <http://purl.uniprot.org/unirules/MF_01558#construct-template-100>, <http://purl.uniprot.org/unirules/MF_01558#construct-template-65>,
    <http://purl.uniprot.org/unirules/MF_01558#construct-template-57>, <http://purl.uniprot.org/unirules/MF_01558#construct-template-39>,
    <http://purl.uniprot.org/unirules/MF_01558#construct-template-107>, <http://purl.uniprot.org/unirules/MF_01558#construct-template-16>,
    <http://purl.uniprot.org/unirules/MF_01558#construct-template-111>, <http://purl.uniprot.org/unirules/MF_01558#construct-template-64>,
    <http://purl.uniprot.org/unirules/MF_01558#construct-template-110>, <http://purl.uniprot.org/unirules/MF_01558#construct-template-112>,
    <http://purl.uniprot.org/unirules/MF_01558#construct-template-23>, <http://purl.uniprot.org/unirules/MF_01558#construct-template-114>,
    <http://purl.uniprot.org/unirules/MF_01558#construct-template-42>, <http://purl.uniprot.org/unirules/MF_01558#construct-template-122>,
    <http://purl.uniprot.org/unirules/MF_01558#construct-template-101>, <http://purl.uniprot.org/unirules/MF_01558#construct-template-86>,
    <http://purl.uniprot.org/unirules/MF_01558#construct-template-103>, <http://purl.uniprot.org/unirules/MF_01558#construct-template-106>,
    <http://purl.uniprot.org/unirules/MF_01558#construct-template-121>, <http://purl.uniprot.org/unirules/MF_01558#construct-template-108>,
    <http://purl.uniprot.org/unirules/MF_01558#construct-template-123>;
  <http://www.w3.org/ns/shacl#prefixes> <http://purl.uniprot.org/unirules/>;
  <http://spinrdf.org/sp#where> <http://purl.uniprot.org/unirules/MF_01558#construct-where-list-0>;
  <http://spinrdf.org/sp#templates> <http://purl.uniprot.org/unirules/MF_01558#construct-template-list-0>;
  <http://www.w3.org/ns/shacl#construct> """CONSTRUCT {
  _:564084 up:source unirule:MF_01558 .
  _:564085 up:source unirule:MF_01558 .
  _:564086 up:source unirule:MF_01558 .
  _:564087 up:source unirule:MF_01558 .
  _:564088 up:source unirule:MF_01558 .
  _:564089 up:source unirule:MF_01558 .
  _:564090 up:source unirule:MF_01558 .
  _:564091 up:source unirule:MF_01558 .
  _:564092 up:source unirule:MF_01558 .
  _:564093 up:source unirule:MF_01558 .
  _:564094 up:source unirule:MF_01558 .
  _:564095 up:source unirule:MF_01558 .
  _:564096 up:source unirule:MF_01558 .
  _:564097 up:source unirule:MF_01558 .
  _:564098 up:source unirule:MF_01558 .
  _:564099 up:source unirule:MF_01558 .
  _:564100 up:source unirule:MF_01558 .
  _:564101 up:source unirule:MF_01558 .
  ?this up:alternativeName ?name1 ;
    up:annotation ?annotation3 ,
      ?annotation4 ,
      ?annotation6 ,
      ?annotation8 ,
      ?annotation9 ;
    up:classifiedWith GO:0004126 ,
      keyword:378 ;
    up:recommendedName ?name0 .
  ?name0 up:ecName '3.5.4.5' ;
    up:fullName 'Cytidine deaminase' ;
    rdf:type up:Structured_Name .
  ?name1 up:fullName 'Cytidine aminohydrolase' ;
    up:shortName 'CDA' ;
    rdf:type up:Structured_Name .
  ?gene2 skos:prefLabel 'cdd' .
  ?annotation3 a up:Function_Annotation ;
    rdfs:comment \"This enzyme scavenges exogenous and endogenous cytidine and 2'-deoxycytidine for UMP synthesis.\" .
  ?annotation4 up:activity ?activity5 ;
    rdf:type up:Catalytic_Activity_Annotation .
  ?activity5 up:catalyticActivity <http://rdf.rhea-db.org/16069>;
    up:enzymeClass <http://purl.uniprot.org/enzyme/3.5.4.5>.
  ?annotation6 up:activity ?activity7 ;
    rdf:type up:Catalytic_Activity_Annotation .
  ?activity7 up:catalyticActivity <http://rdf.rhea-db.org/13433>;
    up:enzymeClass <http://purl.uniprot.org/enzyme/3.5.4.5>.
  ?annotation8 a up:Subunit_Annotation ;
    rdfs:comment 'Homodimer.' .
  ?annotation9 a up:Similarity_Annotation ;
    rdfs:comment 'Belongs to the cytidine and deoxycytidylate deaminase family.' .
  ?case10 up:classifiedWith GO:0008270 ,
      keyword:479 ,
      keyword:862 .
  ?pfs11 up:annotation ?annotation12 ,
      ?annotation18 ,
      ?annotation24 .
  ?annotation12 faldo:begin ?pfsb13 ;
    faldo:end ?pfse14 ;
    up:ligand ?ligand15 ;
    rdf:type up:Binding_Site_Annotation .
  ?pfsb13 faldo:position ?thisPositionOn16 ;
    rdf:type faldo:ExactPosition .
  ?pfse14 faldo:position ?thisPositionOn17 ;
    rdf:type faldo:ExactPosition .
  ?ligand15 rdfs:subClassOf chebi:29105 .
  ?annotation18 faldo:begin ?pfsb19 ;
    faldo:end ?pfse20 ;
    up:ligand ?ligand21 ;
    rdf:type up:Binding_Site_Annotation .
  ?pfsb19 faldo:position ?thisPositionOn22 ;
    rdf:type faldo:ExactPosition .
  ?pfse20 faldo:position ?thisPositionOn23 ;
    rdf:type faldo:ExactPosition .
  ?ligand21 rdfs:subClassOf chebi:29105 .
  ?annotation24 faldo:begin ?pfsb25 ;
    faldo:end ?pfse26 ;
    up:ligand ?ligand27 ;
    rdf:type up:Binding_Site_Annotation .
  ?pfsb25 faldo:position ?thisPositionOn28 ;
    rdf:type faldo:ExactPosition .
  ?pfse26 faldo:position ?thisPositionOn29 ;
    rdf:type faldo:ExactPosition .
  ?ligand27 rdfs:subClassOf chebi:29105 .
  ?pfs30 up:annotation ?annotation31 .
  ?annotation31 faldo:begin ?pfsb32 ;
    faldo:end ?pfse33 ;
    up:ligand ?ligand34 ;
    rdf:type up:Binding_Site_Annotation .
  ?pfsb32 faldo:position ?thisPositionOn36 ;
    rdf:type faldo:ExactPosition .
  ?pfse33 faldo:position ?thisPositionOn37 ;
    rdf:type faldo:ExactPosition .
  ?ligand34 rdfs:subClassOf ?molecule35 .
  ?molecule35 rdfs:label 'substrate' .
  ?pfs38 up:annotation ?annotation39 .
  ?annotation39 faldo:begin ?pfsb40 ;
    faldo:end ?pfse41 ;
    rdf:type up:Active_Site_Annotation ;
    rdfs:comment 'Proton donor' .
  ?pfsb40 faldo:position ?thisPositionOn42 ;
    rdf:type faldo:ExactPosition .
  ?pfse41 faldo:position ?thisPositionOn43 ;
    rdf:type faldo:ExactPosition .
  _:564102 a rdf:Statement ;
    up:attribution _:564084 ;
    rdf:subject ?this ;
    rdf:predicate up:recommendedName ;
    rdf:object ?name0 .
  _:564103 a rdf:Statement ;
    up:attribution _:564085 ;
    rdf:subject ?this ;
    rdf:predicate up:alternativeName ;
    rdf:object ?name1 .
  _:564104 a rdf:Statement ;
    up:attribution _:564086 ;
    rdf:subject ?gene2 ;
    rdf:predicate up:encodedBy ;
    rdf:object ?gene2 .
  _:564105 a rdf:Statement ;
    up:attribution _:564087 ;
    rdf:subject ?this ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation3 .
  _:564106 a rdf:Statement ;
    up:attribution _:564088 ;
    rdf:subject ?this ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation4 .
  _:564107 a rdf:Statement ;
    up:attribution _:564089 ;
    rdf:subject ?this ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation6 .
  _:564108 a rdf:Statement ;
    up:attribution _:564090 ;
    rdf:subject ?this ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation8 .
  _:564109 a rdf:Statement ;
    up:attribution _:564091 ;
    rdf:subject ?this ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation9 .
  _:564110 a rdf:Statement ;
    up:attribution _:564092 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object keyword:378 .
  _:564111 a rdf:Statement ;
    up:attribution _:564093 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object GO:0004126 .
  _:564112 a rdf:Statement ;
    up:attribution _:564094 ;
    rdf:subject ?case10 ;
    rdf:predicate up:classifiedWith ;
    rdf:object keyword:479 .
  _:564113 a rdf:Statement ;
    up:attribution _:564095 ;
    rdf:subject ?case10 ;
    rdf:predicate up:classifiedWith ;
    rdf:object keyword:862 .
  _:564114 a rdf:Statement ;
    up:attribution _:564096 ;
    rdf:subject ?case10 ;
    rdf:predicate up:classifiedWith ;
    rdf:object GO:0008270 .
  _:564115 a rdf:Statement ;
    up:source unirule:MF_01558 ;
    rdf:subject ?pfs11 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation12 .
  _:564116 a rdf:Statement ;
    up:attribution _:564097 ;
    rdf:subject ?pfs11 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation12 .
  _:564117 a rdf:Statement ;
    up:source unirule:MF_01558 ;
    rdf:subject ?pfs11 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation18 .
  _:564118 a rdf:Statement ;
    up:attribution _:564098 ;
    rdf:subject ?pfs11 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation18 .
  _:564119 a rdf:Statement ;
    up:source unirule:MF_01558 ;
    rdf:subject ?pfs11 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation24 .
  _:564120 a rdf:Statement ;
    up:attribution _:564099 ;
    rdf:subject ?pfs11 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation24 .
  _:564121 a rdf:Statement ;
    up:source unirule:MF_01558 ;
    rdf:subject ?pfs30 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation31 .
  _:564122 a rdf:Statement ;
    up:attribution _:564100 ;
    rdf:subject ?pfs30 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation31 .
  _:564123 a rdf:Statement ;
    up:source unirule:MF_01558 ;
    rdf:subject ?pfs38 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation39 .
  _:564124 a rdf:Statement ;
    up:attribution _:564101 ;
    rdf:subject ?pfs38 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation39 .
}
WHERE {
  #baseURI: http://purl.uniprot.org/unirule/MF_01558
  #Rule MF_01558 Created by:? on:2005-12-12 Modified by:Edouard de Castro on:2024-09-03
  ?this up:organism ?thisOrganism ;
    rdfs:seeAlso signature:MF_01558 .
  ?thisOrganism rdfs:subClassOf+ taxon:1236 .
  BIND(URI(CONCAT(STR(?this), '#MF_01558a0')) AS ?name0) .
  BIND(URI(CONCAT(STR(?this), '#MF_01558a1')) AS ?name1) .
  BIND(URI(CONCAT(STR(?this), '#MF_01558a3')) AS ?annotation3) .
  BIND(URI(CONCAT(STR(?this), '#MF_01558a4')) AS ?annotation4) .
  BIND(URI(CONCAT(STR(?this), '#MF_01558a6')) AS ?annotation6) .
  BIND(URI(CONCAT(STR(?this), '#MF_01558a8')) AS ?annotation8) .
  BIND(URI(CONCAT(STR(?this), '#MF_01558a9')) AS ?annotation9) .
  OPTIONAL {
    ?this up:sequence ?thisSequence .
    ?thisSequence rdf:value ?thisSequenceValue .
    ?templateMotifMatch48 faldo:location ?templateMotifSequenceMatchRegionP0ABF649 ;
      edam:is_output_of ?templateMotifSequenceProfileAlignmentOperationP0ABF651 ;
      rdf:type edam:data_0869 ;
      rdf:value ?templateMotifCigarP0ABF6MF_0155844 .
    ?templateMotifSequenceMatchRegionP0ABF649 faldo:begin ?templateMotifSequenceMatchBeginP0ABF650 .
    ?templateMotifSequenceMatchBeginP0ABF650 faldo:position ?templateMotifSequenceMatchBeginPositionP0ABF645 ;
      faldo:reference isoform:P0ABF6-1 .
    ?templateMotifSequenceProfileAlignmentOperationP0ABF651 edam:has_input signature:MF_01558 ;
      rdf:type edam:operation_0300 .
    ?targetMotifMatch52 faldo:location ?targetMotifMatchRegionMatch53 ;
      edam:is_output_of ?targetMotifSequenceAlignmentOperationMF_0155855 ;
      rdf:type edam:data_0869 ;
      rdf:value ?targetMotifMatchCigarP0ABF6MF_0155846 .
    ?targetMotifMatchRegionMatch53 faldo:begin ?targetMotifMatchRegionMatchBeginMF_0155854 .
    ?targetMotifMatchRegionMatchBeginMF_0155854 faldo:position ?targetMotifMatchRegionMatchBeginPositionMF_0155847 ;
      faldo:reference ?thisSequence .
    ?targetMotifSequenceAlignmentOperationMF_0155855 edam:has_input signature:MF_01558 ;
      rdf:type edam:operation_0300 .
    BIND(?this AS ?tagFTGRP_1) .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarP0ABF6MF_0155844, 1, (STRLEN(?templateMotifCigarP0ABF6MF_0155844) - STRLEN(REPLACE(?templateMotifCigarP0ABF6MF_0155844, CONCAT('^(?:-*[^-]){', STR(((102 - ?templateMotifSequenceMatchBeginPositionP0ABF645) + 1)), '}'), '')))), '[a-z]', '')) AS ?step156) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarP0ABF6MF_0155846, 1, (STRLEN(?targetMotifMatchCigarP0ABF6MF_0155846) - STRLEN(REPLACE(?targetMotifMatchCigarP0ABF6MF_0155846, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step156), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarP0ABF6MF_0155846, 1, (STRLEN(?targetMotifMatchCigarP0ABF6MF_0155846) - STRLEN(REPLACE(?targetMotifMatchCigarP0ABF6MF_0155846, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step156), '}'), '')))), '[^-]', ''))) AS ?step257) .
    BIND(((?step257 + ?targetMotifMatchRegionMatchBeginPositionMF_0155847) - 1) AS ?thisPositionOn16) .
    BIND(?thisPositionOn16 AS ?thisPositionOn17) .
    BIND(?this AS ?pfs1t58) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn16))) AS ?pfsb13) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn17))) AS ?pfse14) .
    FILTER ((SUBSTR(?thisSequenceValue, ?thisPositionOn16, 1) = 'H')) .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarP0ABF6MF_0155844, 1, (STRLEN(?templateMotifCigarP0ABF6MF_0155844) - STRLEN(REPLACE(?templateMotifCigarP0ABF6MF_0155844, CONCAT('^(?:-*[^-]){', STR(((129 - ?templateMotifSequenceMatchBeginPositionP0ABF645) + 1)), '}'), '')))), '[a-z]', '')) AS ?step159) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarP0ABF6MF_0155846, 1, (STRLEN(?targetMotifMatchCigarP0ABF6MF_0155846) - STRLEN(REPLACE(?targetMotifMatchCigarP0ABF6MF_0155846, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step159), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarP0ABF6MF_0155846, 1, (STRLEN(?targetMotifMatchCigarP0ABF6MF_0155846) - STRLEN(REPLACE(?targetMotifMatchCigarP0ABF6MF_0155846, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step159), '}'), '')))), '[^-]', ''))) AS ?step260) .
    BIND(((?step260 + ?targetMotifMatchRegionMatchBeginPositionMF_0155847) - 1) AS ?thisPositionOn22) .
    BIND(?thisPositionOn22 AS ?thisPositionOn23) .
    BIND(?this AS ?pfs1t61) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn22))) AS ?pfsb19) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn23))) AS ?pfse20) .
    FILTER ((SUBSTR(?thisSequenceValue, ?thisPositionOn22, 1) = 'C')) .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarP0ABF6MF_0155844, 1, (STRLEN(?templateMotifCigarP0ABF6MF_0155844) - STRLEN(REPLACE(?templateMotifCigarP0ABF6MF_0155844, CONCAT('^(?:-*[^-]){', STR(((132 - ?templateMotifSequenceMatchBeginPositionP0ABF645) + 1)), '}'), '')))), '[a-z]', '')) AS ?step162) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarP0ABF6MF_0155846, 1, (STRLEN(?targetMotifMatchCigarP0ABF6MF_0155846) - STRLEN(REPLACE(?targetMotifMatchCigarP0ABF6MF_0155846, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step162), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarP0ABF6MF_0155846, 1, (STRLEN(?targetMotifMatchCigarP0ABF6MF_0155846) - STRLEN(REPLACE(?targetMotifMatchCigarP0ABF6MF_0155846, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step162), '}'), '')))), '[^-]', ''))) AS ?step263) .
    BIND(((?step263 + ?targetMotifMatchRegionMatchBeginPositionMF_0155847) - 1) AS ?thisPositionOn28) .
    BIND(?thisPositionOn28 AS ?thisPositionOn29) .
    BIND(?this AS ?pfs1t64) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn28))) AS ?pfsb25) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn29))) AS ?pfse26) .
    FILTER ((SUBSTR(?thisSequenceValue, ?thisPositionOn28, 1) = 'C')) .
    BIND(?this AS ?pfs11) .
  }
  OPTIONAL {
    ?this up:sequence ?thisSequence .
    ?thisSequence rdf:value ?thisSequenceValue .
    ?templateMotifMatch69 faldo:location ?templateMotifSequenceMatchRegionP0ABF670 ;
      edam:is_output_of ?templateMotifSequenceProfileAlignmentOperationP0ABF672 ;
      rdf:type edam:data_0869 ;
      rdf:value ?templateMotifCigarP0ABF6MF_0155865 .
    ?templateMotifSequenceMatchRegionP0ABF670 faldo:begin ?templateMotifSequenceMatchBeginP0ABF671 .
    ?templateMotifSequenceMatchBeginP0ABF671 faldo:position ?templateMotifSequenceMatchBeginPositionP0ABF666 ;
      faldo:reference isoform:P0ABF6-1 .
    ?templateMotifSequenceProfileAlignmentOperationP0ABF672 edam:has_input signature:MF_01558 ;
      rdf:type edam:operation_0300 .
    ?targetMotifMatch73 faldo:location ?targetMotifMatchRegionMatch74 ;
      edam:is_output_of ?targetMotifSequenceAlignmentOperationMF_0155876 ;
      rdf:type edam:data_0869 ;
      rdf:value ?targetMotifMatchCigarP0ABF6MF_0155867 .
    ?targetMotifMatchRegionMatch74 faldo:begin ?targetMotifMatchRegionMatchBeginMF_0155875 .
    ?targetMotifMatchRegionMatchBeginMF_0155875 faldo:position ?targetMotifMatchRegionMatchBeginPositionMF_0155868 ;
      faldo:reference ?thisSequence .
    ?targetMotifSequenceAlignmentOperationMF_0155876 edam:has_input signature:MF_01558 ;
      rdf:type edam:operation_0300 .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarP0ABF6MF_0155865, 1, (STRLEN(?templateMotifCigarP0ABF6MF_0155865) - STRLEN(REPLACE(?templateMotifCigarP0ABF6MF_0155865, CONCAT('^(?:-*[^-]){', STR(((89 - ?templateMotifSequenceMatchBeginPositionP0ABF666) + 1)), '}'), '')))), '[a-z]', '')) AS ?step177) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarP0ABF6MF_0155867, 1, (STRLEN(?targetMotifMatchCigarP0ABF6MF_0155867) - STRLEN(REPLACE(?targetMotifMatchCigarP0ABF6MF_0155867, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step177), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarP0ABF6MF_0155867, 1, (STRLEN(?targetMotifMatchCigarP0ABF6MF_0155867) - STRLEN(REPLACE(?targetMotifMatchCigarP0ABF6MF_0155867, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step177), '}'), '')))), '[^-]', ''))) AS ?step278) .
    BIND(((?step278 + ?targetMotifMatchRegionMatchBeginPositionMF_0155868) - 1) AS ?thisPositionOn36) .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarP0ABF6MF_0155865, 1, (STRLEN(?templateMotifCigarP0ABF6MF_0155865) - STRLEN(REPLACE(?templateMotifCigarP0ABF6MF_0155865, CONCAT('^(?:-*[^-]){', STR(((91 - ?templateMotifSequenceMatchBeginPositionP0ABF666) + 1)), '}'), '')))), '[a-z]', '')) AS ?step179) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarP0ABF6MF_0155867, 1, (STRLEN(?targetMotifMatchCigarP0ABF6MF_0155867) - STRLEN(REPLACE(?targetMotifMatchCigarP0ABF6MF_0155867, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step179), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarP0ABF6MF_0155867, 1, (STRLEN(?targetMotifMatchCigarP0ABF6MF_0155867) - STRLEN(REPLACE(?targetMotifMatchCigarP0ABF6MF_0155867, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step179), '}'), '')))), '[^-]', ''))) AS ?step280) .
    BIND(((?step280 + ?targetMotifMatchRegionMatchBeginPositionMF_0155868) - 1) AS ?thisPositionOn37) .
    BIND(?this AS ?pfs2t81) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn36))) AS ?pfsb32) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn37))) AS ?pfse33) .
    FILTER (REGEX('N[ARNDCQEGHILKMFPSTWYVBZJUOX]E', SUBSTR(?thisSequenceValue, ?thisPositionOn36, (?thisPositionOn37 - ?thisPositionOn36)))) .
    BIND(URI(CONCAT(STR(?this), '#MF_01558a31')) AS ?annotation31) .
    BIND(?this AS ?pfs30) .
  }
  OPTIONAL {
    ?this up:sequence ?thisSequence .
    ?thisSequence rdf:value ?thisSequenceValue .
    ?templateMotifMatch86 faldo:location ?templateMotifSequenceMatchRegionP0ABF687 ;
      edam:is_output_of ?templateMotifSequenceProfileAlignmentOperationP0ABF689 ;
      rdf:type edam:data_0869 ;
      rdf:value ?templateMotifCigarP0ABF6MF_0155882 .
    ?templateMotifSequenceMatchRegionP0ABF687 faldo:begin ?templateMotifSequenceMatchBeginP0ABF688 .
    ?templateMotifSequenceMatchBeginP0ABF688 faldo:position ?templateMotifSequenceMatchBeginPositionP0ABF683 ;
      faldo:reference isoform:P0ABF6-1 .
    ?templateMotifSequenceProfileAlignmentOperationP0ABF689 edam:has_input signature:MF_01558 ;
      rdf:type edam:operation_0300 .
    ?targetMotifMatch90 faldo:location ?targetMotifMatchRegionMatch91 ;
      edam:is_output_of ?targetMotifSequenceAlignmentOperationMF_0155893 ;
      rdf:type edam:data_0869 ;
      rdf:value ?targetMotifMatchCigarP0ABF6MF_0155884 .
    ?targetMotifMatchRegionMatch91 faldo:begin ?targetMotifMatchRegionMatchBeginMF_0155892 .
    ?targetMotifMatchRegionMatchBeginMF_0155892 faldo:position ?targetMotifMatchRegionMatchBeginPositionMF_0155885 ;
      faldo:reference ?thisSequence .
    ?targetMotifSequenceAlignmentOperationMF_0155893 edam:has_input signature:MF_01558 ;
      rdf:type edam:operation_0300 .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarP0ABF6MF_0155882, 1, (STRLEN(?templateMotifCigarP0ABF6MF_0155882) - STRLEN(REPLACE(?templateMotifCigarP0ABF6MF_0155882, CONCAT('^(?:-*[^-]){', STR(((104 - ?templateMotifSequenceMatchBeginPositionP0ABF683) + 1)), '}'), '')))), '[a-z]', '')) AS ?step194) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarP0ABF6MF_0155884, 1, (STRLEN(?targetMotifMatchCigarP0ABF6MF_0155884) - STRLEN(REPLACE(?targetMotifMatchCigarP0ABF6MF_0155884, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step194), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarP0ABF6MF_0155884, 1, (STRLEN(?targetMotifMatchCigarP0ABF6MF_0155884) - STRLEN(REPLACE(?targetMotifMatchCigarP0ABF6MF_0155884, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step194), '}'), '')))), '[^-]', ''))) AS ?step295) .
    BIND(((?step295 + ?targetMotifMatchRegionMatchBeginPositionMF_0155885) - 1) AS ?thisPositionOn42) .
    BIND(?thisPositionOn42 AS ?thisPositionOn43) .
    BIND(?this AS ?pfs2t96) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn42))) AS ?pfsb40) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn43))) AS ?pfse41) .
    FILTER ((SUBSTR(?thisSequenceValue, ?thisPositionOn42, 1) = 'E')) .
    BIND(URI(CONCAT(STR(?this), '#MF_01558a39')) AS ?annotation39) .
    BIND(?this AS ?pfs38) .
  }
  OPTIONAL {
    ?this a up:Protein .
    BIND(?this AS ?caseWithTag97) .
  }
  BIND(IF(BOUND(?tagFTGRP_1), ?caseWithTag97, ?UNBOUND_VARIABLE) AS ?case10) .
}
""" .

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