First question for me on this site, lets see how it goes. So i have this motherboard. http://www.asus.com/UK/Motherboards/B150M-A/ Could someone recommend me a powerful graphics card, GTX1070 or something similar that would fit due to the fact my board is mini atx with 4 sata ports in use. What ones are there that will fit? If someone could find a powerful single case slot g card. Preferably Nvidia based Asus or MSI that would be great.
I recommend the Asus Turbo GTX-1070 8gb. It's the cheapest Asus/MSI 1070 out there, and its blower cooling might actually be of some benefit to you unless you have more fans in your case than the default number it came with.
It is a very long card, but it will fit in your case and one of the two 6/8 PSU cables you have will power it. Furthermore, while it will "cover" 2 of your SATA ports, 4 will be wide open, which is the requirement. I put scare quotes around "cover" because in my experience those ports are still definitely usable, you just have to put the cables in before the card. Sometimes you might need to use right-angle SATA cables, but those aren't hard to come by; at least one probably shipped with your motherboard.
TL;DR this WILL work with your current PC setup.
There's not much in the way of powerful single-slot graphics cards out there -- I could find a GTX 750 Ti, but that's a mid-range card, and getting somewhat old.
Going the other direction to avoid running in to your SATA cables, Gigabyte makes short two-slot GTX 1070 and GTX 1060 cards: the card is just barely longer than the PCIe connector. You may need to move one of your SATA cables from port 3 to port 6, but everything should still work.
And if you're willing to go to extreme effort to get extreme performance, Zotac makes a GTX 1080 with a low-profile integrated waterblock. You'll need to set up a watercooling system to go with it, though.