BAM to BigWig without intermediary BedGraph
This can be done in R very easily from an indexed .bam file.

Given single-end file for sample1.

library(GenomicAlignments)
library(rtracklayer)

## read in BAM file (use readGAlignmentPairs for paired-end files)
gr &lt;- readGAlignments('sample1.bam')

## convert to coverages
gr.cov &lt;- coverage(gr)

## export as bigWig
export.bw(gr.cov,'sample1.bigwig')


Be aware that this method doesn't include normalization steps (such as normalizing to total coverage). Most of these additional steps can be added if necessary.