Running a docker container with CAT, but got the following error:
.... (more traceback bs)
....
File "/usr/local/lib/python3.7/dist-packages/sqlalchemy/sql/coercions.py", line 1144, in _raise_for_expected
element, argname=argname, resolved=resolved, advice=advice, kw
File "/usr/local/lib/python3.7/dist-packages/sqlalchemy/sql/coercions.py", line 718, in _raise_for_expected
kw,
File "/usr/local/lib/python3.7/dist-packages/sqlalchemy/sql/coercions.py", line 536, in _raise_for_expected
raise exc.ArgumentError(msg, code=code) from err
sqlalchemy.exc.ArgumentError: Column expression, FROM clause, or other columns clause element expected, got [Table('table_updates', MetaData(), Column('update_id', VARCHAR(length=128), table=, primary_key=True, nullable=False), Column('target_table', VARCHAR(length=128), table=), Column('inserted', DATETIME(), table=), schema=None)]. Did you mean to say select(Table('table_updates', MetaData(), Column('update_id', VARCHAR(length=128), table=, primary_key=True, nullable=False), Column('target_table', VARCHAR(length=128), table=), Column('inserted', DATETIME(), table=), schema=None))?
Google shows that this is an issue arising from an update that was pushed in sqlalchemy starting v 1.3.0. So you'll have to do the following to fix:
python3.7 -m pip install "sqlalchemy<1.3.0"
More fun times - pyfasta is a dependency of CAT but was written for python2, not python3, so a function inside of it uses a type that no longer exists in python3!
Error message:
pyfasta/records.py", line 192, in getdata if isinstance(islice, (int, long)): NameError: name 'long' is not defined
Use the following hacky fix simply replace the 'long' type with 'int':
sed -i 's/long/int/g' /usr/local/lib/python3.7/dist-packages/pyfasta/records.py
A new one: bam2wig is back at it...
Error message:
bam2wig from the augustus tool package not in global path.
Even more shenanigans, but should only apply if you are running on a single system (i.e. --binary-mode local and --local-scheduler)
Error message:
toil.batchSystems.abstractBatchSystem.InsufficientSystemResources: The job JobFunctionWrappingJob is requesting 8589934592 bytes of memory, more than the maximum of 8261414912 bytes of memory that SingleMachineBatchSystem was configured with. Scale is set to 1.
Hacky fix:
edit $CATdir/cat/__init__.py at line 133 to defaultMemory = luigi.Parameter(default='7G', significant=False)
similarly edit $CATdir/cat/hints_db.py at various lines to reduce calls for memory (e.g. lines with "memory='16G'" or "15G" or "8G")
actually, go carefully through the /cat/ subdirectory to find all instances of high memory demands and correct them - they may crash the workflow way downstream
More fun times with CAT.
Running a docker container with CAT, but got the following error: .... (more traceback bs) .... File "/usr/local/lib/python3.7/dist-packages/sqlalchemy/sql/coercions.py", line 1144, in _raise_for_expected element, argname=argname, resolved=resolved, advice=advice, kw File "/usr/local/lib/python3.7/dist-packages/sqlalchemy/sql/coercions.py", line 718, in _raise_for_expected kw, File "/usr/local/lib/python3.7/dist-packages/sqlalchemy/sql/coercions.py", line 536, in _raise_for_expected raise exc.ArgumentError(msg, code=code) from err
sqlalchemy.exc.ArgumentError: Column expression, FROM clause, or other columns clause element expected, got [Table('table_updates', MetaData(), Column('update_id', VARCHAR(length=128), table=, primary_key=True, nullable=False), Column('target_table', VARCHAR(length=128), table=), Column('inserted', DATETIME(), table=), schema=None)]. Did you mean to say select(Table('table_updates', MetaData(), Column('update_id', VARCHAR(length=128), table=, primary_key=True, nullable=False), Column('target_table', VARCHAR(length=128), table=), Column('inserted', DATETIME(), table=), schema=None))?
Google shows that this is an issue arising from an update that was pushed in sqlalchemy starting v 1.3.0. So you'll have to do the following to fix:
More fun times - pyfasta is a dependency of CAT but was written for python2, not python3, so a function inside of it uses a type that no longer exists in python3!
Error message: pyfasta/records.py", line 192, in getdata if isinstance(islice, (int, long)): NameError: name 'long' is not defined
Use the following hacky fix simply replace the 'long' type with 'int':
A new one: bam2wig is back at it...
Error message: bam2wig from the augustus tool package not in global path.
Follow: https://github.com/Gaius-Augustus/Augustus/issues/53#issuecomment-830088580 and https://github.com/Gaius-Augustus/Augustus/blob/master/docs/INSTALL.md#htslib---accessing-common-file-formats-such-as-sam-cram-and-vcf
Even more shenanigans, but should only apply if you are running on a single system (i.e. --binary-mode local and --local-scheduler)
Error message: toil.batchSystems.abstractBatchSystem.InsufficientSystemResources: The job JobFunctionWrappingJob is requesting 8589934592 bytes of memory, more than the maximum of 8261414912 bytes of memory that SingleMachineBatchSystem was configured with. Scale is set to 1.
Hacky fix: edit $CATdir/cat/__init__.py at line 133 to defaultMemory = luigi.Parameter(default='7G', significant=False) similarly edit $CATdir/cat/hints_db.py at various lines to reduce calls for memory (e.g. lines with "memory='16G'" or "15G" or "8G") actually, go carefully through the /cat/ subdirectory to find all instances of high memory demands and correct them - they may crash the workflow way downstream