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 intervals For each marker, calculate all overlapping markers and create a new marker that contains them all.
      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' WARNING: This method should only be used for debugging (or in very small collections) since it is extremely inefficient.
      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 For each marker, calculate all overlapping markers and create a new marker that contains them all.
      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()
      • intersect

        public Markers intersect()
        Perform the intersection 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.
        Parameters:
        markerIntervals -
        Returns:
      • 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.
        Parameters:
        interval -
        Returns:
      • 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)
      • setName

        public void setName​(java.lang.String name)
      • 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