This guide covers common issues, performance bottlenecks, and environment configurations encountered during large-scale RNA-seq runs (8k+ samples).
Problem: The output/amalgkit directory becomes IO-saturated during quantification, causing sqlite3 queries on pipeline_progress.db to hang or deadlock.
Solution:
- Read-Only Mode: Always use URI-based read-only connections for monitoring.
conn = sqlite3.connect('file:output/amalgkit/pipeline_progress.db?mode=ro', uri=True)
- Copy to TMP: For heavy analysis, copy the DB to a local fast drive (SSD or
/tmp).cp output/amalgkit/pipeline_progress.db /tmp/pipeline_status.db
- Avoid Pandas
read_sqlon live DBs: Standardpandas.read_sqlcan trigger locking issues. Prefer rawsqlite3cursors with short timeouts.
Problem: Amalgkit fails to find fasterq-dump despite the SRA Toolkit being installed.
Solution: Ensure the binary path is explicitly in the environment within the Dockerfile or orchestration script.
export PATH=$PATH:/usr/local/ncbi/sra-tools/binProblem: Downloading taxonomy databases (e.g., ete3.NCBITaxa().update()) hangs indefinitely in containerized environments.
Solution: Pre-download the taxdump manually and provide it to the container.
# In Dockerfile or setup script
wget https://ftp.ncbi.nlm.nih.gov/pub/taxonomy/taxdump.tar.gz
# ete4 will detect existing local files or can be pointed to themProblem: Inconsistent BioProject-to-Tissue mappings in config/amalgkit/tissue_patches.yaml.
Solution:
- Use the
scripts/rna/test_tissue_normalization.pyto validate patches before bulk processing. - Ensure no duplicate BioProject entries exist in the
NCBI Batch Patchessection.
Problem: Missing OrthoDB mappings for new species.
Solution: Refer to Ortholog Generation Guide. Ensure the automated extraction script handles species name synonyms correctly (e.g., Apis mellifera vs apis_mellifera).