Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Database locked when detecting de novo exons after no novel exons found on a chromosome #100

Open
QuentinLetourneur opened this issue Aug 17, 2020 · 0 comments

Comments

@QuentinLetourneur
Copy link

Description

Hi, I've encountered this error during test and this execution. It seem to trigger when there are novel exons found on a chromosome but are already present in the database or can't be added.

I came to this conclusion because I ran a test on a sample and it worked.
I then wanted to analyse other close samples with the same gtf database and I came accrose the same error than shown below.
In the present case what confuse me is that the database is created, it found novel exons but they aren't added.

I'm not familiar with sqlite but it seem that the connection to the databse is not closed correctly when catching the ValueError in detect_exons_from_junctions that could lead to a locked database the next time the program try to access it.

Here is the copy of the end of the log :
2020-08-06 12:15:11 Writing ./outrigger_output/junctions/reads.csv ...

2020-08-06 12:17:22 Done.
2020-08-06 12:17:22 Filtering for only junctions with minimum 10 reads ...
2020-08-06 12:19:26 441895/2713719 junctions remain after filtering out 2271824 junctions with < 10 reads.
2020-08-06 12:19:26 Done.
2020-08-06 12:19:27 Creating splice junction metadata of merely where junctions start and stop
2020-08-06 12:19:37 Done.
2020-08-06 12:19:37 Writing metadata of junctions to ./outrigger_output/junctions/metadata.csv ...
2020-08-06 12:19:38 Found GTF file in /SCVOL01/Workspace/Letourneur/Refs/Homo_sapiens.hg38/TCGA/gencode.v22.annotation.gtf
2020-08-06 12:19:38 Creating a "gffutils" database ./outrigger_output/index/gtf/gencode.v22.annotation.gtf.db ...
2020-08-06 12:38:52 Done.
2020-08-06 12:38:53 Looking up which exons are already defined ...
2020-08-06 12:39:10 Done.
2020-08-06 12:39:10 Detecting de novo exons based on gaps between junctions ...
2020-08-06 12:39:12 Finding all exons on chromosome chr1 ...
2020-08-06 19:04:56 Done.
2020-08-06 19:04:56 Filtering for only novel exons on chromosome chr1 ...
2020-08-06 19:04:56 Done.
2020-08-06 19:04:56 Creating gffutils.Feature objects for each novel exon, plus potentially its overlapping gene
2020-08-06 19:06:00 Done.
2020-08-06 19:06:00 Updating gffutils database with 3945 novel exons on chromosome chr1 ...
2020-08-06 19:06:01 No novel exons found on chromosome chr1
2020-08-06 19:06:01 Done.
2020-08-06 19:06:01 Finding all exons on chromosome chr10 ...
2020-08-06 20:04:36 Done.
2020-08-06 20:04:36 Filtering for only novel exons on chromosome chr10 ...
2020-08-06 20:04:36 Done.
2020-08-06 20:04:36 Creating gffutils.Feature objects for each novel exon, plus potentially its overlapping gene
Traceback (most recent call last):
File "/opt/python/bin/outrigger", line 11, in
load_entry_point('outrigger==1.1.1', 'console_scripts', 'outrigger')()
File "/opt/python/lib/python2.7/site-packages/outrigger/commandline.py", line 1071, in main
cl = CommandLine(sys.argv[1:])
File "/opt/python/lib/python2.7/site-packages/outrigger/commandline.py", line 344, in init
self.args.func()
File "/opt/python/lib/python2.7/site-packages/outrigger/commandline.py", line 348, in index
index.execute()
File "/opt/python/lib/python2.7/site-packages/outrigger/commandline.py", line 755, in execute
metadata, db)
File "/opt/python/lib/python2.7/site-packages/outrigger/commandline.py", line 619, in make_exon_junction_adjacencies
exon_junction_adjacencies.detect_exons_from_junctions()
File "/opt/python/lib/python2.7/site-packages/outrigger/index/adjacencies.py", line 208, in detect_exons_from_junctions
for x in novel_exons]
File "/opt/python/lib/python2.7/site-packages/outrigger/io/gtf.py", line 249, in location_to_feature
for g in overlapping_genes:
File "/opt/python/lib/python2.7/site-packages/gffutils/interface.py", line 699, in region
c.execute(query, tuple(args))
sqlite3.OperationalError: database is locked

Steps to Reproduce

  1. Launch outrigger on a sample
  2. Lauch it on another sample with the same reference using the existing gtf.db

Versions

I'm using the latest version of outrigger 1.1.1 that I downloaded a month ago.
I work on Centos 7

Thank you for your help,
Quentin

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant