@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_02115#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_02115#construct-template-83>,
    <http://purl.uniprot.org/unirules/MF_02115#construct-template-9>, <http://purl.uniprot.org/unirules/MF_02115#construct-template-21>,
    <http://purl.uniprot.org/unirules/MF_02115#construct-template-8>, <http://purl.uniprot.org/unirules/MF_02115#construct-template-57>,
    <http://purl.uniprot.org/unirules/MF_02115#construct-template-69>, <http://purl.uniprot.org/unirules/MF_02115#construct-template-94>,
    <http://purl.uniprot.org/unirules/MF_02115#construct-template-45>, <http://purl.uniprot.org/unirules/MF_02115#construct-template-104>,
    <http://purl.uniprot.org/unirules/MF_02115#construct-template-22>, <http://purl.uniprot.org/unirules/MF_02115#construct-template-64>,
    <http://purl.uniprot.org/unirules/MF_02115#construct-template-81>, <http://purl.uniprot.org/unirules/MF_02115#construct-template-49>,
    <http://purl.uniprot.org/unirules/MF_02115#construct-template-87>, <http://purl.uniprot.org/unirules/MF_02115#construct-template-95>,
    <http://purl.uniprot.org/unirules/MF_02115#construct-template-97>, <http://purl.uniprot.org/unirules/MF_02115#construct-template-41>,
    <http://purl.uniprot.org/unirules/MF_02115#construct-template-99>, <http://purl.uniprot.org/unirules/MF_02115#construct-template-46>,
    <http://purl.uniprot.org/unirules/MF_02115#construct-template-14>, <http://purl.uniprot.org/unirules/MF_02115#construct-template-84>,
    <http://purl.uniprot.org/unirules/MF_02115#construct-template-26>, <http://purl.uniprot.org/unirules/MF_02115#construct-template-90>,
    <http://purl.uniprot.org/unirules/MF_02115#construct-template-43>, <http://purl.uniprot.org/unirules/MF_02115#construct-template-16>,
    <http://purl.uniprot.org/unirules/MF_02115#construct-template-128>, <http://purl.uniprot.org/unirules/MF_02115#construct-template-25>,
    <http://purl.uniprot.org/unirules/MF_02115#construct-template-17>, <http://purl.uniprot.org/unirules/MF_02115#construct-template-105>,
    <http://purl.uniprot.org/unirules/MF_02115#construct-template-67>, <http://purl.uniprot.org/unirules/MF_02115#construct-template-44>,
    <http://purl.uniprot.org/unirules/MF_02115#construct-template-20>, <http://purl.uniprot.org/unirules/MF_02115#construct-template-54>,
    <http://purl.uniprot.org/unirules/MF_02115#construct-template-61>, <http://purl.uniprot.org/unirules/MF_02115#construct-template-115>,
    <http://purl.uniprot.org/unirules/MF_02115#construct-template-53>, <http://purl.uniprot.org/unirules/MF_02115#construct-template-68>,
    <http://purl.uniprot.org/unirules/MF_02115#construct-template-42>, <http://purl.uniprot.org/unirules/MF_02115#construct-template-65>,
    <http://purl.uniprot.org/unirules/MF_02115#construct-template-88>, <http://purl.uniprot.org/unirules/MF_02115#construct-template-3>,
    <http://purl.uniprot.org/unirules/MF_02115#construct-template-38>, <http://purl.uniprot.org/unirules/MF_02115#construct-template-5>,
    <http://purl.uniprot.org/unirules/MF_02115#construct-template-4>, <http://purl.uniprot.org/unirules/MF_02115#construct-template-36>,
    <http://purl.uniprot.org/unirules/MF_02115#construct-template-89>, <http://purl.uniprot.org/unirules/MF_02115#construct-template-103>,
    <http://purl.uniprot.org/unirules/MF_02115#construct-template-130>, <http://purl.uniprot.org/unirules/MF_02115#construct-template-73>,
    <http://purl.uniprot.org/unirules/MF_02115#construct-template-10>, <http://purl.uniprot.org/unirules/MF_02115#construct-template-66>,
    <http://purl.uniprot.org/unirules/MF_02115#construct-template-2>, <http://purl.uniprot.org/unirules/MF_02115#construct-template-85>,
    <http://purl.uniprot.org/unirules/MF_02115#construct-template-63>, <http://purl.uniprot.org/unirules/MF_02115#construct-template-71>,
    <http://purl.uniprot.org/unirules/MF_02115#construct-template-0>, <http://purl.uniprot.org/unirules/MF_02115#construct-template-32>,
    <http://purl.uniprot.org/unirules/MF_02115#construct-template-1>, <http://purl.uniprot.org/unirules/MF_02115#construct-template-77>,
    <http://purl.uniprot.org/unirules/MF_02115#construct-template-40>, <http://purl.uniprot.org/unirules/MF_02115#construct-template-74>,
    <http://purl.uniprot.org/unirules/MF_02115#construct-template-51>, <http://purl.uniprot.org/unirules/MF_02115#construct-template-31>,
    <http://purl.uniprot.org/unirules/MF_02115#construct-template-58>, <http://purl.uniprot.org/unirules/MF_02115#construct-template-34>,
    <http://purl.uniprot.org/unirules/MF_02115#construct-template-29>, <http://purl.uniprot.org/unirules/MF_02115#construct-template-106>,
    <http://purl.uniprot.org/unirules/MF_02115#construct-template-62>, <http://purl.uniprot.org/unirules/MF_02115#construct-template-47>,
    <http://purl.uniprot.org/unirules/MF_02115#construct-template-24>, <http://purl.uniprot.org/unirules/MF_02115#construct-template-7>,
    <http://purl.uniprot.org/unirules/MF_02115#construct-template-52>, <http://purl.uniprot.org/unirules/MF_02115#construct-template-6>,
    <http://purl.uniprot.org/unirules/MF_02115#construct-template-27>, <http://purl.uniprot.org/unirules/MF_02115#construct-template-86>,
    <http://purl.uniprot.org/unirules/MF_02115#construct-template-117>, <http://purl.uniprot.org/unirules/MF_02115#construct-template-78>,
    <http://purl.uniprot.org/unirules/MF_02115#construct-template-28>, <http://purl.uniprot.org/unirules/MF_02115#construct-template-79>,
    <http://purl.uniprot.org/unirules/MF_02115#construct-template-119>, <http://purl.uniprot.org/unirules/MF_02115#construct-template-120>,
    <http://purl.uniprot.org/unirules/MF_02115#construct-template-15>, <http://purl.uniprot.org/unirules/MF_02115#construct-template-37>,
    <http://purl.uniprot.org/unirules/MF_02115#construct-template-132>, <http://purl.uniprot.org/unirules/MF_02115#construct-template-39>,
    <http://purl.uniprot.org/unirules/MF_02115#construct-template-121>, <http://purl.uniprot.org/unirules/MF_02115#construct-template-122>,
    <http://purl.uniprot.org/unirules/MF_02115#construct-template-80>, <http://purl.uniprot.org/unirules/MF_02115#construct-template-75>,
    <http://purl.uniprot.org/unirules/MF_02115#construct-template-123>, <http://purl.uniprot.org/unirules/MF_02115#construct-template-102>,
    <http://purl.uniprot.org/unirules/MF_02115#construct-template-23>, <http://purl.uniprot.org/unirules/MF_02115#construct-template-110>,
    <http://purl.uniprot.org/unirules/MF_02115#construct-template-76>, <http://purl.uniprot.org/unirules/MF_02115#construct-template-100>,
    <http://purl.uniprot.org/unirules/MF_02115#construct-template-124>, <http://purl.uniprot.org/unirules/MF_02115#construct-template-50>,
    <http://purl.uniprot.org/unirules/MF_02115#construct-template-48>, <http://purl.uniprot.org/unirules/MF_02115#construct-template-96>,
    <http://purl.uniprot.org/unirules/MF_02115#construct-template-93>, <http://purl.uniprot.org/unirules/MF_02115#construct-template-33>,
    <http://purl.uniprot.org/unirules/MF_02115#construct-template-113>, <http://purl.uniprot.org/unirules/MF_02115#construct-template-114>,
    <http://purl.uniprot.org/unirules/MF_02115#construct-template-18>, <http://purl.uniprot.org/unirules/MF_02115#construct-template-60>,
    <http://purl.uniprot.org/unirules/MF_02115#construct-template-72>, <http://purl.uniprot.org/unirules/MF_02115#construct-template-108>,
    <http://purl.uniprot.org/unirules/MF_02115#construct-template-82>, <http://purl.uniprot.org/unirules/MF_02115#construct-template-12>,
    <http://purl.uniprot.org/unirules/MF_02115#construct-template-116>, <http://purl.uniprot.org/unirules/MF_02115#construct-template-134>,
    <http://purl.uniprot.org/unirules/MF_02115#construct-template-101>, <http://purl.uniprot.org/unirules/MF_02115#construct-template-118>,
    <http://purl.uniprot.org/unirules/MF_02115#construct-template-19>, <http://purl.uniprot.org/unirules/MF_02115#construct-template-55>,
    <http://purl.uniprot.org/unirules/MF_02115#construct-template-92>, <http://purl.uniprot.org/unirules/MF_02115#construct-template-112>,
    <http://purl.uniprot.org/unirules/MF_02115#construct-template-13>, <http://purl.uniprot.org/unirules/MF_02115#construct-template-35>,
    <http://purl.uniprot.org/unirules/MF_02115#construct-template-56>, <http://purl.uniprot.org/unirules/MF_02115#construct-template-11>,
    <http://purl.uniprot.org/unirules/MF_02115#construct-template-70>, <http://purl.uniprot.org/unirules/MF_02115#construct-template-91>,
    <http://purl.uniprot.org/unirules/MF_02115#construct-template-125>, <http://purl.uniprot.org/unirules/MF_02115#construct-template-59>,
    <http://purl.uniprot.org/unirules/MF_02115#construct-template-131>, <http://purl.uniprot.org/unirules/MF_02115#construct-template-30>,
    <http://purl.uniprot.org/unirules/MF_02115#construct-template-127>, <http://purl.uniprot.org/unirules/MF_02115#construct-template-133>,
    <http://purl.uniprot.org/unirules/MF_02115#construct-template-107>, <http://purl.uniprot.org/unirules/MF_02115#construct-template-98>,
    <http://purl.uniprot.org/unirules/MF_02115#construct-template-129>, <http://purl.uniprot.org/unirules/MF_02115#construct-template-111>,
    <http://purl.uniprot.org/unirules/MF_02115#construct-template-135>, <http://purl.uniprot.org/unirules/MF_02115#construct-template-126>,
    <http://purl.uniprot.org/unirules/MF_02115#construct-template-109>;
  <http://www.w3.org/ns/shacl#prefixes> <http://purl.uniprot.org/unirules/>;
  <http://spinrdf.org/sp#where> <http://purl.uniprot.org/unirules/MF_02115#construct-where-list-0>;
  <http://spinrdf.org/sp#templates> <http://purl.uniprot.org/unirules/MF_02115#construct-template-list-0>;
  <http://www.w3.org/ns/shacl#construct> """CONSTRUCT {
  _:750510 up:source unirule:MF_02115 .
  _:750511 up:source unirule:MF_02115 .
  _:750512 up:source unirule:MF_02115 .
  _:750513 up:source unirule:MF_02115 .
  _:750514 up:source unirule:MF_02115 .
  _:750515 up:source unirule:MF_02115 .
  _:750516 up:source unirule:MF_02115 .
  _:750517 up:source unirule:MF_02115 .
  _:750518 up:source unirule:MF_02115 .
  _:750519 up:source unirule:MF_02115 .
  _:750520 up:source unirule:MF_02115 .
  _:750521 up:source unirule:MF_02115 .
  _:750522 up:source unirule:MF_02115 .
  _:750523 up:source unirule:MF_02115 .
  _:750524 up:source unirule:MF_02115 .
  _:750525 up:source unirule:MF_02115 .
  _:750526 up:source unirule:MF_02115 .
  _:750527 up:source unirule:MF_02115 .
  _:750528 up:source unirule:MF_02115 .
  _:750529 up:source unirule:MF_02115 .
  _:750530 up:source unirule:MF_02115 .
  _:750531 up:source unirule:MF_02115 .
  _:750532 up:source unirule:MF_02115 .
  _:750533 up:source unirule:MF_02115 .
  _:750534 up:source unirule:MF_02115 .
  ?this up:alternativeName ?name1 ,
      ?name2 ;
    up:annotation ?annotation4 ,
      ?annotation5 ,
      ?annotation7 ,
      ?annotation8 ,
      ?annotation9 ,
      ?annotation10 ;
    up:classifiedWith GO:0003919 ,
      GO:0005524 ,
      GO:0006747 ,
      GO:0046444 ,
      keyword:274 ,
      keyword:285 ,
      keyword:288 ,
      keyword:547 ,
      keyword:548 ,
      keyword:67 ,
      keyword:808 ;
    up:recommendedName ?name0 .
  ?name0 up:ecName '2.7.7.2' ;
    up:fullName 'FAD synthase' ;
    rdf:type up:Structured_Name .
  ?name1 up:fullName 'FMN adenylyltransferase' ;
    rdf:type up:Structured_Name .
  ?name2 up:fullName 'Flavin adenine dinucleotide synthase' ;
    rdf:type up:Structured_Name .
  ?gene3 skos:prefLabel 'ribL' .
  ?annotation4 a up:Function_Annotation ;
    rdfs:comment 'Catalyzes the transfer of the AMP portion of ATP to flavin mononucleotide (FMN) to produce flavin adenine dinucleotide (FAD) coenzyme.' .
  ?annotation5 up:activity ?activity6 ;
    rdf:type up:Catalytic_Activity_Annotation .
  ?activity6 up:catalyticActivity <http://rdf.rhea-db.org/17237>;
    up:enzymeClass <http://purl.uniprot.org/enzyme/2.7.7.2>.
  ?annotation7 up:cofactor chebi:60240 ;
    rdf:type up:Cofactor_Annotation .
  ?annotation8 a up:Pathway_Annotation ;
    rdfs:comment 'Cofactor biosynthesis; FAD biosynthesis; FAD from FMN: step 1/1.' .
  ?annotation9 a up:Subunit_Annotation ;
    rdfs:comment 'Homodimer.' .
  ?annotation10 a up:Similarity_Annotation ;
    rdfs:comment 'Belongs to the archaeal FAD synthase family.' .
  ?pfs11 up:annotation ?annotation12 .
  ?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:30616 .
  ?pfs18 up:annotation ?annotation19 .
  ?annotation19 faldo:begin ?pfsb20 ;
    faldo:end ?pfse21 ;
    up:ligand ?ligand22 ;
    rdf:type up:Binding_Site_Annotation .
  ?pfsb20 faldo:position ?thisPositionOn23 ;
    rdf:type faldo:ExactPosition .
  ?pfse21 faldo:position ?thisPositionOn24 ;
    rdf:type faldo:ExactPosition .
  ?ligand22 rdfs:subClassOf chebi:30616 .
  ?pfs25 up:annotation ?annotation26 .
  ?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:30616 .
  ?pfs32 up:annotation ?annotation33 .
  ?annotation33 faldo:begin ?pfsb34 ;
    faldo:end ?pfse35 ;
    up:ligand ?ligand36 ;
    rdf:type up:Binding_Site_Annotation .
  ?pfsb34 faldo:position ?thisPositionOn37 ;
    rdf:type faldo:ExactPosition .
  ?pfse35 faldo:position ?thisPositionOn38 ;
    rdf:type faldo:ExactPosition .
  ?ligand36 rdfs:subClassOf chebi:30616 .
  _:750535 a rdf:Statement ;
    up:attribution _:750510 ;
    rdf:subject ?this ;
    rdf:predicate up:recommendedName ;
    rdf:object ?name0 .
  _:750536 a rdf:Statement ;
    up:attribution _:750511 ;
    rdf:subject ?this ;
    rdf:predicate up:alternativeName ;
    rdf:object ?name1 .
  _:750537 a rdf:Statement ;
    up:attribution _:750512 ;
    rdf:subject ?this ;
    rdf:predicate up:alternativeName ;
    rdf:object ?name2 .
  _:750538 a rdf:Statement ;
    up:attribution _:750513 ;
    rdf:subject ?gene3 ;
    rdf:predicate up:encodedBy ;
    rdf:object ?gene3 .
  _:750539 a rdf:Statement ;
    up:attribution _:750514 ;
    rdf:subject ?this ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation4 .
  _:750540 a rdf:Statement ;
    up:attribution _:750515 ;
    rdf:subject ?this ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation5 .
  _:750541 a rdf:Statement ;
    up:attribution _:750516 ;
    rdf:subject ?this ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation7 .
  _:750542 a rdf:Statement ;
    up:attribution _:750517 ;
    rdf:subject ?this ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation8 .
  _:750543 a rdf:Statement ;
    up:attribution _:750518 ;
    rdf:subject ?this ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation9 .
  _:750544 a rdf:Statement ;
    up:attribution _:750519 ;
    rdf:subject ?this ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation10 .
  _:750545 a rdf:Statement ;
    up:attribution _:750520 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object keyword:67 .
  _:750546 a rdf:Statement ;
    up:attribution _:750521 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object keyword:274 .
  _:750547 a rdf:Statement ;
    up:attribution _:750522 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object keyword:285 .
  _:750548 a rdf:Statement ;
    up:attribution _:750523 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object keyword:288 .
  _:750549 a rdf:Statement ;
    up:attribution _:750524 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object keyword:547 .
  _:750550 a rdf:Statement ;
    up:attribution _:750525 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object keyword:548 .
  _:750551 a rdf:Statement ;
    up:attribution _:750526 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object keyword:808 .
  _:750552 a rdf:Statement ;
    up:attribution _:750527 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object GO:0003919 .
  _:750553 a rdf:Statement ;
    up:attribution _:750528 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object GO:0005524 .
  _:750554 a rdf:Statement ;
    up:attribution _:750529 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object GO:0006747 .
  _:750555 a rdf:Statement ;
    up:attribution _:750530 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object GO:0046444 .
  _:750556 a rdf:Statement ;
    up:source unirule:MF_02115 ;
    rdf:subject ?pfs11 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation12 .
  _:750557 a rdf:Statement ;
    up:attribution _:750531 ;
    rdf:subject ?pfs11 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation12 .
  _:750558 a rdf:Statement ;
    up:source unirule:MF_02115 ;
    rdf:subject ?pfs18 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation19 .
  _:750559 a rdf:Statement ;
    up:attribution _:750532 ;
    rdf:subject ?pfs18 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation19 .
  _:750560 a rdf:Statement ;
    up:source unirule:MF_02115 ;
    rdf:subject ?pfs25 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation26 .
  _:750561 a rdf:Statement ;
    up:attribution _:750533 ;
    rdf:subject ?pfs25 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation26 .
  _:750562 a rdf:Statement ;
    up:source unirule:MF_02115 ;
    rdf:subject ?pfs32 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation33 .
  _:750563 a rdf:Statement ;
    up:attribution _:750534 ;
    rdf:subject ?pfs32 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation33 .
}
WHERE {
  #baseURI: http://purl.uniprot.org/unirule/MF_02115
  #Rule MF_02115 Created by:? on:2011-02-16 Modified by:Edouard de Castro on:2024-09-02
  ?this up:organism ?thisOrganism ;
    rdfs:seeAlso signature:MF_02115 .
  ?thisOrganism rdfs:subClassOf+ taxon:2157 .
  BIND(URI(CONCAT(STR(?this), '#MF_02115a0')) AS ?name0) .
  BIND(URI(CONCAT(STR(?this), '#MF_02115a1')) AS ?name1) .
  BIND(URI(CONCAT(STR(?this), '#MF_02115a2')) AS ?name2) .
  BIND(URI(CONCAT(STR(?this), '#MF_02115a4')) AS ?annotation4) .
  BIND(URI(CONCAT(STR(?this), '#MF_02115a5')) AS ?annotation5) .
  BIND(URI(CONCAT(STR(?this), '#MF_02115a7')) AS ?annotation7) .
  BIND(URI(CONCAT(STR(?this), '#MF_02115a8')) AS ?annotation8) .
  BIND(URI(CONCAT(STR(?this), '#MF_02115a9')) AS ?annotation9) .
  BIND(URI(CONCAT(STR(?this), '#MF_02115a10')) AS ?annotation10) .
  OPTIONAL {
    ?this up:sequence ?thisSequence .
    ?thisSequence rdf:value ?thisSequenceValue .
    ?templateMotifMatch43 faldo:location ?templateMotifSequenceMatchRegionQ979C244 ;
      edam:is_output_of ?templateMotifSequenceProfileAlignmentOperationQ979C246 ;
      rdf:type edam:data_0869 ;
      rdf:value ?templateMotifCigarQ979C2MF_0211539 .
    ?templateMotifSequenceMatchRegionQ979C244 faldo:begin ?templateMotifSequenceMatchBeginQ979C245 .
    ?templateMotifSequenceMatchBeginQ979C245 faldo:position ?templateMotifSequenceMatchBeginPositionQ979C240 ;
      faldo:reference isoform:Q979C2-1 .
    ?templateMotifSequenceProfileAlignmentOperationQ979C246 edam:has_input signature:MF_02115 ;
      rdf:type edam:operation_0300 .
    ?targetMotifMatch47 faldo:location ?targetMotifMatchRegionMatch48 ;
      edam:is_output_of ?targetMotifSequenceAlignmentOperationMF_0211550 ;
      rdf:type edam:data_0869 ;
      rdf:value ?targetMotifMatchCigarQ979C2MF_0211541 .
    ?targetMotifMatchRegionMatch48 faldo:begin ?targetMotifMatchRegionMatchBeginMF_0211549 .
    ?targetMotifMatchRegionMatchBeginMF_0211549 faldo:position ?targetMotifMatchRegionMatchBeginPositionMF_0211542 ;
      faldo:reference ?thisSequence .
    ?targetMotifSequenceAlignmentOperationMF_0211550 edam:has_input signature:MF_02115 ;
      rdf:type edam:operation_0300 .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarQ979C2MF_0211539, 1, (STRLEN(?templateMotifCigarQ979C2MF_0211539) - STRLEN(REPLACE(?templateMotifCigarQ979C2MF_0211539, CONCAT('^(?:-*[^-]){', STR(((9 - ?templateMotifSequenceMatchBeginPositionQ979C240) + 1)), '}'), '')))), '[a-z]', '')) AS ?step151) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarQ979C2MF_0211541, 1, (STRLEN(?targetMotifMatchCigarQ979C2MF_0211541) - STRLEN(REPLACE(?targetMotifMatchCigarQ979C2MF_0211541, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step151), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarQ979C2MF_0211541, 1, (STRLEN(?targetMotifMatchCigarQ979C2MF_0211541) - STRLEN(REPLACE(?targetMotifMatchCigarQ979C2MF_0211541, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step151), '}'), '')))), '[^-]', ''))) AS ?step252) .
    BIND(((?step252 + ?targetMotifMatchRegionMatchBeginPositionMF_0211542) - 1) AS ?thisPositionOn16) .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarQ979C2MF_0211539, 1, (STRLEN(?templateMotifCigarQ979C2MF_0211539) - STRLEN(REPLACE(?templateMotifCigarQ979C2MF_0211539, CONCAT('^(?:-*[^-]){', STR(((10 - ?templateMotifSequenceMatchBeginPositionQ979C240) + 1)), '}'), '')))), '[a-z]', '')) AS ?step153) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarQ979C2MF_0211541, 1, (STRLEN(?targetMotifMatchCigarQ979C2MF_0211541) - STRLEN(REPLACE(?targetMotifMatchCigarQ979C2MF_0211541, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step153), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarQ979C2MF_0211541, 1, (STRLEN(?targetMotifMatchCigarQ979C2MF_0211541) - STRLEN(REPLACE(?targetMotifMatchCigarQ979C2MF_0211541, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step153), '}'), '')))), '[^-]', ''))) AS ?step254) .
    BIND(((?step254 + ?targetMotifMatchRegionMatchBeginPositionMF_0211542) - 1) AS ?thisPositionOn17) .
    BIND(?this AS ?pfs1t55) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn16))) AS ?pfsb13) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn17))) AS ?pfse14) .
    FILTER (REGEX('[VTA]F', SUBSTR(?thisSequenceValue, ?thisPositionOn16, (?thisPositionOn17 - ?thisPositionOn16)))) .
    BIND(URI(CONCAT(STR(?this), '#MF_02115a12')) AS ?annotation12) .
    BIND(?this AS ?pfs11) .
  }
  OPTIONAL {
    ?this up:sequence ?thisSequence .
    ?thisSequence rdf:value ?thisSequenceValue .
    ?templateMotifMatch60 faldo:location ?templateMotifSequenceMatchRegionQ979C261 ;
      edam:is_output_of ?templateMotifSequenceProfileAlignmentOperationQ979C263 ;
      rdf:type edam:data_0869 ;
      rdf:value ?templateMotifCigarQ979C2MF_0211556 .
    ?templateMotifSequenceMatchRegionQ979C261 faldo:begin ?templateMotifSequenceMatchBeginQ979C262 .
    ?templateMotifSequenceMatchBeginQ979C262 faldo:position ?templateMotifSequenceMatchBeginPositionQ979C257 ;
      faldo:reference isoform:Q979C2-1 .
    ?templateMotifSequenceProfileAlignmentOperationQ979C263 edam:has_input signature:MF_02115 ;
      rdf:type edam:operation_0300 .
    ?targetMotifMatch64 faldo:location ?targetMotifMatchRegionMatch65 ;
      edam:is_output_of ?targetMotifSequenceAlignmentOperationMF_0211567 ;
      rdf:type edam:data_0869 ;
      rdf:value ?targetMotifMatchCigarQ979C2MF_0211558 .
    ?targetMotifMatchRegionMatch65 faldo:begin ?targetMotifMatchRegionMatchBeginMF_0211566 .
    ?targetMotifMatchRegionMatchBeginMF_0211566 faldo:position ?targetMotifMatchRegionMatchBeginPositionMF_0211559 ;
      faldo:reference ?thisSequence .
    ?targetMotifSequenceAlignmentOperationMF_0211567 edam:has_input signature:MF_02115 ;
      rdf:type edam:operation_0300 .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarQ979C2MF_0211556, 1, (STRLEN(?templateMotifCigarQ979C2MF_0211556) - STRLEN(REPLACE(?templateMotifCigarQ979C2MF_0211556, CONCAT('^(?:-*[^-]){', STR(((14 - ?templateMotifSequenceMatchBeginPositionQ979C257) + 1)), '}'), '')))), '[a-z]', '')) AS ?step168) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarQ979C2MF_0211558, 1, (STRLEN(?targetMotifMatchCigarQ979C2MF_0211558) - STRLEN(REPLACE(?targetMotifMatchCigarQ979C2MF_0211558, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step168), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarQ979C2MF_0211558, 1, (STRLEN(?targetMotifMatchCigarQ979C2MF_0211558) - STRLEN(REPLACE(?targetMotifMatchCigarQ979C2MF_0211558, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step168), '}'), '')))), '[^-]', ''))) AS ?step269) .
    BIND(((?step269 + ?targetMotifMatchRegionMatchBeginPositionMF_0211559) - 1) AS ?thisPositionOn23) .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarQ979C2MF_0211556, 1, (STRLEN(?templateMotifCigarQ979C2MF_0211556) - STRLEN(REPLACE(?templateMotifCigarQ979C2MF_0211556, CONCAT('^(?:-*[^-]){', STR(((17 - ?templateMotifSequenceMatchBeginPositionQ979C257) + 1)), '}'), '')))), '[a-z]', '')) AS ?step170) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarQ979C2MF_0211558, 1, (STRLEN(?targetMotifMatchCigarQ979C2MF_0211558) - STRLEN(REPLACE(?targetMotifMatchCigarQ979C2MF_0211558, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step170), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarQ979C2MF_0211558, 1, (STRLEN(?targetMotifMatchCigarQ979C2MF_0211558) - STRLEN(REPLACE(?targetMotifMatchCigarQ979C2MF_0211558, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step170), '}'), '')))), '[^-]', ''))) AS ?step271) .
    BIND(((?step271 + ?targetMotifMatchRegionMatchBeginPositionMF_0211559) - 1) AS ?thisPositionOn24) .
    BIND(?this AS ?pfs1t72) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn23))) AS ?pfsb20) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn24))) AS ?pfse21) .
    FILTER (REGEX('H[ARNDCQEGHILKMFPSTWYVBZJUOX][ARNDCQEGHILKMFPSTWYVBZJUOX]H', SUBSTR(?thisSequenceValue, ?thisPositionOn23, (?thisPositionOn24 - ?thisPositionOn23)))) .
    BIND(URI(CONCAT(STR(?this), '#MF_02115a19')) AS ?annotation19) .
    BIND(?this AS ?pfs18) .
  }
  OPTIONAL {
    ?this up:sequence ?thisSequence .
    ?thisSequence rdf:value ?thisSequenceValue .
    ?templateMotifMatch77 faldo:location ?templateMotifSequenceMatchRegionQ979C278 ;
      edam:is_output_of ?templateMotifSequenceProfileAlignmentOperationQ979C280 ;
      rdf:type edam:data_0869 ;
      rdf:value ?templateMotifCigarQ979C2MF_0211573 .
    ?templateMotifSequenceMatchRegionQ979C278 faldo:begin ?templateMotifSequenceMatchBeginQ979C279 .
    ?templateMotifSequenceMatchBeginQ979C279 faldo:position ?templateMotifSequenceMatchBeginPositionQ979C274 ;
      faldo:reference isoform:Q979C2-1 .
    ?templateMotifSequenceProfileAlignmentOperationQ979C280 edam:has_input signature:MF_02115 ;
      rdf:type edam:operation_0300 .
    ?targetMotifMatch81 faldo:location ?targetMotifMatchRegionMatch82 ;
      edam:is_output_of ?targetMotifSequenceAlignmentOperationMF_0211584 ;
      rdf:type edam:data_0869 ;
      rdf:value ?targetMotifMatchCigarQ979C2MF_0211575 .
    ?targetMotifMatchRegionMatch82 faldo:begin ?targetMotifMatchRegionMatchBeginMF_0211583 .
    ?targetMotifMatchRegionMatchBeginMF_0211583 faldo:position ?targetMotifMatchRegionMatchBeginPositionMF_0211576 ;
      faldo:reference ?thisSequence .
    ?targetMotifSequenceAlignmentOperationMF_0211584 edam:has_input signature:MF_02115 ;
      rdf:type edam:operation_0300 .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarQ979C2MF_0211573, 1, (STRLEN(?templateMotifCigarQ979C2MF_0211573) - STRLEN(REPLACE(?templateMotifCigarQ979C2MF_0211573, CONCAT('^(?:-*[^-]){', STR(((93 - ?templateMotifSequenceMatchBeginPositionQ979C274) + 1)), '}'), '')))), '[a-z]', '')) AS ?step185) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarQ979C2MF_0211575, 1, (STRLEN(?targetMotifMatchCigarQ979C2MF_0211575) - STRLEN(REPLACE(?targetMotifMatchCigarQ979C2MF_0211575, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step185), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarQ979C2MF_0211575, 1, (STRLEN(?targetMotifMatchCigarQ979C2MF_0211575) - STRLEN(REPLACE(?targetMotifMatchCigarQ979C2MF_0211575, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step185), '}'), '')))), '[^-]', ''))) AS ?step286) .
    BIND(((?step286 + ?targetMotifMatchRegionMatchBeginPositionMF_0211576) - 1) AS ?thisPositionOn30) .
    BIND(?thisPositionOn30 AS ?thisPositionOn31) .
    BIND(?this AS ?pfs1t87) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn30))) AS ?pfsb27) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn31))) AS ?pfse28) .
    FILTER (REGEX('[DN]', SUBSTR(?thisSequenceValue, ?thisPositionOn30, 1))) .
    BIND(URI(CONCAT(STR(?this), '#MF_02115a26')) AS ?annotation26) .
    BIND(?this AS ?pfs25) .
  }
  OPTIONAL {
    ?this up:sequence ?thisSequence .
    ?thisSequence rdf:value ?thisSequenceValue .
    ?templateMotifMatch92 faldo:location ?templateMotifSequenceMatchRegionQ979C293 ;
      edam:is_output_of ?templateMotifSequenceProfileAlignmentOperationQ979C295 ;
      rdf:type edam:data_0869 ;
      rdf:value ?templateMotifCigarQ979C2MF_0211588 .
    ?templateMotifSequenceMatchRegionQ979C293 faldo:begin ?templateMotifSequenceMatchBeginQ979C294 .
    ?templateMotifSequenceMatchBeginQ979C294 faldo:position ?templateMotifSequenceMatchBeginPositionQ979C289 ;
      faldo:reference isoform:Q979C2-1 .
    ?templateMotifSequenceProfileAlignmentOperationQ979C295 edam:has_input signature:MF_02115 ;
      rdf:type edam:operation_0300 .
    ?targetMotifMatch96 faldo:location ?targetMotifMatchRegionMatch97 ;
      edam:is_output_of ?targetMotifSequenceAlignmentOperationMF_0211599 ;
      rdf:type edam:data_0869 ;
      rdf:value ?targetMotifMatchCigarQ979C2MF_0211590 .
    ?targetMotifMatchRegionMatch97 faldo:begin ?targetMotifMatchRegionMatchBeginMF_0211598 .
    ?targetMotifMatchRegionMatchBeginMF_0211598 faldo:position ?targetMotifMatchRegionMatchBeginPositionMF_0211591 ;
      faldo:reference ?thisSequence .
    ?targetMotifSequenceAlignmentOperationMF_0211599 edam:has_input signature:MF_02115 ;
      rdf:type edam:operation_0300 .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarQ979C2MF_0211588, 1, (STRLEN(?templateMotifCigarQ979C2MF_0211588) - STRLEN(REPLACE(?templateMotifCigarQ979C2MF_0211588, CONCAT('^(?:-*[^-]){', STR(((120 - ?templateMotifSequenceMatchBeginPositionQ979C289) + 1)), '}'), '')))), '[a-z]', '')) AS ?step1100) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarQ979C2MF_0211590, 1, (STRLEN(?targetMotifMatchCigarQ979C2MF_0211590) - STRLEN(REPLACE(?targetMotifMatchCigarQ979C2MF_0211590, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step1100), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarQ979C2MF_0211590, 1, (STRLEN(?targetMotifMatchCigarQ979C2MF_0211590) - STRLEN(REPLACE(?targetMotifMatchCigarQ979C2MF_0211590, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step1100), '}'), '')))), '[^-]', ''))) AS ?step2101) .
    BIND(((?step2101 + ?targetMotifMatchRegionMatchBeginPositionMF_0211591) - 1) AS ?thisPositionOn37) .
    BIND(?thisPositionOn37 AS ?thisPositionOn38) .
    BIND(?this AS ?pfs1t102) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn37))) AS ?pfsb34) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn38))) AS ?pfse35) .
    FILTER (REGEX('[YHF]', SUBSTR(?thisSequenceValue, ?thisPositionOn37, 1))) .
    BIND(URI(CONCAT(STR(?this), '#MF_02115a33')) AS ?annotation33) .
    BIND(?this AS ?pfs32) .
  }
}
""" .

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