diff --git a/nmdc_server/fakes.py b/nmdc_server/fakes.py index dab7f892..09c9554d 100644 --- a/nmdc_server/fakes.py +++ b/nmdc_server/fakes.py @@ -222,25 +222,25 @@ class Meta: model = models.MetagenomeAssembly sqlalchemy_session = db - scaffolds: int = Faker("pyint") - contigs: int = Faker("pyint") - scaf_bp: int = Faker("pyint") - contig_bp: int = Faker("pyint") - scaf_n50: int = Faker("pyint") - scaf_l50: int = Faker("pyint") - ctg_n50: int = Faker("pyint") - ctg_l50: int = Faker("pyint") - scaf_n90: int = Faker("pyint") - scaf_l90: int = Faker("pyint") - ctg_n90: int = Faker("pyint") - ctg_l90: int = Faker("pyint") - scaf_max: int = Faker("pyint") - ctg_max: int = Faker("pyint") - scaf_n_gt50k: int = Faker("pyint") - scaf_l_gt50k: int = Faker("pyint") - scaf_pct_gt50k: int = Faker("pyint") - num_input_reads: int = Faker("pyint") - num_aligned_reads: int = Faker("pyint") + scaffolds: float = Faker("pyfloat") + contigs: float = Faker("pyfloat") + scaf_bp: float = Faker("pyfloat") + contig_bp: float = Faker("pyfloat") + scaf_n50: float = Faker("pyfloat") + scaf_l50: float = Faker("pyfloat") + ctg_n50: float = Faker("pyfloat") + ctg_l50: float = Faker("pyfloat") + scaf_n90: float = Faker("pyfloat") + scaf_l90: float = Faker("pyfloat") + ctg_n90: float = Faker("pyfloat") + ctg_l90: float = Faker("pyfloat") + scaf_max: float = Faker("pyfloat") + ctg_max: float = Faker("pyfloat") + scaf_n_gt50k: float = Faker("pyfloat") + scaf_l_gt50k: float = Faker("pyfloat") + scaf_pct_gt50k: float = Faker("pyfloat") + num_input_reads: float = Faker("pyfloat") + num_aligned_reads: float = Faker("pyfloat") scaf_logsum: float = Faker("pyfloat") scaf_powsum: float = Faker("pyfloat") ctg_logsum: float = Faker("pyfloat") diff --git a/nmdc_server/ingest/biosample.py b/nmdc_server/ingest/biosample.py index da4ccf26..6c079e3e 100644 --- a/nmdc_server/ingest/biosample.py +++ b/nmdc_server/ingest/biosample.py @@ -3,8 +3,8 @@ from datetime import datetime from typing import Any, Dict -from pydantic import field_validator -from pydantic.v1 import root_validator, validator +from pydantic import field_validator, model_validator +from pydantic.v1 import validator from pymongo.cursor import Cursor from sqlalchemy.orm import Session @@ -21,7 +21,7 @@ class Biosample(BiosampleCreate): _extract_value = validator("*", pre=True, allow_reuse=True)(extract_value) - @root_validator(pre=True) + @model_validator(mode="before") def extract_extras(cls, values): if "lat_lon" in values: if "latitude" in values["lat_lon"] and "longitude" in values["lat_lon"]: @@ -31,7 +31,7 @@ def extract_extras(cls, values): lat, lon = values.pop("lat_lon")["has_raw_value"].split(" ") values["latitude"] = float(lat) values["longitude"] = float(lon) - return extract_extras(cls, values) + return extract_extras(cls, values) # type: ignore @field_validator("depth", mode="before") @classmethod diff --git a/nmdc_server/ingest/common.py b/nmdc_server/ingest/common.py index 0820ada8..94a821e7 100644 --- a/nmdc_server/ingest/common.py +++ b/nmdc_server/ingest/common.py @@ -48,7 +48,7 @@ def extract_extras( cls: BaseModel, values: Dict[str, Any], exclude: Optional[Set[str]] = None ) -> Dict[str, Any]: # Move unknown attributes into values['annotations'] - fields = set(cls.__fields__.keys()) + fields = set(cls.model_fields.keys()) exclude = (exclude or set()).union(EXCLUDED_FIELDS) values.setdefault("annotations", {}) for key, value in values.items(): diff --git a/nmdc_server/ingest/omics_processing.py b/nmdc_server/ingest/omics_processing.py index c4dbbeb8..72c44858 100644 --- a/nmdc_server/ingest/omics_processing.py +++ b/nmdc_server/ingest/omics_processing.py @@ -3,8 +3,8 @@ from datetime import datetime from typing import Any, Dict, Optional -from pydantic import field_validator -from pydantic.v1 import root_validator, validator +from pydantic import field_validator, model_validator +from pydantic.v1 import validator from pymongo.collection import Collection from pymongo.cursor import Cursor from pymongo.database import Database @@ -36,9 +36,9 @@ class OmicsProcessing(OmicsProcessingCreate): _extract_value = validator("*", pre=True, allow_reuse=True)(extract_value) - @root_validator(pre=True) + @model_validator(mode="before") def extract_extras(cls, values): - return extract_extras(cls, values) + return extract_extras(cls, values) # type: ignore @field_validator("add_date", "mod_date", mode="before") @classmethod diff --git a/nmdc_server/ingest/study.py b/nmdc_server/ingest/study.py index be2eed7d..5588fbc6 100644 --- a/nmdc_server/ingest/study.py +++ b/nmdc_server/ingest/study.py @@ -1,8 +1,9 @@ import re -from typing import Optional +from typing import List, Optional import requests -from pydantic.v1 import root_validator, validator +from pydantic import model_validator +from pydantic.v1 import validator from pymongo.cursor import Cursor from sqlalchemy.orm import Session @@ -41,9 +42,9 @@ def get_or_create_pi(db: Session, name: str, url: Optional[str], orcid: Optional class Study(StudyCreate): _extract_value = validator("*", pre=True, allow_reuse=True)(extract_value) - @root_validator(pre=True) + @model_validator(mode="before") def extract_extras(cls, values): - return extract_extras(cls, values) + return extract_extras(cls, values) # type: ignore def transform_doi(doi: str) -> str: @@ -51,7 +52,7 @@ def transform_doi(doi: str) -> str: return matches[0] -def get_study_image_data(image_urls: list[dict[str, str]]) -> Optional[bytes]: +def get_study_image_data(image_urls: List[dict[str, str]]) -> Optional[bytes]: if image_urls: r = requests.get(image_urls[0]["url"]) if r.ok: diff --git a/nmdc_server/migrations/versions/224db8f7e8df_update_assembly_col_types.py b/nmdc_server/migrations/versions/224db8f7e8df_update_assembly_col_types.py new file mode 100644 index 00000000..f548be1e --- /dev/null +++ b/nmdc_server/migrations/versions/224db8f7e8df_update_assembly_col_types.py @@ -0,0 +1,560 @@ +"""Update datatypes for assembly columns + +Revision ID: 224db8f7e8df +Revises: 988105f6581d +Create Date: 2024-10-21 15:30:16.483890 + +""" + +from typing import Optional + +import sqlalchemy as sa +from alembic import op + +# revision identifiers, used by Alembic. +revision: str = "224db8f7e8df" +down_revision: Optional[str] = "988105f6581d" +branch_labels: Optional[str] = None +depends_on: Optional[str] = None + + +def upgrade(): + # ### commands auto generated by Alembic - please adjust! ### + op.alter_column( + "metagenome_assembly", + "scaffolds", + existing_type=sa.BIGINT(), + type_=sa.Float(), + existing_nullable=True, + ) + op.alter_column( + "metagenome_assembly", + "contigs", + existing_type=sa.BIGINT(), + type_=sa.Float(), + existing_nullable=True, + ) + op.alter_column( + "metagenome_assembly", + "scaf_bp", + existing_type=sa.BIGINT(), + type_=sa.Float(), + existing_nullable=True, + ) + op.alter_column( + "metagenome_assembly", + "contig_bp", + existing_type=sa.BIGINT(), + type_=sa.Float(), + existing_nullable=True, + ) + op.alter_column( + "metagenome_assembly", + "scaf_n50", + existing_type=sa.BIGINT(), + type_=sa.Float(), + existing_nullable=True, + ) + op.alter_column( + "metagenome_assembly", + "scaf_l50", + existing_type=sa.BIGINT(), + type_=sa.Float(), + existing_nullable=True, + ) + op.alter_column( + "metagenome_assembly", + "ctg_n50", + existing_type=sa.BIGINT(), + type_=sa.Float(), + existing_nullable=True, + ) + op.alter_column( + "metagenome_assembly", + "ctg_l50", + existing_type=sa.BIGINT(), + type_=sa.Float(), + existing_nullable=True, + ) + op.alter_column( + "metagenome_assembly", + "scaf_n90", + existing_type=sa.BIGINT(), + type_=sa.Float(), + existing_nullable=True, + ) + op.alter_column( + "metagenome_assembly", + "scaf_l90", + existing_type=sa.BIGINT(), + type_=sa.Float(), + existing_nullable=True, + ) + op.alter_column( + "metagenome_assembly", + "ctg_n90", + existing_type=sa.BIGINT(), + type_=sa.Float(), + existing_nullable=True, + ) + op.alter_column( + "metagenome_assembly", + "ctg_l90", + existing_type=sa.BIGINT(), + type_=sa.Float(), + existing_nullable=True, + ) + op.alter_column( + "metagenome_assembly", + "scaf_max", + existing_type=sa.BIGINT(), + type_=sa.Float(), + existing_nullable=True, + ) + op.alter_column( + "metagenome_assembly", + "ctg_max", + existing_type=sa.BIGINT(), + type_=sa.Float(), + existing_nullable=True, + ) + op.alter_column( + "metagenome_assembly", + "scaf_n_gt50k", + existing_type=sa.BIGINT(), + type_=sa.Float(), + existing_nullable=True, + ) + op.alter_column( + "metagenome_assembly", + "scaf_l_gt50k", + existing_type=sa.BIGINT(), + type_=sa.Float(), + existing_nullable=True, + ) + op.alter_column( + "metagenome_assembly", + "scaf_pct_gt50k", + existing_type=sa.BIGINT(), + type_=sa.Float(), + existing_nullable=True, + ) + op.alter_column( + "metagenome_assembly", + "num_input_reads", + existing_type=sa.BIGINT(), + type_=sa.Float(), + existing_nullable=True, + ) + op.alter_column( + "metagenome_assembly", + "num_aligned_reads", + existing_type=sa.BIGINT(), + type_=sa.Float(), + existing_nullable=True, + ) + op.alter_column( + "metatranscriptome_assembly", + "scaffolds", + existing_type=sa.BIGINT(), + type_=sa.Float(), + existing_nullable=True, + ) + op.alter_column( + "metatranscriptome_assembly", + "contigs", + existing_type=sa.BIGINT(), + type_=sa.Float(), + existing_nullable=True, + ) + op.alter_column( + "metatranscriptome_assembly", + "scaf_bp", + existing_type=sa.BIGINT(), + type_=sa.Float(), + existing_nullable=True, + ) + op.alter_column( + "metatranscriptome_assembly", + "contig_bp", + existing_type=sa.BIGINT(), + type_=sa.Float(), + existing_nullable=True, + ) + op.alter_column( + "metatranscriptome_assembly", + "scaf_n50", + existing_type=sa.BIGINT(), + type_=sa.Float(), + existing_nullable=True, + ) + op.alter_column( + "metatranscriptome_assembly", + "scaf_l50", + existing_type=sa.BIGINT(), + type_=sa.Float(), + existing_nullable=True, + ) + op.alter_column( + "metatranscriptome_assembly", + "ctg_n50", + existing_type=sa.BIGINT(), + type_=sa.Float(), + existing_nullable=True, + ) + op.alter_column( + "metatranscriptome_assembly", + "ctg_l50", + existing_type=sa.BIGINT(), + type_=sa.Float(), + existing_nullable=True, + ) + op.alter_column( + "metatranscriptome_assembly", + "scaf_n90", + existing_type=sa.BIGINT(), + type_=sa.Float(), + existing_nullable=True, + ) + op.alter_column( + "metatranscriptome_assembly", + "scaf_l90", + existing_type=sa.BIGINT(), + type_=sa.Float(), + existing_nullable=True, + ) + op.alter_column( + "metatranscriptome_assembly", + "ctg_n90", + existing_type=sa.BIGINT(), + type_=sa.Float(), + existing_nullable=True, + ) + op.alter_column( + "metatranscriptome_assembly", + "ctg_l90", + existing_type=sa.BIGINT(), + type_=sa.Float(), + existing_nullable=True, + ) + op.alter_column( + "metatranscriptome_assembly", + "scaf_max", + existing_type=sa.BIGINT(), + type_=sa.Float(), + existing_nullable=True, + ) + op.alter_column( + "metatranscriptome_assembly", + "ctg_max", + existing_type=sa.BIGINT(), + type_=sa.Float(), + existing_nullable=True, + ) + op.alter_column( + "metatranscriptome_assembly", + "scaf_n_gt50k", + existing_type=sa.BIGINT(), + type_=sa.Float(), + existing_nullable=True, + ) + op.alter_column( + "metatranscriptome_assembly", + "scaf_l_gt50k", + existing_type=sa.BIGINT(), + type_=sa.Float(), + existing_nullable=True, + ) + op.alter_column( + "metatranscriptome_assembly", + "scaf_pct_gt50k", + existing_type=sa.BIGINT(), + type_=sa.Float(), + existing_nullable=True, + ) + op.alter_column( + "metatranscriptome_assembly", + "num_input_reads", + existing_type=sa.BIGINT(), + type_=sa.Float(), + existing_nullable=True, + ) + op.alter_column( + "metatranscriptome_assembly", + "num_aligned_reads", + existing_type=sa.BIGINT(), + type_=sa.Float(), + existing_nullable=True, + ) + # ### end Alembic commands ### + + +def downgrade(): + # ### commands auto generated by Alembic - please adjust! ### + op.alter_column( + "metatranscriptome_assembly", + "num_aligned_reads", + existing_type=sa.Float(), + type_=sa.BIGINT(), + existing_nullable=True, + ) + op.alter_column( + "metatranscriptome_assembly", + "num_input_reads", + existing_type=sa.Float(), + type_=sa.BIGINT(), + existing_nullable=True, + ) + op.alter_column( + "metatranscriptome_assembly", + "scaf_pct_gt50k", + existing_type=sa.Float(), + type_=sa.BIGINT(), + existing_nullable=True, + ) + op.alter_column( + "metatranscriptome_assembly", + "scaf_l_gt50k", + existing_type=sa.Float(), + type_=sa.BIGINT(), + existing_nullable=True, + ) + op.alter_column( + "metatranscriptome_assembly", + "scaf_n_gt50k", + existing_type=sa.Float(), + type_=sa.BIGINT(), + existing_nullable=True, + ) + op.alter_column( + "metatranscriptome_assembly", + "ctg_max", + existing_type=sa.Float(), + type_=sa.BIGINT(), + existing_nullable=True, + ) + op.alter_column( + "metatranscriptome_assembly", + "scaf_max", + existing_type=sa.Float(), + type_=sa.BIGINT(), + existing_nullable=True, + ) + op.alter_column( + "metatranscriptome_assembly", + "ctg_l90", + existing_type=sa.Float(), + type_=sa.BIGINT(), + existing_nullable=True, + ) + op.alter_column( + "metatranscriptome_assembly", + "ctg_n90", + existing_type=sa.Float(), + type_=sa.BIGINT(), + existing_nullable=True, + ) + op.alter_column( + "metatranscriptome_assembly", + "scaf_l90", + existing_type=sa.Float(), + type_=sa.BIGINT(), + existing_nullable=True, + ) + op.alter_column( + "metatranscriptome_assembly", + "scaf_n90", + existing_type=sa.Float(), + type_=sa.BIGINT(), + existing_nullable=True, + ) + op.alter_column( + "metatranscriptome_assembly", + "ctg_l50", + existing_type=sa.Float(), + type_=sa.BIGINT(), + existing_nullable=True, + ) + op.alter_column( + "metatranscriptome_assembly", + "ctg_n50", + existing_type=sa.Float(), + type_=sa.BIGINT(), + existing_nullable=True, + ) + op.alter_column( + "metatranscriptome_assembly", + "scaf_l50", + existing_type=sa.Float(), + type_=sa.BIGINT(), + existing_nullable=True, + ) + op.alter_column( + "metatranscriptome_assembly", + "scaf_n50", + existing_type=sa.Float(), + type_=sa.BIGINT(), + existing_nullable=True, + ) + op.alter_column( + "metatranscriptome_assembly", + "contig_bp", + existing_type=sa.Float(), + type_=sa.BIGINT(), + existing_nullable=True, + ) + op.alter_column( + "metatranscriptome_assembly", + "scaf_bp", + existing_type=sa.Float(), + type_=sa.BIGINT(), + existing_nullable=True, + ) + op.alter_column( + "metatranscriptome_assembly", + "contigs", + existing_type=sa.Float(), + type_=sa.BIGINT(), + existing_nullable=True, + ) + op.alter_column( + "metatranscriptome_assembly", + "scaffolds", + existing_type=sa.Float(), + type_=sa.BIGINT(), + existing_nullable=True, + ) + op.alter_column( + "metagenome_assembly", + "num_aligned_reads", + existing_type=sa.Float(), + type_=sa.BIGINT(), + existing_nullable=True, + ) + op.alter_column( + "metagenome_assembly", + "num_input_reads", + existing_type=sa.Float(), + type_=sa.BIGINT(), + existing_nullable=True, + ) + op.alter_column( + "metagenome_assembly", + "scaf_pct_gt50k", + existing_type=sa.Float(), + type_=sa.BIGINT(), + existing_nullable=True, + ) + op.alter_column( + "metagenome_assembly", + "scaf_l_gt50k", + existing_type=sa.Float(), + type_=sa.BIGINT(), + existing_nullable=True, + ) + op.alter_column( + "metagenome_assembly", + "scaf_n_gt50k", + existing_type=sa.Float(), + type_=sa.BIGINT(), + existing_nullable=True, + ) + op.alter_column( + "metagenome_assembly", + "ctg_max", + existing_type=sa.Float(), + type_=sa.BIGINT(), + existing_nullable=True, + ) + op.alter_column( + "metagenome_assembly", + "scaf_max", + existing_type=sa.Float(), + type_=sa.BIGINT(), + existing_nullable=True, + ) + op.alter_column( + "metagenome_assembly", + "ctg_l90", + existing_type=sa.Float(), + type_=sa.BIGINT(), + existing_nullable=True, + ) + op.alter_column( + "metagenome_assembly", + "ctg_n90", + existing_type=sa.Float(), + type_=sa.BIGINT(), + existing_nullable=True, + ) + op.alter_column( + "metagenome_assembly", + "scaf_l90", + existing_type=sa.Float(), + type_=sa.BIGINT(), + existing_nullable=True, + ) + op.alter_column( + "metagenome_assembly", + "scaf_n90", + existing_type=sa.Float(), + type_=sa.BIGINT(), + existing_nullable=True, + ) + op.alter_column( + "metagenome_assembly", + "ctg_l50", + existing_type=sa.Float(), + type_=sa.BIGINT(), + existing_nullable=True, + ) + op.alter_column( + "metagenome_assembly", + "ctg_n50", + existing_type=sa.Float(), + type_=sa.BIGINT(), + existing_nullable=True, + ) + op.alter_column( + "metagenome_assembly", + "scaf_l50", + existing_type=sa.Float(), + type_=sa.BIGINT(), + existing_nullable=True, + ) + op.alter_column( + "metagenome_assembly", + "scaf_n50", + existing_type=sa.Float(), + type_=sa.BIGINT(), + existing_nullable=True, + ) + op.alter_column( + "metagenome_assembly", + "contig_bp", + existing_type=sa.Float(), + type_=sa.BIGINT(), + existing_nullable=True, + ) + op.alter_column( + "metagenome_assembly", + "scaf_bp", + existing_type=sa.Float(), + type_=sa.BIGINT(), + existing_nullable=True, + ) + op.alter_column( + "metagenome_assembly", + "contigs", + existing_type=sa.Float(), + type_=sa.BIGINT(), + existing_nullable=True, + ) + op.alter_column( + "metagenome_assembly", + "scaffolds", + existing_type=sa.Float(), + type_=sa.BIGINT(), + existing_nullable=True, + ) + # ### end Alembic commands ### diff --git a/nmdc_server/models.py b/nmdc_server/models.py index b4f1b4b4..4296fe37 100644 --- a/nmdc_server/models.py +++ b/nmdc_server/models.py @@ -485,25 +485,25 @@ class ReadsQC(Base, PipelineStep): class MetagenomeAssembly(Base, PipelineStep): __tablename__ = "metagenome_assembly" - scaffolds = Column(BigInteger, nullable=True) - contigs = Column(BigInteger, nullable=True) - scaf_bp = Column(BigInteger, nullable=True) - contig_bp = Column(BigInteger, nullable=True) - scaf_n50 = Column(BigInteger, nullable=True) - scaf_l50 = Column(BigInteger, nullable=True) - ctg_n50 = Column(BigInteger, nullable=True) - ctg_l50 = Column(BigInteger, nullable=True) - scaf_n90 = Column(BigInteger, nullable=True) - scaf_l90 = Column(BigInteger, nullable=True) - ctg_n90 = Column(BigInteger, nullable=True) - ctg_l90 = Column(BigInteger, nullable=True) - scaf_max = Column(BigInteger, nullable=True) - ctg_max = Column(BigInteger, nullable=True) - scaf_n_gt50k = Column(BigInteger, nullable=True) - scaf_l_gt50k = Column(BigInteger, nullable=True) - scaf_pct_gt50k = Column(BigInteger, nullable=True) - num_input_reads = Column(BigInteger, nullable=True) - num_aligned_reads = Column(BigInteger, nullable=True) + scaffolds = Column(Float, nullable=True) + contigs = Column(Float, nullable=True) + scaf_bp = Column(Float, nullable=True) + contig_bp = Column(Float, nullable=True) + scaf_n50 = Column(Float, nullable=True) + scaf_l50 = Column(Float, nullable=True) + ctg_n50 = Column(Float, nullable=True) + ctg_l50 = Column(Float, nullable=True) + scaf_n90 = Column(Float, nullable=True) + scaf_l90 = Column(Float, nullable=True) + ctg_n90 = Column(Float, nullable=True) + ctg_l90 = Column(Float, nullable=True) + scaf_max = Column(Float, nullable=True) + ctg_max = Column(Float, nullable=True) + scaf_n_gt50k = Column(Float, nullable=True) + scaf_l_gt50k = Column(Float, nullable=True) + scaf_pct_gt50k = Column(Float, nullable=True) + num_input_reads = Column(Float, nullable=True) + num_aligned_reads = Column(Float, nullable=True) scaf_logsum = Column(Float, nullable=True) scaf_powsum = Column(Float, nullable=True) @@ -525,25 +525,25 @@ class MetagenomeAssembly(Base, PipelineStep): class MetatranscriptomeAssembly(Base, PipelineStep): __tablename__ = "metatranscriptome_assembly" - scaffolds = Column(BigInteger, nullable=True) - contigs = Column(BigInteger, nullable=True) - scaf_bp = Column(BigInteger, nullable=True) - contig_bp = Column(BigInteger, nullable=True) - scaf_n50 = Column(BigInteger, nullable=True) - scaf_l50 = Column(BigInteger, nullable=True) - ctg_n50 = Column(BigInteger, nullable=True) - ctg_l50 = Column(BigInteger, nullable=True) - scaf_n90 = Column(BigInteger, nullable=True) - scaf_l90 = Column(BigInteger, nullable=True) - ctg_n90 = Column(BigInteger, nullable=True) - ctg_l90 = Column(BigInteger, nullable=True) - scaf_max = Column(BigInteger, nullable=True) - ctg_max = Column(BigInteger, nullable=True) - scaf_n_gt50k = Column(BigInteger, nullable=True) - scaf_l_gt50k = Column(BigInteger, nullable=True) - scaf_pct_gt50k = Column(BigInteger, nullable=True) - num_input_reads = Column(BigInteger, nullable=True) - num_aligned_reads = Column(BigInteger, nullable=True) + scaffolds = Column(Float, nullable=True) + contigs = Column(Float, nullable=True) + scaf_bp = Column(Float, nullable=True) + contig_bp = Column(Float, nullable=True) + scaf_n50 = Column(Float, nullable=True) + scaf_l50 = Column(Float, nullable=True) + ctg_n50 = Column(Float, nullable=True) + ctg_l50 = Column(Float, nullable=True) + scaf_n90 = Column(Float, nullable=True) + scaf_l90 = Column(Float, nullable=True) + ctg_n90 = Column(Float, nullable=True) + ctg_l90 = Column(Float, nullable=True) + scaf_max = Column(Float, nullable=True) + ctg_max = Column(Float, nullable=True) + scaf_n_gt50k = Column(Float, nullable=True) + scaf_l_gt50k = Column(Float, nullable=True) + scaf_pct_gt50k = Column(Float, nullable=True) + num_input_reads = Column(Float, nullable=True) + num_aligned_reads = Column(Float, nullable=True) scaf_logsum = Column(Float, nullable=True) scaf_powsum = Column(Float, nullable=True) diff --git a/nmdc_server/schemas.py b/nmdc_server/schemas.py index 045d59cb..9c9d3aa1 100644 --- a/nmdc_server/schemas.py +++ b/nmdc_server/schemas.py @@ -442,27 +442,27 @@ class ReadsQC(PipelineStep): class AssemblyBase(PipelineStepBase): - scaffolds: Optional[int] = None - contigs: Optional[int] = None - scaf_bp: Optional[int] = None - contig_bp: Optional[int] = None - scaf_n50: Optional[int] = None - scaf_l50: Optional[int] = None - ctg_n50: Optional[int] = None - ctg_l50: Optional[int] = None - scaf_n90: Optional[int] = None - scaf_l90: Optional[int] = None - ctg_n90: Optional[int] = None - ctg_l90: Optional[int] = None - scaf_max: Optional[int] = None - ctg_max: Optional[int] = None - scaf_n_gt50k: Optional[int] = None + scaffolds: Optional[float] = None + contigs: Optional[float] = None + scaf_bp: Optional[float] = None + contig_bp: Optional[float] = None + scaf_n50: Optional[float] = None + scaf_l50: Optional[float] = None + ctg_n50: Optional[float] = None + ctg_l50: Optional[float] = None + scaf_n90: Optional[float] = None + scaf_l90: Optional[float] = None + ctg_n90: Optional[float] = None + ctg_l90: Optional[float] = None + scaf_max: Optional[float] = None + ctg_max: Optional[float] = None + scaf_n_gt50k: Optional[float] = None # TODO: fix the data on ingest or make this optional on the schema - scaf_l_gt50k: Optional[int] = None - scaf_pct_gt50k: Optional[int] = None - num_input_reads: Optional[int] = None - num_aligned_reads: Optional[int] = None + scaf_l_gt50k: Optional[float] = None + scaf_pct_gt50k: Optional[float] = None + num_input_reads: Optional[float] = None + num_aligned_reads: Optional[float] = None scaf_logsum: Optional[float] = None scaf_powsum: Optional[float] = None ctg_logsum: Optional[float] = None