# Stop BLAST from phoning home

Some time back I learned from Devon Ryan on the bird app (no link because I have stopped using said app) that BLAST phones home every time you used it, by default. I was never aware of this until I saw the post and I'm not really a fan of having this turned on by default.

There are instructions on how to opt-out, which I have included below:

You may also opt-out of the usage reporting by setting the environment variable BLAST_USAGE_REPORT to false. In bash (under LINUX) this command would be:

export BLAST_USAGE_REPORT=false

Recently, I found out about the strace command while learning about Linux. With it, I can confirm whether setting the environment variable does in fact turn off the phoning home behaviour.

wget -c https://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/LATEST/ncbi-blast-2.13.0+-x64-linux.tar.gz
tar -xzf ncbi-blast-2.13.0+-x64-linux.tar.gz
cd ncbi-blast-2.13.0+

Now let's use strace to trace all the network related system calls.

strace -f -e trace=network ./blastp 2>&1 | grep sin_addr
# [pid 12450] connect(3, {sa_family=AF_INET, sin_port=htons(443), sin_addr=inet_addr("130.14.29.110")}, 16) = -1 EINPROGRESS (Operation now in progress)

If you look up the IP 130.14.29.110, you'll find that it matches the domain www.ncbi.nlm.nih.gov.

Now let's see whether setting the environment variable stops BLAST from phoning home.

export BLAST_USAGE_REPORT=false
echo \${BLAST_USAGE_REPORT}
# false

strace -f -e trace=network ./blastp 2>&1 | grep sin_addr
# no output

You can add the export statement to your .bashrc file, if you use Bash or to your script that runs BLAST to make sure you don't report back to NCBI.