[Biopython-dev] TravisCI BioSQL - TypeError: unhashable type: 'bytearray'

Peter Cock p.j.a.cock at googlemail.com
Fri Oct 3 09:31:26 UTC 2014

Hi all,

As noted by Bow and Evan, something appears to have changed
on TravisCI with MySQL which is breaking our BioSQL tests,

Can anyone reproduce this or spot what was changed on Travis?
e.g. an update to MySQL itself, or the mysql Python bindings, or
a Travis configuration change?




test_BioSQL_MySQLdb ... ok
test_BioSQL_mysql_connector ... FAIL
test_BioSQL_psycopg2 ...
BiopythonWarning: Your BioSQL PostgreSQL schema includes some rules
currently required for bioperl-db but which may cause problems loading
data using Biopython (see BioSQL Bug 2839). If you do not use BioPerl,
please remove these rules. Biopython should cope with the rules
present, but with a performance penalty when loading new records.
"new records.", BiopythonWarning)
test_BioSQL_sqlite3 ... ok


ERROR: GenBank file to BioSQL, then again to a new namespace, protein_refseq2.
Traceback (most recent call last):
File "/home/travis/build/biopython/biopython/Tests/common_BioSQL.py",
line 634, in test_protein_refseq2
self.trans("GenBank/protein_refseq2.gb", "gb")
File "/home/travis/build/biopython/biopython/Tests/common_BioSQL.py",
line 667, in trans
self.assertTrue(compare_records(original_records, biosql_records))
File "/home/travis/build/biopython/biopython/Tests/seq_tests_common.py",
line 357, in compare_records
if not compare_record(old_r, new_r):
File "/home/travis/build/biopython/biopython/Tests/seq_tests_common.py",
line 284, in compare_record
if not compare_features(old.features, new.features):
File "/home/travis/build/biopython/biopython/build/lib.linux-x86_64-2.6/BioSQL/BioSeq.py",
line 545, in __get_features
File "/home/travis/build/biopython/biopython/build/lib.linux-x86_64-2.6/BioSQL/BioSeq.py",
line 226, in _retrieve_features
qualifiers.setdefault(qv_name, []).append(qv_value)
TypeError: unhashable type: 'bytearray'

More information about the Biopython-dev mailing list