Class Markers

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Iterable<Marker>, java.util.Collection<Marker>

    public class Markers
    extends java.lang.Object
    implements java.io.Serializable, java.util.Collection<Marker>
    A collection of markers
    Author:
    pcingola
    See Also:
    Serialized Form
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected java.util.ArrayList<Marker> markers  
      protected java.lang.String name  
    • Constructor Summary

      Constructors 
      Constructor Description
      Markers()  
      Markers​(java.lang.String name)  
      Markers​(java.util.Collection otherMarkers)  
      Markers​(Markers otherMarkers)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean add​(Marker marker)
      Add an interval to the collection
      Markers add​(Markers markersToAdd)
      Add all intervals
      boolean addAll​(java.util.Collection<? extends Marker> mm)
      Add all markers in this collection
      void clear()  
      boolean contains​(java.lang.Object o)  
      boolean containsAll​(java.util.Collection<?> c)  
      boolean equals​(Markers intervals)
      Are all intervals equal?
      Marker get​(int i)  
      java.util.List<Marker> getMarkers()  
      int getMedian()
      Calculate the median point in this set of markers
      java.lang.String getName()  
      Markers intersect()
      Perform the intersection of all overlapping sub-intervals
      Markers intersect​(Marker marker)
      Intersection between 'marker' and all sub-intervals
      boolean isEmpty()  
      java.util.Iterator<Marker> iterator()  
      void load​(java.lang.String fileName)  
      void load​(java.lang.String fileName, Genome genome)  
      Markers merge()
      Merge overlapping intervals This is the same as 'union()' method, but the algorithm is more efficient
      Markers minus​(Marker interval)
      Calculate 'set minus' using one interval
      Markers minus​(Markers intervals)
      Returns the result of this set minus 'intervals'
      Interval rand()
      Return a random interval within this collection
      static Markers readMarkers​(java.lang.String fileName)
      Read markers from a file Supported formats: BED, BigBed, VCF, TXT
      boolean remove​(java.lang.Object o)  
      boolean removeAll​(java.util.Collection<?> c)  
      boolean retainAll​(java.util.Collection<?> c)  
      void save​(java.lang.String fileName)
      Save to a file using a serializer
      void save​(java.lang.String fileName, java.lang.String chr)
      Save to a file using a serializer Only save one chromosome ('chr') Note: This is used to save only markers related to one chromosome (e.g.
      void setName​(java.lang.String name)  
      int size()  
      Markers sort()
      Sort intervals
      Markers sort​(boolean byEnd, boolean reverse)
      Sort intervals
      Marker[] toArray()  
      <T> T[] toArray​(T[] a)  
      java.lang.String toString()  
      java.lang.String toStringAsciiArt​(int maxLen)
      Show all intervals as an ASCII art
      java.lang.String toStringTxt()  
      Markers union()
      Perform the union of all overlapping intervals
      Markers unique()
      Remove duplicated markers
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface java.util.Collection

        equals, hashCode, parallelStream, removeIf, spliterator, stream, toArray
      • Methods inherited from interface java.lang.Iterable

        forEach
    • Field Detail

      • markers

        protected java.util.ArrayList<Marker> markers
      • name

        protected java.lang.String name
    • Constructor Detail

      • Markers

        public Markers()
      • Markers

        public Markers​(java.util.Collection otherMarkers)
      • Markers

        public Markers​(Markers otherMarkers)
      • Markers

        public Markers​(java.lang.String name)
    • Method Detail

      • readMarkers

        public static Markers readMarkers​(java.lang.String fileName)
        Read markers from a file Supported formats: BED, BigBed, VCF, TXT
      • add

        public boolean add​(Marker marker)
        Add an interval to the collection
        Specified by:
        add in interface java.util.Collection<Marker>
      • add

        public Markers add​(Markers markersToAdd)
        Add all intervals
      • addAll

        public boolean addAll​(java.util.Collection<? extends Marker> mm)
        Add all markers in this collection
        Specified by:
        addAll in interface java.util.Collection<Marker>
      • clear

        public void clear()
        Specified by:
        clear in interface java.util.Collection<Marker>
      • contains

        public boolean contains​(java.lang.Object o)
        Specified by:
        contains in interface java.util.Collection<Marker>
      • containsAll

        public boolean containsAll​(java.util.Collection<?> c)
        Specified by:
        containsAll in interface java.util.Collection<Marker>
      • equals

        public boolean equals​(Markers intervals)
        Are all intervals equal?
      • get

        public Marker get​(int i)
      • getMarkers

        public java.util.List<Marker> getMarkers()
      • getMedian

        public int getMedian()
        Calculate the median point in this set of markers
      • getName

        public java.lang.String getName()
      • setName

        public void setName​(java.lang.String name)
      • intersect

        public Markers intersect()
        Perform the intersection of all overlapping sub-intervals

        For each marker, calculate all overlapping markers and create a new marker that contains them all. Return a set of those new markers.

      • intersect

        public Markers intersect​(Marker marker)
        Intersection between 'marker' and all sub-intervals
      • isEmpty

        public boolean isEmpty()
        Specified by:
        isEmpty in interface java.util.Collection<Marker>
      • iterator

        public java.util.Iterator<Marker> iterator()
        Specified by:
        iterator in interface java.util.Collection<Marker>
        Specified by:
        iterator in interface java.lang.Iterable<Marker>
      • load

        public void load​(java.lang.String fileName)
      • load

        public void load​(java.lang.String fileName,
                         Genome genome)
      • merge

        public Markers merge()
        Merge overlapping intervals This is the same as 'union()' method, but the algorithm is more efficient
      • minus

        public Markers minus​(Marker interval)
        Calculate 'set minus' using one interval
        Parameters:
        interval -
        Returns:
      • minus

        public Markers minus​(Markers intervals)
        Returns the result of this set minus 'intervals'

        WARNING: This method should only be used for debugging (or in very small collections) since it is extremely inefficient.

      • rand

        public Interval rand()
        Return a random interval within this collection
      • remove

        public boolean remove​(java.lang.Object o)
        Specified by:
        remove in interface java.util.Collection<Marker>
      • removeAll

        public boolean removeAll​(java.util.Collection<?> c)
        Specified by:
        removeAll in interface java.util.Collection<Marker>
      • retainAll

        public boolean retainAll​(java.util.Collection<?> c)
        Specified by:
        retainAll in interface java.util.Collection<Marker>
      • save

        public void save​(java.lang.String fileName)
        Save to a file using a serializer
      • save

        public void save​(java.lang.String fileName,
                         java.lang.String chr)
        Save to a file using a serializer Only save one chromosome ('chr') Note: This is used to save only markers related to one chromosome (e.g. when saving GenomicSequences)
      • size

        public int size()
        Specified by:
        size in interface java.util.Collection<Marker>
      • sort

        public Markers sort()
        Sort intervals
      • sort

        public Markers sort​(boolean byEnd,
                            boolean reverse)
        Sort intervals
        Parameters:
        byEnd - : If true, sort by end. Otherwise sort by start
        reverse - : Reverse order
      • toArray

        public Marker[] toArray()
        Specified by:
        toArray in interface java.util.Collection<Marker>
      • toArray

        public <T> T[] toArray​(T[] a)
        Specified by:
        toArray in interface java.util.Collection<Marker>
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • toStringAsciiArt

        public java.lang.String toStringAsciiArt​(int maxLen)
        Show all intervals as an ASCII art
      • toStringTxt

        public java.lang.String toStringTxt()
      • union

        public Markers union()
        Perform the union of all overlapping intervals

        For each marker, calculate all overlapping markers and create a new marker that contains them all. Return a set of those new markers.

      • unique

        public Markers unique()
        Remove duplicated markers
        Returns:
        this object