Skip to content

gfftk convert hangs during GenBank conversion on HPC (works locally) #8

@marcinschmidt

Description

@marcinschmidt

Summary:
On an HPC cluster, the gfftk convert command hangs indefinitely (no output file, no error) when converting a valid GFF3+FASTA to GenBank format. The same files work instantly on a local machine (macOS Monterey v12.7.6 Mac-mini Intel i5, same command, same input files). This occurs both when writing to Lustre/NFS storage and to the node's local /tmp. The issue is reproducible with Biopython 1.83 and 1.85, and gfftk 25.6.10. Storage, quota, inode, and permissions are all OK (tested by writing large files in the same location).

Repro steps:

  1. Prepare valid GFF3 and FASTA files (example: Aspergillus nidulans annotation, ~7MB GFF3, ~29MB FASTA)
  2. Run:
    gfftk convert -i Aspergillus_nidulans.gff3 -f Aspergillus_nidulans.fasta -o /tmp/test.gbk
    
  3. Process hangs indefinitely, never produces output.
  4. The same command and files work perfectly on a local Mac-mini.

Diagnostics:

  • File system is Lustre, but the same issue occurs on node-local /tmp.
  • Writing large files in the same directory works instantaneously (dd, echo, etc.).
  • No .lock or temp files left behind. No error messages.
  • strace on the hanging process shows:
    restart_syscall(<... resuming interrupted poll ...>
    
  • No significant CPU or memory usage. Only waiting in poll().
  • Biopython 1.83 and 1.85 tested. Python 3.12. gfftk 25.6.10 (conda env, Singularity container).
  • No issues with cluster quota, inode, or permissions.

Additional notes:

  • gfftk stats works fine on the same files on HPC.
  • The GFF3+FASTA files are valid and produce .gbk output locally.
  • The issue seems to be a deadlock or hang in the conversion routine when run in the HPC/container environment.

Environment:

  • Cluster: x86_64, Rocky Linux 9.6 (Blue Onyx), Lustre, SLURM
  • OS details:
    • Rocky Linux 9.6 (Blue Onyx)
    • ID="rocky"
    • ID_LIKE="rhel centos fedora"
    • VERSION_ID="9.6"
    • PLATFORM_ID="platform:el9"
    • CPE_NAME="cpe:/o:rocky:rocky:9::baseos"
    • VENDOR_NAME="RESF"
    • VENDOR_URL="https://resf.org/"
    • SUPPORT_END="2032-05-31"
    • ROCKY_SUPPORT_PRODUCT="Rocky-Linux-9"
    • ROCKY_SUPPORT_PRODUCT_VERSION="9.6"
    • REDHAT_SUPPORT_PRODUCT="Rocky Linux"
    • REDHAT_SUPPORT_PRODUCT_VERSION="9.6"
  • Python: 3.12 (Conda env)
  • Biopython: 1.83, 1.85 (both tested)
  • gfftk: 25.6.10
  • Storage: Lustre/NFS and local /tmp (both tested)
  • Container: Singularity/Apptainer (based on conda environment)

Expected behavior:
GenBank file should be generated as on local machine.

Actual behavior:
Process hangs forever at conversion step, no output.

Request:
Please investigate if this is a known issue with gfftk/Biopython in HPC/containerized environments, or if any additional diagnostics can be provided. Happy to supply test data or more details if needed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions