214_proteins_starting_with_methionine

rq turtle/ttl

Of reviewed human proteins, how many have a stored sequence starting with methionine (the universal translation start codon), and of those, how many have that initiator methionine later cleaved off post-translationally (up:Initiator_Methionine_Annotation with comment 'Removed') rather than retained in the mature protein

Use at

PREFIX up: <http://purl.uniprot.org/core/>
PREFIX taxon: <http://purl.uniprot.org/taxonomy/>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>

SELECT
  (COUNT(DISTINCT ?protein) AS ?totalReviewedHumanProteins)
  (SUM(IF(?startsWithMet, 1, 0)) AS ?startWithMethionine)
  (SUM(IF(BOUND(?initiatorMetRemoved), 1, 0)) AS ?initiatorMethionineLaterRemoved)
WHERE {
  ?protein a up:Protein ;
    up:organism taxon:9606 ;
    up:reviewed true ;
    up:sequence ?sequence .
  ?sequence rdf:value ?seqValue .
  BIND(STRSTARTS(?seqValue, "M") AS ?startsWithMet)
  OPTIONAL {
    ?protein up:annotation ?initiatorMet .
    ?initiatorMet a up:Initiator_Methionine_Annotation ;
      rdfs:comment "Removed" .
    BIND(true AS ?initiatorMetRemoved)
  }
}
graph TD
classDef projected fill:lightgreen;
classDef literal fill:orange;
classDef iri fill:yellow;
  v5("?initiatorMet")
  v6("?initiatorMetRemoved"):::projected 
  v9("?initiatorMethionineLaterRemoved")
  v1("?protein"):::projected 
  v3("?seqValue")
  v2("?sequence")
  v8("?startWithMethionine")
  v4("?startsWithMet"):::projected 
  v7("?totalReviewedHumanProteins")
  c12(["Removed"]):::literal 
  c4(["taxon:9606"]):::iri 
  c6(["true^^xsd:boolean"]):::literal 
  c10(["up:Initiator_Methionine_Annotation"]):::iri 
  c2(["up:Protein"]):::iri 
  v1 --"a"-->  c2
  v1 --"up:organism"-->  c4
  v1 --"up:reviewed"-->  c6
  v1 --"up:sequence"-->  v2
  v2 --"rdf:value"-->  v3
  bind0[/"starts-with(?seqValue,'M')"/]
  v3 --o bind0
  bind0 --as--o v4
  subgraph optional0["(optional)"]
  style optional0 fill:#bbf,stroke-dasharray: 5 5;
    v1 -."up:annotation".->  v5
    v5 --"a"-->  c10
    v5 --"rdfs:comment"-->  c12
    bind1[/"'true^^xsd:boolean'"/]
    bind1 --as--o v6
  end
  bind5[/"count(?protein)"/]
  v1 --o bind5
  bind5 --as--o v7
  bind6[/"sum(if(?startsWithMet,'1^^xsd:integer','0^^xsd:integer'))"/]
  v4 --o bind6
  bind6 --as--o v8
  bind7[/"sum(if(bound(?initiatorMetRemoved),'1^^xsd:integer','0^^xsd:integer'))"/]
  v6 --o bind7
  bind7 --as--o v9