KarchinLab / open-cravat

A modular annotation tool for genomic variants
MIT License
110 stars 27 forks source link

sqlite3.OperationalError: database is locked #187

Closed ro-carvajal closed 5 months ago

ro-carvajal commented 10 months ago

Hi!

I encountered the error 'sqlite3.OperationalError: database is locked' when I ran the following command:

oc run inter_comp.vcf.gz -d . -n anotacion -l hg19 -a aloft fathmm

I had used this tool in the past and never encountered this error before. I've been checking for any running processes, but it appears that there are none.

I tried performing the annotation using the GUI, and it worked successfully.

I've attached a screenshot of the terminal. Could someone please help me?

Thanks!

image

kmoad commented 10 months ago

I've seen this before caused by an out-of-date module. Please run 'oc module update` and let us know if this fixes it.

ro-carvajal commented 10 months ago

Thank you for your response. I tried what you suggested, but it's still not working. It seems that the issue occurs when adding the annotations, as shown in the screenshot. Additionally, it's generating var, crs, crm, etc files with the chosen annotators and an empty *.sqlite file. I hope this information can help in resolving this situation.

amarinderthind commented 10 months ago

I am facing the same issue.

kmoad commented 10 months ago

What version of OpenCRAVAT are you running? The next thing to try would be to upgrade the system, the run the module update again.

To check version oc version

To update (depends on how you installed) https://open-cravat.readthedocs.io/en/latest/Update-Instructions.html

amarinderthind commented 10 months ago

Version: 2.4.1. I was able to run the job by splitting it into 2 parts. But the original problem still exists, something to do with data size?

ro-carvajal commented 10 months ago

I was initially running version 2.2.7, and then I upgraded to the latest version (2.4.2) and performed the necessary updates. However, the problem remains unresolved. I am working on a server setup with several Network-attached storage (NAS) systems, where the VCF files are located on one, and the modules are on another NAS. To troubleshoot, I transferred the VCF file to the server's local storage and ran OpenCRAVAT, and it worked! I'm unsure how to avoid having to move the files, but I can proceed with the annotations. However, I'm eager to find a solution to this issue, especially since just a couple of weeks ago, it was working without any problems.

kmoad commented 5 months ago

This is a known issue with NFS and sqlite. Certain NFS configurations don't support the file locking that sqlite needs.

In oc, this means that the oc output directory cannot be on an NFS share. The input files, and modules can be. Though annotation will be slower if modules are over the network.

To work around it, use the -d option in oc run to explicitly set the output directory to a scratch disk, then transfer the files once it's complete.