orm#

Submodules#

Classes#

Package Contents#

class orm.Bioreplicate[source]#

Bases: app.model.orm.orm_base.OrmBase

__tablename__ = 'Bioreplicates'#
id: sqlalchemy.orm.Mapped[int]#
name: sqlalchemy.orm.Mapped[str]#
position: sqlalchemy.orm.Mapped[str]#
biosampleUrl: sqlalchemy.orm.Mapped[str]#
isControl: sqlalchemy.orm.Mapped[bool]#
isBlank: sqlalchemy.orm.Mapped[bool]#
calculationType: sqlalchemy.orm.Mapped[str]#
studyId: sqlalchemy.orm.Mapped[str]#
study: sqlalchemy.orm.Mapped[Study]#
experimentId: sqlalchemy.orm.Mapped[int]#
experiment: sqlalchemy.orm.Mapped[Experiment]#
measurementContexts: sqlalchemy.orm.Mapped[List[MeasurementContext]]#
measurements: sqlalchemy.orm.Mapped[List[Measurement]]#
static find_for_study(db_session, study_id, name)[source]#
class orm.Community[source]#

Bases: app.model.orm.orm_base.OrmBase

__tablename__ = 'Communities'#
id: sqlalchemy.orm.Mapped[int]#
name: sqlalchemy.orm.Mapped[str]#
studyId: sqlalchemy.orm.Mapped[str]#
study: sqlalchemy.orm.Mapped[Study]#
strainIds: sqlalchemy.orm.Mapped[sqlalchemy.types.JSON]#
experiments: sqlalchemy.orm.Mapped[List[Experiment]]#
get_strains(db_session)[source]#
class orm.Compartment[source]#

Bases: app.model.orm.orm_base.OrmBase

__tablename__ = 'Compartments'#
id: sqlalchemy.orm.Mapped[int]#
name: sqlalchemy.orm.Mapped[str]#
studyId: sqlalchemy.orm.Mapped[str]#
study: sqlalchemy.orm.Mapped[Study]#
volume: sqlalchemy.orm.Mapped[decimal.Decimal]#
pressure: sqlalchemy.orm.Mapped[decimal.Decimal]#
stirringSpeed: sqlalchemy.orm.Mapped[decimal.Decimal]#
stirringMode: sqlalchemy.orm.Mapped[str]#
O2: sqlalchemy.orm.Mapped[decimal.Decimal]#
CO2: sqlalchemy.orm.Mapped[decimal.Decimal]#
H2: sqlalchemy.orm.Mapped[decimal.Decimal]#
N2: sqlalchemy.orm.Mapped[decimal.Decimal]#
inoculumConcentration: sqlalchemy.orm.Mapped[decimal.Decimal]#
inoculumVolume: sqlalchemy.orm.Mapped[decimal.Decimal]#
initialPh: sqlalchemy.orm.Mapped[decimal.Decimal]#
initialTemperature: sqlalchemy.orm.Mapped[decimal.Decimal]#
mediumName: sqlalchemy.orm.Mapped[str]#
mediumUrl: sqlalchemy.orm.Mapped[str]#
experimentCompartments: sqlalchemy.orm.Mapped[List[ExperimentCompartment]]#
experiments: sqlalchemy.orm.Mapped[List[Experiment]]#
measurementContexts: sqlalchemy.orm.Mapped[List[MeasurementContext]]#
measurements: sqlalchemy.orm.Mapped[List[Measurement]]#
property properties_description#
class orm.ExcelFile[source]#

Bases: app.model.orm.orm_base.OrmBase

__tablename__ = 'ExcelFiles'#
id: sqlalchemy.orm.Mapped[int]#
filename: sqlalchemy.orm.Mapped[str]#
size: sqlalchemy.orm.Mapped[int]#
content: sqlalchemy.orm.Mapped[bytes]#
createdAt: sqlalchemy.orm.Mapped[datetime.datetime]#
classmethod from_upload(uploaded_file)[source]#
property humanized_size#
extract_sheets()[source]#
class orm.Experiment[source]#

Bases: app.model.orm.orm_base.OrmBase

__tablename__ = 'Experiments'#
id: sqlalchemy.orm.Mapped[int]#
publicId: sqlalchemy.orm.Mapped[str]#
name: sqlalchemy.orm.Mapped[str]#
description: sqlalchemy.orm.Mapped[str]#
bioreplicates: sqlalchemy.orm.Mapped[List[Bioreplicate]]#
communityId: sqlalchemy.orm.Mapped[int]#
community: sqlalchemy.orm.Mapped[Community]#
studyId: sqlalchemy.orm.Mapped[str]#
study: sqlalchemy.orm.Mapped[Study]#
cultivationMode: sqlalchemy.orm.Mapped[str]#
experimentCompartments: sqlalchemy.orm.Mapped[List[ExperimentCompartment]]#
compartments: sqlalchemy.orm.Mapped[List[Compartment]]#
perturbations: sqlalchemy.orm.Mapped[List[Perturbation]]#
measurementContexts: sqlalchemy.orm.Mapped[List[MeasurementContext]]#
static generate_public_id(db_session)[source]#
class orm.ExperimentCompartment[source]#

Bases: app.model.orm.orm_base.OrmBase

__tablename__ = 'ExperimentCompartments'#
id: sqlalchemy.orm.Mapped[int]#
studyId: sqlalchemy.orm.Mapped[str]#
experimentId: sqlalchemy.orm.Mapped[int]#
compartmentId: sqlalchemy.orm.Mapped[int]#
study: sqlalchemy.orm.Mapped[Study]#
experiment: sqlalchemy.orm.Mapped[Experiment]#
compartment: sqlalchemy.orm.Mapped[Compartment]#
class orm.Measurement[source]#

Bases: app.model.orm.orm_base.OrmBase

__tablename__ = 'Measurements'#
context_relationship#
id: sqlalchemy.orm.Mapped[int]#
studyId: sqlalchemy.orm.Mapped[str]#
study: sqlalchemy.orm.Mapped[Study]#
contextId: sqlalchemy.orm.Mapped[int]#
context: sqlalchemy.orm.Mapped[MeasurementContext]#
bioreplicate: sqlalchemy.orm.Mapped[Bioreplicate]#
compartment: sqlalchemy.orm.Mapped[Compartment]#
technique: sqlalchemy.orm.Mapped[MeasurementTechnique]#
timeInSeconds: sqlalchemy.orm.Mapped[int]#
value: sqlalchemy.orm.Mapped[decimal.Decimal]#
std: sqlalchemy.orm.Mapped[decimal.Decimal]#
timeInHours()[source]#
subjectId()[source]#
subjectType()[source]#
classmethod insert_from_csv_string(db_session, study, csv_string, subject_type)[source]#
class orm.MeasurementContext[source]#

Bases: app.model.orm.orm_base.OrmBase

__tablename__ = 'MeasurementContexts'#
id: sqlalchemy.orm.Mapped[int]#
bioreplicateId: sqlalchemy.orm.Mapped[int]#
bioreplicate: sqlalchemy.orm.Mapped[Bioreplicate]#
compartmentId: sqlalchemy.orm.Mapped[int]#
compartment: sqlalchemy.orm.Mapped[Compartment]#
studyId: sqlalchemy.orm.Mapped[str]#
study: sqlalchemy.orm.Mapped[Study]#
techniqueId: sqlalchemy.orm.Mapped[int]#
technique: sqlalchemy.orm.Mapped[MeasurementTechnique]#
measurements: sqlalchemy.orm.Mapped[List[Measurement]]#
modelingResults: sqlalchemy.orm.Mapped[List[ModelingResult]]#
calculationType: sqlalchemy.orm.Mapped[str]#
subjectId: sqlalchemy.orm.Mapped[str]#
subjectType: sqlalchemy.orm.Mapped[str]#
get_df(db_session)[source]#
get_chart_label(db_session)[source]#
get_subject(db_session)[source]#
class orm.MeasurementTechnique[source]#

Bases: app.model.orm.orm_base.OrmBase

