org.bdgenomics.adam.rdd

# BroadcastRegionJoin

###
Related Doc: package rdd

#### sealed trait BroadcastRegionJoin[T, U, RT] extends RegionJoin[T, U, RT, U]

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[T, U, RT, U], AnyRef, Any
Known Subclasses
InnerBroadcastRegionJoin, RightOuterBroadcastRegionJoin
Ordering

1. Alphabetic
2. By Inheritance

Inherited

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

1. Hide All
2. Show All

Visibility

1. Public
2. All

### Abstract Value Members

1. #### abstract def joinAndFilterFn(tRdd: RDD[(ReferenceRegion, (ReferenceRegion, T))], uRdd: RDD[(ReferenceRegion, (ReferenceRegion, U))]): RDD[(RT, U)]

   Attributes
     protected

2. #### abstract def regionsFor(u: (ReferenceRegion, U), regions: Broadcast[MultiContigNonoverlappingRegions]): Iterable[ReferenceRegion]

   Attributes
     protected

### Concrete 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 clone(): AnyRef

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

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

   Definition Classes
     AnyRef

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

   Definition Classes
     AnyRef → Any

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

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

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

   Definition Classes
     AnyRef → Any

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

    Definition Classes
      AnyRef → Any

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

    Definition Classes
      Any

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

    Definition Classes
      AnyRef

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

    Definition Classes
      AnyRef

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

    Definition Classes
      AnyRef

15. #### def partitionAndJoin(baseRDD: RDD[(ReferenceRegion, T)], joinedRDD: RDD[(ReferenceRegion, U)])(implicit tManifest: ClassTag[T], uManifest: ClassTag[U]): RDD[(RT, 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.

    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

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

    Definition Classes
      AnyRef

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

    Definition Classes
      AnyRef → Any

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

    Definition Classes
      AnyRef
    Annotations
      @throws( ... )

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

    Definition Classes
      AnyRef
    Annotations
      @throws( ... )

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

    Definition Classes
      AnyRef
    Annotations
      @throws( ... )

### Inherited from RegionJoin[T, U, RT, U]

### Inherited from AnyRef

### Inherited from Any

### Ungrouped