Class: SampleComponent
One constituent of one sample: a protein, a nucleic acid, a small molecule, a virus particle, an organelle, a cell, a membrane mimetic. The inventory of what a sample contains, one row per kind of thing in it, so that a sample can hold any mixture and each thing in it can be named, given a role, counted and pointed at. SampleComponentInteraction rows say which components are expected or observed to act on which. Sample.sample_type remains the one-word summary; this table is the detail behind it.
classDiagram
class SampleComponent
click SampleComponent href "../SampleComponent/"
NamedThing <|-- SampleComponent
click NamedThing href "../NamedThing/"
SampleComponent : component_type
SampleComponent --> "1" SampleComponentTypeEnum : component_type
click SampleComponentTypeEnum href "../SampleComponentTypeEnum/"
SampleComponent : concentration
SampleComponent --> "0..1" QuantityValue : concentration
click QuantityValue href "../QuantityValue/"
SampleComponent : copy_number
SampleComponent : description
SampleComponent : id
SampleComponent : nucleic_acid_id
SampleComponent --> "0..1" NucleicAcid : nucleic_acid_id
click NucleicAcid href "../NucleicAcid/"
SampleComponent : ontology_term
SampleComponent --> "0..1" OntologyTerm : ontology_term
click OntologyTerm href "../OntologyTerm/"
SampleComponent : protein_id
SampleComponent --> "0..1" Protein : protein_id
click Protein href "../Protein/"
SampleComponent : role
SampleComponent --> "0..1" SampleComponentRoleEnum : role
click SampleComponentRoleEnum href "../SampleComponentRoleEnum/"
SampleComponent : sample_id
SampleComponent --> "1" Sample : sample_id
click Sample href "../Sample/"
SampleComponent : small_molecule_id
SampleComponent --> "0..1" SmallMolecule : small_molecule_id
click SmallMolecule href "../SmallMolecule/"
SampleComponent : title
Inheritance
- NamedThing
- SampleComponent
Slots
| Name | Cardinality and Range | Description | Inheritance |
|---|---|---|---|
| sample_id | 1 Sample |
The sample this component is part of | direct |
| component_type | 1 SampleComponentTypeEnum |
What kind of thing this component is | direct |
| protein_id | 0..1 Protein |
The Protein record, where component_type is protein | direct |
| nucleic_acid_id | 0..1 NucleicAcid |
The NucleicAcid record, where component_type is nucleic_acid | direct |
| small_molecule_id | 0..1 SmallMolecule |
The SmallMolecule record, where component_type is small_molecule | direct |
| ontology_term | 0..1 OntologyTerm |
Ontology term naming a component that has no entity table: the NCBI Taxonomy ... | direct |
| role | 0..1 SampleComponentRoleEnum |
Part this component plays in the sample | direct |
| copy_number | 0..1 Integer |
Copies of this component per assembly in the sample (4 for the subunits of a ... | direct |
| concentration | 0..1 QuantityValue |
Concentration of this component in the sample as prepared (1 mM ATP, 0 | direct |
| id | 1 Uriorcurie |
Globally unique identifier as an IRI or CURIE for machine processing and exte... | NamedThing |
| title | 0..1 String |
A human-readable name or title for this entity | NamedThing |
| description | 0..1 String |
A detailed textual description of this entity | NamedThing |
Usages
| used by | used in | type | used |
|---|---|---|---|
| Dataset | sample_components | range | SampleComponent |
| SampleComponentInteraction | subject_id | range | SampleComponent |
| SampleComponentInteraction | object_id | range | SampleComponent |
Rules
| Rule Applied | Preconditions | Postconditions | Elseconditions |
|---|---|---|---|
| slot_conditions | {'component_type': {'equals_string': 'protein'}} |
{'protein_id': {'required': True}} |
| Rule Applied | Preconditions | Postconditions | Elseconditions |
|---|---|---|---|
| slot_conditions | {'component_type': {'equals_string': 'nucleic_acid'}} |
{'nucleic_acid_id': {'required': True}} |
| Rule Applied | Preconditions | Postconditions | Elseconditions |
|---|---|---|---|
| slot_conditions | {'component_type': {'equals_string': 'small_molecule'}} |
{'small_molecule_id': {'required': True}} |
| Rule Applied | Preconditions | Postconditions | Elseconditions |
|---|---|---|---|
| slot_conditions | {'protein_id': {'value_presence': 'PRESENT'}} |
{'component_type': {'equals_string': 'protein'}} |
| Rule Applied | Preconditions | Postconditions | Elseconditions |
|---|---|---|---|
| slot_conditions | {'nucleic_acid_id': {'value_presence': 'PRESENT'}} |
{'component_type': {'equals_string': 'nucleic_acid'}} |
| Rule Applied | Preconditions | Postconditions | Elseconditions |
|---|---|---|---|
| slot_conditions | {'small_molecule_id': {'value_presence': 'PRESENT'}} |
{'component_type': {'equals_string': 'small_molecule'}} |
Comments
- A component that has an entity record points at it: protein_id for a protein, nucleic_acid_id for a strand, small_molecule_id for a ligand, ion, lipid or detergent. Exactly one of the three is set, and it matches component_type. A component with no entity table - a virus particle, an organelle, a cell, a nanodisc - is named in title and, where an ontology has a term for it, in ontology_term: NCBITaxon for a virus, GO cellular component for an organelle, CL for a cell type, UBERON for a tissue.
- For a protein or nucleic acid the component row is the entry in the inventory and the handle an interaction points at. SampleProteinAssociation and SampleNucleicAcidAssociation, keyed on the same sample and entity, carry the per-preparation detail of the biopolymer: residue range, chain ids, modifications, measured mass, construct. A dataset that records no interactions may carry the associations alone. Where role or copy_number is set on both the component and the association, the two must agree.
Identifier and Mapping Information
Schema Source
- from schema: http://w3id.org/lambda/
Mappings
| Mapping Type | Mapped Value |
|---|---|
| self | lambda:SampleComponent |
| native | lambda:SampleComponent |
| related | IHMCIF:_ihm_struct_assembly_details, mmCIF:_entity |
LinkML Source
Direct
name: SampleComponent
description: 'One constituent of one sample: a protein, a nucleic acid, a small molecule,
a virus particle, an organelle, a cell, a membrane mimetic. The inventory of what
a sample contains, one row per kind of thing in it, so that a sample can hold any
mixture and each thing in it can be named, given a role, counted and pointed at.
SampleComponentInteraction rows say which components are expected or observed to
act on which. Sample.sample_type remains the one-word summary; this table is the
detail behind it.'
comments:
- 'A component that has an entity record points at it: protein_id for a protein, nucleic_acid_id
for a strand, small_molecule_id for a ligand, ion, lipid or detergent. Exactly one
of the three is set, and it matches component_type. A component with no entity table
- a virus particle, an organelle, a cell, a nanodisc - is named in title and, where
an ontology has a term for it, in ontology_term: NCBITaxon for a virus, GO cellular
component for an organelle, CL for a cell type, UBERON for a tissue.'
- 'For a protein or nucleic acid the component row is the entry in the inventory and
the handle an interaction points at. SampleProteinAssociation and SampleNucleicAcidAssociation,
keyed on the same sample and entity, carry the per-preparation detail of the biopolymer:
residue range, chain ids, modifications, measured mass, construct. A dataset that
records no interactions may carry the associations alone. Where role or copy_number
is set on both the component and the association, the two must agree.'
from_schema: http://w3id.org/lambda/
related_mappings:
- IHMCIF:_ihm_struct_assembly_details
- mmCIF:_entity
is_a: NamedThing
attributes:
sample_id:
name: sample_id
description: The sample this component is part of
from_schema: http://w3id.org/lambda/
rank: 1000
domain_of:
- SampleComponent
- SamplePreparation
- StudySampleAssociation
- ExperimentSampleAssociation
- SampleProteinAssociation
- SampleNucleicAcidAssociation
- SampleComponentInteraction
range: Sample
required: true
component_type:
name: component_type
description: What kind of thing this component is
from_schema: http://w3id.org/lambda/
rank: 1000
domain_of:
- SampleComponent
range: SampleComponentTypeEnum
required: true
protein_id:
name: protein_id
description: The Protein record, where component_type is protein
from_schema: http://w3id.org/lambda/
domain_of:
- ProteinConstruct
- SampleComponent
- SampleProteinAssociation
- ProteinAnnotation
- ConformationalEnsemble
range: Protein
nucleic_acid_id:
name: nucleic_acid_id
description: The NucleicAcid record, where component_type is nucleic_acid
from_schema: http://w3id.org/lambda/
rank: 1000
domain_of:
- SampleComponent
- SampleNucleicAcidAssociation
range: NucleicAcid
small_molecule_id:
name: small_molecule_id
description: The SmallMolecule record, where component_type is small_molecule
from_schema: http://w3id.org/lambda/
rank: 1000
domain_of:
- SampleComponent
range: SmallMolecule
ontology_term:
name: ontology_term
description: 'Ontology term naming a component that has no entity table: the NCBI
Taxonomy term for a virus particle (NCBITaxon:11676), the GO cellular component
for an organelle (GO:0005840 for ribosome), the Cell Ontology term for a cell,
the UBERON term for a tissue.'
from_schema: http://w3id.org/lambda/
rank: 1000
domain_of:
- SampleComponent
range: OntologyTerm
role:
name: role
description: Part this component plays in the sample
from_schema: http://w3id.org/lambda/
rank: 1000
domain_of:
- SampleComponent
- StudySampleAssociation
- ExperimentSampleAssociation
- SampleProteinAssociation
- SampleNucleicAcidAssociation
- ExperimentInstrumentAssociation
- StudyPersonAssociation
- ExperimentPersonAssociation
- WorkflowPersonAssociation
- StudyOrganizationAssociation
- PersonOrganizationAssociation
range: SampleComponentRoleEnum
copy_number:
name: copy_number
description: Copies of this component per assembly in the sample (4 for the subunits
of a homotetramer, 2 for two zinc ions per monomer). Omit when unknown rather
than assuming 1.
from_schema: http://w3id.org/lambda/
exact_mappings:
- mmCIF:_entity.pdbx_number_of_molecules
rank: 1000
domain_of:
- SampleComponent
- SampleProteinAssociation
- SampleNucleicAcidAssociation
range: integer
concentration:
name: concentration
description: Concentration of this component in the sample as prepared (1 mM ATP,
0.02 % DDM, 5 mM MgCl2). Sample.concentration is the concentration of the sample
as a whole, usually of its target.
from_schema: http://w3id.org/lambda/
domain_of:
- Sample
- SampleComponent
range: QuantityValue
inlined: true
rules:
- preconditions:
slot_conditions:
component_type:
name: component_type
equals_string: protein
postconditions:
slot_conditions:
protein_id:
name: protein_id
required: true
description: A protein component points at its Protein record
- preconditions:
slot_conditions:
component_type:
name: component_type
equals_string: nucleic_acid
postconditions:
slot_conditions:
nucleic_acid_id:
name: nucleic_acid_id
required: true
description: A nucleic acid component points at its NucleicAcid record
- preconditions:
slot_conditions:
component_type:
name: component_type
equals_string: small_molecule
postconditions:
slot_conditions:
small_molecule_id:
name: small_molecule_id
required: true
description: A small molecule component points at its SmallMolecule record
- preconditions:
slot_conditions:
protein_id:
name: protein_id
value_presence: PRESENT
postconditions:
slot_conditions:
component_type:
name: component_type
equals_string: protein
description: Only a protein component points at a protein record
- preconditions:
slot_conditions:
nucleic_acid_id:
name: nucleic_acid_id
value_presence: PRESENT
postconditions:
slot_conditions:
component_type:
name: component_type
equals_string: nucleic_acid
description: Only a nucleic acid component points at a nucleic acid record
- preconditions:
slot_conditions:
small_molecule_id:
name: small_molecule_id
value_presence: PRESENT
postconditions:
slot_conditions:
component_type:
name: component_type
equals_string: small_molecule
description: Only a small molecule component points at a small molecule record
Induced
name: SampleComponent
description: 'One constituent of one sample: a protein, a nucleic acid, a small molecule,
a virus particle, an organelle, a cell, a membrane mimetic. The inventory of what
a sample contains, one row per kind of thing in it, so that a sample can hold any
mixture and each thing in it can be named, given a role, counted and pointed at.
SampleComponentInteraction rows say which components are expected or observed to
act on which. Sample.sample_type remains the one-word summary; this table is the
detail behind it.'
comments:
- 'A component that has an entity record points at it: protein_id for a protein, nucleic_acid_id
for a strand, small_molecule_id for a ligand, ion, lipid or detergent. Exactly one
of the three is set, and it matches component_type. A component with no entity table
- a virus particle, an organelle, a cell, a nanodisc - is named in title and, where
an ontology has a term for it, in ontology_term: NCBITaxon for a virus, GO cellular
component for an organelle, CL for a cell type, UBERON for a tissue.'
- 'For a protein or nucleic acid the component row is the entry in the inventory and
the handle an interaction points at. SampleProteinAssociation and SampleNucleicAcidAssociation,
keyed on the same sample and entity, carry the per-preparation detail of the biopolymer:
residue range, chain ids, modifications, measured mass, construct. A dataset that
records no interactions may carry the associations alone. Where role or copy_number
is set on both the component and the association, the two must agree.'
from_schema: http://w3id.org/lambda/
related_mappings:
- IHMCIF:_ihm_struct_assembly_details
- mmCIF:_entity
is_a: NamedThing
attributes:
sample_id:
name: sample_id
description: The sample this component is part of
from_schema: http://w3id.org/lambda/
rank: 1000
alias: sample_id
owner: SampleComponent
domain_of:
- SampleComponent
- SamplePreparation
- StudySampleAssociation
- ExperimentSampleAssociation
- SampleProteinAssociation
- SampleNucleicAcidAssociation
- SampleComponentInteraction
range: Sample
required: true
component_type:
name: component_type
description: What kind of thing this component is
from_schema: http://w3id.org/lambda/
rank: 1000
alias: component_type
owner: SampleComponent
domain_of:
- SampleComponent
range: SampleComponentTypeEnum
required: true
protein_id:
name: protein_id
description: The Protein record, where component_type is protein
from_schema: http://w3id.org/lambda/
alias: protein_id
owner: SampleComponent
domain_of:
- ProteinConstruct
- SampleComponent
- SampleProteinAssociation
- ProteinAnnotation
- ConformationalEnsemble
range: Protein
nucleic_acid_id:
name: nucleic_acid_id
description: The NucleicAcid record, where component_type is nucleic_acid
from_schema: http://w3id.org/lambda/
rank: 1000
alias: nucleic_acid_id
owner: SampleComponent
domain_of:
- SampleComponent
- SampleNucleicAcidAssociation
range: NucleicAcid
small_molecule_id:
name: small_molecule_id
description: The SmallMolecule record, where component_type is small_molecule
from_schema: http://w3id.org/lambda/
rank: 1000
alias: small_molecule_id
owner: SampleComponent
domain_of:
- SampleComponent
range: SmallMolecule
ontology_term:
name: ontology_term
description: 'Ontology term naming a component that has no entity table: the NCBI
Taxonomy term for a virus particle (NCBITaxon:11676), the GO cellular component
for an organelle (GO:0005840 for ribosome), the Cell Ontology term for a cell,
the UBERON term for a tissue.'
from_schema: http://w3id.org/lambda/
rank: 1000
alias: ontology_term
owner: SampleComponent
domain_of:
- SampleComponent
range: OntologyTerm
role:
name: role
description: Part this component plays in the sample
from_schema: http://w3id.org/lambda/
rank: 1000
alias: role
owner: SampleComponent
domain_of:
- SampleComponent
- StudySampleAssociation
- ExperimentSampleAssociation
- SampleProteinAssociation
- SampleNucleicAcidAssociation
- ExperimentInstrumentAssociation
- StudyPersonAssociation
- ExperimentPersonAssociation
- WorkflowPersonAssociation
- StudyOrganizationAssociation
- PersonOrganizationAssociation
range: SampleComponentRoleEnum
copy_number:
name: copy_number
description: Copies of this component per assembly in the sample (4 for the subunits
of a homotetramer, 2 for two zinc ions per monomer). Omit when unknown rather
than assuming 1.
from_schema: http://w3id.org/lambda/
exact_mappings:
- mmCIF:_entity.pdbx_number_of_molecules
rank: 1000
alias: copy_number
owner: SampleComponent
domain_of:
- SampleComponent
- SampleProteinAssociation
- SampleNucleicAcidAssociation
range: integer
concentration:
name: concentration
description: Concentration of this component in the sample as prepared (1 mM ATP,
0.02 % DDM, 5 mM MgCl2). Sample.concentration is the concentration of the sample
as a whole, usually of its target.
from_schema: http://w3id.org/lambda/
alias: concentration
owner: SampleComponent
domain_of:
- Sample
- SampleComponent
range: QuantityValue
inlined: true
id:
name: id
description: Globally unique identifier as an IRI or CURIE for machine processing
and external references. Used for linking data across systems and semantic web
integration.
from_schema: http://w3id.org/lambda/
rank: 1000
identifier: true
alias: id
owner: SampleComponent
domain_of:
- NamedThing
- Attribute
range: uriorcurie
required: true
title:
name: title
description: A human-readable name or title for this entity
from_schema: http://w3id.org/lambda/
rank: 1000
slot_uri: dcterms:title
alias: title
owner: SampleComponent
domain_of:
- NamedThing
range: string
description:
name: description
description: A detailed textual description of this entity
from_schema: http://w3id.org/lambda/
rank: 1000
alias: description
owner: SampleComponent
domain_of:
- NamedThing
- AttributeGroup
- SampleComponentInteraction
range: string
rules:
- preconditions:
slot_conditions:
component_type:
name: component_type
equals_string: protein
postconditions:
slot_conditions:
protein_id:
name: protein_id
required: true
description: A protein component points at its Protein record
- preconditions:
slot_conditions:
component_type:
name: component_type
equals_string: nucleic_acid
postconditions:
slot_conditions:
nucleic_acid_id:
name: nucleic_acid_id
required: true
description: A nucleic acid component points at its NucleicAcid record
- preconditions:
slot_conditions:
component_type:
name: component_type
equals_string: small_molecule
postconditions:
slot_conditions:
small_molecule_id:
name: small_molecule_id
required: true
description: A small molecule component points at its SmallMolecule record
- preconditions:
slot_conditions:
protein_id:
name: protein_id
value_presence: PRESENT
postconditions:
slot_conditions:
component_type:
name: component_type
equals_string: protein
description: Only a protein component points at a protein record
- preconditions:
slot_conditions:
nucleic_acid_id:
name: nucleic_acid_id
value_presence: PRESENT
postconditions:
slot_conditions:
component_type:
name: component_type
equals_string: nucleic_acid
description: Only a nucleic acid component points at a nucleic acid record
- preconditions:
slot_conditions:
small_molecule_id:
name: small_molecule_id
value_presence: PRESENT
postconditions:
slot_conditions:
component_type:
name: component_type
equals_string: small_molecule
description: Only a small molecule component points at a small molecule record