With just bulk RNA-seq, I would prefer to use either GSVA or GSEA (Broad Institute's JAVA implementation), and that would be using the entire unfiltered dataset. Then, we are referring to gene and pathway 'signatures', as opposed to cell-types. I do not recall any great algorithm or program that was released that can deconvolute bulk RNA-seq. We built one as part of this following publication, and it utilised the FANTOM5 dataset from Japan (i.e., we first built our cell-type signatures using the FANTOM5 data, and then applied these to our bulk RNA-seq data): Molecular Portraits of Early Rheumatoid Arthritis Identify Clinical and Treatment Response Phenotypes.
I have also since developed some other methods for doing similar 'deconvolutions' of one signature to a new datasets, but never published these, due to the fact that the work is protected by non-discolure agreements, etc.
You could also use enrichR using just the differentially expressed genes. This can quickly generate a lot of enrichment results through which you can sift.
Two relatively recent programs that can deconvolute bulk RNA-seq data, however, utilise scRNA-seq data in order to do this. You should take a look at these to see if they are suitable or not:
BSEQ-sc is interesting, as one of the developers is Renaud Gaujoux, who famously developed one of the very first deconvolution tools based on the Abbas cDNA microarray data, known as 'CellMix'.