I am trying to plot coverage for CDS region using deeptools.

from the manual there is a flag ``` --region ```, but it either  takes a chromosome or region of chromosome  

> –region chr10 or –region chr10:456700:891000  

Is there is a way to pass bed file to it like in ``` –blackListFileName, -bl ``` flag?

or I need to use something like:

``` samtools view -hL cds.bed alignment.bam > alignment_in_cds.sam ```   

and then use plotCoverage normally?
`plotCoverage` itself can't be made to use a BED file like you want. If you just want something like "% of signal in the CDS" then you can give a GTF file and your BAM file(s) to `plotEnrichment`, which will produce a histogram of "% alignments/feature" and (optionally) a table of the values.

If you really do want only the coverage distribution over the CDS then there's no way to do that directly with deepTools. One can prefilter the BAM file as you showed, but note that this will still create off-target bases that are flanking each CDS, so even then the results will only be approximate.