This has come up before, but I have never been satisfied with, or completly understood, the answers. My issue is how can Bowtie2 be used to map uniquely mapping paired-end reads (Illumina) to a genome for the purpose of ChIP-seq analysis. Unlike the original Bowtie there is no magical '-m1' flag to enforce the reporting of unqiely mapped reads.
My current strategy is to run Bowtie2 with '-k 2', which reports up to two alignments per read. The resulting SAM file can then be filtered to remove reads containing the 'XS' flag, which reports the mapping quality of a second best alignment.
I am fairly happy with this when using single-end reads, but with paired-end reads samtools flagstat on the filtered BAM file can show an odd number for properly paired reads.
I would be interest to get an opinion on this method and whether anyone else has tried an tested alternatives.