The reason I am asking this is the following. Some time ago I performed proofreading of a book, and there was a phrase containing "Protein-encoding genes". I wrote a post on my blog, detailing why this is wrong, according to the assumption that "to code" means to write something in a given standard representation (like "I code a program" in the sense that I write a program in a standard representation of a programming language). Another example is Huffman coding, which is an algorithm for compression. To encode, on the other hand, means to transform something into something else, for example, base32 encoding transforms binary data into text, so it is possible to send it via email.
Now I am not really sure about it anymore. What I can say for sure, is that genes do not perform any operation, they just store information, so to me "Protein-coding genes" makes a lot more sense than "Protein-encoding genes". I don't understand, in particular, the exact grammar of suffixes like "-coding". Is it a verb, an adjective, or something I'm not aware of ?