[med-svn] [Git][med-team/python-biopython][master] 5 commits: bigBed big-endian (#4670)

Étienne Mollier (@emollier) gitlab at salsa.debian.org
Thu Mar 21 20:39:59 GMT 2024



Étienne Mollier pushed to branch master at Debian Med / python-biopython


Commits:
6a3c977c by Michiel de Hoon at 2024-03-18T21:43:54+01:00
bigBed big-endian (#4670)

Signed-off-by: Étienne Mollier <emollier at debian.org>

- - - - -
6f370ca1 by Étienne Mollier at 2024-03-18T21:45:45+01:00
Merge branch 'upstream-bigbed' into test-bigbed

- - - - -
298cd9a1 by Étienne Mollier at 2024-03-18T21:49:22+01:00
Initialize changelog.

- - - - -
8ac0ba2e by Étienne Mollier at 2024-03-20T21:05:12+01:00
d/rules: skip test Tutorial on non-amd64.

- - - - -
3830d07c by Étienne Mollier at 2024-03-20T21:15:54+01:00
ready to upload to unstable.

- - - - -


5 changed files:

- + Tests/Blat/bigbed_extended.bigendian.bb
- Tests/Blat/bigbed_extended.bb → Tests/Blat/bigbed_extended.littleendian.bb
- Tests/test_Align_bigbed.py
- debian/changelog
- debian/rules


Changes:

=====================================
Tests/Blat/bigbed_extended.bigendian.bb
=====================================
Binary files /dev/null and b/Tests/Blat/bigbed_extended.bigendian.bb differ


=====================================
Tests/Blat/bigbed_extended.bb → Tests/Blat/bigbed_extended.littleendian.bb
=====================================


=====================================
Tests/test_Align_bigbed.py
=====================================
@@ -2240,8 +2240,9 @@ table bed
 
 
 class TestAlign_extended_bed(unittest.TestCase):
-    # The bigBed file bigbed_extended.bb is a BED9+2 file, with nine predefined
-    # BED fields and 2 extra (custom) fields. It was created by running
+    # The bigBed files bigbed_extended.littleendian.bb and
+    # bigbed_extended.bigendian.bb are BED9+2 files, with nine predefined BED
+    # fields and 2 extra (custom) fields. It was created by running
     #
     # bedToBigBed -as=bedExample2.as -type=bed9+2 -extraIndex=name,geneSymbol bedExample2.bed hg18.chrom.sizes bigbed_extended.bb
     #
@@ -2251,12 +2252,23 @@ class TestAlign_extended_bed(unittest.TestCase):
     # and bedExample2.as the associated AutoSQL file, also downloaded from UCSC
     # (https://genome.ucsc.edu/goldenPath/help/examples/bedExample2.as)
     # declaring the nine predefined BED fields and the two extra fields
-
-    path = "Blat/bigbed_extended.bb"
+    #
+    # The bigBed file bigbed_extended.littleendian.bb was generated on a
+    # little-endian machine; the bigBed file bigbed_extended.bigendian.bb was
+    # generated on a big-endian machine.
 
     def test_reading(self):
         """Test parsing bigbed_extended.bb."""
-        alignments = Align.parse(self.path, "bigbed")
+        path = "Blat/bigbed_extended.littleendian.bb"
+        alignments = Align.parse(path, "bigbed")
+        self.assertEqual(alignments.byteorder, "<")
+        self.check_alignments(alignments)
+        path = "Blat/bigbed_extended.bigendian.bb"
+        alignments = Align.parse(path, "bigbed")
+        self.assertEqual(alignments.byteorder, ">")
+        self.check_alignments(alignments)
+
+    def check_alignments(self, alignments):
         self.assertEqual(
             str(alignments.declaration),
             """\
@@ -2482,9 +2494,11 @@ table hg18KGchr7
 
     def test_writing(self):
         """Test writing bigbed_extended.bb."""
-        with open(self.path, "rb") as stream:
+        byteorder = sys.byteorder  # "little" or "big"
+        path = f"Blat/bigbed_extended.{byteorder}endian.bb"
+        with open(path, "rb") as stream:
             correct = stream.read()
-        alignments = Align.parse(self.path, "bigbed")
+        alignments = Align.parse(path, "bigbed")
         with open("Blat/bedExample2.as") as stream:
             autosql_data = stream.read()
         declaration = bigbed.AutoSQLTable.from_string(autosql_data)
@@ -2501,7 +2515,7 @@ table hg18KGchr7
             output.seek(0)
             data = output.read()
         self.assertEqual(correct, data)
-        alignments = Align.parse(self.path, "bigbed")
+        alignments = Align.parse(path, "bigbed")
         targets = alignments.targets
         with tempfile.TemporaryFile() as output:
             Align.write(


=====================================
debian/changelog
=====================================
@@ -1,3 +1,15 @@
+python-biopython (1.83+dfsg1-1) unstable; urgency=medium
+
+  * New upstream pseudo-version 1.83+dfsg1.
+    This is a minor version bump to include the new test artifact necessary
+    to allow the test suite to pass on big endian architectures.  The nature
+    of the change makes it unsuitable to represent using the regular d/patches
+    series.  See upstream issue 4658[1] for further information.
+    [1}: https://github.com/biopython/biopython/issues/4658
+  * d/rules: skip test Tutorial on non-amd64.
+
+ -- Étienne Mollier <emollier at debian.org>  Wed, 20 Mar 2024 21:10:02 +0100
+
 python-biopython (1.83+dfsg-1) unstable; urgency=medium
 
   [ Andreas Tille ]


=====================================
debian/rules
=====================================
@@ -32,6 +32,12 @@ ifeq ($(BUILDARCH),amd64)
     EXCLUDEARCHamd64=
 else
     EXCLUDEARCHamd64=raxml_tool
+    # The tutorial test reads through the documentation, and checks that the
+    # documented commands and output are working and matching.  There is at
+    # least one output that assumes that the test runs on s390x, causing mostly
+    # undue regression, so skipping on that architecture, to avoid cluttering
+    # the documentation.
+    EXCLUDEARCHamd64+=Tutorial
 endif
 
 # avoid tests requiring data base connections if no server is running while we are doing the build



View it on GitLab: https://salsa.debian.org/med-team/python-biopython/-/compare/1457a6bebe9f6266843b9198895ba01489aeb8ab...3830d07c7c120d9de86e2384e44b56b78dda63fb

-- 
View it on GitLab: https://salsa.debian.org/med-team/python-biopython/-/compare/1457a6bebe9f6266843b9198895ba01489aeb8ab...3830d07c7c120d9de86e2384e44b56b78dda63fb
You're receiving this email because of your account on salsa.debian.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/debian-med-commit/attachments/20240321/b73c4174/attachment-0001.htm>


More information about the debian-med-commit mailing list