Quick post regarding the Graphics.DrawTexture in Unity3D.
Drawing a sprite sheet using specific UV coordinates in the GUI is only possible (pre 3.5) using Graphics.DrawTexture. The API shows how to use it: http://unity3d.com/support/documentation/ScriptReference/Graphics.DrawTexture.html
You need to be very careful however when using it within an OnGUI call however, I got caught with this yesterday. The texture was being drawn multiple times, due to the event types that are used in the GUI system.
The important thing to do is to ensure that the texture is only actually drawn within the repaint, the DrawTexture call draws a texture so for the layout, mouse move passes it will also draw the texture!
if (Event.current.type == EventType.Repaint)
{
Graphics.DrawTexture(screenRect, texture, uvRect, 0, 0, 0, 0, drawColor);
}