-
Notifications
You must be signed in to change notification settings - Fork 12
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
Use hpc_hmmsearch #8
Comments
Hi @apcamargo , thanks for the heads-up! The current version of |
Thanks! I did some quick benchmarks here and I found |
Hi @apcamargo , I was able to trace down a big performance penalty in the On a consumer PC, with a small number of threads, this didn't affect performance that much, but on larger PCs (e.g. our lab's workstation) it is making quite a difference with a higher number of threads. Next step will be to try to rewrite the |
Thanks! I'll give it a try later today. Do you expect the OpenMP implementation to perform similarly to |
I did get some improvements with this branch, although I didn't have the chance to test it in a machine with lots of threads. Very excited about this progress! Thanks! |
A bit more than two years later, I did some benchmarks. In a very common scenario ( #!/usr/bin/env python
import pyhmmer
with pyhmmer.easel.SequenceFile("test_proteins.faa", digital=True) as seq_file:
seqs = seq_file.read_block()
with pyhmmer.plan7.HMMFile("Pfam-A.h3m") as hmms, open("hmmer_output.txt", "w") as fout:
for hits in pyhmmer.hmmer.hmmsearch(hmms, seqs, bit_cutoffs="gathering"):
for hit in hits:
fout.write(f"{hits[0].name.decode()}\t{hits.query_accession.decode()}\t{hits.query_name.decode()}\t{hits[0].evalue:.2e}\t{hits[0].score:.2f}\n") |
This might be outside of the scope of the project, but I thought it could be a nice addition. There's a modified version of hmmseach (https://github.com/Larofeticus/hpc_hmmsearch) that runs way faster in parallel than the regular command. Maybe
pyhmmer.hmmsearch
could use it instead, or having it available through a separate function.More technical details: https://docs.nersc.gov/performance/case-studies/hmmer3/
The text was updated successfully, but these errors were encountered: