I wanna to see the expression profile in the ucsc genome browser of several genes. I was thinking if someone know some way or script that can retrieve the png images automatically from the genome browser.
I posted a Python-based tool on Github called [soda.py][1] that creates a web-ready gallery of UCSC browser shots. You just give it your BED file of coordinates, build, and session ID, and you specify an output directory where PDF and PNG results get stored (as well as an `index.html` file that lets you browse through snapshots with a web browser).

If you want to do things by hand, you can do something like the following quick and dirty approach to get a nice PNG. You'll need ImageMagick `convert` installed in order to convert the PDF to PNG. You'll also need GNU `wget` to do web requests on the command line.

    $!/bin/bash
 
    chrom="chr1"
    chromStart=1234567
    chromEnd=1234987
    sessionID=1234
    genomeBrowserURL="genome.ucsc.edu"
    dumpURL="http://${genomeBrowserURL}/cgi-bin/cartDump"
    postData="hgsid=${sessionID}&hgt.psOutput=on&cartDump.varName=position&cartDump.newValue=${chrom}%3A${chromStart}-${chromEnd}&submit=submit"
    wgetOpts="--no-directories --recursive --convert-links -l 1 -A hgt_*.pdf"
    wgetWaitOpts="--wait=1 --random-wait --tries=2 --timeout=100"
    wget ${wgetWaitOpts} --post-data "${postData}" "${dumpURL}"
    wget ${wgetOpts} ${wgetWaitOpts} "$url&position=${chrom}%3A${chromStart}-${chromEnd}" 2> fetch.log
    mv hgt_*.pdf ${sessionID}.pdf
    convert -density 300 ${sessionID}.pdf -background white -flatten ${sessionID}.png

You'd fill out `chrom`, `chromStart`, `chromEnd` and `sessionID`. Or use placeholders `$1` etc. and pass them in on the command line.

If you have a few regions to look at, this would just be a matter of modifying this approach to loop over their respective chromosome name and interval values, and naming the output files appropriately. (Or you can use [soda.py][1] for automation.)

  [1]: https://github.com/alexpreynolds/soda