Structure-aware conditional variational auto-encoder for constrained molecule optimization