bool SeqTreeAsnizer::convertToTreeOption(const CRef< CAlgorithm_type >&  alg, TreeOptions& treeOption)
{
	//treeOption.alignUsage = CCd::USE_NORMAL_ALIGNMENT;
	treeOption.cTermExt = alg->GetCTerminalExt();
	treeOption.nTermExt = alg->GetNTerminalExt();
	treeOption.clusteringMethod = (ETreeMethod)(alg->GetClustering_Method());

    // bug fix. dih.  eScoring_Scheme_aligned_score -> eScoring_Scheme_aligned_score_ext
    treeOption.distMethod = (EDistMethod)((alg->GetScoring_Scheme() >  CAlgorithm_type::eScoring_Scheme_aligned_score_ext) ?
        alg->GetScoring_Scheme() - 1 : alg->GetScoring_Scheme());

	treeOption.scope = (CAlgorithm_type::ETree_scope)((alg->IsSetTree_scope()) ? 
		alg->GetTree_scope() : CAlgorithm_type::eTree_scope_allDescendants);
	treeOption.coloringScope = (CAlgorithm_type::EColoring_scope)((alg->IsSetColoring_scope()) ?
		alg->GetColoring_scope() : CAlgorithm_type::eColoring_scope_allDescendants);
    treeOption.matrix = (EScoreMatrixType)(
		(alg->IsSetScore_Matrix()) ? alg->GetScore_Matrix(): CAlgorithm_type::eScore_Matrix_blosum62);

	return true;
}