@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_01589#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_01589#construct-template-22>,
    <http://purl.uniprot.org/unirules/MF_01589#construct-template-1>, <http://purl.uniprot.org/unirules/MF_01589#construct-template-71>,
    <http://purl.uniprot.org/unirules/MF_01589#construct-template-46>, <http://purl.uniprot.org/unirules/MF_01589#construct-template-25>,
    <http://purl.uniprot.org/unirules/MF_01589#construct-template-77>, <http://purl.uniprot.org/unirules/MF_01589#construct-template-53>,
    <http://purl.uniprot.org/unirules/MF_01589#construct-template-13>, <http://purl.uniprot.org/unirules/MF_01589#construct-template-30>,
    <http://purl.uniprot.org/unirules/MF_01589#construct-template-54>, <http://purl.uniprot.org/unirules/MF_01589#construct-template-20>,
    <http://purl.uniprot.org/unirules/MF_01589#construct-template-78>, <http://purl.uniprot.org/unirules/MF_01589#construct-template-51>,
    <http://purl.uniprot.org/unirules/MF_01589#construct-template-65>, <http://purl.uniprot.org/unirules/MF_01589#construct-template-10>,
    <http://purl.uniprot.org/unirules/MF_01589#construct-template-28>, <http://purl.uniprot.org/unirules/MF_01589#construct-template-38>,
    <http://purl.uniprot.org/unirules/MF_01589#construct-template-99>, <http://purl.uniprot.org/unirules/MF_01589#construct-template-75>,
    <http://purl.uniprot.org/unirules/MF_01589#construct-template-0>, <http://purl.uniprot.org/unirules/MF_01589#construct-template-8>,
    <http://purl.uniprot.org/unirules/MF_01589#construct-template-45>, <http://purl.uniprot.org/unirules/MF_01589#construct-template-19>,
    <http://purl.uniprot.org/unirules/MF_01589#construct-template-76>, <http://purl.uniprot.org/unirules/MF_01589#construct-template-52>,
    <http://purl.uniprot.org/unirules/MF_01589#construct-template-62>, <http://purl.uniprot.org/unirules/MF_01589#construct-template-3>,
    <http://purl.uniprot.org/unirules/MF_01589#construct-template-36>, <http://purl.uniprot.org/unirules/MF_01589#construct-template-57>,
    <http://purl.uniprot.org/unirules/MF_01589#construct-template-31>, <http://purl.uniprot.org/unirules/MF_01589#construct-template-33>,
    <http://purl.uniprot.org/unirules/MF_01589#construct-template-2>, <http://purl.uniprot.org/unirules/MF_01589#construct-template-42>,
    <http://purl.uniprot.org/unirules/MF_01589#construct-template-58>, <http://purl.uniprot.org/unirules/MF_01589#construct-template-34>,
    <http://purl.uniprot.org/unirules/MF_01589#construct-template-37>, <http://purl.uniprot.org/unirules/MF_01589#construct-template-5>,
    <http://purl.uniprot.org/unirules/MF_01589#construct-template-15>, <http://purl.uniprot.org/unirules/MF_01589#construct-template-41>,
    <http://purl.uniprot.org/unirules/MF_01589#construct-template-55>, <http://purl.uniprot.org/unirules/MF_01589#construct-template-79>,
    <http://purl.uniprot.org/unirules/MF_01589#construct-template-4>, <http://purl.uniprot.org/unirules/MF_01589#construct-template-24>,
    <http://purl.uniprot.org/unirules/MF_01589#construct-template-26>, <http://purl.uniprot.org/unirules/MF_01589#construct-template-64>,
    <http://purl.uniprot.org/unirules/MF_01589#construct-template-32>, <http://purl.uniprot.org/unirules/MF_01589#construct-template-56>,
    <http://purl.uniprot.org/unirules/MF_01589#construct-template-48>, <http://purl.uniprot.org/unirules/MF_01589#construct-template-59>,
    <http://purl.uniprot.org/unirules/MF_01589#construct-template-14>, <http://purl.uniprot.org/unirules/MF_01589#construct-template-63>,
    <http://purl.uniprot.org/unirules/MF_01589#construct-template-12>, <http://purl.uniprot.org/unirules/MF_01589#construct-template-11>,
    <http://purl.uniprot.org/unirules/MF_01589#construct-template-35>, <http://purl.uniprot.org/unirules/MF_01589#construct-template-43>,
    <http://purl.uniprot.org/unirules/MF_01589#construct-template-74>, <http://purl.uniprot.org/unirules/MF_01589#construct-template-23>,
    <http://purl.uniprot.org/unirules/MF_01589#construct-template-17>, <http://purl.uniprot.org/unirules/MF_01589#construct-template-50>,
    <http://purl.uniprot.org/unirules/MF_01589#construct-template-6>, <http://purl.uniprot.org/unirules/MF_01589#construct-template-18>,
    <http://purl.uniprot.org/unirules/MF_01589#construct-template-39>, <http://purl.uniprot.org/unirules/MF_01589#construct-template-16>,
    <http://purl.uniprot.org/unirules/MF_01589#construct-template-68>, <http://purl.uniprot.org/unirules/MF_01589#construct-template-61>,
    <http://purl.uniprot.org/unirules/MF_01589#construct-template-27>, <http://purl.uniprot.org/unirules/MF_01589#construct-template-47>,
    <http://purl.uniprot.org/unirules/MF_01589#construct-template-72>, <http://purl.uniprot.org/unirules/MF_01589#construct-template-49>,
    <http://purl.uniprot.org/unirules/MF_01589#construct-template-9>, <http://purl.uniprot.org/unirules/MF_01589#construct-template-66>,
    <http://purl.uniprot.org/unirules/MF_01589#construct-template-44>, <http://purl.uniprot.org/unirules/MF_01589#construct-template-81>,
    <http://purl.uniprot.org/unirules/MF_01589#construct-template-70>, <http://purl.uniprot.org/unirules/MF_01589#construct-template-113>,
    <http://purl.uniprot.org/unirules/MF_01589#construct-template-69>, <http://purl.uniprot.org/unirules/MF_01589#construct-template-82>,
    <http://purl.uniprot.org/unirules/MF_01589#construct-template-73>, <http://purl.uniprot.org/unirules/MF_01589#construct-template-114>,
    <http://purl.uniprot.org/unirules/MF_01589#construct-template-110>, <http://purl.uniprot.org/unirules/MF_01589#construct-template-111>,
    <http://purl.uniprot.org/unirules/MF_01589#construct-template-60>, <http://purl.uniprot.org/unirules/MF_01589#construct-template-80>,
    <http://purl.uniprot.org/unirules/MF_01589#construct-template-29>, <http://purl.uniprot.org/unirules/MF_01589#construct-template-112>,
    <http://purl.uniprot.org/unirules/MF_01589#construct-template-40>, <http://purl.uniprot.org/unirules/MF_01589#construct-template-85>,
    <http://purl.uniprot.org/unirules/MF_01589#construct-template-67>, <http://purl.uniprot.org/unirules/MF_01589#construct-template-86>,
    <http://purl.uniprot.org/unirules/MF_01589#construct-template-83>, <http://purl.uniprot.org/unirules/MF_01589#construct-template-115>,
    <http://purl.uniprot.org/unirules/MF_01589#construct-template-84>, <http://purl.uniprot.org/unirules/MF_01589#construct-template-7>,
    <http://purl.uniprot.org/unirules/MF_01589#construct-template-89>, <http://purl.uniprot.org/unirules/MF_01589#construct-template-109>,
    <http://purl.uniprot.org/unirules/MF_01589#construct-template-107>, <http://purl.uniprot.org/unirules/MF_01589#construct-template-87>,
    <http://purl.uniprot.org/unirules/MF_01589#construct-template-21>, <http://purl.uniprot.org/unirules/MF_01589#construct-template-88>,
    <http://purl.uniprot.org/unirules/MF_01589#construct-template-108>, <http://purl.uniprot.org/unirules/MF_01589#construct-template-90>,
    <http://purl.uniprot.org/unirules/MF_01589#construct-template-93>, <http://purl.uniprot.org/unirules/MF_01589#construct-template-101>,
    <http://purl.uniprot.org/unirules/MF_01589#construct-template-94>, <http://purl.uniprot.org/unirules/MF_01589#construct-template-102>,
    <http://purl.uniprot.org/unirules/MF_01589#construct-template-91>, <http://purl.uniprot.org/unirules/MF_01589#construct-template-92>,
    <http://purl.uniprot.org/unirules/MF_01589#construct-template-100>, <http://purl.uniprot.org/unirules/MF_01589#construct-template-105>,
    <http://purl.uniprot.org/unirules/MF_01589#construct-template-97>, <http://purl.uniprot.org/unirules/MF_01589#construct-template-106>,
    <http://purl.uniprot.org/unirules/MF_01589#construct-template-98>, <http://purl.uniprot.org/unirules/MF_01589#construct-template-95>,
    <http://purl.uniprot.org/unirules/MF_01589#construct-template-103>, <http://purl.uniprot.org/unirules/MF_01589#construct-template-104>,
    <http://purl.uniprot.org/unirules/MF_01589#construct-template-96>;
  <http://www.w3.org/ns/shacl#prefixes> <http://purl.uniprot.org/unirules/>;
  <http://spinrdf.org/sp#where> <http://purl.uniprot.org/unirules/MF_01589#construct-where-list-0>;
  <http://spinrdf.org/sp#templates> <http://purl.uniprot.org/unirules/MF_01589#construct-template-list-0>;
  <http://www.w3.org/ns/shacl#construct> """CONSTRUCT {
  _:574830 up:source unirule:MF_01589 .
  _:574831 up:source unirule:MF_01589 .
  _:574832 up:source unirule:MF_01589 .
  _:574833 up:source unirule:MF_01589 .
  _:574834 up:source unirule:MF_01589 .
  _:574835 up:source unirule:MF_01589 .
  _:574836 up:source unirule:MF_01589 .
  _:574837 up:source unirule:MF_01589 .
  _:574838 up:source unirule:MF_01589 .
  _:574839 up:source unirule:MF_01589 .
  _:574840 up:source unirule:MF_01589 .
  _:574841 up:source unirule:MF_01589 .
  _:574842 up:source unirule:MF_01589 .
  _:574843 up:source unirule:MF_01589 .
  _:574844 up:source unirule:MF_01589 .
  ?this up:annotation ?annotation2 ,
      ?annotation3 ,
      ?annotation5 ;
    up:classifiedWith GO:0016743 ,
      GO:1904047 ,
      keyword:808 ,
      keyword:949 ;
    up:recommendedName ?name0 .
  ?name0 up:ecName '2.1.3.-' ;
    up:fullName 'Carboxy-S-adenosyl-L-methionine synthase' ;
    up:shortName 'Cx-SAM synthase' ;
    rdf:type up:Structured_Name .
  ?gene1 skos:prefLabel 'cmoA' .
  ?annotation2 a up:Function_Annotation ;
    rdfs:comment 'Catalyzes the conversion of S-adenosyl-L-methionine (SAM) to carboxy-S-adenosyl-L-methionine (Cx-SAM).' .
  ?annotation3 up:activity ?activity4 ;
    rdf:type up:Catalytic_Activity_Annotation .
  ?activity4 up:catalyticActivity <http://rdf.rhea-db.org/51692>.
  ?annotation5 a up:Similarity_Annotation ;
    rdfs:comment 'Belongs to the class I-like SAM-binding methyltransferase superfamily. Cx-SAM synthase family.' .
  ?pfs7 up:annotation ?annotation8 .
  ?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:59789 .
  ?pfs14 up:annotation ?annotation15 .
  ?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:59789 .
  ?pfs21 up:annotation ?annotation22 .
  ?annotation22 faldo:begin ?pfsb23 ;
    faldo:end ?pfse24 ;
    up:ligand ?ligand25 ;
    rdf:type up:Binding_Site_Annotation .
  ?pfsb23 faldo:position ?thisPositionOn26 ;
    rdf:type faldo:ExactPosition .
  ?pfse24 faldo:position ?thisPositionOn27 ;
    rdf:type faldo:ExactPosition .
  ?ligand25 rdfs:subClassOf chebi:59789 .
  ?pfs28 up:annotation ?annotation29 .
  ?annotation29 faldo:begin ?pfsb30 ;
    faldo:end ?pfse31 ;
    up:ligand ?ligand32 ;
    rdf:type up:Binding_Site_Annotation .
  ?pfsb30 faldo:position ?thisPositionOn33 ;
    rdf:type faldo:ExactPosition .
  ?pfse31 faldo:position ?thisPositionOn34 ;
    rdf:type faldo:ExactPosition .
  ?ligand32 rdfs:subClassOf chebi:59789 .
  ?pfs35 up:annotation ?annotation36 .
  ?annotation36 faldo:begin ?pfsb37 ;
    faldo:end ?pfse38 ;
    up:ligand ?ligand39 ;
    rdf:type up:Binding_Site_Annotation .
  ?pfsb37 faldo:position ?thisPositionOn40 ;
    rdf:type faldo:ExactPosition .
  ?pfse38 faldo:position ?thisPositionOn41 ;
    rdf:type faldo:ExactPosition .
  ?ligand39 rdfs:subClassOf chebi:59789 .
  ?pfs42 up:annotation ?annotation43 .
  ?annotation43 faldo:begin ?pfsb44 ;
    faldo:end ?pfse45 ;
    up:ligand ?ligand46 ;
    rdf:type up:Binding_Site_Annotation .
  ?pfsb44 faldo:position ?thisPositionOn47 ;
    rdf:type faldo:ExactPosition .
  ?pfse45 faldo:position ?thisPositionOn48 ;
    rdf:type faldo:ExactPosition .
  ?ligand46 rdfs:subClassOf chebi:59789 .
  _:574845 a rdf:Statement ;
    up:attribution _:574830 ;
    rdf:subject ?this ;
    rdf:predicate up:recommendedName ;
    rdf:object ?name0 .
  _:574846 a rdf:Statement ;
    up:attribution _:574831 ;
    rdf:subject ?gene1 ;
    rdf:predicate up:encodedBy ;
    rdf:object ?gene1 .
  _:574847 a rdf:Statement ;
    up:attribution _:574832 ;
    rdf:subject ?this ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation2 .
  _:574848 a rdf:Statement ;
    up:attribution _:574833 ;
    rdf:subject ?this ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation3 .
  _:574849 a rdf:Statement ;
    up:attribution _:574834 ;
    rdf:subject ?this ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation5 .
  _:574850 a rdf:Statement ;
    up:attribution _:574835 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object keyword:949 .
  _:574851 a rdf:Statement ;
    up:attribution _:574836 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object keyword:808 .
  _:574852 a rdf:Statement ;
    up:attribution _:574837 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object GO:0016743 .
  _:574853 a rdf:Statement ;
    up:attribution _:574838 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object GO:1904047 .
  _:574854 a rdf:Statement ;
    up:source unirule:MF_01589 ;
    rdf:subject ?pfs7 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation8 .
  _:574855 a rdf:Statement ;
    up:attribution _:574839 ;
    rdf:subject ?pfs7 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation8 .
  _:574856 a rdf:Statement ;
    up:source unirule:MF_01589 ;
    rdf:subject ?pfs14 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation15 .
  _:574857 a rdf:Statement ;
    up:attribution _:574840 ;
    rdf:subject ?pfs14 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation15 .
  _:574858 a rdf:Statement ;
    up:source unirule:MF_01589 ;
    rdf:subject ?pfs21 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation22 .
  _:574859 a rdf:Statement ;
    up:attribution _:574841 ;
    rdf:subject ?pfs21 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation22 .
  _:574860 a rdf:Statement ;
    up:source unirule:MF_01589 ;
    rdf:subject ?pfs28 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation29 .
  _:574861 a rdf:Statement ;
    up:attribution _:574842 ;
    rdf:subject ?pfs28 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation29 .
  _:574862 a rdf:Statement ;
    up:source unirule:MF_01589 ;
    rdf:subject ?pfs35 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation36 .
  _:574863 a rdf:Statement ;
    up:attribution _:574843 ;
    rdf:subject ?pfs35 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation36 .
  _:574864 a rdf:Statement ;
    up:source unirule:MF_01589 ;
    rdf:subject ?pfs42 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation43 .
  _:574865 a rdf:Statement ;
    up:attribution _:574844 ;
    rdf:subject ?pfs42 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation43 .
}
WHERE {
  #baseURI: http://purl.uniprot.org/unirule/MF_01589
  #Rule MF_01589 Created by:? on:2007-11-29 Modified by:Edouard de Castro on:2024-09-03
  ?this up:organism ?thisOrganism ;
    rdfs:seeAlso signature:MF_01589 .
  ?thisOrganism rdfs:subClassOf+ taxon:2 .
  BIND(URI(CONCAT(STR(?this), '#MF_01589a0')) AS ?name0) .
  BIND(URI(CONCAT(STR(?this), '#MF_01589a2')) AS ?annotation2) .
  BIND(URI(CONCAT(STR(?this), '#MF_01589a3')) AS ?annotation3) .
  BIND(URI(CONCAT(STR(?this), '#MF_01589a5')) AS ?annotation5) .
  OPTIONAL {
    ?this up:sequence ?thisSequence .
    ?thisSequence rdf:value ?thisSequenceValue .
    ?templateMotifMatch53 faldo:location ?templateMotifSequenceMatchRegionP7629054 ;
      edam:is_output_of ?templateMotifSequenceProfileAlignmentOperationP7629056 ;
      rdf:type edam:data_0869 ;
      rdf:value ?templateMotifCigarP76290MF_0158949 .
    ?templateMotifSequenceMatchRegionP7629054 faldo:begin ?templateMotifSequenceMatchBeginP7629055 .
    ?templateMotifSequenceMatchBeginP7629055 faldo:position ?templateMotifSequenceMatchBeginPositionP7629050 ;
      faldo:reference isoform:P76290-1 .
    ?templateMotifSequenceProfileAlignmentOperationP7629056 edam:has_input signature:MF_01589 ;
      rdf:type edam:operation_0300 .
    ?targetMotifMatch57 faldo:location ?targetMotifMatchRegionMatch58 ;
      edam:is_output_of ?targetMotifSequenceAlignmentOperationMF_0158960 ;
      rdf:type edam:data_0869 ;
      rdf:value ?targetMotifMatchCigarP76290MF_0158951 .
    ?targetMotifMatchRegionMatch58 faldo:begin ?targetMotifMatchRegionMatchBeginMF_0158959 .
    ?targetMotifMatchRegionMatchBeginMF_0158959 faldo:position ?targetMotifMatchRegionMatchBeginPositionMF_0158952 ;
      faldo:reference ?thisSequence .
    ?targetMotifSequenceAlignmentOperationMF_0158960 edam:has_input signature:MF_01589 ;
      rdf:type edam:operation_0300 .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarP76290MF_0158949, 1, (STRLEN(?templateMotifCigarP76290MF_0158949) - STRLEN(REPLACE(?templateMotifCigarP76290MF_0158949, CONCAT('^(?:-*[^-]){', STR(((64 - ?templateMotifSequenceMatchBeginPositionP7629050) + 1)), '}'), '')))), '[a-z]', '')) AS ?step161) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarP76290MF_0158951, 1, (STRLEN(?targetMotifMatchCigarP76290MF_0158951) - STRLEN(REPLACE(?targetMotifMatchCigarP76290MF_0158951, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step161), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarP76290MF_0158951, 1, (STRLEN(?targetMotifMatchCigarP76290MF_0158951) - STRLEN(REPLACE(?targetMotifMatchCigarP76290MF_0158951, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step161), '}'), '')))), '[^-]', ''))) AS ?step262) .
    BIND(((?step262 + ?targetMotifMatchRegionMatchBeginPositionMF_0158952) - 1) AS ?thisPositionOn12) .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarP76290MF_0158949, 1, (STRLEN(?templateMotifCigarP76290MF_0158949) - STRLEN(REPLACE(?templateMotifCigarP76290MF_0158949, CONCAT('^(?:-*[^-]){', STR(((66 - ?templateMotifSequenceMatchBeginPositionP7629050) + 1)), '}'), '')))), '[a-z]', '')) AS ?step163) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarP76290MF_0158951, 1, (STRLEN(?targetMotifMatchCigarP76290MF_0158951) - STRLEN(REPLACE(?targetMotifMatchCigarP76290MF_0158951, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step163), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarP76290MF_0158951, 1, (STRLEN(?targetMotifMatchCigarP76290MF_0158951) - STRLEN(REPLACE(?targetMotifMatchCigarP76290MF_0158951, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step163), '}'), '')))), '[^-]', ''))) AS ?step264) .
    BIND(((?step264 + ?targetMotifMatchRegionMatchBeginPositionMF_0158952) - 1) AS ?thisPositionOn13) .
    BIND(?this AS ?pfs1t65) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn12))) AS ?pfsb9) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn13))) AS ?pfse10) .
    FILTER (REGEX('G[ARNDCQEGHILKMFPSTWYVBZJUOX]S', SUBSTR(?thisSequenceValue, ?thisPositionOn12, (?thisPositionOn13 - ?thisPositionOn12)))) .
    BIND(URI(CONCAT(STR(?this), '#MF_01589a8')) AS ?annotation8) .
    BIND(?this AS ?pfs7) .
  }
  OPTIONAL {
    ?this up:sequence ?thisSequence .
    ?thisSequence rdf:value ?thisSequenceValue .
    ?templateMotifMatch70 faldo:location ?templateMotifSequenceMatchRegionP7629071 ;
      edam:is_output_of ?templateMotifSequenceProfileAlignmentOperationP7629073 ;
      rdf:type edam:data_0869 ;
      rdf:value ?templateMotifCigarP76290MF_0158966 .
    ?templateMotifSequenceMatchRegionP7629071 faldo:begin ?templateMotifSequenceMatchBeginP7629072 .
    ?templateMotifSequenceMatchBeginP7629072 faldo:position ?templateMotifSequenceMatchBeginPositionP7629067 ;
      faldo:reference isoform:P76290-1 .
    ?templateMotifSequenceProfileAlignmentOperationP7629073 edam:has_input signature:MF_01589 ;
      rdf:type edam:operation_0300 .
    ?targetMotifMatch74 faldo:location ?targetMotifMatchRegionMatch75 ;
      edam:is_output_of ?targetMotifSequenceAlignmentOperationMF_0158977 ;
      rdf:type edam:data_0869 ;
      rdf:value ?targetMotifMatchCigarP76290MF_0158968 .
    ?targetMotifMatchRegionMatch75 faldo:begin ?targetMotifMatchRegionMatchBeginMF_0158976 .
    ?targetMotifMatchRegionMatchBeginMF_0158976 faldo:position ?targetMotifMatchRegionMatchBeginPositionMF_0158969 ;
      faldo:reference ?thisSequence .
    ?targetMotifSequenceAlignmentOperationMF_0158977 edam:has_input signature:MF_01589 ;
      rdf:type edam:operation_0300 .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarP76290MF_0158966, 1, (STRLEN(?templateMotifCigarP76290MF_0158966) - STRLEN(REPLACE(?templateMotifCigarP76290MF_0158966, CONCAT('^(?:-*[^-]){', STR(((89 - ?templateMotifSequenceMatchBeginPositionP7629067) + 1)), '}'), '')))), '[a-z]', '')) AS ?step178) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarP76290MF_0158968, 1, (STRLEN(?targetMotifMatchCigarP76290MF_0158968) - STRLEN(REPLACE(?targetMotifMatchCigarP76290MF_0158968, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step178), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarP76290MF_0158968, 1, (STRLEN(?targetMotifMatchCigarP76290MF_0158968) - STRLEN(REPLACE(?targetMotifMatchCigarP76290MF_0158968, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step178), '}'), '')))), '[^-]', ''))) AS ?step279) .
    BIND(((?step279 + ?targetMotifMatchRegionMatchBeginPositionMF_0158969) - 1) AS ?thisPositionOn19) .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarP76290MF_0158966, 1, (STRLEN(?templateMotifCigarP76290MF_0158966) - STRLEN(REPLACE(?templateMotifCigarP76290MF_0158966, CONCAT('^(?:-*[^-]){', STR(((90 - ?templateMotifSequenceMatchBeginPositionP7629067) + 1)), '}'), '')))), '[a-z]', '')) AS ?step180) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarP76290MF_0158968, 1, (STRLEN(?targetMotifMatchCigarP76290MF_0158968) - STRLEN(REPLACE(?targetMotifMatchCigarP76290MF_0158968, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step180), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarP76290MF_0158968, 1, (STRLEN(?targetMotifMatchCigarP76290MF_0158968) - STRLEN(REPLACE(?targetMotifMatchCigarP76290MF_0158968, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step180), '}'), '')))), '[^-]', ''))) AS ?step281) .
    BIND(((?step281 + ?targetMotifMatchRegionMatchBeginPositionMF_0158969) - 1) AS ?thisPositionOn20) .
    BIND(?this AS ?pfs1t82) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn19))) AS ?pfsb16) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn20))) AS ?pfse17) .
    FILTER ((SUBSTR(?thisSequenceValue, ?thisPositionOn19, (?thisPositionOn20 - ?thisPositionOn19)) = 'DN')) .
    BIND(URI(CONCAT(STR(?this), '#MF_01589a15')) AS ?annotation15) .
    BIND(?this AS ?pfs14) .
  }
  OPTIONAL {
    ?this up:sequence ?thisSequence .
    ?thisSequence rdf:value ?thisSequenceValue .
    ?templateMotifMatch87 faldo:location ?templateMotifSequenceMatchRegionP7629088 ;
      edam:is_output_of ?templateMotifSequenceProfileAlignmentOperationP7629090 ;
      rdf:type edam:data_0869 ;
      rdf:value ?templateMotifCigarP76290MF_0158983 .
    ?templateMotifSequenceMatchRegionP7629088 faldo:begin ?templateMotifSequenceMatchBeginP7629089 .
    ?templateMotifSequenceMatchBeginP7629089 faldo:position ?templateMotifSequenceMatchBeginPositionP7629084 ;
      faldo:reference isoform:P76290-1 .
    ?templateMotifSequenceProfileAlignmentOperationP7629090 edam:has_input signature:MF_01589 ;
      rdf:type edam:operation_0300 .
    ?targetMotifMatch91 faldo:location ?targetMotifMatchRegionMatch92 ;
      edam:is_output_of ?targetMotifSequenceAlignmentOperationMF_0158994 ;
      rdf:type edam:data_0869 ;
      rdf:value ?targetMotifMatchCigarP76290MF_0158985 .
    ?targetMotifMatchRegionMatch92 faldo:begin ?targetMotifMatchRegionMatchBeginMF_0158993 .
    ?targetMotifMatchRegionMatchBeginMF_0158993 faldo:position ?targetMotifMatchRegionMatchBeginPositionMF_0158986 ;
      faldo:reference ?thisSequence .
    ?targetMotifSequenceAlignmentOperationMF_0158994 edam:has_input signature:MF_01589 ;
      rdf:type edam:operation_0300 .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarP76290MF_0158983, 1, (STRLEN(?templateMotifCigarP76290MF_0158983) - STRLEN(REPLACE(?templateMotifCigarP76290MF_0158983, CONCAT('^(?:-*[^-]){', STR(((117 - ?templateMotifSequenceMatchBeginPositionP7629084) + 1)), '}'), '')))), '[a-z]', '')) AS ?step195) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarP76290MF_0158985, 1, (STRLEN(?targetMotifMatchCigarP76290MF_0158985) - STRLEN(REPLACE(?targetMotifMatchCigarP76290MF_0158985, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step195), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarP76290MF_0158985, 1, (STRLEN(?targetMotifMatchCigarP76290MF_0158985) - STRLEN(REPLACE(?targetMotifMatchCigarP76290MF_0158985, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step195), '}'), '')))), '[^-]', ''))) AS ?step296) .
    BIND(((?step296 + ?targetMotifMatchRegionMatchBeginPositionMF_0158986) - 1) AS ?thisPositionOn26) .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarP76290MF_0158983, 1, (STRLEN(?templateMotifCigarP76290MF_0158983) - STRLEN(REPLACE(?templateMotifCigarP76290MF_0158983, CONCAT('^(?:-*[^-]){', STR(((118 - ?templateMotifSequenceMatchBeginPositionP7629084) + 1)), '}'), '')))), '[a-z]', '')) AS ?step197) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarP76290MF_0158985, 1, (STRLEN(?targetMotifMatchCigarP76290MF_0158985) - STRLEN(REPLACE(?targetMotifMatchCigarP76290MF_0158985, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step197), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarP76290MF_0158985, 1, (STRLEN(?targetMotifMatchCigarP76290MF_0158985) - STRLEN(REPLACE(?targetMotifMatchCigarP76290MF_0158985, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step197), '}'), '')))), '[^-]', ''))) AS ?step298) .
    BIND(((?step298 + ?targetMotifMatchRegionMatchBeginPositionMF_0158986) - 1) AS ?thisPositionOn27) .
    BIND(?this AS ?pfs1t99) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn26))) AS ?pfsb23) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn27))) AS ?pfse24) .
    FILTER (REGEX('D[ILV]', SUBSTR(?thisSequenceValue, ?thisPositionOn26, (?thisPositionOn27 - ?thisPositionOn26)))) .
    BIND(URI(CONCAT(STR(?this), '#MF_01589a22')) AS ?annotation22) .
    BIND(?this AS ?pfs21) .
  }
  OPTIONAL {
    ?this up:sequence ?thisSequence .
    ?thisSequence rdf:value ?thisSequenceValue .
    ?templateMotifMatch104 faldo:location ?templateMotifSequenceMatchRegionP76290105 ;
      edam:is_output_of ?templateMotifSequenceProfileAlignmentOperationP76290107 ;
      rdf:type edam:data_0869 ;
      rdf:value ?templateMotifCigarP76290MF_01589100 .
    ?templateMotifSequenceMatchRegionP76290105 faldo:begin ?templateMotifSequenceMatchBeginP76290106 .
    ?templateMotifSequenceMatchBeginP76290106 faldo:position ?templateMotifSequenceMatchBeginPositionP76290101 ;
      faldo:reference isoform:P76290-1 .
    ?templateMotifSequenceProfileAlignmentOperationP76290107 edam:has_input signature:MF_01589 ;
      rdf:type edam:operation_0300 .
    ?targetMotifMatch108 faldo:location ?targetMotifMatchRegionMatch109 ;
      edam:is_output_of ?targetMotifSequenceAlignmentOperationMF_01589111 ;
      rdf:type edam:data_0869 ;
      rdf:value ?targetMotifMatchCigarP76290MF_01589102 .
    ?targetMotifMatchRegionMatch109 faldo:begin ?targetMotifMatchRegionMatchBeginMF_01589110 .
    ?targetMotifMatchRegionMatchBeginMF_01589110 faldo:position ?targetMotifMatchRegionMatchBeginPositionMF_01589103 ;
      faldo:reference ?thisSequence .
    ?targetMotifSequenceAlignmentOperationMF_01589111 edam:has_input signature:MF_01589 ;
      rdf:type edam:operation_0300 .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarP76290MF_01589100, 1, (STRLEN(?templateMotifCigarP76290MF_01589100) - STRLEN(REPLACE(?templateMotifCigarP76290MF_01589100, CONCAT('^(?:-*[^-]){', STR(((39 - ?templateMotifSequenceMatchBeginPositionP76290101) + 1)), '}'), '')))), '[a-z]', '')) AS ?step1112) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarP76290MF_01589102, 1, (STRLEN(?targetMotifMatchCigarP76290MF_01589102) - STRLEN(REPLACE(?targetMotifMatchCigarP76290MF_01589102, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step1112), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarP76290MF_01589102, 1, (STRLEN(?targetMotifMatchCigarP76290MF_01589102) - STRLEN(REPLACE(?targetMotifMatchCigarP76290MF_01589102, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step1112), '}'), '')))), '[^-]', ''))) AS ?step2113) .
    BIND(((?step2113 + ?targetMotifMatchRegionMatchBeginPositionMF_01589103) - 1) AS ?thisPositionOn33) .
    BIND(?thisPositionOn33 AS ?thisPositionOn34) .
    BIND(?this AS ?pfs1t114) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn33))) AS ?pfsb30) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn34))) AS ?pfse31) .
    FILTER ((SUBSTR(?thisSequenceValue, ?thisPositionOn33, 1) = 'Y')) .
    BIND(URI(CONCAT(STR(?this), '#MF_01589a29')) AS ?annotation29) .
    BIND(?this AS ?pfs28) .
  }
  OPTIONAL {
    ?this up:sequence ?thisSequence .
    ?thisSequence rdf:value ?thisSequenceValue .
    ?templateMotifMatch119 faldo:location ?templateMotifSequenceMatchRegionP76290120 ;
      edam:is_output_of ?templateMotifSequenceProfileAlignmentOperationP76290122 ;
      rdf:type edam:data_0869 ;
      rdf:value ?templateMotifCigarP76290MF_01589115 .
    ?templateMotifSequenceMatchRegionP76290120 faldo:begin ?templateMotifSequenceMatchBeginP76290121 .
    ?templateMotifSequenceMatchBeginP76290121 faldo:position ?templateMotifSequenceMatchBeginPositionP76290116 ;
      faldo:reference isoform:P76290-1 .
    ?templateMotifSequenceProfileAlignmentOperationP76290122 edam:has_input signature:MF_01589 ;
      rdf:type edam:operation_0300 .
    ?targetMotifMatch123 faldo:location ?targetMotifMatchRegionMatch124 ;
      edam:is_output_of ?targetMotifSequenceAlignmentOperationMF_01589126 ;
      rdf:type edam:data_0869 ;
      rdf:value ?targetMotifMatchCigarP76290MF_01589117 .
    ?targetMotifMatchRegionMatch124 faldo:begin ?targetMotifMatchRegionMatchBeginMF_01589125 .
    ?targetMotifMatchRegionMatchBeginMF_01589125 faldo:position ?targetMotifMatchRegionMatchBeginPositionMF_01589118 ;
      faldo:reference ?thisSequence .
    ?targetMotifSequenceAlignmentOperationMF_01589126 edam:has_input signature:MF_01589 ;
      rdf:type edam:operation_0300 .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarP76290MF_01589115, 1, (STRLEN(?templateMotifCigarP76290MF_01589115) - STRLEN(REPLACE(?templateMotifCigarP76290MF_01589115, CONCAT('^(?:-*[^-]){', STR(((132 - ?templateMotifSequenceMatchBeginPositionP76290116) + 1)), '}'), '')))), '[a-z]', '')) AS ?step1127) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarP76290MF_01589117, 1, (STRLEN(?targetMotifMatchCigarP76290MF_01589117) - STRLEN(REPLACE(?targetMotifMatchCigarP76290MF_01589117, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step1127), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarP76290MF_01589117, 1, (STRLEN(?targetMotifMatchCigarP76290MF_01589117) - STRLEN(REPLACE(?targetMotifMatchCigarP76290MF_01589117, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step1127), '}'), '')))), '[^-]', ''))) AS ?step2128) .
    BIND(((?step2128 + ?targetMotifMatchRegionMatchBeginPositionMF_01589118) - 1) AS ?thisPositionOn40) .
    BIND(?thisPositionOn40 AS ?thisPositionOn41) .
    BIND(?this AS ?pfs1t129) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn40))) AS ?pfsb37) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn41))) AS ?pfse38) .
    FILTER ((SUBSTR(?thisSequenceValue, ?thisPositionOn40, 1) = 'N')) .
    BIND(URI(CONCAT(STR(?this), '#MF_01589a36')) AS ?annotation36) .
    BIND(?this AS ?pfs35) .
  }
  OPTIONAL {
    ?this up:sequence ?thisSequence .
    ?thisSequence rdf:value ?thisSequenceValue .
    ?templateMotifMatch134 faldo:location ?templateMotifSequenceMatchRegionP76290135 ;
      edam:is_output_of ?templateMotifSequenceProfileAlignmentOperationP76290137 ;
      rdf:type edam:data_0869 ;
      rdf:value ?templateMotifCigarP76290MF_01589130 .
    ?templateMotifSequenceMatchRegionP76290135 faldo:begin ?templateMotifSequenceMatchBeginP76290136 .
    ?templateMotifSequenceMatchBeginP76290136 faldo:position ?templateMotifSequenceMatchBeginPositionP76290131 ;
      faldo:reference isoform:P76290-1 .
    ?templateMotifSequenceProfileAlignmentOperationP76290137 edam:has_input signature:MF_01589 ;
      rdf:type edam:operation_0300 .
    ?targetMotifMatch138 faldo:location ?targetMotifMatchRegionMatch139 ;
      edam:is_output_of ?targetMotifSequenceAlignmentOperationMF_01589141 ;
      rdf:type edam:data_0869 ;
      rdf:value ?targetMotifMatchCigarP76290MF_01589132 .
    ?targetMotifMatchRegionMatch139 faldo:begin ?targetMotifMatchRegionMatchBeginMF_01589140 .
    ?targetMotifMatchRegionMatchBeginMF_01589140 faldo:position ?targetMotifMatchRegionMatchBeginPositionMF_01589133 ;
      faldo:reference ?thisSequence .
    ?targetMotifSequenceAlignmentOperationMF_01589141 edam:has_input signature:MF_01589 ;
      rdf:type edam:operation_0300 .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarP76290MF_01589130, 1, (STRLEN(?templateMotifCigarP76290MF_01589130) - STRLEN(REPLACE(?templateMotifCigarP76290MF_01589130, CONCAT('^(?:-*[^-]){', STR(((199 - ?templateMotifSequenceMatchBeginPositionP76290131) + 1)), '}'), '')))), '[a-z]', '')) AS ?step1142) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarP76290MF_01589132, 1, (STRLEN(?targetMotifMatchCigarP76290MF_01589132) - STRLEN(REPLACE(?targetMotifMatchCigarP76290MF_01589132, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step1142), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarP76290MF_01589132, 1, (STRLEN(?targetMotifMatchCigarP76290MF_01589132) - STRLEN(REPLACE(?targetMotifMatchCigarP76290MF_01589132, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step1142), '}'), '')))), '[^-]', ''))) AS ?step2143) .
    BIND(((?step2143 + ?targetMotifMatchRegionMatchBeginPositionMF_01589133) - 1) AS ?thisPositionOn47) .
    BIND(?thisPositionOn47 AS ?thisPositionOn48) .
    BIND(?this AS ?pfs1t144) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn47))) AS ?pfsb44) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn48))) AS ?pfse45) .
    FILTER ((SUBSTR(?thisSequenceValue, ?thisPositionOn47, 1) = 'R')) .
    BIND(URI(CONCAT(STR(?this), '#MF_01589a43')) AS ?annotation43) .
    BIND(?this AS ?pfs42) .
  }
  OPTIONAL {
    ?this a up:Protein .
    ?this up:organism ?thisOrganism .
    ?thisOrganism rdfs:subClassOf+ taxon:1224 .
    BIND(?this AS ?case6) .
  }
}
""" .

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