soedinglab / MMseqs2-App

MMseqs2 app to run on your workstation or servers
https://search.foldseek.com
GNU General Public License v3.0
59 stars 19 forks source link

Temporary redirect issue #79

Closed matthieu-haudiquet closed 1 year ago

matthieu-haudiquet commented 1 year ago

Hello,

I launched by mistake several colabfold search in parallel from our computing cluster, and now I think the mmseqs API has (legitimately) put us on the restricted list. Could you lift the restriction please ? I'll run the next commands sequentially and not in parallele

This is what I get:

curl -s "https://a3m.mmseqs.com/queue"

<html>
<head><title>307 Temporary Redirect</title></head>
<body bgcolor="white">
<center><h1>307 Temporary Redirect</h1></center>
<hr><center>nginx</center>
</body>
</html>

Sorry for the inconvenience, Matthieu

milot-mirdita commented 1 year ago

That shouldn't be an issue, there is no automatic IP ban. You just get rate limited.

However, that is an old URL that current colabfold doesn't use anymore. Are you using an old version of colabfold? It should send requests to api.colabfold.com.

Edit: The old URL should still work, you just need to pass the -L flag to curl. I think some older version was using curl for some things and not using the -L flag either.

matthieu-haudiquet commented 1 year ago

Hello, thanks for your reply. I'm running the latest version of localcolabfold, so you're right it's using api.colabfold.com . I'm getting stuck at the first step and thought I simply got banned from the API

2023-08-25 11:34:15,262 Running colabfold 1.5.2 (63decf556dc2cabfb679917b86d5f3a526a481e7)
2023-08-25 11:34:48,069 Running on GPU
2023-08-25 11:34:50,406 Found 7 citations for tools or databases
2023-08-25 11:34:50,407 Query 1/1: XXX_dimer (length 2824)
COMPLETE: 100%|██████████| 150/150 [elapsed: 00:03 remaining: 00:00]

I'll see what I can find on my side, thanks for the help !

milot-mirdita commented 1 year ago

If you do (from the same IP):

curl -L -X POST "https://api.colabfold.com/ticket/msa"

It should either tell you that some parameter is missing or give you a warning that you are rate limited. The rate limiting works as following: You get a certain number of "tokens" that you can spend, you start with 20 and they are replenished every 2 minutes up to the max of 20.

Careful with the curl command above, that will also consume a token (even if it results in a the parameter error).

matthieu-haudiquet commented 1 year ago

Thanks,

srun -p gpu --gres=gpu:7g.40gb:2 -c 1 curl -L -X POST "https://api.colabfold.com/ticket/msa"

srun: job 34909733 queued and waiting for resources
srun: job 34909733 has been allocated resources
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100    90  100    90    0     0     74      0  0:00:01  0:00:01 --:--:--    74
Key: 'JobRequest.Job.Mode' Error:Field validation for 'Mode' failed on the 'required' tag

So I guess I'm not rate limited and the node indeed has access to the colabfold server ..

milot-mirdita commented 1 year ago

Could you send me the sequence? If you can't post it publicly, you can send it to my email at firstname at lastname . de

I can investigate what's going on. The sequence seems to be very long, maybe the search was just taking very long (there is also a maximum time limit of 1h, so it might just get killed).

matthieu-haudiquet commented 1 year ago

Good catch..! I just tested with a small sequence it's working. I think I got confused because the last time I got the Rate limited warning and thought this was the issue .. You can close the issue, sorry for the confusion and thanks so much