◀ ▶

191_calcium_dependent_enzymes_with_binding_site: Find reviewed enzymes that both require Ca(2+) as a cofactor and have an annotated calcium-binding site - two distinct annotation types (a stated cofactor requirement vs. an explicit structural binding-site position) corroborating each other for the same ion. Both sides are matched by the actual ChEBI identity of calcium(2+) (CHEBI:29108), not by name text: up:cofactor points directly at the ChEBI IRI, while a binding site's up:ligand is an instance further typed via rdfs:subClassOf to the ChEBI class

PREFIX up: <http://purl.uniprot.org/core/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX CHEBI: <http://purl.obolibrary.org/obo/CHEBI_> SELECT DISTINCT ?protein WHERE { BIND(CHEBI:29108 AS ?calcium) ?protein up:reviewed true ; up:enzyme ?ec ; up:annotation ?cofactor ; up:annotation ?binding . ?cofactor a up:Cofactor_Annotation ; up:cofactor ?calcium . ?binding a up:Binding_Site_Annotation ; up:ligand ?ligand . ?ligand rdfs:subClassOf ?calcium . }Use

192_multifunctional_enzymes: Find reviewed multifunctional (multi-catalytic) enzymes: proteins annotated with more than one distinct EC number via up:enzyme or up:catalyticActivity - real biology (e.g. bifunctional enzymes in a biosynthetic pathway, or moonlighting enzymes), not just an EC-number-format curiosity.

PREFIX up: <http://purl.uniprot.org/core/> SELECT ?protein (COUNT(DISTINCT ?ec) AS ?ecCount) WHERE { ?protein up:reviewed true ; up:enzyme|up:annotation/up:catalyticActivity/up:enzymeClass ?ec . } GROUP BY ?protein HAVING (COUNT(DISTINCT ?ec) > 1)Use

