@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_04142#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_04142#construct-template-26>,
    <http://purl.uniprot.org/unirules/MF_04142#construct-template-40>, <http://purl.uniprot.org/unirules/MF_04142#construct-template-17>,
    <http://purl.uniprot.org/unirules/MF_04142#construct-template-70>, <http://purl.uniprot.org/unirules/MF_04142#construct-template-49>,
    <http://purl.uniprot.org/unirules/MF_04142#construct-template-36>, <http://purl.uniprot.org/unirules/MF_04142#construct-template-2>,
    <http://purl.uniprot.org/unirules/MF_04142#construct-template-71>, <http://purl.uniprot.org/unirules/MF_04142#construct-template-50>,
    <http://purl.uniprot.org/unirules/MF_04142#construct-template-56>, <http://purl.uniprot.org/unirules/MF_04142#construct-template-30>,
    <http://purl.uniprot.org/unirules/MF_04142#construct-template-46>, <http://purl.uniprot.org/unirules/MF_04142#construct-template-15>,
    <http://purl.uniprot.org/unirules/MF_04142#construct-template-41>, <http://purl.uniprot.org/unirules/MF_04142#construct-template-6>,
    <http://purl.uniprot.org/unirules/MF_04142#construct-template-0>, <http://purl.uniprot.org/unirules/MF_04142#construct-template-7>,
    <http://purl.uniprot.org/unirules/MF_04142#construct-template-54>, <http://purl.uniprot.org/unirules/MF_04142#construct-template-28>,
    <http://purl.uniprot.org/unirules/MF_04142#construct-template-51>, <http://purl.uniprot.org/unirules/MF_04142#construct-template-72>,
    <http://purl.uniprot.org/unirules/MF_04142#construct-template-32>, <http://purl.uniprot.org/unirules/MF_04142#construct-template-65>,
    <http://purl.uniprot.org/unirules/MF_04142#construct-template-39>, <http://purl.uniprot.org/unirules/MF_04142#construct-template-10>,
    <http://purl.uniprot.org/unirules/MF_04142#construct-template-47>, <http://purl.uniprot.org/unirules/MF_04142#construct-template-21>,
    <http://purl.uniprot.org/unirules/MF_04142#construct-template-73>, <http://purl.uniprot.org/unirules/MF_04142#construct-template-33>,
    <http://purl.uniprot.org/unirules/MF_04142#construct-template-18>, <http://purl.uniprot.org/unirules/MF_04142#construct-template-48>,
    <http://purl.uniprot.org/unirules/MF_04142#construct-template-16>, <http://purl.uniprot.org/unirules/MF_04142#construct-template-52>,
    <http://purl.uniprot.org/unirules/MF_04142#construct-template-42>, <http://purl.uniprot.org/unirules/MF_04142#construct-template-34>,
    <http://purl.uniprot.org/unirules/MF_04142#construct-template-20>, <http://purl.uniprot.org/unirules/MF_04142#construct-template-4>,
    <http://purl.uniprot.org/unirules/MF_04142#construct-template-27>, <http://purl.uniprot.org/unirules/MF_04142#construct-template-43>,
    <http://purl.uniprot.org/unirules/MF_04142#construct-template-5>, <http://purl.uniprot.org/unirules/MF_04142#construct-template-12>,
    <http://purl.uniprot.org/unirules/MF_04142#construct-template-19>, <http://purl.uniprot.org/unirules/MF_04142#construct-template-29>,
    <http://purl.uniprot.org/unirules/MF_04142#construct-template-9>, <http://purl.uniprot.org/unirules/MF_04142#construct-template-67>,
    <http://purl.uniprot.org/unirules/MF_04142#construct-template-38>, <http://purl.uniprot.org/unirules/MF_04142#construct-template-57>,
    <http://purl.uniprot.org/unirules/MF_04142#construct-template-55>, <http://purl.uniprot.org/unirules/MF_04142#construct-template-14>,
    <http://purl.uniprot.org/unirules/MF_04142#construct-template-25>, <http://purl.uniprot.org/unirules/MF_04142#construct-template-44>,
    <http://purl.uniprot.org/unirules/MF_04142#construct-template-60>, <http://purl.uniprot.org/unirules/MF_04142#construct-template-45>,
    <http://purl.uniprot.org/unirules/MF_04142#construct-template-23>, <http://purl.uniprot.org/unirules/MF_04142#construct-template-1>,
    <http://purl.uniprot.org/unirules/MF_04142#construct-template-58>, <http://purl.uniprot.org/unirules/MF_04142#construct-template-69>,
    <http://purl.uniprot.org/unirules/MF_04142#construct-template-66>, <http://purl.uniprot.org/unirules/MF_04142#construct-template-11>,
    <http://purl.uniprot.org/unirules/MF_04142#construct-template-53>, <http://purl.uniprot.org/unirules/MF_04142#construct-template-68>,
    <http://purl.uniprot.org/unirules/MF_04142#construct-template-64>, <http://purl.uniprot.org/unirules/MF_04142#construct-template-62>,
    <http://purl.uniprot.org/unirules/MF_04142#construct-template-22>, <http://purl.uniprot.org/unirules/MF_04142#construct-template-24>,
    <http://purl.uniprot.org/unirules/MF_04142#construct-template-8>, <http://purl.uniprot.org/unirules/MF_04142#construct-template-13>,
    <http://purl.uniprot.org/unirules/MF_04142#construct-template-35>, <http://purl.uniprot.org/unirules/MF_04142#construct-template-31>,
    <http://purl.uniprot.org/unirules/MF_04142#construct-template-3>, <http://purl.uniprot.org/unirules/MF_04142#construct-template-37>,
    <http://purl.uniprot.org/unirules/MF_04142#construct-template-63>, <http://purl.uniprot.org/unirules/MF_04142#construct-template-61>,
    <http://purl.uniprot.org/unirules/MF_04142#construct-template-59>;
  <http://www.w3.org/ns/shacl#prefixes> <http://purl.uniprot.org/unirules/>;
  <http://spinrdf.org/sp#where> <http://purl.uniprot.org/unirules/MF_04142#construct-where-list-0>;
  <http://spinrdf.org/sp#templates> <http://purl.uniprot.org/unirules/MF_04142#construct-template-list-0>;
  <http://www.w3.org/ns/shacl#construct> """CONSTRUCT {
  _:969359 up:source unirule:MF_04142 .
  _:969360 up:source unirule:MF_04142 .
  _:969361 up:source unirule:MF_04142 .
  _:969362 up:source unirule:MF_04142 .
  _:969363 up:source unirule:MF_04142 .
  _:969364 up:source unirule:MF_04142 .
  _:969365 up:source unirule:MF_04142 .
  _:969366 up:source unirule:MF_04142 .
  _:969367 up:source unirule:MF_04142 .
  _:969368 up:source unirule:MF_04142 .
  _:969369 up:source unirule:MF_04142 .
  _:969370 up:source unirule:MF_04142 .
  _:969371 up:source unirule:MF_04142 .
  _:969372 up:source unirule:MF_04142 .
  ?this up:annotation ?annotation2 ,
      ?annotation3 ,
      ?annotation5 ,
      ?annotation7 ;
    up:classifiedWith GO:0044423 ,
      GO:0106274 ,
      keyword:328 ,
      keyword:548 ,
      keyword:808 ,
      keyword:946 ;
    up:recommendedName ?name0 .
  ?name0 up:ecName '2.4.2.31' ;
    up:fullName 'NAD--protein ADP-ribosyltransferase modB' ;
    rdf:type up:Structured_Name .
  ?gene1 skos:prefLabel 'modB' .
  ?annotation2 a up:Function_Annotation ;
    rdfs:comment \"ADP-ribosyltransferase that regulates transcription by ADP-ribosylation of host ribosomal protein S1. Additional identified targets include proteins involved in either translation or cellular metabolism such as elongation factor-Tu or trigger factor. Also reprograms the host's gene-expression system by RNAylating host ribosomal protein S1. ModB can attach NAD-capped RNAs to target proteins post-transcriptionally resulting in covalent RNA-protein conjugates.\" .
  ?annotation3 up:activity ?activity4 ;
    rdf:type up:Catalytic_Activity_Annotation .
  ?activity4 up:catalyticActivity <http://rdf.rhea-db.org/19149>;
    up:enzymeClass <http://purl.uniprot.org/enzyme/2.4.2.31>.
  ?annotation5 a up:Subcellular_Location_Annotation ;
    rdfs:comment 'This protein is injected from the virion into the bacterial cell' .
  ?annotation5li6 up:cellularComponent <http://purl.uniprot.org/locations/null>.
  ?annotation7 a up:Similarity_Annotation ;
    rdfs:comment 'Belongs to the Tevenvirinae NAD--protein ADP-ribosyltransferase modA family.' .
  ?pfs8 up:annotation ?annotation9 .
  ?annotation9 faldo:begin ?pfsb10 ;
    faldo:end ?pfse11 ;
    rdf:type up:Active_Site_Annotation .
  ?pfsb10 faldo:position ?thisPositionOn12 ;
    rdf:type faldo:ExactPosition .
  ?pfse11 faldo:position ?thisPositionOn13 ;
    rdf:type faldo:ExactPosition .
  ?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:57540 .
  _:969373 a rdf:Statement ;
    up:attribution _:969359 ;
    rdf:subject ?this ;
    rdf:predicate up:recommendedName ;
    rdf:object ?name0 .
  _:969374 a rdf:Statement ;
    up:attribution _:969360 ;
    rdf:subject ?gene1 ;
    rdf:predicate up:encodedBy ;
    rdf:object ?gene1 .
  _:969375 a rdf:Statement ;
    up:attribution _:969361 ;
    rdf:subject ?this ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation2 .
  _:969376 a rdf:Statement ;
    up:attribution _:969362 ;
    rdf:subject ?this ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation3 .
  _:969377 a rdf:Statement ;
    up:attribution _:969363 ;
    rdf:subject ?this ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation5 .
  _:969378 a rdf:Statement ;
    up:attribution _:969364 ;
    rdf:subject ?this ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation7 .
  _:969379 a rdf:Statement ;
    up:attribution _:969365 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object keyword:328 .
  _:969380 a rdf:Statement ;
    up:attribution _:969366 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object keyword:548 .
  _:969381 a rdf:Statement ;
    up:attribution _:969367 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object keyword:808 .
  _:969382 a rdf:Statement ;
    up:attribution _:969368 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object keyword:946 .
  _:969383 a rdf:Statement ;
    up:attribution _:969369 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object GO:0106274 .
  _:969384 a rdf:Statement ;
    up:attribution _:969370 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object GO:0044423 .
  _:969385 a rdf:Statement ;
    up:source unirule:MF_04142 ;
    rdf:subject ?pfs8 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation9 .
  _:969386 a rdf:Statement ;
    up:attribution _:969371 ;
    rdf:subject ?pfs8 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation9 .
  _:969387 a rdf:Statement ;
    up:source unirule:MF_04142 ;
    rdf:subject ?pfs14 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation15 .
  _:969388 a rdf:Statement ;
    up:attribution _:969372 ;
    rdf:subject ?pfs14 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation15 .
}
WHERE {
  #baseURI: http://purl.uniprot.org/unirule/MF_04142
  #Rule MF_04142 Created by:? on:2019-10-08 Modified by:Edouard de Castro on:2024-09-02
  ?this up:organism ?thisOrganism ;
    rdfs:seeAlso signature:MF_04142 .
  ?thisOrganism rdfs:subClassOf+ taxon:1198136 .
  BIND(URI(CONCAT(STR(?this), '#MF_04142a0')) AS ?name0) .
  BIND(URI(CONCAT(STR(?this), '#MF_04142a2')) AS ?annotation2) .
  BIND(URI(CONCAT(STR(?this), '#MF_04142a3')) AS ?annotation3) .
  BIND(URI(CONCAT(STR(?this), '#MF_04142a5')) AS ?annotation5) .
  BIND(URI(CONCAT(STR(?this), '#MF_04142a7')) AS ?annotation7) .
  OPTIONAL {
    ?this up:sequence ?thisSequence .
    ?thisSequence rdf:value ?thisSequenceValue .
    ?templateMotifMatch25 faldo:location ?templateMotifSequenceMatchRegionP3942326 ;
      edam:is_output_of ?templateMotifSequenceProfileAlignmentOperationP3942328 ;
      rdf:type edam:data_0869 ;
      rdf:value ?templateMotifCigarP39423MF_0414221 .
    ?templateMotifSequenceMatchRegionP3942326 faldo:begin ?templateMotifSequenceMatchBeginP3942327 .
    ?templateMotifSequenceMatchBeginP3942327 faldo:position ?templateMotifSequenceMatchBeginPositionP3942322 ;
      faldo:reference isoform:P39423-1 .
    ?templateMotifSequenceProfileAlignmentOperationP3942328 edam:has_input signature:MF_04142 ;
      rdf:type edam:operation_0300 .
    ?targetMotifMatch29 faldo:location ?targetMotifMatchRegionMatch30 ;
      edam:is_output_of ?targetMotifSequenceAlignmentOperationMF_0414232 ;
      rdf:type edam:data_0869 ;
      rdf:value ?targetMotifMatchCigarP39423MF_0414223 .
    ?targetMotifMatchRegionMatch30 faldo:begin ?targetMotifMatchRegionMatchBeginMF_0414231 .
    ?targetMotifMatchRegionMatchBeginMF_0414231 faldo:position ?targetMotifMatchRegionMatchBeginPositionMF_0414224 ;
      faldo:reference ?thisSequence .
    ?targetMotifSequenceAlignmentOperationMF_0414232 edam:has_input signature:MF_04142 ;
      rdf:type edam:operation_0300 .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarP39423MF_0414221, 1, (STRLEN(?templateMotifCigarP39423MF_0414221) - STRLEN(REPLACE(?templateMotifCigarP39423MF_0414221, CONCAT('^(?:-*[^-]){', STR(((173 - ?templateMotifSequenceMatchBeginPositionP3942322) + 1)), '}'), '')))), '[a-z]', '')) AS ?step133) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarP39423MF_0414223, 1, (STRLEN(?targetMotifMatchCigarP39423MF_0414223) - STRLEN(REPLACE(?targetMotifMatchCigarP39423MF_0414223, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step133), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarP39423MF_0414223, 1, (STRLEN(?targetMotifMatchCigarP39423MF_0414223) - STRLEN(REPLACE(?targetMotifMatchCigarP39423MF_0414223, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step133), '}'), '')))), '[^-]', ''))) AS ?step234) .
    BIND(((?step234 + ?targetMotifMatchRegionMatchBeginPositionMF_0414224) - 1) AS ?thisPositionOn12) .
    BIND(?thisPositionOn12 AS ?thisPositionOn13) .
    BIND(?this AS ?pfs1t35) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn12))) AS ?pfsb10) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn13))) AS ?pfse11) .
    FILTER ((SUBSTR(?thisSequenceValue, ?thisPositionOn12, 1) = 'E')) .
    BIND(URI(CONCAT(STR(?this), '#MF_04142a9')) AS ?annotation9) .
    BIND(?this AS ?pfs8) .
  }
  OPTIONAL {
    ?this up:sequence ?thisSequence .
    ?thisSequence rdf:value ?thisSequenceValue .
    ?templateMotifMatch40 faldo:location ?templateMotifSequenceMatchRegionP3942341 ;
      edam:is_output_of ?templateMotifSequenceProfileAlignmentOperationP3942343 ;
      rdf:type edam:data_0869 ;
      rdf:value ?templateMotifCigarP39423MF_0414236 .
    ?templateMotifSequenceMatchRegionP3942341 faldo:begin ?templateMotifSequenceMatchBeginP3942342 .
    ?templateMotifSequenceMatchBeginP3942342 faldo:position ?templateMotifSequenceMatchBeginPositionP3942337 ;
      faldo:reference isoform:P39423-1 .
    ?templateMotifSequenceProfileAlignmentOperationP3942343 edam:has_input signature:MF_04142 ;
      rdf:type edam:operation_0300 .
    ?targetMotifMatch44 faldo:location ?targetMotifMatchRegionMatch45 ;
      edam:is_output_of ?targetMotifSequenceAlignmentOperationMF_0414247 ;
      rdf:type edam:data_0869 ;
      rdf:value ?targetMotifMatchCigarP39423MF_0414238 .
    ?targetMotifMatchRegionMatch45 faldo:begin ?targetMotifMatchRegionMatchBeginMF_0414246 .
    ?targetMotifMatchRegionMatchBeginMF_0414246 faldo:position ?targetMotifMatchRegionMatchBeginPositionMF_0414239 ;
      faldo:reference ?thisSequence .
    ?targetMotifSequenceAlignmentOperationMF_0414247 edam:has_input signature:MF_04142 ;
      rdf:type edam:operation_0300 .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarP39423MF_0414236, 1, (STRLEN(?templateMotifCigarP39423MF_0414236) - STRLEN(REPLACE(?templateMotifCigarP39423MF_0414236, CONCAT('^(?:-*[^-]){', STR(((73 - ?templateMotifSequenceMatchBeginPositionP3942337) + 1)), '}'), '')))), '[a-z]', '')) AS ?step148) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarP39423MF_0414238, 1, (STRLEN(?targetMotifMatchCigarP39423MF_0414238) - STRLEN(REPLACE(?targetMotifMatchCigarP39423MF_0414238, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step148), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarP39423MF_0414238, 1, (STRLEN(?targetMotifMatchCigarP39423MF_0414238) - STRLEN(REPLACE(?targetMotifMatchCigarP39423MF_0414238, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step148), '}'), '')))), '[^-]', ''))) AS ?step249) .
    BIND(((?step249 + ?targetMotifMatchRegionMatchBeginPositionMF_0414239) - 1) AS ?thisPositionOn19) .
    BIND(?thisPositionOn19 AS ?thisPositionOn20) .
    BIND(?this AS ?pfs1t50) .
    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) = 'R')) .
    BIND(URI(CONCAT(STR(?this), '#MF_04142a15')) AS ?annotation15) .
    BIND(?this AS ?pfs14) .
  }
}
""" .

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