SubcloneSeeker
1.0.0
Subclone deconvolution software framework
|
#include "treemerge_p.h"
#include <assert.h>
#include <cmath>
#include <algorithm>
#include <iostream>
#include "SomaticEvent.h"
#include "SegmentalMutation.h"
#include "EventCluster.h"
#include "Subclone.h"
Classes | |
class | TreeMergeTraverseSecondary |
Traverse the secondary tree, and try to place every node it encounters onto the primary tree, which was given as a constructor parameter. More... | |
Macros | |
#define | MIN_CLONE_FRAC 0.05 |
#define | OUTPUT_SEV(sev) |
Functions | |
SomaticEventPtr_vec | nodeEventsList (Subclone *node) |
SomaticEventPtr_vec | SomaticEventDifference (const SomaticEventPtr_vec &master, const SomaticEventPtr_vec &unwanted) |
bool | eventSetContains (const SomaticEventPtr_vec &v_container, const SomaticEventPtr_vec &v_containee) |
bool | resultSetComparator (const SomaticEventPtr_vec &v1, const SomaticEventPtr_vec &v2) |
SomaticEventPtr_vec | checkPlacement (Subclone *pnode, SomaticEventPtr_vec somaticEvents, bool *placeableOnSubtree, int *cp) |
bool | TreeMerge (Subclone *p, Subclone *q) |
The implementation file for the implementation part of 'treemerge'
#define MIN_CLONE_FRAC 0.05 |
The minimal fraction a subclone has to have to be considered in the merging process
#define OUTPUT_SEV | ( | sev | ) |
Print a SomaticEventPtr_vec that contains CNVs, for debugging propose
SomaticEventPtr_vec checkPlacement | ( | Subclone * | pnode, |
SomaticEventPtr_vec | somaticEvents, | ||
bool * | placeableOnSubtree, | ||
int * | cp = NULL |
||
) |
Check if a node with certain somatic events can be placed on a subtree of a different subclonal structure.
pnode | The root of a subtree of the subclonal structure, to which the new node is being placed on. |
somaticEvents | The somatic events found in the new node, containing all its parents' ones. |
placeableOnSubtree | An output boolean variable indicating whether the placement is successful or not. |
cp | The number of children nodes that are able to contain the floating node. Used for debugging purpose. |
bool eventSetContains | ( | const SomaticEventPtr_vec & | v_container, |
const SomaticEventPtr_vec & | v_containee | ||
) |
Check if a somatic event vector contains all the events found in another vector.
v_container | The container vector |
v_containee | The containee vector |
SomaticEventPtr_vec nodeEventsList | ( | Subclone * | node | ) |
Generate a list of events from a given subclone node. In the subclone data structure, events of a parent is not duplicated in the children nodes. This function will, from a given subclone node, trace back to the root of the tree, and returning all the events it encounters.
node | The subclone node to generate event list from. |
bool resultSetComparator | ( | const SomaticEventPtr_vec & | v1, |
const SomaticEventPtr_vec & | v2 | ||
) |
Compare SomaticEvent vectors by size.
v1 | The first SomaticEventPtr vector |
v2 | The second SomaticEventPtr vector |
SomaticEventPtr_vec SomaticEventDifference | ( | const SomaticEventPtr_vec & | master, |
const SomaticEventPtr_vec & | unwanted | ||
) |
Calculate the difference between two vectors of somatic events
master | The somatic event vector that contains the wanted events |
unwanted | The somatic event vector that contains the unwanted events |