From 14644d282d31eb7840fd4e76ff85e52b8572662e Mon Sep 17 00:00:00 2001 From: Andrew Yates Date: Mon, 23 Oct 2023 12:26:46 +0100 Subject: [PATCH 1/4] Checksum name incorrect The original code had `sha512t4u`, but the algorithm is `sha512t24u`. This fixes the name --- src/ensembl/production/metadata/api/models/assembly.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ensembl/production/metadata/api/models/assembly.py b/src/ensembl/production/metadata/api/models/assembly.py index 32602496..893f564f 100644 --- a/src/ensembl/production/metadata/api/models/assembly.py +++ b/src/ensembl/production/metadata/api/models/assembly.py @@ -57,7 +57,7 @@ class AssemblySequence(Base): length = Column(Integer, nullable=False) sequence_location = Column(String(10)) md5 = Column(String(32)) - sha512t4u = Column(String(128)) + sha512t24u = Column(String(128)) # One to many relationships # none # many to one relationships From 0ecd1081d80b94d9434bc4c7fa6663076bfbde70 Mon Sep 17 00:00:00 2001 From: Bilal Date: Fri, 27 Oct 2023 11:08:52 +0100 Subject: [PATCH 2/4] fix broken tests by updating sha512t24u col name --- .../production/metadata/api/sample/ensembl_metadata/table.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ensembl/production/metadata/api/sample/ensembl_metadata/table.sql b/src/ensembl/production/metadata/api/sample/ensembl_metadata/table.sql index 355b4bfb..9f6cb5a6 100644 --- a/src/ensembl/production/metadata/api/sample/ensembl_metadata/table.sql +++ b/src/ensembl/production/metadata/api/sample/ensembl_metadata/table.sql @@ -37,7 +37,7 @@ CREATE TABLE assembly_sequence chromosome_rank int null, sequence_location varchar(10) null, md5 varchar(32) null, - sha512t4u varchar(128) null, + sha512t24u varchar(128) null, constraint assembly_sequence_assembly_id_accession_5f3e5119_uniq unique (assembly_id, accession), constraint assembly_sequence_assembly_id_2a84ddcb_fk_assembly_assembly_id From 1fb266b2af8882f102755df9a11fd037e6ec44aa Mon Sep 17 00:00:00 2001 From: Marc Chakiachvili Date: Fri, 27 Oct 2023 12:43:43 +0100 Subject: [PATCH 3/4] Compatibility with other code. --- .../metadata/api/models/assembly.py | 73 ++++++++++--------- 1 file changed, 39 insertions(+), 34 deletions(-) diff --git a/src/ensembl/production/metadata/api/models/assembly.py b/src/ensembl/production/metadata/api/models/assembly.py index 893f564f..89c007b1 100644 --- a/src/ensembl/production/metadata/api/models/assembly.py +++ b/src/ensembl/production/metadata/api/models/assembly.py @@ -21,25 +21,25 @@ class Assembly(Base): __tablename__ = 'assembly' - assembly_id = Column(Integer, primary_key=True) - assembly_uuid = Column(String(128), unique=True, nullable=False, default=uuid.uuid4) - ucsc_name = Column(String(16)) - accession = Column(String(16), nullable=False, unique=True) - level = Column(String(32), nullable=False) - name = Column(String(128), nullable=False) - accession_body = Column(String(32)) - assembly_default = Column(String(128)) - tol_id = Column(String(32), unique=True) - created = Column(DateTime) - ensembl_name = Column(String(255), unique=True) - alt_accession = Column(String(16), nullable=True) - is_reference = Column(TINYINT(1), nullable=False, default=0) - url_name = Column(String(128), nullable=False) - # One to many relationships - # assembly_id within assembly_sequence - assembly_sequences = relationship("AssemblySequence", back_populates="assembly", cascade="all, delete, delete-orphan") - # assembly_id within genome - genomes = relationship("Genome", back_populates="assembly", cascade="all, delete, delete-orphan") + assembly_id = Column(Integer, primary_key=True) + assembly_uuid = Column(String(128), unique=True, nullable=False, default=uuid.uuid4) + ucsc_name = Column(String(16)) + accession = Column(String(16), nullable=False, unique=True) + level = Column(String(32), nullable=False) + name = Column(String(128), nullable=False) + accession_body = Column(String(32)) + assembly_default = Column(String(128)) + tol_id = Column(String(32), unique=True) + created = Column(DateTime) + ensembl_name = Column(String(255), unique=True) + alt_accession = Column(String(16), nullable=True) + is_reference = Column(TINYINT(1), nullable=False, default=0) + url_name = Column(String(128), nullable=False) + # One to many relationships + # assembly_id within assembly_sequence + assembly_sequences = relationship("AssemblySequence", back_populates="assembly", cascade="all, delete, delete-orphan") + # assembly_id within genome + genomes = relationship("Genome", back_populates="assembly", cascade="all, delete, delete-orphan") class AssemblySequence(Base): @@ -48,19 +48,24 @@ class AssemblySequence(Base): Index('assembly_sequence_assembly_id_accession_5f3e5119_uniq', 'assembly_id', 'accession', unique=True), ) - assembly_sequence_id = Column(Integer, primary_key=True) - name = Column(String(128), unique=True) - assembly_id = Column(ForeignKey('assembly.assembly_id'), nullable=False, index=True) - accession = Column(String(128), nullable=False) - chromosomal = Column(TINYINT(1), nullable=False, default=0) - chromosome_rank = Column(Integer) - length = Column(Integer, nullable=False) - sequence_location = Column(String(10)) - md5 = Column(String(32)) - sha512t24u = Column(String(128)) - # One to many relationships - # none - # many to one relationships - # assembly_id within assembly - assembly = relationship('Assembly', back_populates="assembly_sequences") + assembly_sequence_id = Column(Integer, primary_key=True) + name = Column(String(128), unique=True) + assembly_id = Column(ForeignKey('assembly.assembly_id'), nullable=False, index=True) + accession = Column(String(128), nullable=False) + chromosomal = Column(TINYINT(1), nullable=False, default=0) + chromosome_rank = Column(Integer) + length = Column(Integer, nullable=False) + sequence_location = Column(String(10)) + md5 = Column(String(32)) + # column need renaming as well + sha512t24u = Column(String(128)) + assembly = relationship('Assembly', back_populates="assembly_sequences") + # backward compatibility with old column name sha512t2u + @property + def sha512t2u(self): + return self.sha512t24u + + @sha512t2u.setter + def sha512t2u(self, checksum): + self.sha512t24u = checksum From 5b1811dab8a195ef328c227fb6ba80ab1395b237 Mon Sep 17 00:00:00 2001 From: Bilal Date: Fri, 27 Oct 2023 13:42:41 +0100 Subject: [PATCH 4/4] fix tabs --- .../metadata/api/models/assembly.py | 76 +++++++++---------- 1 file changed, 38 insertions(+), 38 deletions(-) diff --git a/src/ensembl/production/metadata/api/models/assembly.py b/src/ensembl/production/metadata/api/models/assembly.py index 89c007b1..733776f9 100644 --- a/src/ensembl/production/metadata/api/models/assembly.py +++ b/src/ensembl/production/metadata/api/models/assembly.py @@ -21,25 +21,25 @@ class Assembly(Base): __tablename__ = 'assembly' - assembly_id = Column(Integer, primary_key=True) - assembly_uuid = Column(String(128), unique=True, nullable=False, default=uuid.uuid4) - ucsc_name = Column(String(16)) - accession = Column(String(16), nullable=False, unique=True) - level = Column(String(32), nullable=False) - name = Column(String(128), nullable=False) - accession_body = Column(String(32)) - assembly_default = Column(String(128)) - tol_id = Column(String(32), unique=True) - created = Column(DateTime) - ensembl_name = Column(String(255), unique=True) - alt_accession = Column(String(16), nullable=True) - is_reference = Column(TINYINT(1), nullable=False, default=0) - url_name = Column(String(128), nullable=False) - # One to many relationships - # assembly_id within assembly_sequence - assembly_sequences = relationship("AssemblySequence", back_populates="assembly", cascade="all, delete, delete-orphan") - # assembly_id within genome - genomes = relationship("Genome", back_populates="assembly", cascade="all, delete, delete-orphan") + assembly_id = Column(Integer, primary_key=True) + assembly_uuid = Column(String(128), unique=True, nullable=False, default=uuid.uuid4) + ucsc_name = Column(String(16)) + accession = Column(String(16), nullable=False, unique=True) + level = Column(String(32), nullable=False) + name = Column(String(128), nullable=False) + accession_body = Column(String(32)) + assembly_default = Column(String(128)) + tol_id = Column(String(32), unique=True) + created = Column(DateTime) + ensembl_name = Column(String(255), unique=True) + alt_accession = Column(String(16), nullable=True) + is_reference = Column(TINYINT(1), nullable=False, default=0) + url_name = Column(String(128), nullable=False) + # One to many relationships + # assembly_id within assembly_sequence + assembly_sequences = relationship("AssemblySequence", back_populates="assembly", cascade="all, delete, delete-orphan") + # assembly_id within genome + genomes = relationship("Genome", back_populates="assembly", cascade="all, delete, delete-orphan") class AssemblySequence(Base): @@ -48,24 +48,24 @@ class AssemblySequence(Base): Index('assembly_sequence_assembly_id_accession_5f3e5119_uniq', 'assembly_id', 'accession', unique=True), ) - assembly_sequence_id = Column(Integer, primary_key=True) - name = Column(String(128), unique=True) - assembly_id = Column(ForeignKey('assembly.assembly_id'), nullable=False, index=True) - accession = Column(String(128), nullable=False) - chromosomal = Column(TINYINT(1), nullable=False, default=0) - chromosome_rank = Column(Integer) - length = Column(Integer, nullable=False) - sequence_location = Column(String(10)) - md5 = Column(String(32)) - # column need renaming as well - sha512t24u = Column(String(128)) - assembly = relationship('Assembly', back_populates="assembly_sequences") + assembly_sequence_id = Column(Integer, primary_key=True) + name = Column(String(128), unique=True) + assembly_id = Column(ForeignKey('assembly.assembly_id'), nullable=False, index=True) + accession = Column(String(128), nullable=False) + chromosomal = Column(TINYINT(1), nullable=False, default=0) + chromosome_rank = Column(Integer) + length = Column(Integer, nullable=False) + sequence_location = Column(String(10)) + md5 = Column(String(32)) + # column need renaming as well + sha512t24u = Column(String(128)) + assembly = relationship('Assembly', back_populates="assembly_sequences") - # backward compatibility with old column name sha512t2u - @property - def sha512t2u(self): - return self.sha512t24u + # backward compatibility with old column name sha512t2u + @property + def sha512t2u(self): + return self.sha512t24u - @sha512t2u.setter - def sha512t2u(self, checksum): - self.sha512t24u = checksum + @sha512t2u.setter + def sha512t2u(self, checksum): + self.sha512t24u = checksum