Comments (6)
Do you want to make a subset of the target sequences that were hit by something, or do you want to make a subset of the query sequences that had some hits?
from foldseek.
A subset of the target sequences that were hit by something.
For instance, we run:
foldseek easy-search 1pdb.pdb pdb output.tsv tmp
How can I get a new foldseek database containing all hits from output.tsv. My goal is to run a new search in that subset using another query.
from foldseek.
You have to use the non-easy-
workflows for this. Here is a suggestion how to do this search:
# replicate easy-search
foldseek createdb 1pdb.pdb querydb
foldseek search querydb pdb result tmp
foldseek convertalis querydb pdb result output.tsv
# turn result database into a format where we can extract the database keys
foldseek prefixid result result.tsv --tsv
# print only the unique database keys into a file
cat result.tsv | awk '{ print $2 }' | sort -u > target_keys.tsv
# generate subset of the target database
foldseek createsubdb target_keys.tsv pdb pdb_subset
foldseek createsubdb target_keys.tsv pdb_ss pdb_subset_ss
# search against the target subset
foldseek search other_query_db pdb_subset result_2 tmp
foldseek convertalis other_query_db pdb_subset result_2 output_2.tsv
Keep in mind that the 3Di+AA E-value depends on the target database size, thus you will have possibly unrealistic low E-values when you search against the subset. You can output the TM-score in convertalis
by adding alntmscore
to --format-output
. E.g. --format-output query,target,fident,alnlen,mismatch,gapopen,qstart,qend,tstart,tend,evalue,bits,alntmscore
. TM-score is independent from the target database size.
from foldseek.
Thanks, Milot. I tried to reproduce what you suggested but got some problems. The generated pdb_subset does not have pdb_subset_ss* files, and the search fails with the "Input pdb_subset_ss does not exist" error. Also, I am wondering why we need
foldseek convertalis querydb pdb output.tsv
and then
foldseek prefixid result result.tsv --tsv
Does not the first column of the result file contains the same database keys?
Besides, foldseek convertalis requires at least 4 input paths, so foldseek convertalis querydb pdb output.tsv does not work. I guess it should be foldseek convertalis querydb pdb result output.tsv, though in the foldseek help examples, also only 3 paths provided.
from foldseek.
Sorry, I wrote the commands down without actually trying them. I fixed them now.
You can leave out the first convertalis
if you don't care about the first searches m8 output.
We need to do a pretty roundabout way of doing this procedure for two reasons. We could just extract the second column (the target accession) from convertalis and give that to createsubdb --id-mode 1
. But there is no actual guarantee that these are unique. With this procedure we can extract the internal database key and use that to create the subset. Aditionally, we would ideally do everything with convertalis --format-output
instead but qkey
and dbkey
are not exposed there. I'll add something to expose these two fields when I have time.
from foldseek.
Thanks, it works. Looking forward to testing new options!
from foldseek.
Related Issues (20)
- Backbone only search returns no hit. HOT 4
- easy-search hangs on scop40 test HOT 9
- precomputed pdb lookup and sequence don't line up HOT 1
- `--taxon-list` option not accepting multiple taxonomy IDs correctly HOT 5
- Can't find exact match in PDB HOT 2
- 3di for multi-chain protein HOT 2
- Comparison of specified structure fragments HOT 1
- Job kept being stucked in the pending state HOT 7
- How to conduct clusters based on global structures instead of local substructures? HOT 1
- Create human-readable taxonomy lookup table from precomputed database HOT 3
- Potential permission issue when trying to create foldseek db HOT 1
- Error std::out_of_range when creating database with specific cif files HOT 4
- Cannot use createdb to merge two existing db HOT 1
- (core dumped) "$MMSEQS" createcomplexreport "${QUERY}" "${TARGET}" "${SCORECOMPLEX_RESULT}" "${REPORT}" ${REPORT_PAR} HOT 18
- No 3D alignment shown in webserver viewer HOT 9
- Retrain Foldseek's VQ-VAE and compile it with the main program. HOT 1
- How to convert the 3D descriptors back to PDB file? HOT 3
- Foldseek-multimer returns non-interacting chains HOT 3
- How to download AFDB clusters? HOT 3
- Input taxonomy database is missing when using createdb HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from foldseek.