What's the difference between BLASTX and BLASTP? I know that BLASTX translates your nucleotide sequence into proteins and compares this to protein database, but isnt this the same thing as BLASTP which is comparing your peptide sequence to a protein database?
No, they are not the same. BLASTX performs translation in all 6 reading frames and aligns all of them to the database. If you translate your gene into a protein and run BLASTP, then only one (the correct one) reading frame will be used.
The reference is simply the list of options of BLASTX. If you run "blastx -help", you'll see, among other options, the option "-strand" with the following description: "Query strand(s) to search against database/subject. Default = both".
Also, there is a format specifier "qframe", which shows the query frame in the results.
This means that BLASTX by default searches both strands and considers different frames.
Once BLASTX translates the nucleotide sequences into putative six frames, then it works the same as BLASTP. Additional functionality of BLASTX is the translation of the DNA sequence to the corresponding protein sequence.
After the translation it's the same. The input for blastX is DNA, the input for blastP is protein