Trait

org.bdgenomics.adam.rdd

BroadcastRegionJoin

Related Doc: package rdd

Permalink

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
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)]

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

    Permalink
    Attributes
    protected

Concrete Value Members

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

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  7. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  8. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  9. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  10. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  11. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  12. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  13. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  14. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  15. def partitionAndJoin(baseRDD: RDD[(ReferenceRegion, T)], joinedRDD: RDD[(ReferenceRegion, U)])(implicit tManifest: ClassTag[T], uManifest: ClassTag[U]): RDD[(RT, U)]

    Permalink

    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
    BroadcastRegionJoinRegionJoin
  16. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  17. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  18. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  19. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  20. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

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

Inherited from AnyRef

Inherited from Any

Ungrouped