@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_03223#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_03223#construct-template-9>,
    <http://purl.uniprot.org/unirules/MF_03223#construct-template-10>, <http://purl.uniprot.org/unirules/MF_03223#construct-template-5>,
    <http://purl.uniprot.org/unirules/MF_03223#construct-template-11>, <http://purl.uniprot.org/unirules/MF_03223#construct-template-12>,
    <http://purl.uniprot.org/unirules/MF_03223#construct-template-90>, <http://purl.uniprot.org/unirules/MF_03223#construct-template-2>,
    <http://purl.uniprot.org/unirules/MF_03223#construct-template-0>, <http://purl.uniprot.org/unirules/MF_03223#construct-template-4>,
    <http://purl.uniprot.org/unirules/MF_03223#construct-template-71>, <http://purl.uniprot.org/unirules/MF_03223#construct-template-95>,
    <http://purl.uniprot.org/unirules/MF_03223#construct-template-13>, <http://purl.uniprot.org/unirules/MF_03223#construct-template-72>,
    <http://purl.uniprot.org/unirules/MF_03223#construct-template-96>, <http://purl.uniprot.org/unirules/MF_03223#construct-template-73>,
    <http://purl.uniprot.org/unirules/MF_03223#construct-template-97>, <http://purl.uniprot.org/unirules/MF_03223#construct-template-98>,
    <http://purl.uniprot.org/unirules/MF_03223#construct-template-8>, <http://purl.uniprot.org/unirules/MF_03223#construct-template-50>,
    <http://purl.uniprot.org/unirules/MF_03223#construct-template-74>, <http://purl.uniprot.org/unirules/MF_03223#construct-template-91>,
    <http://purl.uniprot.org/unirules/MF_03223#construct-template-120>, <http://purl.uniprot.org/unirules/MF_03223#construct-template-92>,
    <http://purl.uniprot.org/unirules/MF_03223#construct-template-6>, <http://purl.uniprot.org/unirules/MF_03223#construct-template-93>,
    <http://purl.uniprot.org/unirules/MF_03223#construct-template-7>, <http://purl.uniprot.org/unirules/MF_03223#construct-template-70>,
    <http://purl.uniprot.org/unirules/MF_03223#construct-template-94>, <http://purl.uniprot.org/unirules/MF_03223#construct-template-43>,
    <http://purl.uniprot.org/unirules/MF_03223#construct-template-67>, <http://purl.uniprot.org/unirules/MF_03223#construct-template-112>,
    <http://purl.uniprot.org/unirules/MF_03223#construct-template-44>, <http://purl.uniprot.org/unirules/MF_03223#construct-template-68>,
    <http://purl.uniprot.org/unirules/MF_03223#construct-template-113>, <http://purl.uniprot.org/unirules/MF_03223#construct-template-20>,
    <http://purl.uniprot.org/unirules/MF_03223#construct-template-21>, <http://purl.uniprot.org/unirules/MF_03223#construct-template-45>,
    <http://purl.uniprot.org/unirules/MF_03223#construct-template-69>, <http://purl.uniprot.org/unirules/MF_03223#construct-template-114>,
    <http://purl.uniprot.org/unirules/MF_03223#construct-template-22>, <http://purl.uniprot.org/unirules/MF_03223#construct-template-46>,
    <http://purl.uniprot.org/unirules/MF_03223#construct-template-115>, <http://purl.uniprot.org/unirules/MF_03223#construct-template-87>,
    <http://purl.uniprot.org/unirules/MF_03223#construct-template-63>, <http://purl.uniprot.org/unirules/MF_03223#construct-template-116>,
    <http://purl.uniprot.org/unirules/MF_03223#construct-template-88>, <http://purl.uniprot.org/unirules/MF_03223#construct-template-40>,
    <http://purl.uniprot.org/unirules/MF_03223#construct-template-117>, <http://purl.uniprot.org/unirules/MF_03223#construct-template-64>,
    <http://purl.uniprot.org/unirules/MF_03223#construct-template-65>, <http://purl.uniprot.org/unirules/MF_03223#construct-template-89>,
    <http://purl.uniprot.org/unirules/MF_03223#construct-template-118>, <http://purl.uniprot.org/unirules/MF_03223#construct-template-41>,
    <http://purl.uniprot.org/unirules/MF_03223#construct-template-66>, <http://purl.uniprot.org/unirules/MF_03223#construct-template-119>,
    <http://purl.uniprot.org/unirules/MF_03223#construct-template-42>, <http://purl.uniprot.org/unirules/MF_03223#construct-template-27>,
    <http://purl.uniprot.org/unirules/MF_03223#construct-template-28>, <http://purl.uniprot.org/unirules/MF_03223#construct-template-29>,
    <http://purl.uniprot.org/unirules/MF_03223#construct-template-3>, <http://purl.uniprot.org/unirules/MF_03223#construct-template-23>,
    <http://purl.uniprot.org/unirules/MF_03223#construct-template-47>, <http://purl.uniprot.org/unirules/MF_03223#construct-template-24>,
    <http://purl.uniprot.org/unirules/MF_03223#construct-template-48>, <http://purl.uniprot.org/unirules/MF_03223#construct-template-1>,
    <http://purl.uniprot.org/unirules/MF_03223#construct-template-25>, <http://purl.uniprot.org/unirules/MF_03223#construct-template-49>,
    <http://purl.uniprot.org/unirules/MF_03223#construct-template-26>, <http://purl.uniprot.org/unirules/MF_03223#construct-template-19>,
    <http://purl.uniprot.org/unirules/MF_03223#construct-template-83>, <http://purl.uniprot.org/unirules/MF_03223#construct-template-60>,
    <http://purl.uniprot.org/unirules/MF_03223#construct-template-84>, <http://purl.uniprot.org/unirules/MF_03223#construct-template-61>,
    <http://purl.uniprot.org/unirules/MF_03223#construct-template-85>, <http://purl.uniprot.org/unirules/MF_03223#construct-template-62>,
    <http://purl.uniprot.org/unirules/MF_03223#construct-template-86>, <http://purl.uniprot.org/unirules/MF_03223#construct-template-80>,
    <http://purl.uniprot.org/unirules/MF_03223#construct-template-81>, <http://purl.uniprot.org/unirules/MF_03223#construct-template-110>,
    <http://purl.uniprot.org/unirules/MF_03223#construct-template-82>, <http://purl.uniprot.org/unirules/MF_03223#construct-template-111>,
    <http://purl.uniprot.org/unirules/MF_03223#construct-template-55>, <http://purl.uniprot.org/unirules/MF_03223#construct-template-79>,
    <http://purl.uniprot.org/unirules/MF_03223#construct-template-100>, <http://purl.uniprot.org/unirules/MF_03223#construct-template-31>,
    <http://purl.uniprot.org/unirules/MF_03223#construct-template-32>, <http://purl.uniprot.org/unirules/MF_03223#construct-template-56>,
    <http://purl.uniprot.org/unirules/MF_03223#construct-template-101>, <http://purl.uniprot.org/unirules/MF_03223#construct-template-33>,
    <http://purl.uniprot.org/unirules/MF_03223#construct-template-57>, <http://purl.uniprot.org/unirules/MF_03223#construct-template-102>,
    <http://purl.uniprot.org/unirules/MF_03223#construct-template-34>, <http://purl.uniprot.org/unirules/MF_03223#construct-template-58>,
    <http://purl.uniprot.org/unirules/MF_03223#construct-template-103>, <http://purl.uniprot.org/unirules/MF_03223#construct-template-99>,
    <http://purl.uniprot.org/unirules/MF_03223#construct-template-51>, <http://purl.uniprot.org/unirules/MF_03223#construct-template-75>,
    <http://purl.uniprot.org/unirules/MF_03223#construct-template-104>, <http://purl.uniprot.org/unirules/MF_03223#construct-template-76>,
    <http://purl.uniprot.org/unirules/MF_03223#construct-template-52>, <http://purl.uniprot.org/unirules/MF_03223#construct-template-105>,
    <http://purl.uniprot.org/unirules/MF_03223#construct-template-77>, <http://purl.uniprot.org/unirules/MF_03223#construct-template-106>,
    <http://purl.uniprot.org/unirules/MF_03223#construct-template-53>, <http://purl.uniprot.org/unirules/MF_03223#construct-template-54>,
    <http://purl.uniprot.org/unirules/MF_03223#construct-template-78>, <http://purl.uniprot.org/unirules/MF_03223#construct-template-107>,
    <http://purl.uniprot.org/unirules/MF_03223#construct-template-30>, <http://purl.uniprot.org/unirules/MF_03223#construct-template-108>,
    <http://purl.uniprot.org/unirules/MF_03223#construct-template-15>, <http://purl.uniprot.org/unirules/MF_03223#construct-template-39>,
    <http://purl.uniprot.org/unirules/MF_03223#construct-template-109>, <http://purl.uniprot.org/unirules/MF_03223#construct-template-16>,
    <http://purl.uniprot.org/unirules/MF_03223#construct-template-17>, <http://purl.uniprot.org/unirules/MF_03223#construct-template-18>,
    <http://purl.uniprot.org/unirules/MF_03223#construct-template-35>, <http://purl.uniprot.org/unirules/MF_03223#construct-template-59>,
    <http://purl.uniprot.org/unirules/MF_03223#construct-template-36>, <http://purl.uniprot.org/unirules/MF_03223#construct-template-37>,
    <http://purl.uniprot.org/unirules/MF_03223#construct-template-14>, <http://purl.uniprot.org/unirules/MF_03223#construct-template-38>;
  <http://www.w3.org/ns/shacl#prefixes> <http://purl.uniprot.org/unirules/>;
  <http://spinrdf.org/sp#where> <http://purl.uniprot.org/unirules/MF_03223#construct-where-list-0>;
  <http://spinrdf.org/sp#templates> <http://purl.uniprot.org/unirules/MF_03223#construct-template-list-0>;
  <http://www.w3.org/ns/shacl#construct> """CONSTRUCT {
  _:889540 up:source unirule:MF_03223 .
  _:889541 up:source unirule:MF_03223 .
  _:889542 up:source unirule:MF_03223 .
  _:889543 up:source unirule:MF_03223 .
  _:889544 up:source unirule:MF_03223 .
  _:889545 up:source unirule:MF_03223 .
  _:889546 up:source unirule:MF_03223 .
  _:889547 up:source unirule:MF_03223 .
  _:889548 up:source unirule:MF_03223 .
  _:889549 up:source unirule:MF_03223 .
  _:889550 up:source unirule:MF_03223 .
  _:889551 up:source unirule:MF_03223 .
  _:889552 up:source unirule:MF_03223 .
  _:889553 up:source unirule:MF_03223 .
  _:889554 up:source unirule:MF_03223 .
  _:889555 up:source unirule:MF_03223 .
  _:889556 up:source unirule:MF_03223 .
  _:889557 up:source unirule:MF_03223 .
  _:889558 up:source unirule:MF_03223 .
  _:889559 up:source unirule:MF_03223 .
  ?this up:alternativeName ?name1 ;
    up:annotation ?annotation3 ,
      ?annotation4 ,
      ?annotation6 ;
    up:classifiedWith GO:0005737 ,
      GO:0016279 ,
      GO:0018013 ,
      GO:0018027 ,
      GO:0071885 ,
      keyword:489 ,
      keyword:808 ,
      keyword:949 ,
      keyword:963 ;
    up:recommendedName ?name0 .
  ?name0 up:ecName '2.1.1.-' ;
    up:fullName 'Protein N-terminal and lysine N-methyltransferase EFM7' ;
    rdf:type up:Structured_Name .
  ?name1 up:fullName 'Elongation factor methyltransferase 7' ;
    rdf:type up:Structured_Name .
  ?gene2 skos:prefLabel 'EFM7' .
  ?annotation3 a up:Function_Annotation ;
    rdfs:comment \"S-adenosyl-L-methionine-dependent protein methyltransferase that trimethylates the N-terminal glycine 'Gly-2' of elongation factor 1-alpha, before also catalyzing the mono- and dimethylation of 'Lys-3'.\" .
  ?annotation4 a up:Subcellular_Location_Annotation .
  ?annotation4li5 up:cellularComponent <http://purl.uniprot.org/locations/null>.
  ?annotation6 a up:Similarity_Annotation ;
    rdfs:comment 'Belongs to the class I-like SAM-binding methyltransferase superfamily. EFM7 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 .
  _:889560 a rdf:Statement ;
    up:attribution _:889540 ;
    rdf:subject ?this ;
    rdf:predicate up:recommendedName ;
    rdf:object ?name0 .
  _:889561 a rdf:Statement ;
    up:attribution _:889541 ;
    rdf:subject ?this ;
    rdf:predicate up:alternativeName ;
    rdf:object ?name1 .
  _:889562 a rdf:Statement ;
    up:attribution _:889542 ;
    rdf:subject ?gene2 ;
    rdf:predicate up:encodedBy ;
    rdf:object ?gene2 .
  _:889563 a rdf:Statement ;
    up:attribution _:889543 ;
    rdf:subject ?this ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation3 .
  _:889564 a rdf:Statement ;
    up:attribution _:889544 ;
    rdf:subject ?this ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation4 .
  _:889565 a rdf:Statement ;
    up:attribution _:889545 ;
    rdf:subject ?this ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation6 .
  _:889566 a rdf:Statement ;
    up:attribution _:889546 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object keyword:963 .
  _:889567 a rdf:Statement ;
    up:attribution _:889547 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object keyword:489 .
  _:889568 a rdf:Statement ;
    up:attribution _:889548 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object keyword:949 .
  _:889569 a rdf:Statement ;
    up:attribution _:889549 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object keyword:808 .
  _:889570 a rdf:Statement ;
    up:attribution _:889550 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object GO:0005737 .
  _:889571 a rdf:Statement ;
    up:attribution _:889551 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object GO:0071885 .
  _:889572 a rdf:Statement ;
    up:attribution _:889552 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object GO:0016279 .
  _:889573 a rdf:Statement ;
    up:attribution _:889553 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object GO:0018013 .
  _:889574 a rdf:Statement ;
    up:attribution _:889554 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object GO:0018027 .
  _:889575 a rdf:Statement ;
    up:source unirule:MF_03223 ;
    rdf:subject ?pfs7 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation8 .
  _:889576 a rdf:Statement ;
    up:attribution _:889555 ;
    rdf:subject ?pfs7 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation8 .
  _:889577 a rdf:Statement ;
    up:source unirule:MF_03223 ;
    rdf:subject ?pfs14 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation15 .
  _:889578 a rdf:Statement ;
    up:attribution _:889556 ;
    rdf:subject ?pfs14 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation15 .
  _:889579 a rdf:Statement ;
    up:source unirule:MF_03223 ;
    rdf:subject ?pfs21 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation22 .
  _:889580 a rdf:Statement ;
    up:attribution _:889557 ;
    rdf:subject ?pfs21 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation22 .
  _:889581 a rdf:Statement ;
    up:source unirule:MF_03223 ;
    rdf:subject ?pfs28 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation29 .
  _:889582 a rdf:Statement ;
    up:attribution _:889558 ;
    rdf:subject ?pfs28 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation29 .
  _:889583 a rdf:Statement ;
    up:source unirule:MF_03223 ;
    rdf:subject ?pfs35 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation36 .
  _:889584 a rdf:Statement ;
    up:attribution _:889559 ;
    rdf:subject ?pfs35 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation36 .
}
WHERE {
  #baseURI: http://purl.uniprot.org/unirule/MF_03223
  #Rule MF_03223 Created by:? on:2017-03-28 Modified by:Edouard de Castro on:2022-11-19
  ?this up:organism ?thisOrganism ;
    rdfs:seeAlso signature:MF_03223 .
  ?thisOrganism rdfs:subClassOf+ taxon:4751 .
  BIND(URI(CONCAT(STR(?this), '#MF_03223a0')) AS ?name0) .
  BIND(URI(CONCAT(STR(?this), '#MF_03223a1')) AS ?name1) .
  BIND(URI(CONCAT(STR(?this), '#MF_03223a3')) AS ?annotation3) .
  BIND(URI(CONCAT(STR(?this), '#MF_03223a4')) AS ?annotation4) .
  BIND(URI(CONCAT(STR(?this), '#MF_03223a6')) AS ?annotation6) .
  OPTIONAL {
    ?this up:sequence ?thisSequence .
    ?thisSequence rdf:value ?thisSequenceValue .
    ?templateMotifMatch46 faldo:location ?templateMotifSequenceMatchRegionQ0587447 ;
      edam:is_output_of ?templateMotifSequenceProfileAlignmentOperationQ0587449 ;
      rdf:type edam:data_0869 ;
      rdf:value ?templateMotifCigarQ05874MF_0322342 .
    ?templateMotifSequenceMatchRegionQ0587447 faldo:begin ?templateMotifSequenceMatchBeginQ0587448 .
    ?templateMotifSequenceMatchBeginQ0587448 faldo:position ?templateMotifSequenceMatchBeginPositionQ0587443 ;
      faldo:reference isoform:Q05874-1 .
    ?templateMotifSequenceProfileAlignmentOperationQ0587449 edam:has_input signature:MF_03223 ;
      rdf:type edam:operation_0300 .
    ?targetMotifMatch50 faldo:location ?targetMotifMatchRegionMatch51 ;
      edam:is_output_of ?targetMotifSequenceAlignmentOperationMF_0322353 ;
      rdf:type edam:data_0869 ;
      rdf:value ?targetMotifMatchCigarQ05874MF_0322344 .
    ?targetMotifMatchRegionMatch51 faldo:begin ?targetMotifMatchRegionMatchBeginMF_0322352 .
    ?targetMotifMatchRegionMatchBeginMF_0322352 faldo:position ?targetMotifMatchRegionMatchBeginPositionMF_0322345 ;
      faldo:reference ?thisSequence .
    ?targetMotifSequenceAlignmentOperationMF_0322353 edam:has_input signature:MF_03223 ;
      rdf:type edam:operation_0300 .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarQ05874MF_0322342, 1, (STRLEN(?templateMotifCigarQ05874MF_0322342) - STRLEN(REPLACE(?templateMotifCigarQ05874MF_0322342, CONCAT('^(?:-*[^-]){', STR(((90 - ?templateMotifSequenceMatchBeginPositionQ0587443) + 1)), '}'), '')))), '[a-z]', '')) AS ?step154) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarQ05874MF_0322344, 1, (STRLEN(?targetMotifMatchCigarQ05874MF_0322344) - STRLEN(REPLACE(?targetMotifMatchCigarQ05874MF_0322344, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step154), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarQ05874MF_0322344, 1, (STRLEN(?targetMotifMatchCigarQ05874MF_0322344) - STRLEN(REPLACE(?targetMotifMatchCigarQ05874MF_0322344, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step154), '}'), '')))), '[^-]', ''))) AS ?step255) .
    BIND(((?step255 + ?targetMotifMatchRegionMatchBeginPositionMF_0322345) - 1) AS ?thisPositionOn12) .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarQ05874MF_0322342, 1, (STRLEN(?templateMotifCigarQ05874MF_0322342) - STRLEN(REPLACE(?templateMotifCigarQ05874MF_0322342, CONCAT('^(?:-*[^-]){', STR(((92 - ?templateMotifSequenceMatchBeginPositionQ0587443) + 1)), '}'), '')))), '[a-z]', '')) AS ?step156) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarQ05874MF_0322344, 1, (STRLEN(?targetMotifMatchCigarQ05874MF_0322344) - STRLEN(REPLACE(?targetMotifMatchCigarQ05874MF_0322344, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step156), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarQ05874MF_0322344, 1, (STRLEN(?targetMotifMatchCigarQ05874MF_0322344) - STRLEN(REPLACE(?targetMotifMatchCigarQ05874MF_0322344, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step156), '}'), '')))), '[^-]', ''))) AS ?step257) .
    BIND(((?step257 + ?targetMotifMatchRegionMatchBeginPositionMF_0322345) - 1) AS ?thisPositionOn13) .
    BIND(?this AS ?pfs1t58) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn12))) AS ?pfsb9) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn13))) AS ?pfse10) .
    FILTER (REGEX('GA[GA]', SUBSTR(?thisSequenceValue, ?thisPositionOn12, (?thisPositionOn13 - ?thisPositionOn12)))) .
    BIND(URI(CONCAT(STR(?this), '#MF_03223a8')) AS ?annotation8) .
    BIND(?this AS ?pfs7) .
  }
  OPTIONAL {
    ?this up:sequence ?thisSequence .
    ?thisSequence rdf:value ?thisSequenceValue .
    ?templateMotifMatch63 faldo:location ?templateMotifSequenceMatchRegionQ0587464 ;
      edam:is_output_of ?templateMotifSequenceProfileAlignmentOperationQ0587466 ;
      rdf:type edam:data_0869 ;
      rdf:value ?templateMotifCigarQ05874MF_0322359 .
    ?templateMotifSequenceMatchRegionQ0587464 faldo:begin ?templateMotifSequenceMatchBeginQ0587465 .
    ?templateMotifSequenceMatchBeginQ0587465 faldo:position ?templateMotifSequenceMatchBeginPositionQ0587460 ;
      faldo:reference isoform:Q05874-1 .
    ?templateMotifSequenceProfileAlignmentOperationQ0587466 edam:has_input signature:MF_03223 ;
      rdf:type edam:operation_0300 .
    ?targetMotifMatch67 faldo:location ?targetMotifMatchRegionMatch68 ;
      edam:is_output_of ?targetMotifSequenceAlignmentOperationMF_0322370 ;
      rdf:type edam:data_0869 ;
      rdf:value ?targetMotifMatchCigarQ05874MF_0322361 .
    ?targetMotifMatchRegionMatch68 faldo:begin ?targetMotifMatchRegionMatchBeginMF_0322369 .
    ?targetMotifMatchRegionMatchBeginMF_0322369 faldo:position ?targetMotifMatchRegionMatchBeginPositionMF_0322362 ;
      faldo:reference ?thisSequence .
    ?targetMotifSequenceAlignmentOperationMF_0322370 edam:has_input signature:MF_03223 ;
      rdf:type edam:operation_0300 .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarQ05874MF_0322359, 1, (STRLEN(?templateMotifCigarQ05874MF_0322359) - STRLEN(REPLACE(?templateMotifCigarQ05874MF_0322359, CONCAT('^(?:-*[^-]){', STR(((64 - ?templateMotifSequenceMatchBeginPositionQ0587460) + 1)), '}'), '')))), '[a-z]', '')) AS ?step171) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarQ05874MF_0322361, 1, (STRLEN(?targetMotifMatchCigarQ05874MF_0322361) - STRLEN(REPLACE(?targetMotifMatchCigarQ05874MF_0322361, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step171), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarQ05874MF_0322361, 1, (STRLEN(?targetMotifMatchCigarQ05874MF_0322361) - STRLEN(REPLACE(?targetMotifMatchCigarQ05874MF_0322361, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step171), '}'), '')))), '[^-]', ''))) AS ?step272) .
    BIND(((?step272 + ?targetMotifMatchRegionMatchBeginPositionMF_0322362) - 1) AS ?thisPositionOn19) .
    BIND(?thisPositionOn19 AS ?thisPositionOn20) .
    BIND(?this AS ?pfs1t73) .
    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) = 'W')) .
    BIND(URI(CONCAT(STR(?this), '#MF_03223a15')) AS ?annotation15) .
    BIND(?this AS ?pfs14) .
  }
  OPTIONAL {
    ?this up:sequence ?thisSequence .
    ?thisSequence rdf:value ?thisSequenceValue .
    ?templateMotifMatch78 faldo:location ?templateMotifSequenceMatchRegionQ0587479 ;
      edam:is_output_of ?templateMotifSequenceProfileAlignmentOperationQ0587481 ;
      rdf:type edam:data_0869 ;
      rdf:value ?templateMotifCigarQ05874MF_0322374 .
    ?templateMotifSequenceMatchRegionQ0587479 faldo:begin ?templateMotifSequenceMatchBeginQ0587480 .
    ?templateMotifSequenceMatchBeginQ0587480 faldo:position ?templateMotifSequenceMatchBeginPositionQ0587475 ;
      faldo:reference isoform:Q05874-1 .
    ?templateMotifSequenceProfileAlignmentOperationQ0587481 edam:has_input signature:MF_03223 ;
      rdf:type edam:operation_0300 .
    ?targetMotifMatch82 faldo:location ?targetMotifMatchRegionMatch83 ;
      edam:is_output_of ?targetMotifSequenceAlignmentOperationMF_0322385 ;
      rdf:type edam:data_0869 ;
      rdf:value ?targetMotifMatchCigarQ05874MF_0322376 .
    ?targetMotifMatchRegionMatch83 faldo:begin ?targetMotifMatchRegionMatchBeginMF_0322384 .
    ?targetMotifMatchRegionMatchBeginMF_0322384 faldo:position ?targetMotifMatchRegionMatchBeginPositionMF_0322377 ;
      faldo:reference ?thisSequence .
    ?targetMotifSequenceAlignmentOperationMF_0322385 edam:has_input signature:MF_03223 ;
      rdf:type edam:operation_0300 .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarQ05874MF_0322374, 1, (STRLEN(?templateMotifCigarQ05874MF_0322374) - STRLEN(REPLACE(?templateMotifCigarQ05874MF_0322374, CONCAT('^(?:-*[^-]){', STR(((112 - ?templateMotifSequenceMatchBeginPositionQ0587475) + 1)), '}'), '')))), '[a-z]', '')) AS ?step186) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarQ05874MF_0322376, 1, (STRLEN(?targetMotifMatchCigarQ05874MF_0322376) - STRLEN(REPLACE(?targetMotifMatchCigarQ05874MF_0322376, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step186), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarQ05874MF_0322376, 1, (STRLEN(?targetMotifMatchCigarQ05874MF_0322376) - STRLEN(REPLACE(?targetMotifMatchCigarQ05874MF_0322376, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step186), '}'), '')))), '[^-]', ''))) AS ?step287) .
    BIND(((?step287 + ?targetMotifMatchRegionMatchBeginPositionMF_0322377) - 1) AS ?thisPositionOn26) .
    BIND(?thisPositionOn26 AS ?thisPositionOn27) .
    BIND(?this AS ?pfs1t88) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn26))) AS ?pfsb23) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn27))) AS ?pfse24) .
    FILTER ((SUBSTR(?thisSequenceValue, ?thisPositionOn26, 1) = 'D')) .
    BIND(URI(CONCAT(STR(?this), '#MF_03223a22')) AS ?annotation22) .
    BIND(?this AS ?pfs21) .
  }
  OPTIONAL {
    ?this up:sequence ?thisSequence .
    ?thisSequence rdf:value ?thisSequenceValue .
    ?templateMotifMatch93 faldo:location ?templateMotifSequenceMatchRegionQ0587494 ;
      edam:is_output_of ?templateMotifSequenceProfileAlignmentOperationQ0587496 ;
      rdf:type edam:data_0869 ;
      rdf:value ?templateMotifCigarQ05874MF_0322389 .
    ?templateMotifSequenceMatchRegionQ0587494 faldo:begin ?templateMotifSequenceMatchBeginQ0587495 .
    ?templateMotifSequenceMatchBeginQ0587495 faldo:position ?templateMotifSequenceMatchBeginPositionQ0587490 ;
      faldo:reference isoform:Q05874-1 .
    ?templateMotifSequenceProfileAlignmentOperationQ0587496 edam:has_input signature:MF_03223 ;
      rdf:type edam:operation_0300 .
    ?targetMotifMatch97 faldo:location ?targetMotifMatchRegionMatch98 ;
      edam:is_output_of ?targetMotifSequenceAlignmentOperationMF_03223100 ;
      rdf:type edam:data_0869 ;
      rdf:value ?targetMotifMatchCigarQ05874MF_0322391 .
    ?targetMotifMatchRegionMatch98 faldo:begin ?targetMotifMatchRegionMatchBeginMF_0322399 .
    ?targetMotifMatchRegionMatchBeginMF_0322399 faldo:position ?targetMotifMatchRegionMatchBeginPositionMF_0322392 ;
      faldo:reference ?thisSequence .
    ?targetMotifSequenceAlignmentOperationMF_03223100 edam:has_input signature:MF_03223 ;
      rdf:type edam:operation_0300 .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarQ05874MF_0322389, 1, (STRLEN(?templateMotifCigarQ05874MF_0322389) - STRLEN(REPLACE(?templateMotifCigarQ05874MF_0322389, CONCAT('^(?:-*[^-]){', STR(((144 - ?templateMotifSequenceMatchBeginPositionQ0587490) + 1)), '}'), '')))), '[a-z]', '')) AS ?step1101) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarQ05874MF_0322391, 1, (STRLEN(?targetMotifMatchCigarQ05874MF_0322391) - STRLEN(REPLACE(?targetMotifMatchCigarQ05874MF_0322391, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step1101), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarQ05874MF_0322391, 1, (STRLEN(?targetMotifMatchCigarQ05874MF_0322391) - STRLEN(REPLACE(?targetMotifMatchCigarQ05874MF_0322391, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step1101), '}'), '')))), '[^-]', ''))) AS ?step2102) .
    BIND(((?step2102 + ?targetMotifMatchRegionMatchBeginPositionMF_0322392) - 1) AS ?thisPositionOn33) .
    BIND(?thisPositionOn33 AS ?thisPositionOn34) .
    BIND(?this AS ?pfs1t103) .
    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) = 'W')) .
    BIND(URI(CONCAT(STR(?this), '#MF_03223a29')) AS ?annotation29) .
    BIND(?this AS ?pfs28) .
  }
  OPTIONAL {
    ?this up:sequence ?thisSequence .
    ?thisSequence rdf:value ?thisSequenceValue .
    ?templateMotifMatch108 faldo:location ?templateMotifSequenceMatchRegionQ05874109 ;
      edam:is_output_of ?templateMotifSequenceProfileAlignmentOperationQ05874111 ;
      rdf:type edam:data_0869 ;
      rdf:value ?templateMotifCigarQ05874MF_03223104 .
    ?templateMotifSequenceMatchRegionQ05874109 faldo:begin ?templateMotifSequenceMatchBeginQ05874110 .
    ?templateMotifSequenceMatchBeginQ05874110 faldo:position ?templateMotifSequenceMatchBeginPositionQ05874105 ;
      faldo:reference isoform:Q05874-1 .
    ?templateMotifSequenceProfileAlignmentOperationQ05874111 edam:has_input signature:MF_03223 ;
      rdf:type edam:operation_0300 .
    ?targetMotifMatch112 faldo:location ?targetMotifMatchRegionMatch113 ;
      edam:is_output_of ?targetMotifSequenceAlignmentOperationMF_03223115 ;
      rdf:type edam:data_0869 ;
      rdf:value ?targetMotifMatchCigarQ05874MF_03223106 .
    ?targetMotifMatchRegionMatch113 faldo:begin ?targetMotifMatchRegionMatchBeginMF_03223114 .
    ?targetMotifMatchRegionMatchBeginMF_03223114 faldo:position ?targetMotifMatchRegionMatchBeginPositionMF_03223107 ;
      faldo:reference ?thisSequence .
    ?targetMotifSequenceAlignmentOperationMF_03223115 edam:has_input signature:MF_03223 ;
      rdf:type edam:operation_0300 .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarQ05874MF_03223104, 1, (STRLEN(?templateMotifCigarQ05874MF_03223104) - STRLEN(REPLACE(?templateMotifCigarQ05874MF_03223104, CONCAT('^(?:-*[^-]){', STR(((171 - ?templateMotifSequenceMatchBeginPositionQ05874105) + 1)), '}'), '')))), '[a-z]', '')) AS ?step1116) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarQ05874MF_03223106, 1, (STRLEN(?targetMotifMatchCigarQ05874MF_03223106) - STRLEN(REPLACE(?targetMotifMatchCigarQ05874MF_03223106, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step1116), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarQ05874MF_03223106, 1, (STRLEN(?targetMotifMatchCigarQ05874MF_03223106) - STRLEN(REPLACE(?targetMotifMatchCigarQ05874MF_03223106, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step1116), '}'), '')))), '[^-]', ''))) AS ?step2117) .
    BIND(((?step2117 + ?targetMotifMatchRegionMatchBeginPositionMF_03223107) - 1) AS ?thisPositionOn40) .
    BIND(?thisPositionOn40 AS ?thisPositionOn41) .
    BIND(?this AS ?pfs1t118) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn40))) AS ?pfsb37) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn41))) AS ?pfse38) .
    FILTER (REGEX('[SA]', SUBSTR(?thisSequenceValue, ?thisPositionOn40, 1))) .
    BIND(URI(CONCAT(STR(?this), '#MF_03223a36')) AS ?annotation36) .
    BIND(?this AS ?pfs35) .
  }
}
""" .

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