193_book_citation_bibliographic_record: Find the full bibliographic record of a book chapter cited as evidence for a protein annotation: title, authors, editors, publisher, place and pages — distinct from the PubMed-ID-focused journal citation example (#19)

PREFIX up: <http://purl.uniprot.org/core/> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> SELECT ?protein ?citation ?title (GROUP_CONCAT(DISTINCT ?author; separator=", ") AS ?authors) (GROUP_CONCAT(DISTINCT ?editor; separator=", ") AS ?editors) (SAMPLE(?publisher) AS ?onePublisher) (SAMPLE(?place) AS ?onePlace) (SAMPLE(?pages) AS ?onePages) WHERE { ?protein a up:Protein ; up:annotation ?annotation . ?linkToEvidence rdf:object ?annotation ; up:attribution ?attribution . ?attribution up:source ?citation . ?citation a up:Book_Citation ; up:title ?title ; up:author ?author ; up:pages ?pages . OPTIONAL { ?citation up:editor ?editor } OPTIONAL { ?citation up:publisher ?publisher } OPTIONAL { ?citation up:place ?place } } GROUP BY ?protein ?citation ?titleUse

194_citation_erratum_chain: Find publications that have a published erratum/correction, linking the original citation to its corrigendum

PREFIX up: <http://purl.uniprot.org/core/> SELECT ?citation ?title ?erratum ?erratumTitle WHERE { ?citation up:erratum ?erratum ; up:title ?title . ?erratum up:title ?erratumTitle . }Use

195_submission_citation_database: Find proteins backed by a direct-submission citation, and which database (e.g. EMBL/GenBank/DDBJ, PDB) that submission was made to

PREFIX up: <http://purl.uniprot.org/core/> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> SELECT DISTINCT ?protein ?citation ?title ?database ?date WHERE { ?protein a up:Protein ; up:annotation ?annotation . ?linkToEvidence rdf:object ?annotation ; up:attribution ?attribution . ?attribution up:source ?citation . ?citation a up:Submission_Citation ; up:title ?title ; up:submittedTo ?database ; up:date ?date . }Use

196_proteome_related_by_similarity_score: Find the most closely related proteomes and the similarity score behind that relation. The score is not attached directly to the up:relatedProteome triple but to its RDF reification (rdf:Statement with matching rdf:subject/rdf:predicate/rdf:object)

PREFIX up: <http://purl.uniprot.org/core/> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> SELECT ?proteome ?related ?score WHERE { ?proteome up:relatedProteome ?related . ?statement a rdf:Statement ; rdf:subject ?proteome ; rdf:predicate up:relatedProteome ; rdf:object ?related ; up:relatedProteomeSimilarityScore ?score . } ORDER BY DESC(?score)Use

197_proteome_panproteome_taxon: Given a strain-level proteome, find the taxon of the pan-proteome (species/strain group) it belongs to. up:panproteomeTaxon points directly at the Taxon

PREFIX up: <http://purl.uniprot.org/core/> SELECT ?proteome ?organismName ?panproteomeTaxon ?panproteomeTaxonName WHERE { ?proteome up:organism ?organism ; up:panproteomeTaxon ?panproteomeTaxon . ?organism up:scientificName ?organismName . ?panproteomeTaxon up:scientificName ?panproteomeTaxonName . }Use

198_sequence_integrity_metadata: For reviewed human proteins, get the mass and MD5 checksum recorded on the canonical sequence together with the sequence length recorded on the corresponding UniParc entry — the kind of 'does this sequence match what I have locally' check downstream tooling actually runs

PREFIX up: <http://purl.uniprot.org/core/> PREFIX taxon: <http://purl.uniprot.org/taxonomy/> SELECT ?protein ?mass ?md5Checksum ?length WHERE { ?protein a up:Protein ; up:organism taxon:9606 ; up:reviewed true ; up:sequence ?sequence . ?sequence up:mass ?mass ; up:md5Checksum ?md5Checksum . ?uniparc up:sequenceFor ?protein ; up:length ?length . }Use

199_cds_sequence_discrepancy_note: Find a protein's cross-referenced CDS/nucleotide entry that disagrees with the reviewed Swiss-Prot sequence, together with the curator's note on why (e.g. different initiation, sequence problems, frameshift) — real curation-quality content, distinct from modeling detail

PREFIX up: <http://purl.uniprot.org/core/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT ?protein ?nucleotideEntry ?note WHERE { ?protein a up:Protein ; up:reviewed true ; rdfs:seeAlso ?nucleotideEntry . ?nucleotideEntry a up:Nucleotide_Resource ; up:sequenceDiscrepancy ?discrepancy . ?discrepancy rdfs:comment ?note . }Use

200_protein_conflicting_external_sequence: Find a protein's conflicting sequence: an alternative translation from a nucleotide entry that another group submitted, which disagrees with UniProt's own reviewed sequence for the same protein

PREFIX up: <http://purl.uniprot.org/core/> SELECT ?protein ?externalSequence ?translatedFrom WHERE { ?protein a up:Protein ; up:conflictingSequence ?externalSequence . ?externalSequence a up:External_Sequence ; up:translatedFrom ?translatedFrom . }Use

201_isoform_modified_sequence_basis: Find a protein's modified (spliced) isoform sequence, the canonical sequence it is based on, and the alternative-splicing event annotation describing the difference between them

PREFIX up: <http://purl.uniprot.org/core/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT ?protein ?modifiedSequence ?canonicalSequence ?modification ?description WHERE { ?protein a up:Protein ; up:sequence ?modifiedSequence . ?modifiedSequence a up:Modified_Sequence ; up:basedOn ?canonicalSequence ; up:modification ?modification . ?modification rdfs:comment ?description . }Use

202_uniparc_sequence_cluster_membership: Find which UniRef clusters a specific sequence (identified by its UniParc entry) is a member of, using up:memberOf on the sequence itself. Distinct from the existing UniRef common-taxon example (#162), which starts from the cluster and asks for its up:member sequences — this starts from the sequence and asks which clusters it belongs to

PREFIX up: <http://purl.uniprot.org/core/> SELECT ?uniparc ?cluster WHERE { ?uniparc up:sequenceFor <http://purl.uniprot.org/uniprot/P04637> ; up:memberOf ?cluster . }Use

203_cross_reference_url_reconstruction: For proteins cross-referenced to the AbasyAtlas database, reconstruct a working link to the external record by substituting the cross-reference's own identifier into that database's up:urlTemplate — exactly the kind of thing external tooling needs and currently has to hardcode per-database

PREFIX up: <http://purl.uniprot.org/core/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT ?protein ?xref ?identifier ?urlTemplate ?constructedUrl WHERE { BIND(<http://purl.uniprot.org/database/AbasyAtlas> AS ?database) ?database up:linkIsExplicit true ; up:urlTemplate ?urlTemplate . ?protein a up:Protein ; rdfs:seeAlso ?xref . ?xref up:database ?database . BIND(REPLACE(STR(?xref), "^.*/", "") AS ?identifier) BIND(IRI(REPLACE(?urlTemplate, "%u", ?identifier)) AS ?constructedUrl) }Use

204_taxon_name_variants: Find taxa with recorded name variants beyond their primary scientific name: a taxonomic synonym (an earlier or alternative Latin name for the same taxon) and other recorded name forms such as author citations or authority strings

PREFIX up: <http://purl.uniprot.org/core/> SELECT ?taxon ?name (GROUP_CONCAT(DISTINCT ?syn; separator="; ") AS ?synonyms) (GROUP_CONCAT(DISTINCT ?other; separator="; ") AS ?otherNames) WHERE { ?taxon up:scientificName ?name . OPTIONAL { ?taxon up:synonym ?syn } OPTIONAL { ?taxon up:otherName ?other } FILTER(BOUND(?syn) || BOUND(?other)) } GROUP BY ?taxon ?nameUse

205_taxon_abbreviated_lineage_flag: For human (taxon 9606), list every ancestor taxon in its lineage and whether that taxon is shown in UniProt's abbreviated lineage view (up:partOfLineage), as opposed to the full, non-abbreviated set of ancestors. Pairs with #183: since UniProt's taxonomy is pre-flattened, a single-hop rdfs:subClassOf already reaches every ancestor at any depth

PREFIX up: <http://purl.uniprot.org/core/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX taxon: <http://purl.uniprot.org/taxonomy/> SELECT ?ancestor ?ancestorName ?partOfLineage WHERE { taxon:9606 rdfs:subClassOf ?ancestor . ?ancestor up:scientificName ?ancestorName . OPTIONAL { ?ancestor up:partOfLineage ?partOfLineage } } ORDER BY DESC(?partOfLineage)Use

206_alternative_name_kinds: Find proteins with a name of a specific, distinct naming convention beyond the ordinary recommended/alternative name pair: an allergen name (with the allergen nomenclature this comes from), a CD antigen name (HCDM nomenclature, e.g. for cell-surface markers), or an INN (international nonproprietary name, the standard name for a pharmaceutical substance such as a therapeutic antibody)

PREFIX up: <http://purl.uniprot.org/core/> SELECT ?protein ?kind ?name WHERE { ?protein up:alternativeName ?altName . { ?altName up:allergenName ?name . BIND("allergen" AS ?kind) } UNION { ?altName up:cdAntigenName ?name . BIND("CD antigen" AS ?kind) } UNION { ?altName up:internationalNonproprietaryName ?name . BIND("INN" AS ?kind) } }Use

207_catalytic_activity_physiological_reaction: Find the physiological reaction (the direction/reaction an enzyme actually performs in vivo) associated with a catalytic activity annotation, using up:catalyzedPhysiologicalReaction, distinct from the general reaction the enzyme is capable of catalyzing (up:catalyzedReaction)

PREFIX up: <http://purl.uniprot.org/core/> SELECT ?protein ?activity ?physReaction WHERE { ?protein a up:Protein ; up:annotation ?activity . ?activity a up:Catalytic_Activity_Annotation ; up:catalyzedPhysiologicalReaction ?physReaction . }Use

208_absorption_maximum_and_certainty: Find a protein's reported absorption maximum wavelength (up:maximum, in nm) together with up:certain, a qualifier flagging whether that reported value is certain or approximate

PREFIX up: <http://purl.uniprot.org/core/> SELECT ?protein ?maxWavelength ?certain WHERE { ?protein a up:Protein ; up:annotation ?annotation . ?annotation a up:Absorption_Annotation ; up:maximum ?maxWavelength . OPTIONAL { ?annotation up:certain ?certain } }Use

209_xenologous_interaction: Find protein-protein interactions flagged as xenologous (up:xeno), i.e. between molecules from different species, such as a host protein interacting with a pathogen protein — as opposed to an interaction between proteins of the same organism

PREFIX up: <http://purl.uniprot.org/core/> SELECT ?protein ?interaction ?xeno WHERE { ?protein a up:Protein ; up:interaction ?interaction . ?interaction a up:Non_Self_Interaction ; up:xeno ?xeno . }Use

210_mass_spectrometry_measured_value: Find a protein's mass spectrometry annotation with its measured mass (up:measuredValue) and, where recorded, the measurement's error margin (up:measuredError)

PREFIX up: <http://purl.uniprot.org/core/> SELECT ?protein ?annotation ?measuredValue ?measuredError WHERE { ?protein a up:Protein ; up:annotation ?annotation . ?annotation a up:Mass_Spectrometry_Annotation ; up:measuredValue ?measuredValue . OPTIONAL { ?annotation up:measuredError ?measuredError } }Use

211_structure_resolution: Find the highest-resolution (lowest Angstrom value) experimentally determined structures cross-referenced from reviewed proteins, using up:resolution recorded on the PDB structure resource

PREFIX up: <http://purl.uniprot.org/core/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT ?protein ?structure ?resolution WHERE { ?protein a up:Protein ; up:reviewed true ; rdfs:seeAlso ?structure . ?structure a up:Structure_Resource ; up:resolution ?resolution . } ORDER BY ?resolutionUse

212_enzyme_classification_replaced: Find EC (enzyme classification) numbers that have been replaced by a new EC number following reclassification, together with the new number's name. The old number itself no longer carries a name once replaced

PREFIX up: <http://purl.uniprot.org/core/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> SELECT ?oldEc ?newEc ?newName WHERE { ?oldEc up:replacedBy ?newEc . ?newEc skos:prefLabel ?newName . }Use

213_protein_isolated_from_tissue: Find the tissue a protein was originally found to be expressed in from (up:isolatedFrom), distinct from its usual organism/subcellular-location annotations — the object is either a shared Tissue resource or a locally-defined (entry specific) tissue label

PREFIX up: <http://purl.uniprot.org/core/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> SELECT ?protein ?tissue ?tissueLabel WHERE { ?protein a up:Protein ; up:isolatedFrom ?tissue . ?tissue a up:Tissue . # A shared tissue resource carries a skos:prefLabel; a protein-local # tissue fragment (minted when no shared resource exists) carries an # rdfs:label instead. OPTIONAL { ?tissue skos:prefLabel ?tissueLabel } OPTIONAL { ?tissue rdfs:label ?tissueLabel } }Use

214_proteins_starting_with_methionine: 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

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) } }Use

215_human_proteins_with_solved_structure: Count how many reviewed human proteins have at least one experimentally determined 3D structure cross-referenced from a PDB entry

PREFIX up: <http://purl.uniprot.org/core/> PREFIX taxon: <http://purl.uniprot.org/taxonomy/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT (COUNT(DISTINCT ?protein) AS ?proteinsWithStructure) WHERE { ?protein a up:Protein ; up:organism taxon:9606 ; up:reviewed true ; rdfs:seeAlso ?structure . ?structure a up:Structure_Resource ; up:database <http://purl.uniprot.org/database/PDB> . }Use

216_human_proteins_by_existence_evidence: Break down reviewed human proteins by their protein-existence evidence level (up:existence): how many are 'very well characterized' with direct evidence at the protein level, as opposed to only evidence at the transcript level, inferred from homology, predicted, or uncertain

PREFIX up: <http://purl.uniprot.org/core/> PREFIX taxon: <http://purl.uniprot.org/taxonomy/> SELECT ?existence (COUNT(*) AS ?proteinCount) WHERE { ?protein a up:Protein ; up:organism taxon:9606 ; up:reviewed true ; up:existence ?existence . } GROUP BY ?existence ORDER BY DESC(?proteinCount)Use
◀ ▶