__tablename__ = 'MeasurementTechniques'#
id: sqlalchemy.orm.Mapped[int]#
type: sqlalchemy.orm.Mapped[str]#
units: sqlalchemy.orm.Mapped[str]#
subjectType: sqlalchemy.orm.Mapped[str]#
description: sqlalchemy.orm.Mapped[str]#
includeStd: sqlalchemy.orm.Mapped[bool]#
metaboliteIds: sqlalchemy.orm.Mapped[sqlalchemy.JSON]#
strainIds: sqlalchemy.orm.Mapped[sqlalchemy.JSON]#
studyUniqueID: sqlalchemy.orm.Mapped[str]#
study: sqlalchemy.orm.Mapped[Study]#
createdAt: sqlalchemy.orm.Mapped[datetime.datetime]#
updatedAt: sqlalchemy.orm.Mapped[datetime.datetime]#
measurementContexts: sqlalchemy.orm.Mapped[List[MeasurementContext]]#
measurements: sqlalchemy.orm.Mapped[List[Measurement]]#
__lt__(other)[source]#
property short_name#
property long_name#
property long_name_with_subject_type#
property subject_short_name#
property is_growth#
get_bioreplicates(db_session)[source]#
get_subjects_for_bioreplicate(db_session, bioreplicate)[source]#
csv_column_name(subject_name=None)[source]#
get_grouped_contexts()[source]#
__str__()[source]#
class orm.Metabolite[source]#

Bases: app.model.orm.orm_base.OrmBase

__tablename__ = 'Metabolites'#
id: sqlalchemy.orm.Mapped[int]#
chebiId: sqlalchemy.orm.Mapped[str]#
name: sqlalchemy.orm.Mapped[str]#
averageMass: sqlalchemy.orm.Mapped[decimal.Decimal]#
studyMetabolites: sqlalchemy.orm.Mapped[List[StudyMetabolite]]#
__lt__(other)[source]#
static search_by_name(db_conn, term, page=1, per_page=10)[source]#
class orm.ModelingRequest[source]#

Bases: app.model.orm.orm_base.OrmBase

__tablename__ = 'ModelingRequests'#
id: sqlalchemy.orm.Mapped[int]#
type: sqlalchemy.orm.Mapped[str]#
studyId: sqlalchemy.orm.Mapped[str]#
study: sqlalchemy.orm.Mapped[Study]#
jobUuid: sqlalchemy.orm.Mapped[str]#
state: sqlalchemy.orm.Mapped[str]#
error: sqlalchemy.orm.Mapped[str]#
createdAt: sqlalchemy.orm.Mapped[datetime.datetime]#
updatedAt: sqlalchemy.orm.Mapped[datetime.datetime]#
results: sqlalchemy.orm.Mapped[List[ModelingResult]]#
_validate_type(key, value)[source]#
_validate_state(key, value)[source]#
property long_name#
class orm.ModelingResult[source]#

Bases: app.model.orm.orm_base.OrmBase

__tablename__ = 'ModelingResults'#
id: sqlalchemy.orm.Mapped[int]#
type: sqlalchemy.orm.Mapped[str]#
requestId: sqlalchemy.orm.Mapped[int]#
request: sqlalchemy.orm.Mapped[ModelingRequest]#
measurementContextId: sqlalchemy.orm.Mapped[int]#
measurementContext: sqlalchemy.orm.Mapped[MeasurementContext]#
inputs: sqlalchemy.orm.Mapped[sqlalchemy.JSON]#
fit: sqlalchemy.orm.Mapped[sqlalchemy.JSON]#
coefficients: sqlalchemy.orm.Mapped[sqlalchemy.JSON]#
state: sqlalchemy.orm.Mapped[str]#
error: sqlalchemy.orm.Mapped[str]#
rSummary: sqlalchemy.orm.Mapped[str]#
createdAt: sqlalchemy.orm.Mapped[datetime.datetime]#
updatedAt: sqlalchemy.orm.Mapped[datetime.datetime]#
calculatedAt: sqlalchemy.orm.Mapped[datetime.datetime]#
classmethod empty_coefficients(model_type)[source]#
classmethod empty_fit()[source]#
classmethod empty_inputs(model_type)[source]#
property model_name#
_validate_type(key, value)[source]#
_validate_state(key, value)[source]#
generate_chart_df(measurements_df)[source]#
_predict(timepoints)[source]#
_predict_easy_linear(time)[source]#
_predict_logistic(time)[source]#
_predict_baranyi_roberts(time)[source]#
class orm.Perturbation[source]#

Bases: app.model.orm.orm_base.OrmBase

__tablename__ = 'Perturbations'#
id: sqlalchemy.orm.Mapped[int]#
description: sqlalchemy.orm.Mapped[str]#
studyId: sqlalchemy.orm.Mapped[str]#
study: sqlalchemy.orm.Mapped[Study]#
experimentId: sqlalchemy.orm.Mapped[int]#
experiment: sqlalchemy.orm.Mapped[Experiment]#
startTimepoint: sqlalchemy.orm.Mapped[int]#
removedCompartmentId: sqlalchemy.orm.Mapped[int]#
addedCompartmentId: sqlalchemy.orm.Mapped[int]#
oldCommunityId: sqlalchemy.orm.Mapped[int]#
newCommunityId: sqlalchemy.orm.Mapped[int]#
class orm.Project[source]#

