In this talk, we consider the problems of recovering a sparse vector from noisy measurement data. An algorithm of primal-dual active set type for a class of convex/nonconvex sparsity-promoting penalties is proposed. A novel necessary optimality condition for the global minimizer using the associated thresholding operator is derived. Upon introducing the dual variable, the active set can be determined from the primal and dual variables. This relation lends itself to an iterative algorithm of active set type which at each step involves updating the primal variable only on the active set and then updating the dual variable explicitly. This approach can also extend to the group sparse model.