-
- All Implemented Interfaces:
public class HaplotypeGraph
This Class is a wrapper around a complete Practical Haplotype Graph (PHG). Including HaplotypeNodes, HaplotypeEdges, HaplotypePaths, HaplotypeSequences, ReferenceRanges, etc.
-
-
Constructor Summary
Constructors Constructor Description HaplotypeGraph(Collection<HaplotypeEdge> edges)
Constructor for HaplotypeGraph. HaplotypeGraph(NavigableMap<ReferenceRange, List<HaplotypeNode>> nodes)
HaplotypeGraph(NavigableMap<ReferenceRange, List<HaplotypeNode>> nodes, BiFunction<List<HaplotypeNode>, List<HaplotypeNode>, List<HaplotypeEdge>> edgeFunction)
Constructor for HaplotypeGraph.
-
Method Summary
Modifier and Type Method Description boolean
hasSequences()
int
numberOfNodes()
List<Chromosome>
chromosomes()
int
numberOfChromosomes()
NavigableMap<Chromosome, HaplotypePath>
path(String taxon, List<HaplotypeNode> nodes)
Returns most probable HaplotypePath for each Chromosome given the specified taxon and list of known HaplotypeNodes. NavigableMap<Chromosome, HaplotypePath>
path(Taxon taxon, List<HaplotypeNode> nodes)
Returns most probable HaplotypePath for each Chromosome given the specified Taxon and list of known HaplotypeNodes. NavigableMap<Chromosome, HaplotypePath>
path(List<HaplotypeNode> nodes)
Returns most probable HaplotypePath for each Chromosome given the specified list of known s. NavigableMap<Chromosome, HaplotypePath>
path(String taxon)
Returns most probable HaplotypePath for each Chromosome given the specified taxon. NavigableMap<Chromosome, HaplotypePath>
path(Taxon taxon)
Returns most probable HaplotypePath for each Chromosome given the specified Taxon. NavigableMap<Chromosome, HaplotypePath>
path()
Returns most probable HaplotypePath for each Chromosome. List<HaplotypeNode>
startNodes()
Returns list of HaplotypeNodes that start graph. List<HaplotypeNode>
startNodes(Chromosome chr)
List<HaplotypeNode>
endNodes()
Returns list of HaplotypeNodes that end graph. List<HaplotypeNode>
endNodes(Chromosome chr)
List<HaplotypeNode>
nodes(ReferenceRange range)
Returns list of HaplotypeNodes for given ReferenceRange Stream<HaplotypeNode>
nodeStream()
NavigableMap<ReferenceRange, List<HaplotypeNode>>
tree(Chromosome chr)
Creates a sorted (on keys ReferenceRanges) map to list of HaplotypeNodes for given chromosome. int
numberOfLeftEdges(HaplotypeNode node)
Return number of left edges for given node. int
numberOfRightEdges(HaplotypeNode node)
Return number of right edges for given node. List<HaplotypeEdge>
leftEdges(HaplotypeNode node)
Returns List of Left HaplotypeEdges for given HaplotypeNode List<HaplotypeEdge>
rightEdges(HaplotypeNode node)
Returns List of Right HaplotypeEdges for given HaplotypeNode ReferenceRange
previousRange(ReferenceRange range)
ReferenceRange
nextRange(ReferenceRange range)
Optional<HaplotypeEdge>
edge(HaplotypeNode node1, HaplotypeNode node2)
Returns optional edge between given nodes. int
numberOfRanges()
Returns number of reference ranges in this graph. Set<ReferenceRange>
referenceRanges()
Returns sorted set of reference ranges for whole graph. List<ReferenceRange>
referenceRangeList()
Returns list of reference ranges for whole graph. Stream<ReferenceRange>
referenceRangeStream()
Returns stream of reference ranges for entire graph. Stream<ReferenceRange>
referenceRangeStream(Chromosome chr)
Returns stream of reference ranges for given chromosome. ReferenceRange
firstReferenceRange()
Returns the first reference range in this graph. ReferenceRange
lastReferenceRange()
Returns the last reference range in this graph. ReferenceRange
firstReferenceRange(Chromosome chr)
Returns the first reference range for the given chromosome. ReferenceRange
lastReferenceRange(Chromosome chr)
Returns the last reference range for the given chromosome. TaxaList
taxaInGraph()
Return all taxa represented in this graph. int
totalNumberTaxa()
Returns total number of taxa represented by this graph TaxaList
taxaInRange(ReferenceRange range)
Returns taxa represented by given reference range. int
numberTaxa(ReferenceRange range)
Returns number of taxa represented by given reference range. -
-
Constructor Detail
-
HaplotypeGraph
HaplotypeGraph(Collection<HaplotypeEdge> edges)
Constructor for HaplotypeGraph.- Parameters:
edges
- HaplotypeEdges
-
HaplotypeGraph
HaplotypeGraph(NavigableMap<ReferenceRange, List<HaplotypeNode>> nodes)
-
HaplotypeGraph
HaplotypeGraph(NavigableMap<ReferenceRange, List<HaplotypeNode>> nodes, BiFunction<List<HaplotypeNode>, List<HaplotypeNode>, List<HaplotypeEdge>> edgeFunction)
Constructor for HaplotypeGraph.- Parameters:
nodes
- HaplotypeNodesedgeFunction
- function used to create edges
-
-
Method Detail
-
hasSequences
boolean hasSequences()
-
numberOfNodes
int numberOfNodes()
-
chromosomes
List<Chromosome> chromosomes()
-
numberOfChromosomes
int numberOfChromosomes()
-
path
NavigableMap<Chromosome, HaplotypePath> path(String taxon, List<HaplotypeNode> nodes)
Returns most probable HaplotypePath for each Chromosome given the specified taxon and list of known HaplotypeNodes. List of nodes can have at most one node per ReferenceRange. Nodes constructed with specified taxon will always be used in resulting paths. Specified nodes must either have been constructed with specified taxon or reside in a reference range that has no node constructed with specified taxon.
- Parameters:
taxon
- taxonnodes
- list of known nodes
-
path
NavigableMap<Chromosome, HaplotypePath> path(Taxon taxon, List<HaplotypeNode> nodes)
Returns most probable HaplotypePath for each Chromosome given the specified Taxon and list of known HaplotypeNodes. List of nodes can have at most one node per ReferenceRange. Nodes constructed with specified taxon will always be used in resulting paths. Specified nodes must either have been constructed with specified taxon or reside in a reference range that has no node constructed with specified taxon.
- Parameters:
taxon
- taxonnodes
- list of known nodes
-
path
NavigableMap<Chromosome, HaplotypePath> path(List<HaplotypeNode> nodes)
Returns most probable HaplotypePath for each Chromosome given the specified list of known s. List of nodes can have at most one node per ReferenceRange.
- Parameters:
nodes
- list of known nodes
-
path
NavigableMap<Chromosome, HaplotypePath> path(String taxon)
Returns most probable HaplotypePath for each Chromosome given the specified taxon. Nodes constructed with specified taxon will always be used in resulting paths.
- Parameters:
taxon
- taxon
-
path
NavigableMap<Chromosome, HaplotypePath> path(Taxon taxon)
Returns most probable HaplotypePath for each Chromosome given the specified Taxon. Nodes constructed with specified taxon will always be used in resulting paths.
- Parameters:
taxon
- taxon
-
path
NavigableMap<Chromosome, HaplotypePath> path()
Returns most probable HaplotypePath for each Chromosome.
-
startNodes
List<HaplotypeNode> startNodes()
Returns list of HaplotypeNodes that start graph.
-
startNodes
List<HaplotypeNode> startNodes(Chromosome chr)
-
endNodes
List<HaplotypeNode> endNodes()
Returns list of HaplotypeNodes that end graph.
-
endNodes
List<HaplotypeNode> endNodes(Chromosome chr)
-
nodes
List<HaplotypeNode> nodes(ReferenceRange range)
Returns list of HaplotypeNodes for given ReferenceRange
- Parameters:
range
- ReferenceRange
-
nodeStream
Stream<HaplotypeNode> nodeStream()
-
tree
NavigableMap<ReferenceRange, List<HaplotypeNode>> tree(Chromosome chr)
Creates a sorted (on keys ReferenceRanges) map to list of HaplotypeNodes for given chromosome.
- Parameters:
chr
- chromosome
-
numberOfLeftEdges
int numberOfLeftEdges(HaplotypeNode node)
Return number of left edges for given node.
- Parameters:
node
- node
-
numberOfRightEdges
int numberOfRightEdges(HaplotypeNode node)
Return number of right edges for given node.
- Parameters:
node
- node
-
leftEdges
List<HaplotypeEdge> leftEdges(HaplotypeNode node)
Returns List of Left HaplotypeEdges for given HaplotypeNode
- Parameters:
node
- HaplotypeNode
-
rightEdges
List<HaplotypeEdge> rightEdges(HaplotypeNode node)
Returns List of Right HaplotypeEdges for given HaplotypeNode
- Parameters:
node
- HaplotypeNode
-
previousRange
ReferenceRange previousRange(ReferenceRange range)
-
nextRange
ReferenceRange nextRange(ReferenceRange range)
-
edge
Optional<HaplotypeEdge> edge(HaplotypeNode node1, HaplotypeNode node2)
Returns optional edge between given nodes.
- Parameters:
node1
- first nodenode2
- second node
-
numberOfRanges
int numberOfRanges()
Returns number of reference ranges in this graph.
-
referenceRanges
Set<ReferenceRange> referenceRanges()
Returns sorted set of reference ranges for whole graph. Consider using referenceRangeStream
-
referenceRangeList
List<ReferenceRange> referenceRangeList()
Returns list of reference ranges for whole graph. Consider using referenceRangeStream
-
referenceRangeStream
Stream<ReferenceRange> referenceRangeStream()
Returns stream of reference ranges for entire graph.
-
referenceRangeStream
Stream<ReferenceRange> referenceRangeStream(Chromosome chr)
Returns stream of reference ranges for given chromosome.
- Parameters:
chr
- chromosome
-
firstReferenceRange
ReferenceRange firstReferenceRange()
Returns the first reference range in this graph.
-
lastReferenceRange
ReferenceRange lastReferenceRange()
Returns the last reference range in this graph.
-
firstReferenceRange
ReferenceRange firstReferenceRange(Chromosome chr)
Returns the first reference range for the given chromosome.
- Parameters:
chr
- chromosome
-
lastReferenceRange
ReferenceRange lastReferenceRange(Chromosome chr)
Returns the last reference range for the given chromosome.
- Parameters:
chr
- chromosome
-
taxaInGraph
TaxaList taxaInGraph()
Return all taxa represented in this graph.
-
totalNumberTaxa
int totalNumberTaxa()
Returns total number of taxa represented by this graph
-
taxaInRange
TaxaList taxaInRange(ReferenceRange range)
Returns taxa represented by given reference range.
- Parameters:
range
- reference range
-
numberTaxa
int numberTaxa(ReferenceRange range)
Returns number of taxa represented by given reference range.
- Parameters:
range
- reference range
-
-
-
-