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

issuesTraceback (most recent call last): File "/lustre/home/jianghao/mambaforge/envs/isoquant/bin/isoquant.py", line 808, in <module> main(sys.argv[1:]) #221

Open
JhinJhinJhin opened this issue Aug 2, 2024 · 7 comments
Labels
third-party problem Problem is related to other tools, libraries, system etc

Comments

@JhinJhinJhin
Copy link

i check all of requirements.txt, so what's wrong?
isoquant.py --test
commond line: ~/mambaforge/envs/isoquant/bin/isoquant.py --test
=== Running in test mode ===
Any other option is ignored
2024-08-02 21:01:57,137 - INFO - Running IsoQuant version 3.4.2
2024-08-02 21:01:57,265 - INFO - Novel unspliced transcripts will not be reported, set --report_novel_unspliced true to discover them
2024-08-02 21:01:57,265 - INFO - === IsoQuant pipeline started ===
2024-08-02 21:01:57,265 - INFO - gffutils version: 0.13
2024-08-02 21:01:57,265 - INFO - pysam version: 0.22.1
2024-08-02 21:01:57,266 - INFO - pyfaidx version: 0.8.1.1
2024-08-02 21:01:57,286 - INFO - Checking input gene annotation
2024-08-02 21:01:57,305 - INFO - Gene annotation seems to be correct
2024-08-02 21:01:57,305 - INFO - Converting gene annotation file to .db format (takes a while)...
2024-08-02 21:01:57,331 - CRITICAL - IsoQuant failed with the following error, please, submit this issue to https://github.com/ablab/IsoQuant/issuesTraceback (most recent call last):
File "/lustre/home/jianghao/mambaforge/envs/isoquant/bin/isoquant.py", line 808, in
main(sys.argv[1:])
File "/lustre/home/jianghao/mambaforge/envs/isoquant/bin/isoquant.py", line 797, in main
args, parser = parse_args(args)
File "/lustre/home/jianghao/mambaforge/envs/isoquant/bin/isoquant.py", line 254, in parse_args
args = parser.parse_args(cmd_args, namespace)
File "/lustre/home/jianghao/mambaforge/envs/isoquant/lib/python3.8/argparse.py", line 1768, in parse_args
args, argv = self.parse_known_args(args, namespace)
File "/lustre/home/jianghao/mambaforge/envs/isoquant/lib/python3.8/argparse.py", line 1800, in parse_known_args
namespace, args = self._parse_known_args(args, namespace)
File "/lustre/home/jianghao/mambaforge/envs/isoquant/lib/python3.8/argparse.py", line 2006, in _parse_known_args
start_index = consume_optional(start_index)
File "/lustre/home/jianghao/mambaforge/envs/isoquant/lib/python3.8/argparse.py", line 1946, in consume_optional
take_action(action, args, option_string)
File "/lustre/home/jianghao/mambaforge/envs/isoquant/lib/python3.8/argparse.py", line 1874, in take_action
action(self, namespace, argument_values, option_string)
File "/lustre/home/jianghao/mambaforge/envs/isoquant/bin/isoquant.py", line 779, in call
main(options)
File "/lustre/home/jianghao/mambaforge/envs/isoquant/bin/isoquant.py", line 802, in main
run_pipeline(args)
File "/lustre/home/jianghao/mambaforge/envs/isoquant/bin/isoquant.py", line 741, in run_pipeline
args.genedb = convert_gtf_to_db(args)
File "/lustre/home/jianghao/mambaforge/envs/isoquant/share/isoquant-3.4.2-0/src/gtf2db.py", line 145, in convert_gtf_to_db
gtf_filename, genedb_filename = convert_db(gtf_filename, genedb_filename, gtf2db, args)
File "/lustre/home/jianghao/mambaforge/envs/isoquant/share/isoquant-3.4.2-0/src/gtf2db.py", line 303, in convert_db
convert_fn(gtf_filename, genedb_filename, args.complete_genedb, args.gtf_check)
File "/lustre/home/jianghao/mambaforge/envs/isoquant/share/isoquant-3.4.2-0/src/gtf2db.py", line 130, in gtf2db
gffutils.create_db(gtf, db, force=True, keep_order=True, merge_strategy='error',
File "/lustre/home/jianghao/mambaforge/envs/isoquant/lib/python3.8/site-packages/gffutils/create.py", line 1401, in create_db
c.create()
File "/lustre/home/jianghao/mambaforge/envs/isoquant/lib/python3.8/site-packages/gffutils/create.py", line 542, in create
self._init_tables()
File "/lustre/home/jianghao/mambaforge/envs/isoquant/lib/python3.8/site-packages/gffutils/create.py", line 466, in _init_tables
self.set_pragmas(self.pragmas)
File "/lustre/home/jianghao/mambaforge/envs/isoquant/lib/python3.8/site-packages/gffutils/create.py", line 457, in set_pragmas
c.executescript(";\n".join(["PRAGMA %s=%s" % i for i in self.pragmas.items()]))
sqlite3.OperationalError: disk I/O error

@andrewprzh
Copy link
Collaborator

This looks like a disk I/O problem.
Is there a chance your run IsoQuant on some network disk, e.g. NFS share?

Best
Andrey

@JhinJhinJhin
Copy link
Author

This looks like a disk I/O problem. Is there a chance your run IsoQuant on some network disk, e.g. NFS share?

Best Andrey

thank you!
i don't know why, Maybe it was caused by lustre?
Best wish for you.
Jhin

@andrewprzh andrewprzh added the third-party problem Problem is related to other tools, libraries, system etc label Aug 3, 2024
@andrewprzh
Copy link
Collaborator

I guess it can. IsoQuant uses gffutils, which creates and SQL database from the gene annotation on disk. Unfortunately, it is not possible to create a database connection on network disks.

Thus, I suggest to run test in some other location, i.e. local storage. If you need to run IsoQuant using lustre, you may use --genedb_output <local folder> option. This will create a database in a local folder, but the rest of the output will be in main output folder.

Best
Andrey

@JhinJhinJhin
Copy link
Author

I guess it can. IsoQuant uses gffutils, which creates and SQL database from the gene annotation on disk. Unfortunately, it is not possible to create a database connection on network disks.

Thus, I suggest to run test in some other location, i.e. local storage. If you need to run IsoQuant using lustre, you may use --genedb_output <local folder> option. This will create a database in a local folder, but the rest of the output will be in main output folder.

Best Andrey

I understand, it can be used after I specify the dir in the /tmp directory. Thank you very much!!!

@JhinJhinJhin
Copy link
Author

I guess it can. IsoQuant uses gffutils, which creates and SQL database from the gene annotation on disk. Unfortunately, it is not possible to create a database connection on network disks.

Thus, I suggest to run test in some other location, i.e. local storage. If you need to run IsoQuant using lustre, you may use --genedb_output <local folder> option. This will create a database in a local folder, but the rest of the output will be in main output folder.

Best Andrey

I'm getting this error again and using --genedb_output <local folder>option doesn't help. Can I provide the .db file input converted with gfftuils? How to do that? I only saw the sentence You can also provide gffutils database manually , but I don’t know how to do it.

@andrewprzh
Copy link
Collaborator

@JhinJhinJhin

You can provide the database using the same --genedb option.

Best
Andrey

@andrewprzh
Copy link
Collaborator

Also, IsoQuant contains a script for GTF <-> database conversion: src/gtf2db.py

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
third-party problem Problem is related to other tools, libraries, system etc
Projects
None yet
Development

No branches or pull requests

2 participants