shuffleBed will randomly permute the genomic locations of a BED file among a genome defined in a genome file. One can also provide an exclusions BED file that lists regions where you do not want the permuted BED features to be placed. For example, one might want to prevent features from being placed in known genome gaps. shuffleBed is useful as a null basis against which to test the significance of associations of one feature with another
Parent program: BEDTools
bedtools utilities are a swiss-army knife of tools for a wide-range of genomics analysis tasks. The most widely-used tools enable genome arithmetic: that is, set theory on the genome. For example, bedtools allows one to intersect, merge, count, complement, and shuffle genomic intervals from multiple files in widely-used genomic file formats such as BAM, BED, GFF, GTF, VCF. While each individual tool is designed to do a relatively simple task (e.g., intersect two interval files), quite sophisticated analyses can be conducted by combining multiple bedtools operations on the UNIX command line.