Source code for orm.perturbation

import sqlalchemy as sql
from sqlalchemy.orm import (
    Mapped,
    mapped_column,
    relationship,
)

from app.model.orm.orm_base import OrmBase


[docs] class Perturbation(OrmBase):
[docs] __tablename__ = 'Perturbations'
[docs] id: Mapped[int] = mapped_column(primary_key=True)
[docs] description: Mapped[str] = mapped_column(sql.String)
[docs] studyId: Mapped[str] = mapped_column(sql.ForeignKey('Studies.studyId'), nullable=False)
[docs] study: Mapped['Study'] = relationship(back_populates='perturbations')
[docs] experimentId: Mapped[int] = mapped_column(sql.ForeignKey('Experiments.id'), nullable=False)
[docs] experiment: Mapped['Experiment'] = relationship(back_populates='perturbations')
[docs] startTimepoint: Mapped[int] = mapped_column(sql.Integer, nullable=False)
[docs] removedCompartmentId: Mapped[int] = mapped_column(sql.ForeignKey('Compartments.id'))
[docs] addedCompartmentId: Mapped[int] = mapped_column(sql.ForeignKey('Compartments.id'))
[docs] oldCommunityId: Mapped[int] = mapped_column(sql.ForeignKey('Communities.id'))
[docs] newCommunityId: Mapped[int] = mapped_column(sql.ForeignKey('Communities.id'))