org.bdgenomics.adam.rdd

# BroadcastRegionJoin

#### object BroadcastRegionJoin extends RegionJoin

Contains multiple implementations of a 'region join', an operation that joins two sets of regions based on the spatial overlap between the regions.

Different implementations will have different performance characteristics -- and new implementations will likely be added in the future, see the notes to each individual method for more details.

Linear Supertypes
RegionJoin, AnyRef, Any
Ordering

1. Alphabetic
2. By inheritance

Inherited

1. BroadcastRegionJoin
2. RegionJoin
3. AnyRef
4. Any

1. Hide All
2. Show all

Learn more about member selection
Visibility

1. Public
2. All

### Value Members

1. #### final def !=(arg0: Any): Boolean

   Definition Classes
     AnyRef → Any

2. #### final def ##(): Int

   Definition Classes
     AnyRef → Any

3. #### final def ==(arg0: Any): Boolean

   Definition Classes
     AnyRef → Any

4. #### final def asInstanceOf[T0]: T0

   Definition Classes
     Any

5. #### def cartesianFilter[T, U](baseRDD: RDD[(ReferenceRegion, T)], joinedRDD: RDD[(ReferenceRegion, U)])(implicit tManifest: ClassTag[T], uManifest: ClassTag[U]): RDD[(T, U)]

   This method does a join between different types which can have a corresponding ReferenceMapping.

   This method does a join between different types which can have a corresponding ReferenceMapping.

   This method does a cartesian product between the two, then removes mismatched regions.

   This is SLOW SLOW SLOW, and shouldn't be used for anything other than correctness-testing on realistic sized sets.

6. #### def clone(): AnyRef

   Attributes
     protected[java.lang]
   Definition Classes
     AnyRef
   Annotations
     @throws( ... )

7. #### final def eq(arg0: AnyRef): Boolean

   Definition Classes
     AnyRef

8. #### def equals(arg0: Any): Boolean

   Definition Classes
     AnyRef → Any

9. #### def finalize(): Unit

   Attributes
     protected[java.lang]
   Definition Classes
     AnyRef
   Annotations
     @throws( classOf[java.lang.Throwable] )

10. #### final def getClass(): Class[_]

    Definition Classes
      AnyRef → Any

11. #### def hashCode(): Int

    Definition Classes
      AnyRef → Any

12. #### final def isInstanceOf[T0]: Boolean

    Definition Classes
      Any

13. #### final def ne(arg0: AnyRef): Boolean

    Definition Classes
      AnyRef

14. #### final def notify(): Unit

    Definition Classes
      AnyRef

15. #### final def notifyAll(): Unit

    Definition Classes
      AnyRef

16. #### def partitionAndJoin[T, U](baseRDD: RDD[(ReferenceRegion, T)], joinedRDD: RDD[(ReferenceRegion, U)])(implicit tManifest: ClassTag[T], uManifest: ClassTag[U]): RDD[(T, U)]

    Performs a region join between two RDDs (broadcast join).

    Performs a region join between two RDDs (broadcast join).

    This implementation first _collects_ the left-side RDD; therefore, if the left-side RDD is large or otherwise idiosyncratic in a spatial sense (i.e. contains a set of regions whose unions overlap a significant fraction of the genome) then the performance of this implementation will likely be quite bad.

    Once the left-side RDD is collected, its elements are reduced to their distinct unions; these can then be used to define the partitions over which the region-join will be computed.

    The regions in the left-side are keyed by their corresponding partition (each such region should have exactly one partition). The regions in the right-side are also keyed by their corresponding partitions (here there can be more than one partition for a region, since a region may cross the boundaries of the partitions defined by the left-side).

    Finally, within each separate partition, we essentially perform a cartesian-product-and-filter operation. The result is the region-join.

    T

      type of baseRDD

    U

      type of joinedRDD

    baseRDD

      The 'left' side of the join

    joinedRDD

      The 'right' side of the join

    tManifest

      implicit type of baseRDD

    uManifest

      implicit type of joinedRDD

    returns

      An RDD of pairs (x, y), where x is from baseRDD, y is from joinedRDD, and the region corresponding to x overlaps the region corresponding to y.

    Definition Classes
      BroadcastRegionJoin → RegionJoin

17. #### final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
      AnyRef

18. #### def toString(): String

    Definition Classes
      AnyRef → Any

19. #### final def wait(): Unit

    Definition Classes
      AnyRef
    Annotations
      @throws( ... )

20. #### final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
      AnyRef
    Annotations
      @throws( ... )

21. #### final def wait(arg0: Long): Unit

    Definition Classes
      AnyRef
    Annotations
      @throws( ... )

### Inherited from RegionJoin

### Inherited from AnyRef

### Inherited from Any

### Ungrouped