Skip to content

Change SUBSET value from 10 to 1010#819

Open
akashkishore wants to merge 1 commit intosokrypton:mainfrom
akashkishore:subset_sequence_lookup
Open

Change SUBSET value from 10 to 1010#819
akashkishore wants to merge 1 commit intosokrypton:mainfrom
akashkishore:subset_sequence_lookup

Conversation

@akashkishore
Copy link
Copy Markdown

Faced the following error while running mmseqs createindex:

Invalid mask mode. No sequence lookup created!
Error: indexdb died

Solves similar error faced in #766.

mmseqs createindex --help mentions the following for --index-subset:

--index-subset INT           Create specialized index with subset of entries
                              0: normal index
                              1: index without headers
                              2: index without prefiltering data
                              4: index without aln (for cluster db)
                              8: no sequence lookup (good for GPU only searches)
                              Flags can be combined bit wise [0]

The if condition checks for the no sequence lookup in mmseqs but doesn't set the bit for option 8.

Currently SUBSET is set to 10 (line 124, setup_databases.sh). It works fine when I changed it to 1010

```
--index-subset INT           Create specialized index with subset of entries
                              0: normal index
                              1: index without headers
                              2: index without prefiltering data
                              4: index without aln (for cluster db)
                              8: no sequence lookup (good for GPU only searches)
                              Flags can be combined bit wise [0]
```


The if condition checks for the `no sequence lookup` in mmseqs but doesn't set the bit for option 8
@milot-mirdita
Copy link
Copy Markdown
Collaborator

1010 is not correct, this combination of parameters does not exist and essentially maps to 2.

You can't use the GPU mode with the CPU prefilter (either gapped or ungapped) anymore. You have to build the database without GPU support. Alternatively, you can force the subset to 2 then you can at least use the CPU gapless filter.

@akashkishore
Copy link
Copy Markdown
Author

Hi!

I'm sorry I should've clarified I am trying to use GPU (GPU=1 when running the scripts).

In setup_databases.sh lines 117-132, there is an if condition that does a grep search for "8: no sequence lookup".

However, regardless of the result of the if condition's evaluation, SUBSET is effectively assigned the same value (I am assuming 2 and 10 result in the same flags/options being set).

And so based on the output of mmseqs indexdb --help which says the flags can be combined bitwise, I added the flag for 8 to drop the sequence lookup.

Hopefully this clarifies things, sorry if I misunderstood.

Copy pasted setup_databases.sh lines 117-132 here:

GPU_PAR=""
GPU_INDEX_PAR=""
if [ -n "${GPU}" ]; then
  GPU_PAR="--gpu 1"
  SUBSET=2
  # recent mmseqs versions also allow dropping the sequence lookup, which is not used in GPU
  if mmseqs indexdb --help | grep -q "8: no sequence lookup"; then
    SUBSET=10
  fi
  GPU_INDEX_PAR=" --split 1 --index-subset $SUBSET"


  if ! mmseqs --help | grep -q 'gpuserver'; then
    echo "The installed MMseqs2 has no GPU support, update to at least release 16"
    exit 1
  fi
fi

@milot-mirdita
Copy link
Copy Markdown
Collaborator

Which MMseqs2 version are you using? Could you run mmseqs version please?

@akashkishore
Copy link
Copy Markdown
Author

$ ./mmseqs version
05ae20cbc628d9911ad0aa421fba029cc457b76e

It's the version installed in MsaServer/setup-and-start-local.sh

@milot-mirdita
Copy link
Copy Markdown
Collaborator

Please try replacing this with 8cc5ce367b5638c4306c2d7cfc652dd099a4643f (release 18). That one should work

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

Successfully merging this pull request may close these issues.

2 participants