@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_01400#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_01400#construct-template-1>,
    <http://purl.uniprot.org/unirules/MF_01400#construct-template-36>, <http://purl.uniprot.org/unirules/MF_01400#construct-template-92>,
    <http://purl.uniprot.org/unirules/MF_01400#construct-template-9>, <http://purl.uniprot.org/unirules/MF_01400#construct-template-52>,
    <http://purl.uniprot.org/unirules/MF_01400#construct-template-40>, <http://purl.uniprot.org/unirules/MF_01400#construct-template-53>,
    <http://purl.uniprot.org/unirules/MF_01400#construct-template-91>, <http://purl.uniprot.org/unirules/MF_01400#construct-template-35>,
    <http://purl.uniprot.org/unirules/MF_01400#construct-template-59>, <http://purl.uniprot.org/unirules/MF_01400#construct-template-75>,
    <http://purl.uniprot.org/unirules/MF_01400#construct-template-65>, <http://purl.uniprot.org/unirules/MF_01400#construct-template-73>,
    <http://purl.uniprot.org/unirules/MF_01400#construct-template-26>, <http://purl.uniprot.org/unirules/MF_01400#construct-template-25>,
    <http://purl.uniprot.org/unirules/MF_01400#construct-template-70>, <http://purl.uniprot.org/unirules/MF_01400#construct-template-21>,
    <http://purl.uniprot.org/unirules/MF_01400#construct-template-94>, <http://purl.uniprot.org/unirules/MF_01400#construct-template-13>,
    <http://purl.uniprot.org/unirules/MF_01400#construct-template-46>, <http://purl.uniprot.org/unirules/MF_01400#construct-template-86>,
    <http://purl.uniprot.org/unirules/MF_01400#construct-template-93>, <http://purl.uniprot.org/unirules/MF_01400#construct-template-14>,
    <http://purl.uniprot.org/unirules/MF_01400#construct-template-38>, <http://purl.uniprot.org/unirules/MF_01400#construct-template-66>,
    <http://purl.uniprot.org/unirules/MF_01400#construct-template-83>, <http://purl.uniprot.org/unirules/MF_01400#construct-template-20>,
    <http://purl.uniprot.org/unirules/MF_01400#construct-template-81>, <http://purl.uniprot.org/unirules/MF_01400#construct-template-47>,
    <http://purl.uniprot.org/unirules/MF_01400#construct-template-80>, <http://purl.uniprot.org/unirules/MF_01400#construct-template-0>,
    <http://purl.uniprot.org/unirules/MF_01400#construct-template-79>, <http://purl.uniprot.org/unirules/MF_01400#construct-template-57>,
    <http://purl.uniprot.org/unirules/MF_01400#construct-template-51>, <http://purl.uniprot.org/unirules/MF_01400#construct-template-90>,
    <http://purl.uniprot.org/unirules/MF_01400#construct-template-55>, <http://purl.uniprot.org/unirules/MF_01400#construct-template-3>,
    <http://purl.uniprot.org/unirules/MF_01400#construct-template-28>, <http://purl.uniprot.org/unirules/MF_01400#construct-template-27>,
    <http://purl.uniprot.org/unirules/MF_01400#construct-template-69>, <http://purl.uniprot.org/unirules/MF_01400#construct-template-74>,
    <http://purl.uniprot.org/unirules/MF_01400#construct-template-62>, <http://purl.uniprot.org/unirules/MF_01400#construct-template-60>,
    <http://purl.uniprot.org/unirules/MF_01400#construct-template-29>, <http://purl.uniprot.org/unirules/MF_01400#construct-template-23>,
    <http://purl.uniprot.org/unirules/MF_01400#construct-template-15>, <http://purl.uniprot.org/unirules/MF_01400#construct-template-68>,
    <http://purl.uniprot.org/unirules/MF_01400#construct-template-42>, <http://purl.uniprot.org/unirules/MF_01400#construct-template-84>,
    <http://purl.uniprot.org/unirules/MF_01400#construct-template-77>, <http://purl.uniprot.org/unirules/MF_01400#construct-template-72>,
    <http://purl.uniprot.org/unirules/MF_01400#construct-template-58>, <http://purl.uniprot.org/unirules/MF_01400#construct-template-45>,
    <http://purl.uniprot.org/unirules/MF_01400#construct-template-30>, <http://purl.uniprot.org/unirules/MF_01400#construct-template-7>,
    <http://purl.uniprot.org/unirules/MF_01400#construct-template-34>, <http://purl.uniprot.org/unirules/MF_01400#construct-template-31>,
    <http://purl.uniprot.org/unirules/MF_01400#construct-template-16>, <http://purl.uniprot.org/unirules/MF_01400#construct-template-41>,
    <http://purl.uniprot.org/unirules/MF_01400#construct-template-49>, <http://purl.uniprot.org/unirules/MF_01400#construct-template-61>,
    <http://purl.uniprot.org/unirules/MF_01400#construct-template-82>, <http://purl.uniprot.org/unirules/MF_01400#construct-template-44>,
    <http://purl.uniprot.org/unirules/MF_01400#construct-template-39>, <http://purl.uniprot.org/unirules/MF_01400#construct-template-64>,
    <http://purl.uniprot.org/unirules/MF_01400#construct-template-10>, <http://purl.uniprot.org/unirules/MF_01400#construct-template-32>,
    <http://purl.uniprot.org/unirules/MF_01400#construct-template-24>, <http://purl.uniprot.org/unirules/MF_01400#construct-template-48>,
    <http://purl.uniprot.org/unirules/MF_01400#construct-template-18>, <http://purl.uniprot.org/unirules/MF_01400#construct-template-33>,
    <http://purl.uniprot.org/unirules/MF_01400#construct-template-22>, <http://purl.uniprot.org/unirules/MF_01400#construct-template-76>,
    <http://purl.uniprot.org/unirules/MF_01400#construct-template-43>, <http://purl.uniprot.org/unirules/MF_01400#construct-template-5>,
    <http://purl.uniprot.org/unirules/MF_01400#construct-template-4>, <http://purl.uniprot.org/unirules/MF_01400#construct-template-67>,
    <http://purl.uniprot.org/unirules/MF_01400#construct-template-19>, <http://purl.uniprot.org/unirules/MF_01400#construct-template-6>,
    <http://purl.uniprot.org/unirules/MF_01400#construct-template-88>, <http://purl.uniprot.org/unirules/MF_01400#construct-template-103>,
    <http://purl.uniprot.org/unirules/MF_01400#construct-template-12>, <http://purl.uniprot.org/unirules/MF_01400#construct-template-63>,
    <http://purl.uniprot.org/unirules/MF_01400#construct-template-87>, <http://purl.uniprot.org/unirules/MF_01400#construct-template-104>,
    <http://purl.uniprot.org/unirules/MF_01400#construct-template-50>, <http://purl.uniprot.org/unirules/MF_01400#construct-template-71>,
    <http://purl.uniprot.org/unirules/MF_01400#construct-template-11>, <http://purl.uniprot.org/unirules/MF_01400#construct-template-101>,
    <http://purl.uniprot.org/unirules/MF_01400#construct-template-102>, <http://purl.uniprot.org/unirules/MF_01400#construct-template-89>,
    <http://purl.uniprot.org/unirules/MF_01400#construct-template-78>, <http://purl.uniprot.org/unirules/MF_01400#construct-template-17>,
    <http://purl.uniprot.org/unirules/MF_01400#construct-template-2>, <http://purl.uniprot.org/unirules/MF_01400#construct-template-85>,
    <http://purl.uniprot.org/unirules/MF_01400#construct-template-8>, <http://purl.uniprot.org/unirules/MF_01400#construct-template-37>,
    <http://purl.uniprot.org/unirules/MF_01400#construct-template-54>, <http://purl.uniprot.org/unirules/MF_01400#construct-template-100>,
    <http://purl.uniprot.org/unirules/MF_01400#construct-template-56>, <http://purl.uniprot.org/unirules/MF_01400#construct-template-99>,
    <http://purl.uniprot.org/unirules/MF_01400#construct-template-96>, <http://purl.uniprot.org/unirules/MF_01400#construct-template-95>,
    <http://purl.uniprot.org/unirules/MF_01400#construct-template-98>, <http://purl.uniprot.org/unirules/MF_01400#construct-template-97>;
  <http://www.w3.org/ns/shacl#prefixes> <http://purl.uniprot.org/unirules/>;
  <http://spinrdf.org/sp#where> <http://purl.uniprot.org/unirules/MF_01400#construct-where-list-0>;
  <http://spinrdf.org/sp#templates> <http://purl.uniprot.org/unirules/MF_01400#construct-template-list-0>;
  <http://www.w3.org/ns/shacl#construct> """CONSTRUCT {
  _:507075 up:source unirule:MF_01400 .
  _:507076 up:source unirule:MF_01400 .
  _:507077 up:source unirule:MF_01400 .
  _:507078 up:source unirule:MF_01400 .
  _:507079 up:source unirule:MF_01400 .
  _:507080 up:source unirule:MF_01400 .
  _:507081 up:source unirule:MF_01400 .
  _:507082 up:source unirule:MF_01400 .
  _:507083 up:source unirule:MF_01400 .
  _:507084 up:source unirule:MF_01400 .
  _:507085 up:source unirule:MF_01400 .
  _:507086 up:source unirule:MF_01400 .
  _:507087 up:source unirule:MF_01400 .
  _:507088 up:source unirule:MF_01400 .
  _:507089 up:source unirule:MF_01400 .
  ?this up:alternativeName ?name1 ;
    up:annotation ?annotation3 ,
      ?annotation5 ;
    up:classifiedWith GO:0033743 ,
      keyword:560 ;
    up:recommendedName ?name0 .
  ?name0 up:ecName '1.8.4.12' ;
    up:fullName 'Peptide methionine sulfoxide reductase MsrB' ;
    rdf:type up:Structured_Name .
  ?name1 up:fullName 'Peptide-methionine (R)-S-oxide reductase' ;
    rdf:type up:Structured_Name .
  ?gene2 skos:prefLabel 'msrB' .
  ?annotation3 up:activity ?activity4 ;
    rdf:type up:Catalytic_Activity_Annotation .
  ?activity4 up:catalyticActivity <http://rdf.rhea-db.org/24164>;
    up:enzymeClass <http://purl.uniprot.org/enzyme/1.8.4.12>.
  ?annotation5 a up:Similarity_Annotation ;
    rdfs:comment 'Belongs to the MsrB Met sulfoxide reductase family.' .
  ?case6 up:classifiedWith GO:0008270 ,
      keyword:479 ,
      keyword:862 .
  ?pfs7 up:annotation ?annotation8 ,
      ?annotation14 ,
      ?annotation20 ,
      ?annotation26 .
  ?annotation8 faldo:begin ?pfsb9 ;
    faldo:end ?pfse10 ;
    up:ligand ?ligand11 ;
    rdf:type up:Binding_Site_Annotation .
  ?pfsb9 faldo:position ?thisPositionOn12 ;
    rdf:type faldo:ExactPosition .
  ?pfse10 faldo:position ?thisPositionOn13 ;
    rdf:type faldo:ExactPosition .
  ?ligand11 rdfs:subClassOf chebi:29105 .
  ?annotation14 faldo:begin ?pfsb15 ;
    faldo:end ?pfse16 ;
    up:ligand ?ligand17 ;
    rdf:type up:Binding_Site_Annotation .
  ?pfsb15 faldo:position ?thisPositionOn18 ;
    rdf:type faldo:ExactPosition .
  ?pfse16 faldo:position ?thisPositionOn19 ;
    rdf:type faldo:ExactPosition .
  ?ligand17 rdfs:subClassOf chebi:29105 .
  ?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:29105 .
  ?annotation26 faldo:begin ?pfsb27 ;
    faldo:end ?pfse28 ;
    up:ligand ?ligand29 ;
    rdf:type up:Binding_Site_Annotation .
  ?pfsb27 faldo:position ?thisPositionOn30 ;
    rdf:type faldo:ExactPosition .
  ?pfse28 faldo:position ?thisPositionOn31 ;
    rdf:type faldo:ExactPosition .
  ?ligand29 rdfs:subClassOf chebi:29105 .
  ?pfs32 up:annotation ?annotation33 .
  ?annotation33 faldo:begin ?pfsb34 ;
    faldo:end ?pfse35 ;
    rdf:type up:Active_Site_Annotation ;
    rdfs:comment 'Nucleophile' .
  ?pfsb34 faldo:position ?thisPositionOn36 ;
    rdf:type faldo:ExactPosition .
  ?pfse35 faldo:position ?thisPositionOn37 ;
    rdf:type faldo:ExactPosition .
  _:507090 a rdf:Statement ;
    up:attribution _:507075 ;
    rdf:subject ?this ;
    rdf:predicate up:recommendedName ;
    rdf:object ?name0 .
  _:507091 a rdf:Statement ;
    up:attribution _:507076 ;
    rdf:subject ?this ;
    rdf:predicate up:alternativeName ;
    rdf:object ?name1 .
  _:507092 a rdf:Statement ;
    up:attribution _:507077 ;
    rdf:subject ?gene2 ;
    rdf:predicate up:encodedBy ;
    rdf:object ?gene2 .
  _:507093 a rdf:Statement ;
    up:attribution _:507078 ;
    rdf:subject ?this ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation3 .
  _:507094 a rdf:Statement ;
    up:attribution _:507079 ;
    rdf:subject ?this ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation5 .
  _:507095 a rdf:Statement ;
    up:attribution _:507080 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object keyword:560 .
  _:507096 a rdf:Statement ;
    up:attribution _:507081 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object GO:0033743 .
  _:507097 a rdf:Statement ;
    up:attribution _:507082 ;
    rdf:subject ?case6 ;
    rdf:predicate up:classifiedWith ;
    rdf:object keyword:479 .
  _:507098 a rdf:Statement ;
    up:attribution _:507083 ;
    rdf:subject ?case6 ;
    rdf:predicate up:classifiedWith ;
    rdf:object keyword:862 .
  _:507099 a rdf:Statement ;
    up:attribution _:507084 ;
    rdf:subject ?case6 ;
    rdf:predicate up:classifiedWith ;
    rdf:object GO:0008270 .
  _:507100 a rdf:Statement ;
    up:source unirule:MF_01400 ;
    rdf:subject ?pfs7 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation8 .
  _:507101 a rdf:Statement ;
    up:attribution _:507085 ;
    rdf:subject ?pfs7 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation8 .
  _:507102 a rdf:Statement ;
    up:source unirule:MF_01400 ;
    rdf:subject ?pfs7 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation14 .
  _:507103 a rdf:Statement ;
    up:attribution _:507086 ;
    rdf:subject ?pfs7 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation14 .
  _:507104 a rdf:Statement ;
    up:source unirule:MF_01400 ;
    rdf:subject ?pfs7 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation20 .
  _:507105 a rdf:Statement ;
    up:attribution _:507087 ;
    rdf:subject ?pfs7 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation20 .
  _:507106 a rdf:Statement ;
    up:source unirule:MF_01400 ;
    rdf:subject ?pfs7 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation26 .
  _:507107 a rdf:Statement ;
    up:attribution _:507088 ;
    rdf:subject ?pfs7 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation26 .
  _:507108 a rdf:Statement ;
    up:source unirule:MF_01400 ;
    rdf:subject ?pfs32 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation33 .
  _:507109 a rdf:Statement ;
    up:attribution _:507089 ;
    rdf:subject ?pfs32 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation33 .
}
WHERE {
  #baseURI: http://purl.uniprot.org/unirule/MF_01400
  #Rule MF_01400 Created by:? on:2005-02-28 Modified by:Edouard de Castro on:2024-09-02
  VALUES ?supertaxon38 {taxon:2 taxon:2157}
  ?this up:organism ?thisOrganism ;
    rdfs:seeAlso signature:MF_01400 .
  ?thisOrganism rdfs:subClassOf+ ?supertaxon38 .
  BIND(URI(CONCAT(STR(?this), '#MF_01400a0')) AS ?name0) .
  BIND(URI(CONCAT(STR(?this), '#MF_01400a1')) AS ?name1) .
  BIND(URI(CONCAT(STR(?this), '#MF_01400a3')) AS ?annotation3) .
  BIND(URI(CONCAT(STR(?this), '#MF_01400a5')) AS ?annotation5) .
  OPTIONAL {
    ?this up:sequence ?thisSequence .
    ?thisSequence rdf:value ?thisSequenceValue .
    ?templateMotifMatch43 faldo:location ?templateMotifSequenceMatchRegionP0A74644 ;
      edam:is_output_of ?templateMotifSequenceProfileAlignmentOperationP0A74646 ;
      rdf:type edam:data_0869 ;
      rdf:value ?templateMotifCigarP0A746MF_0140039 .
    ?templateMotifSequenceMatchRegionP0A74644 faldo:begin ?templateMotifSequenceMatchBeginP0A74645 .
    ?templateMotifSequenceMatchBeginP0A74645 faldo:position ?templateMotifSequenceMatchBeginPositionP0A74640 ;
      faldo:reference isoform:P0A746-1 .
    ?templateMotifSequenceProfileAlignmentOperationP0A74646 edam:has_input signature:MF_01400 ;
      rdf:type edam:operation_0300 .
    ?targetMotifMatch47 faldo:location ?targetMotifMatchRegionMatch48 ;
      edam:is_output_of ?targetMotifSequenceAlignmentOperationMF_0140050 ;
      rdf:type edam:data_0869 ;
      rdf:value ?targetMotifMatchCigarP0A746MF_0140041 .
    ?targetMotifMatchRegionMatch48 faldo:begin ?targetMotifMatchRegionMatchBeginMF_0140049 .
    ?targetMotifMatchRegionMatchBeginMF_0140049 faldo:position ?targetMotifMatchRegionMatchBeginPositionMF_0140042 ;
      faldo:reference ?thisSequence .
    ?targetMotifSequenceAlignmentOperationMF_0140050 edam:has_input signature:MF_01400 ;
      rdf:type edam:operation_0300 .
    BIND(?this AS ?tagFTGRP_1) .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarP0A746MF_0140039, 1, (STRLEN(?templateMotifCigarP0A746MF_0140039) - STRLEN(REPLACE(?templateMotifCigarP0A746MF_0140039, CONCAT('^(?:-*[^-]){', STR(((46 - ?templateMotifSequenceMatchBeginPositionP0A74640) + 1)), '}'), '')))), '[a-z]', '')) AS ?step151) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarP0A746MF_0140041, 1, (STRLEN(?targetMotifMatchCigarP0A746MF_0140041) - STRLEN(REPLACE(?targetMotifMatchCigarP0A746MF_0140041, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step151), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarP0A746MF_0140041, 1, (STRLEN(?targetMotifMatchCigarP0A746MF_0140041) - STRLEN(REPLACE(?targetMotifMatchCigarP0A746MF_0140041, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step151), '}'), '')))), '[^-]', ''))) AS ?step252) .
    BIND(((?step252 + ?targetMotifMatchRegionMatchBeginPositionMF_0140042) - 1) AS ?thisPositionOn12) .
    BIND(?thisPositionOn12 AS ?thisPositionOn13) .
    BIND(?this AS ?pfs1t53) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn12))) AS ?pfsb9) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn13))) AS ?pfse10) .
    FILTER ((SUBSTR(?thisSequenceValue, ?thisPositionOn12, 1) = 'C')) .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarP0A746MF_0140039, 1, (STRLEN(?templateMotifCigarP0A746MF_0140039) - STRLEN(REPLACE(?templateMotifCigarP0A746MF_0140039, CONCAT('^(?:-*[^-]){', STR(((49 - ?templateMotifSequenceMatchBeginPositionP0A74640) + 1)), '}'), '')))), '[a-z]', '')) AS ?step154) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarP0A746MF_0140041, 1, (STRLEN(?targetMotifMatchCigarP0A746MF_0140041) - STRLEN(REPLACE(?targetMotifMatchCigarP0A746MF_0140041, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step154), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarP0A746MF_0140041, 1, (STRLEN(?targetMotifMatchCigarP0A746MF_0140041) - STRLEN(REPLACE(?targetMotifMatchCigarP0A746MF_0140041, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step154), '}'), '')))), '[^-]', ''))) AS ?step255) .
    BIND(((?step255 + ?targetMotifMatchRegionMatchBeginPositionMF_0140042) - 1) AS ?thisPositionOn18) .
    BIND(?thisPositionOn18 AS ?thisPositionOn19) .
    BIND(?this AS ?pfs1t56) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn18))) AS ?pfsb15) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn19))) AS ?pfse16) .
    FILTER ((SUBSTR(?thisSequenceValue, ?thisPositionOn18, 1) = 'C')) .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarP0A746MF_0140039, 1, (STRLEN(?templateMotifCigarP0A746MF_0140039) - STRLEN(REPLACE(?templateMotifCigarP0A746MF_0140039, CONCAT('^(?:-*[^-]){', STR(((95 - ?templateMotifSequenceMatchBeginPositionP0A74640) + 1)), '}'), '')))), '[a-z]', '')) AS ?step157) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarP0A746MF_0140041, 1, (STRLEN(?targetMotifMatchCigarP0A746MF_0140041) - STRLEN(REPLACE(?targetMotifMatchCigarP0A746MF_0140041, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step157), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarP0A746MF_0140041, 1, (STRLEN(?targetMotifMatchCigarP0A746MF_0140041) - STRLEN(REPLACE(?targetMotifMatchCigarP0A746MF_0140041, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step157), '}'), '')))), '[^-]', ''))) AS ?step258) .
    BIND(((?step258 + ?targetMotifMatchRegionMatchBeginPositionMF_0140042) - 1) AS ?thisPositionOn24) .
    BIND(?thisPositionOn24 AS ?thisPositionOn25) .
    BIND(?this AS ?pfs1t59) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn24))) AS ?pfsb21) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn25))) AS ?pfse22) .
    FILTER ((SUBSTR(?thisSequenceValue, ?thisPositionOn24, 1) = 'C')) .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarP0A746MF_0140039, 1, (STRLEN(?templateMotifCigarP0A746MF_0140039) - STRLEN(REPLACE(?templateMotifCigarP0A746MF_0140039, CONCAT('^(?:-*[^-]){', STR(((98 - ?templateMotifSequenceMatchBeginPositionP0A74640) + 1)), '}'), '')))), '[a-z]', '')) AS ?step160) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarP0A746MF_0140041, 1, (STRLEN(?targetMotifMatchCigarP0A746MF_0140041) - STRLEN(REPLACE(?targetMotifMatchCigarP0A746MF_0140041, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step160), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarP0A746MF_0140041, 1, (STRLEN(?targetMotifMatchCigarP0A746MF_0140041) - STRLEN(REPLACE(?targetMotifMatchCigarP0A746MF_0140041, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step160), '}'), '')))), '[^-]', ''))) AS ?step261) .
    BIND(((?step261 + ?targetMotifMatchRegionMatchBeginPositionMF_0140042) - 1) AS ?thisPositionOn30) .
    BIND(?thisPositionOn30 AS ?thisPositionOn31) .
    BIND(?this AS ?pfs1t62) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn30))) AS ?pfsb27) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn31))) AS ?pfse28) .
    FILTER ((SUBSTR(?thisSequenceValue, ?thisPositionOn30, 1) = 'C')) .
    BIND(?this AS ?pfs7) .
  }
  OPTIONAL {
    ?this up:sequence ?thisSequence .
    ?thisSequence rdf:value ?thisSequenceValue .
    ?templateMotifMatch67 faldo:location ?templateMotifSequenceMatchRegionP0A74668 ;
      edam:is_output_of ?templateMotifSequenceProfileAlignmentOperationP0A74670 ;
      rdf:type edam:data_0869 ;
      rdf:value ?templateMotifCigarP0A746MF_0140063 .
    ?templateMotifSequenceMatchRegionP0A74668 faldo:begin ?templateMotifSequenceMatchBeginP0A74669 .
    ?templateMotifSequenceMatchBeginP0A74669 faldo:position ?templateMotifSequenceMatchBeginPositionP0A74664 ;
      faldo:reference isoform:P0A746-1 .
    ?templateMotifSequenceProfileAlignmentOperationP0A74670 edam:has_input signature:MF_01400 ;
      rdf:type edam:operation_0300 .
    ?targetMotifMatch71 faldo:location ?targetMotifMatchRegionMatch72 ;
      edam:is_output_of ?targetMotifSequenceAlignmentOperationMF_0140074 ;
      rdf:type edam:data_0869 ;
      rdf:value ?targetMotifMatchCigarP0A746MF_0140065 .
    ?targetMotifMatchRegionMatch72 faldo:begin ?targetMotifMatchRegionMatchBeginMF_0140073 .
    ?targetMotifMatchRegionMatchBeginMF_0140073 faldo:position ?targetMotifMatchRegionMatchBeginPositionMF_0140066 ;
      faldo:reference ?thisSequence .
    ?targetMotifSequenceAlignmentOperationMF_0140074 edam:has_input signature:MF_01400 ;
      rdf:type edam:operation_0300 .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarP0A746MF_0140063, 1, (STRLEN(?templateMotifCigarP0A746MF_0140063) - STRLEN(REPLACE(?templateMotifCigarP0A746MF_0140063, CONCAT('^(?:-*[^-]){', STR(((118 - ?templateMotifSequenceMatchBeginPositionP0A74664) + 1)), '}'), '')))), '[a-z]', '')) AS ?step175) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarP0A746MF_0140065, 1, (STRLEN(?targetMotifMatchCigarP0A746MF_0140065) - STRLEN(REPLACE(?targetMotifMatchCigarP0A746MF_0140065, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step175), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarP0A746MF_0140065, 1, (STRLEN(?targetMotifMatchCigarP0A746MF_0140065) - STRLEN(REPLACE(?targetMotifMatchCigarP0A746MF_0140065, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step175), '}'), '')))), '[^-]', ''))) AS ?step276) .
    BIND(((?step276 + ?targetMotifMatchRegionMatchBeginPositionMF_0140066) - 1) AS ?thisPositionOn36) .
    BIND(?thisPositionOn36 AS ?thisPositionOn37) .
    BIND(?this AS ?pfs2t77) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn36))) AS ?pfsb34) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn37))) AS ?pfse35) .
    FILTER ((SUBSTR(?thisSequenceValue, ?thisPositionOn36, 1) = 'C')) .
    BIND(URI(CONCAT(STR(?this), '#MF_01400a33')) AS ?annotation33) .
    BIND(?this AS ?pfs32) .
  }
  OPTIONAL {
    ?this a up:Protein .
    BIND(?this AS ?caseWithTag78) .
  }
  BIND(IF(BOUND(?tagFTGRP_1), ?caseWithTag78, ?UNBOUND_VARIABLE) AS ?case6) .
}
""" .

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