With BitIodine you can find transactions between two addresses or two clusters, address-to-cluster and cluster-to-address, get a list of addresses that sent/received Bitcoin to/from a particular address and visualize clusters controlled by the same user or entity, filtering by amount and time.
More info at: https://bitiodine.net.
On Ubuntu:
apt-get install libssl-dev cmake build-essential g++-4.4 libdb++-dev libboost-all-dev libsparsehash-dev git-core perl sqlite3 python3-numpy python3-simplejson python3-networkx libhiredis-dev libsqlite3-dev