With the help of puttygen you can export your private key to an OpenSSH compatible format. Then you can use OpenSSH tools to recreate the public key.
Open your PuttyGen
Click on Load
Load your private key
Now you go to Conversions-> Export OpenSSH and export your private key
Copy your private key to ~/.ssh/id_dsa (or id_rsa).
Then create the RFC 4716 version of the public key using ssh-keygen
ssh-keygen -e -f ~/.ssh/id_dsa > ~/.ssh/id_dsa_com.pub
Now convert the RFC 4716 version of the public key to the OpenSSH format:
ssh-keygen -i -f ~/.ssh/id_dsa_com.pub > ~/.ssh/id_dsa.pub