void SplitNode(pBtree p,int pos)
{
	pBtree leftChild,rightChild;
	leftChild=p->Child[pos-1];
	rightChild=(pBtree)malloc(sizeof(Btree));
	FixChild(leftChild,rightChild);
	FixRoot(leftChild,p,rightChild,pos);
}
void TreeFromMSA(const MSA &msa, Tree &tree, CLUSTER Cluster,
  DISTANCE Distance, ROOT Root)
	{
	if (CLUSTER_NeighborJoining == Cluster)
		TreeFromMSA_NJ(msa, tree, Cluster, Distance);
	else
		TreeFromMSA_UPGMA(msa, tree, Cluster, Distance);
	FixRoot(tree, Root);
	}