How are `sequence`, `structure`, and `text` files matched in FAISS index?
Hi, thanks for releasing this great work!
I’m currently exploring the FAISS index at:
faiss_index/SwissProt/ProTrek_650M_UniRef50/
Inside this directory, I noticed that:
-
sequence/ids.tsvcontains UniProt IDs, and each line corresponds to a protein sequence. - Similarly,
structure/ids.tsvalso contains UniProt IDs for protein structures. - There’s also a
text/folder, which seems to contain textual annotations.
My question is:
How are these three parts (sequence, structure, and text) aligned with each other?
Is the matching done through a pointer (e.g.,ids.tsv.pointer.npy)?
I tried checking the correspondence by comparing line indices — for example, line 0 in sequence/ids.tsv vs. line 0 in text/ids.tsv — but they don’t seem to match.
Could you please clarify:
- How to correctly align entries between
sequence,structure, andtext? - If a mapping file or pointer is used, where can I find it?
Thanks a lot for your help!
Hi, thank you for your interest in our work!
These three parts are not aligned directly. They are different databases for retrieval purpose. For example, If you have a function description like "a fluorescent protein" and you want to find proteins matching the function, you could first generate the text embedding of the function and then either search the sequence index or the structure index. Then you will get a list of elements, each indicating the location of matching proteins in ids.tsv.
Thanks for your reply! I was wondering if you happen to have any processed dataset in which the sequence, structure, and text entries are aligned by UniProt IDs, allowing them to be directly used together — not predicted, but directly processed.