Bases: app.model.orm.orm_base.OrmBase

__tablename__ = 'Projects'#
projectUniqueID: sqlalchemy.orm.Mapped[str]#
ownerUniqueID: sqlalchemy.orm.Mapped[str]#
owner: sqlalchemy.orm.Mapped[User]#
projectId: sqlalchemy.orm.Mapped[str]#
projectName: sqlalchemy.orm.Mapped[str]#
projectDescription: sqlalchemy.orm.Mapped[str]#
projectUsers: sqlalchemy.orm.Mapped[List[ProjectUser]]#
studies: sqlalchemy.orm.Mapped[List[Study]]#
publicId()[source]#
uuid()[source]#
name()[source]#
property studyUuids#
property managerUuids#
static generate_public_id(db_session)[source]#
class orm.ProjectUser[source]#

Bases: app.model.orm.orm_base.OrmBase

__tablename__ = 'ProjectUsers'#
id: sqlalchemy.orm.Mapped[int]#
projectUniqueID: sqlalchemy.orm.Mapped[str]#
userUniqueID: sqlalchemy.orm.Mapped[str]#
project: sqlalchemy.orm.Mapped[Project]#
user: sqlalchemy.orm.Mapped[User]#
class orm.Strain[source]#

Bases: app.model.orm.orm_base.OrmBase

__tablename__ = 'Strains'#
id: sqlalchemy.orm.Mapped[int]#
name: sqlalchemy.orm.Mapped[str]#
description: sqlalchemy.orm.Mapped[str]#
defined: sqlalchemy.orm.Mapped[bool]#
NCBId: sqlalchemy.orm.Mapped[int]#
studyId: sqlalchemy.orm.Mapped[str]#
study: sqlalchemy.orm.Mapped[Study]#
userUniqueID: sqlalchemy.orm.Mapped[str]#
__lt__(other)[source]#
static find_for_study(db_conn, study_id, strain_name)[source]#
class orm.Study[source]#

Bases: app.model.orm.orm_base.OrmBase

__tablename__ = 'Studies'#
owner_relationship#
studyUniqueID: sqlalchemy.orm.Mapped[str]#
ownerUniqueID: sqlalchemy.orm.Mapped[str]#
owner: sqlalchemy.orm.Mapped[User]#
studyId: sqlalchemy.orm.Mapped[str]#
studyName: sqlalchemy.orm.Mapped[str]#
studyDescription: sqlalchemy.orm.Mapped[str]#
studyURL: sqlalchemy.orm.Mapped[str]#
timeUnits: sqlalchemy.orm.Mapped[str]#
projectUniqueID: sqlalchemy.orm.Mapped[str]#
project: sqlalchemy.orm.Mapped[Project]#
createdAt: sqlalchemy.orm.Mapped[datetime.datetime]#
updatedAt: sqlalchemy.orm.Mapped[datetime.datetime]#
publishableAt: sqlalchemy.orm.Mapped[datetime.datetime]#
publishedAt: sqlalchemy.orm.Mapped[datetime.datetime]#
embargoExpiresAt: sqlalchemy.orm.Mapped[datetime.datetime]#
studyUsers: sqlalchemy.orm.Mapped[List[StudyUser]]#
experiments: sqlalchemy.orm.Mapped[List[Experiment]]#
strains: sqlalchemy.orm.Mapped[List[Strain]]#
communities: sqlalchemy.orm.Mapped[List[Community]]#
compartments: sqlalchemy.orm.Mapped[List[Compartment]]#
measurementTechniques: sqlalchemy.orm.Mapped[List[MeasurementTechnique]]#
measurementContexts: sqlalchemy.orm.Mapped[List[MeasurementContext]]#
modelingRequests: sqlalchemy.orm.Mapped[List[ModelingRequest]]#
experimentCompartments: sqlalchemy.orm.Mapped[List[ExperimentCompartment]]#
bioreplicates: sqlalchemy.orm.Mapped[List[Bioreplicate]]#
perturbations: sqlalchemy.orm.Mapped[List[Perturbation]]#
measurements: sqlalchemy.orm.Mapped[List[Measurement]]#
modelingResults: sqlalchemy.orm.Mapped[List[ModelingResult]]#
studyMetabolites: sqlalchemy.orm.Mapped[List[StudyMetabolite]]#
metabolites: sqlalchemy.orm.Mapped[List[Metabolite]]#
uuid()[source]#
publicId()[source]#
name()[source]#
description()[source]#
isPublished()[source]#
isPublishable()[source]#
visible_to_user(user)[source]#
manageable_by_user(user)[source]#
find_last_submission(db_session)[source]#
property managerUuids#
publish()[source]#
static generate_public_id(db_session)[source]#
class orm.StudyMetabolite[source]#

Bases: app.model.orm.orm_base.OrmBase

__tablename__ = 'StudyMetabolites'#
id: sqlalchemy.orm.Mapped[int]#
studyId: sqlalchemy.orm.Mapped[str]#
chebi_id: sqlalchemy.orm.Mapped[str]#
study: sqlalchemy.orm.Mapped[Study]#
metabolite: sqlalchemy.orm.Mapped[Metabolite]#
class orm.StudyUser[source]#

Bases: app.model.orm.orm_base.OrmBase

__tablename__ = 'StudyUsers'#
id: sqlalchemy.orm.Mapped[int]#
studyUniqueID: sqlalchemy.orm.Mapped[str]#
userUniqueID: sqlalchemy.orm.Mapped[str]#
study: sqlalchemy.orm.Mapped[Study]#
user: sqlalchemy.orm.Mapped[User]#
class orm.Submission[source]#

Bases: app.model.orm.orm_base.OrmBase

__tablename__ = 'Submissions'#
id: sqlalchemy.orm.Mapped[int]#
projectUniqueID: sqlalchemy.orm.Mapped[str]#
studyUniqueID: sqlalchemy.orm.Mapped[str]#
project: sqlalchemy.orm.Mapped[Project | None]#
study: sqlalchemy.orm.Mapped[Study | None]#
userUniqueID: sqlalchemy.orm.Mapped[str]#
user: sqlalchemy.orm.Mapped[User]#
studyDesign: sqlalchemy.orm.Mapped[sqlalchemy.types.JSON]#
dataFileId: sqlalchemy.orm.Mapped[int]#
dataFile: sqlalchemy.orm.Mapped[ExcelFile | None]#
createdAt: sqlalchemy.orm.Mapped[datetime.datetime]#
updatedAt: sqlalchemy.orm.Mapped[datetime.datetime]#
property completed_step_count#
build_techniques()[source]#
class orm.Taxon[source]#

Bases: app.model.orm.orm_base.OrmBase

__tablename__ = 'Taxa'#
id: sqlalchemy.orm.Mapped[int]#
ncbiId: sqlalchemy.orm.Mapped[str]#
name: sqlalchemy.orm.Mapped[str]#
property short_name#
static search_by_name(db_conn, term, page=1, per_page=10)[source]#
class orm.User[source]#

Bases: app.model.orm.orm_base.OrmBase

__tablename__ = 'Users'#
owner_relationship#
id: sqlalchemy.orm.Mapped[int]#
uuid: sqlalchemy.orm.Mapped[str]#
orcidId: sqlalchemy.orm.Mapped[str]#
orcidToken: sqlalchemy.orm.Mapped[str]#
name: sqlalchemy.orm.Mapped[str]#
isAdmin: sqlalchemy.orm.Mapped[bool]#
createdAt: sqlalchemy.orm.Mapped[datetime.datetime]#
updatedAt: sqlalchemy.orm.Mapped[datetime.datetime]#
lastLoginAt: sqlalchemy.orm.Mapped[datetime.datetime]#
ownedProjects: sqlalchemy.orm.Mapped[List[Project]]#
ownedStudies: sqlalchemy.orm.Mapped[List[Study]]#
submissions: sqlalchemy.orm.Mapped[List[Submission]]#
studyUsers: sqlalchemy.orm.Mapped[List[StudyUser]]#
managedStudies: sqlalchemy.orm.Mapped[List[Study]]#
projectUsers: sqlalchemy.orm.Mapped[List[ProjectUser]]#
managedProjects: sqlalchemy.orm.Mapped[List[Project]]#
property orcidUrl#