Is it 5.4 MB of pure code? i.e. 5 million characters, ~ 100,000 lines of code? Or is there a dataset or images included?
In the first case (that's a huge app) I would suggest putting some of the code in a separate package: one package for the low-level operations, one for the Shiny app which imports the first.
In the second, well depends how critical they are. Increasing compression levels can save a few %, but at the price of longer decompression times, decreasing image quality can sometimes save a lot with minimal visual difference. For datasets, it can make sense to store it in a separate package (CRAN should accept if you're not going to update it frequently), or to download it as needed...
Yes, FASTA should be very efficiently compressed (since you have few possible characters, it contains a lot less information than the same size in text). You can probably get at least 50% compression rate, or even more; that should be more than enough in your case.