A method comprising: (a) sequencing DNA molecules with a DNA sequencer to generate a collection of sequences; (b) mapping the collection of sequences to a reference genome; (c) identifying fused reads from the mapped collection, wherein a fused read contains sub-sequences, wherein a first sub-sequence maps to a first genetic locus and a second sub-sequence maps to a second, distinct genetic locus; (d) for the fused reads, identifying a first breakpoint at the first genetic locus and a second breakpoint at the second genetic locus, wherein a breakpoint is a point on the reference genome where a sequence of a fused read is clipped, and wherein the first and second breakpoints form a breakpoint pair; (e) generating sets of fused reads, each set comprising fused reads having the same breakpoint pair; (f) clustering sets of fused reads, wherein each cluster is formed from sets of fused reads having first breakpoints within a first predetermined nucleotide distance and second breakpoints within a second predetermined nucleotide distance, wherein the first and second predetermined distances are each no more than 25 nucleotides; and (g) determining a gene fusion for one or more clusters, wherein a gene fusion for a cluster has, as a first fusion gene breakpoint, a breakpoint selected from the first breakpoints in the cluster and, as a second fusion gene breakpoint, a breakpoint selected from the second breakpoints in the cluster, and wherein the first and second fusion gene breakpoints are each selected based on selection criteria, wherein the selection criteria include the breakpoint having the most fused reads in the cluster. (a) sequencing DNA molecules with a DNA sequencer to generate a collection of sequences; (b) mapping the collection of sequences to a reference genome; (c) identifying fused reads from the mapped collection, wherein a fused read contains sub-sequences, wherein a first sub-sequence maps to a first genetic locus and a second sub-sequence maps to a second, distinct genetic locus; (d) for the fused reads, identifying a first breakpoint at the first genetic locus and a second breakpoint at the second genetic locus, wherein a breakpoint is a point on the reference genome where a sequence of a fused read is clipped, and wherein the first and second breakpoints form a breakpoint pair; (e) generating sets of fused reads, each set comprising fused reads having the same breakpoint pair; (f) clustering sets of fused reads, wherein each cluster is formed from sets of fused reads having first breakpoints within a first predetermined nucleotide distance and second breakpoints within a second predetermined nucleotide distance, wherein the first and second predetermined distances are each no more than 25 nucleotides; and (g) determining a gene fusion for one or more clusters, wherein a gene fusion for a cluster has, as a first fusion gene breakpoint, a breakpoint selected from the first breakpoints in the cluster and, as a second fusion gene breakpoint, a breakpoint selected from the second breakpoints in the cluster, and wherein the first and second fusion gene breakpoints are each selected based on selection criteria, wherein the selection criteria include the breakpoint having the most fused reads in the cluster.