How to use Anglerfish

Query setup

You need to provide a query molecule. Possible targets and bioactivities will be predicted for this query molecule based on its similarity with known active molecules.

The query molecules can be provided by two different methods:

Now, the different types of molecular fingerprint to be used for the similarity searches can be chosen. The more fingerprint types are chosen, the longer will it take for the search to complete.

Once you have chosen the fingerprint types you would like to use, click the "Submit" button.

(Don't forget to fill in the CAPTCHA)

If anything went wrong, you will see a notification indicating what needs to be changed.

Otherwise, you will be presented with a 2D preview of your query molecule, its SMILES and the fingerprint types you chose.

If there's something wrong (e.g., you forgot one fingerprint type or you mistyped the SMILES in the previous step and the molecule is wrong) you can go back and fix it.

If everything is alright, you can proceed to submit the search job.

Waiting for the results

You will be now presented with a page showing the status of your query.

The possible statuses are:

The URL to this page can be saved and accessed later to check the query status.

Once it has finished, it will redirect to the results page.

Results page

The results page offers a brief summary of the query and a table with the results grouped by target.

The columns of the table are:

The result table features a search box that supports advanced search arguments and filters.

The result table can be downloaded as a CSV file, easily imported into Excel or other spreadsheet software.

There is also a link to repeat the process, but starting from the used settings (molecule and chosen fingerprints), which can then be tuned.

Detailed Results page

This page is similar to the Results page , but it doesn't group results by target and provides detailed data on the similarities between the query molecule and each active.

The table includes:

The detailed results table features the same advanced search and export capabilities as the previous results table.

RESTful API

Anglerfish can also be used through a RESTful API.

It supports the POST method to submit a query, and the GET method to retrieve its status and results.

To submit a new search, submit a POST request to  http://anglerfish.urv.cat/anglerfish/api/search  with the following variables in JSON:

The POST method, if successful, will return a JSON file with one variable, " id ", which will be a long string that will look similar to "23a17a0c-4c277ebfcb9b68a340a0t087c-75f8053072f678043c0y3f072f57f-723477fy".

With this unique ID, you can access the results of the query with the GET method, thrugh the URL  http://anglerfish.urv.cat/anglerfish/api/get/YOUR_SUBMISSION_ID .

This ID can also be used to brose the query results through the web interface, going to  http://anglerfish.urv.cat/anglerfish/wait?id=YOUR_SUBMISSION_ID.

The GET method, if successful, will return a JSON file with the following fields, depending on the success of the query:

Here is an example of API usage with cURL:

 curl -d '{"smiles":"CCC", "fptypes":["RDKit-Morgan"]}' -H "Content-Type: application/json" -X POST http://anglerfish.urv.cat/anglerfish/api/search --output post_result.json

The "post_result.json" file will look something like this:

 {"id": "23a17a0c-4c277ebfcb9b68a340a0t087c-75f8053072f678043c0y3f072f57f-723477fy"}

With this ID we can now retrieve the status and results of the search:

 curl -X GET http://anglerfish.urv.cat/anglerfish/api/get/23a17a0c-4c277ebfcb9b68a340a0t087c-75f8053072f678043c0y3f072f57f-723477fy --output results.json

The results.json file will contain all the results and associated data, as described above. Keep in mind that it can be upwards of 50 MB in size, so it may not be advisable to try to open it with a text editor