@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_01009#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_01009#construct-template-11>,
    <http://purl.uniprot.org/unirules/MF_01009#construct-template-8>, <http://purl.uniprot.org/unirules/MF_01009#construct-template-9>,
    <http://purl.uniprot.org/unirules/MF_01009#construct-template-32>, <http://purl.uniprot.org/unirules/MF_01009#construct-template-6>,
    <http://purl.uniprot.org/unirules/MF_01009#construct-template-20>, <http://purl.uniprot.org/unirules/MF_01009#construct-template-21>,
    <http://purl.uniprot.org/unirules/MF_01009#construct-template-41>, <http://purl.uniprot.org/unirules/MF_01009#construct-template-31>,
    <http://purl.uniprot.org/unirules/MF_01009#construct-template-5>, <http://purl.uniprot.org/unirules/MF_01009#construct-template-26>,
    <http://purl.uniprot.org/unirules/MF_01009#construct-template-40>, <http://purl.uniprot.org/unirules/MF_01009#construct-template-27>,
    <http://purl.uniprot.org/unirules/MF_01009#construct-template-29>, <http://purl.uniprot.org/unirules/MF_01009#construct-template-2>,
    <http://purl.uniprot.org/unirules/MF_01009#construct-template-47>, <http://purl.uniprot.org/unirules/MF_01009#construct-template-28>,
    <http://purl.uniprot.org/unirules/MF_01009#construct-template-25>, <http://purl.uniprot.org/unirules/MF_01009#construct-template-49>,
    <http://purl.uniprot.org/unirules/MF_01009#construct-template-36>, <http://purl.uniprot.org/unirules/MF_01009#construct-template-35>,
    <http://purl.uniprot.org/unirules/MF_01009#construct-template-13>, <http://purl.uniprot.org/unirules/MF_01009#construct-template-23>,
    <http://purl.uniprot.org/unirules/MF_01009#construct-template-15>, <http://purl.uniprot.org/unirules/MF_01009#construct-template-45>,
    <http://purl.uniprot.org/unirules/MF_01009#construct-template-24>, <http://purl.uniprot.org/unirules/MF_01009#construct-template-48>,
    <http://purl.uniprot.org/unirules/MF_01009#construct-template-19>, <http://purl.uniprot.org/unirules/MF_01009#construct-template-34>,
    <http://purl.uniprot.org/unirules/MF_01009#construct-template-44>, <http://purl.uniprot.org/unirules/MF_01009#construct-template-18>,
    <http://purl.uniprot.org/unirules/MF_01009#construct-template-38>, <http://purl.uniprot.org/unirules/MF_01009#construct-template-4>,
    <http://purl.uniprot.org/unirules/MF_01009#construct-template-3>, <http://purl.uniprot.org/unirules/MF_01009#construct-template-12>,
    <http://purl.uniprot.org/unirules/MF_01009#construct-template-30>, <http://purl.uniprot.org/unirules/MF_01009#construct-template-1>,
    <http://purl.uniprot.org/unirules/MF_01009#construct-template-43>, <http://purl.uniprot.org/unirules/MF_01009#construct-template-37>,
    <http://purl.uniprot.org/unirules/MF_01009#construct-template-39>, <http://purl.uniprot.org/unirules/MF_01009#construct-template-22>,
    <http://purl.uniprot.org/unirules/MF_01009#construct-template-17>, <http://purl.uniprot.org/unirules/MF_01009#construct-template-60>,
    <http://purl.uniprot.org/unirules/MF_01009#construct-template-46>, <http://purl.uniprot.org/unirules/MF_01009#construct-template-42>,
    <http://purl.uniprot.org/unirules/MF_01009#construct-template-7>, <http://purl.uniprot.org/unirules/MF_01009#construct-template-33>,
    <http://purl.uniprot.org/unirules/MF_01009#construct-template-10>, <http://purl.uniprot.org/unirules/MF_01009#construct-template-0>,
    <http://purl.uniprot.org/unirules/MF_01009#construct-template-16>, <http://purl.uniprot.org/unirules/MF_01009#construct-template-14>,
    <http://purl.uniprot.org/unirules/MF_01009#construct-template-59>, <http://purl.uniprot.org/unirules/MF_01009#construct-template-50>,
    <http://purl.uniprot.org/unirules/MF_01009#construct-template-58>, <http://purl.uniprot.org/unirules/MF_01009#construct-template-57>,
    <http://purl.uniprot.org/unirules/MF_01009#construct-template-56>, <http://purl.uniprot.org/unirules/MF_01009#construct-template-55>,
    <http://purl.uniprot.org/unirules/MF_01009#construct-template-54>, <http://purl.uniprot.org/unirules/MF_01009#construct-template-53>,
    <http://purl.uniprot.org/unirules/MF_01009#construct-template-52>, <http://purl.uniprot.org/unirules/MF_01009#construct-template-51>;
  <http://www.w3.org/ns/shacl#prefixes> <http://purl.uniprot.org/unirules/>;
  <http://spinrdf.org/sp#where> <http://purl.uniprot.org/unirules/MF_01009#construct-where-list-0>;
  <http://spinrdf.org/sp#templates> <http://purl.uniprot.org/unirules/MF_01009#construct-template-list-0>;
  <http://www.w3.org/ns/shacl#construct> """CONSTRUCT {
  _:352422 up:source unirule:MF_01009 .
  _:352423 up:source unirule:MF_01009 .
  _:352424 up:source unirule:MF_01009 .
  _:352425 up:source unirule:MF_01009 .
  _:352426 up:source unirule:MF_01009 .
  _:352427 up:source unirule:MF_01009 .
  _:352428 up:source unirule:MF_01009 .
  _:352429 up:source unirule:MF_01009 .
  _:352430 up:source unirule:MF_01009 .
  _:352431 up:source unirule:MF_01009 .
  _:352432 up:source unirule:MF_01009 .
  _:352433 up:source unirule:MF_01009 .
  ?this up:annotation ?annotation2 ,
      ?annotation3 ,
      ?annotation5 ,
      ?annotation7 ,
      ?annotation9 ;
    up:classifiedWith GO:0004792 ,
      GO:0005737 ,
      keyword:808 ,
      keyword:963 ;
    up:recommendedName ?name0 .
  ?name0 up:ecName '2.8.1.1' ;
    up:fullName 'Thiosulfate sulfurtransferase GlpE' ;
    rdf:type up:Structured_Name .
  ?gene1 skos:prefLabel 'glpE' .
  ?annotation2 a up:Function_Annotation ;
    rdfs:comment 'Transferase that catalyzes the transfer of sulfur from thiosulfate to thiophilic acceptors such as cyanide or dithiols. May function in a CysM-independent thiosulfate assimilation pathway by catalyzing the conversion of thiosulfate to sulfite, which can then be used for L-cysteine biosynthesis.' .
  ?annotation3 up:activity ?activity4 ;
    rdf:type up:Catalytic_Activity_Annotation .
  ?activity4 up:catalyticActivity <http://rdf.rhea-db.org/16881>;
    up:enzymeClass <http://purl.uniprot.org/enzyme/2.8.1.1>.
  ?annotation5 up:activity ?activity6 ;
    rdf:type up:Catalytic_Activity_Annotation .
  ?activity6 up:catalyticActivity <http://rdf.rhea-db.org/83859>.
  ?annotation7 a up:Subcellular_Location_Annotation .
  ?annotation7li8 up:cellularComponent <http://purl.uniprot.org/locations/null>.
  ?annotation9 a up:Similarity_Annotation ;
    rdfs:comment 'Belongs to the GlpE family.' .
  ?pfs10 up:annotation ?annotation11 .
  ?annotation11 faldo:begin ?pfsb12 ;
    faldo:end ?pfse13 ;
    rdf:type up:Active_Site_Annotation ;
    rdfs:comment 'Cysteine persulfide intermediate' .
  ?pfsb12 faldo:position ?thisPositionOn14 ;
    rdf:type faldo:ExactPosition .
  ?pfse13 faldo:position ?thisPositionOn15 ;
    rdf:type faldo:ExactPosition .
  _:352434 a rdf:Statement ;
    up:attribution _:352422 ;
    rdf:subject ?this ;
    rdf:predicate up:recommendedName ;
    rdf:object ?name0 .
  _:352435 a rdf:Statement ;
    up:attribution _:352423 ;
    rdf:subject ?gene1 ;
    rdf:predicate up:encodedBy ;
    rdf:object ?gene1 .
  _:352436 a rdf:Statement ;
    up:attribution _:352424 ;
    rdf:subject ?this ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation2 .
  _:352437 a rdf:Statement ;
    up:attribution _:352425 ;
    rdf:subject ?this ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation3 .
  _:352438 a rdf:Statement ;
    up:attribution _:352426 ;
    rdf:subject ?this ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation5 .
  _:352439 a rdf:Statement ;
    up:attribution _:352427 ;
    rdf:subject ?this ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation7 .
  _:352440 a rdf:Statement ;
    up:attribution _:352428 ;
    rdf:subject ?this ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation9 .
  _:352441 a rdf:Statement ;
    up:attribution _:352429 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object keyword:963 .
  _:352442 a rdf:Statement ;
    up:attribution _:352430 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object keyword:808 .
  _:352443 a rdf:Statement ;
    up:attribution _:352431 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object GO:0004792 .
  _:352444 a rdf:Statement ;
    up:attribution _:352432 ;
    rdf:subject ?this ;
    rdf:predicate up:classifiedWith ;
    rdf:object GO:0005737 .
  _:352445 a rdf:Statement ;
    up:source unirule:MF_01009 ;
    rdf:subject ?pfs10 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation11 .
  _:352446 a rdf:Statement ;
    up:attribution _:352433 ;
    rdf:subject ?pfs10 ;
    rdf:predicate up:annotation ;
    rdf:object ?annotation11 .
}
WHERE {
  #baseURI: http://purl.uniprot.org/unirule/MF_01009
  #Rule MF_01009 Created by:? on:2005-02-28 Modified by:Catherine Rivoire on:2025-03-21
  ?this up:organism ?thisOrganism ;
    rdfs:seeAlso signature:MF_01009 .
  ?thisOrganism rdfs:subClassOf+ taxon:1236 .
  BIND(URI(CONCAT(STR(?this), '#MF_01009a0')) AS ?name0) .
  BIND(URI(CONCAT(STR(?this), '#MF_01009a2')) AS ?annotation2) .
  BIND(URI(CONCAT(STR(?this), '#MF_01009a3')) AS ?annotation3) .
  BIND(URI(CONCAT(STR(?this), '#MF_01009a5')) AS ?annotation5) .
  BIND(URI(CONCAT(STR(?this), '#MF_01009a7')) AS ?annotation7) .
  BIND(URI(CONCAT(STR(?this), '#MF_01009a9')) AS ?annotation9) .
  OPTIONAL {
    ?this up:sequence ?thisSequence .
    ?thisSequence rdf:value ?thisSequenceValue .
    ?templateMotifMatch20 faldo:location ?templateMotifSequenceMatchRegionP0A6V521 ;
      edam:is_output_of ?templateMotifSequenceProfileAlignmentOperationP0A6V523 ;
      rdf:type edam:data_0869 ;
      rdf:value ?templateMotifCigarP0A6V5MF_0100916 .
    ?templateMotifSequenceMatchRegionP0A6V521 faldo:begin ?templateMotifSequenceMatchBeginP0A6V522 .
    ?templateMotifSequenceMatchBeginP0A6V522 faldo:position ?templateMotifSequenceMatchBeginPositionP0A6V517 ;
      faldo:reference isoform:P0A6V5-1 .
    ?templateMotifSequenceProfileAlignmentOperationP0A6V523 edam:has_input signature:MF_01009 ;
      rdf:type edam:operation_0300 .
    ?targetMotifMatch24 faldo:location ?targetMotifMatchRegionMatch25 ;
      edam:is_output_of ?targetMotifSequenceAlignmentOperationMF_0100927 ;
      rdf:type edam:data_0869 ;
      rdf:value ?targetMotifMatchCigarP0A6V5MF_0100918 .
    ?targetMotifMatchRegionMatch25 faldo:begin ?targetMotifMatchRegionMatchBeginMF_0100926 .
    ?targetMotifMatchRegionMatchBeginMF_0100926 faldo:position ?targetMotifMatchRegionMatchBeginPositionMF_0100919 ;
      faldo:reference ?thisSequence .
    ?targetMotifSequenceAlignmentOperationMF_0100927 edam:has_input signature:MF_01009 ;
      rdf:type edam:operation_0300 .
    BIND(STRLEN(REPLACE(SUBSTR(?templateMotifCigarP0A6V5MF_0100916, 1, (STRLEN(?templateMotifCigarP0A6V5MF_0100916) - STRLEN(REPLACE(?templateMotifCigarP0A6V5MF_0100916, CONCAT('^(?:-*[^-]){', STR(((65 - ?templateMotifSequenceMatchBeginPositionP0A6V517) + 1)), '}'), '')))), '[a-z]', '')) AS ?step128) .
    BIND((STRLEN(SUBSTR(?targetMotifMatchCigarP0A6V5MF_0100918, 1, (STRLEN(?targetMotifMatchCigarP0A6V5MF_0100918) - STRLEN(REPLACE(?targetMotifMatchCigarP0A6V5MF_0100918, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step128), '}'), ''))))) - STRLEN(REPLACE(SUBSTR(?targetMotifMatchCigarP0A6V5MF_0100918, 1, (STRLEN(?targetMotifMatchCigarP0A6V5MF_0100918) - STRLEN(REPLACE(?targetMotifMatchCigarP0A6V5MF_0100918, CONCAT('^(?:[a-z]*(?:[A-Z]|-)){', STR(?step128), '}'), '')))), '[^-]', ''))) AS ?step229) .
    BIND(((?step229 + ?targetMotifMatchRegionMatchBeginPositionMF_0100919) - 1) AS ?thisPositionOn14) .
    BIND(?thisPositionOn14 AS ?thisPositionOn15) .
    BIND(?this AS ?pfs1t30) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn14))) AS ?pfsb12) .
    BIND(URI(CONCAT(STR(?thisSequence), '#position', STR(?thisPositionOn15))) AS ?pfse13) .
    FILTER ((SUBSTR(?thisSequenceValue, ?thisPositionOn14, 1) = 'C')) .
    BIND(URI(CONCAT(STR(?this), '#MF_01009a11')) AS ?annotation11) .
    BIND(?this AS ?pfs10) .
  }
}
""" .

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