Skip to content
Commits on Source (5)
......@@ -51,7 +51,7 @@ add_definitions(-DIQ_TREE)
# The version number.
set (iqtree_VERSION_MAJOR 1)
set (iqtree_VERSION_MINOR 6)
set (iqtree_VERSION_PATCH "11")
set (iqtree_VERSION_PATCH "12")
set(BUILD_SHARED_LIBS OFF)
......@@ -277,10 +277,10 @@ if (NOT IQTREE_FLAGS MATCHES "single")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -pthread")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fopenmp -pthread")
elseif (CLANG)
if (APPLE)
if (APPLE OR WIN32)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -pthread")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Xpreprocessor -fopenmp -pthread")
set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Xpreprocessor -fopenmp -lomp")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lomp")
else()
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -pthread")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fopenmp -pthread")
......
IQ-TREE
=======
[![Github All Releases](https://img.shields.io/github/downloads/Cibiv/IQ-TREE/total.svg?style=social&logo=github&label=Download)](https://github.com/Cibiv/IQ-TREE/releases)
[![BioConda downloads](https://img.shields.io/conda/dn/bioconda/iqtree.svg?style=flag&label=BioConda%20install)](https://anaconda.org/bioconda/iqtree)
[![Build Status](https://travis-ci.org/bqminh/IQ-TREE.svg?branch=master)](https://travis-ci.org/bqminh/IQ-TREE)
[![License: GPL v2](https://img.shields.io/badge/License-GPL%20v2-blue.svg)](https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html)
......
......@@ -312,7 +312,7 @@ Alignment *Alignment::removeIdenticalSeq(string not_remove, bool keep_two, StrVe
if (checked[seq1]) continue;
bool first_ident_seq = true;
for (int seq2 = seq1+1; seq2 < getNSeq(); seq2++) {
if (getSeqName(seq2) == not_remove) continue;
if (getSeqName(seq2) == not_remove || removed[seq2]) continue;
bool equal_seq = true;
for (iterator it = begin(); it != end(); it++)
if ((*it)[seq1] != (*it)[seq2]) {
......
......@@ -259,17 +259,26 @@ void AlignmentPairwise::computeFuncDerv(double value, double &df, double &ddf) {
for (cat = 0; cat < ncat; cat++) {
double rate_val = site_rate->getRate(cat);
double prop_val = site_rate->getProp(cat);
if (tree->getModelFactory()->site_rate->getGammaShape() == 0.0)
rate_val = 1.0;
double rate_sqr = rate_val * rate_val;
double coeff1 = rate_val * prop_val;
double coeff2 = rate_val * coeff1;
tree->getModelFactory()->computeTransDerv(value * rate_val, trans_mat, trans_derv1, trans_derv2);
for (i = 0; i < trans_size; i++) {
sum_trans[i] += trans_mat[i];
sum_derv1[i] += trans_derv1[i] * rate_val;
sum_derv2[i] += trans_derv2[i] * rate_sqr;
sum_trans[i] += trans_mat[i] * prop_val;
sum_derv1[i] += trans_derv1[i] * coeff1;
sum_derv2[i] += trans_derv2[i] * coeff2;
}
}
// 2019-07-03: incorporate p_invar
double p_invar = site_rate->getPInvar();
if (p_invar > 0.0)
for (i = 0; i < num_states; i++)
sum_trans[i*num_states+i] += p_invar;
for (i = 0; i < trans_size; i++)
if (pair_freq[i] > Params::getInstance().min_branch_length && sum_trans[i] > 0.0) {
// lh -= pair_freq[i] * log(sum_trans[i]);
......
......@@ -664,7 +664,7 @@ Alignment *SuperAlignment::removeIdenticalSeq(string not_remove, bool keep_two,
if (checked[seq1]) continue;
bool first_ident_seq = true;
for (int seq2 = seq1+1; seq2 < getNSeq(); seq2++) {
if (getSeqName(seq2) == not_remove) continue;
if (getSeqName(seq2) == not_remove || removed[seq2]) continue;
bool equal_seq = true;
int part = 0;
// check if seq1 and seq2 are identical over all partitions
......
iqtree (1.6.12+dfsg-1) unstable; urgency=medium
* Team upload.
* New upstream version
* Standards-Version: 4.4.1
-- Steffen Moeller <moeller@debian.org> Wed, 04 Dec 2019 13:52:57 +0100
iqtree (1.6.11+dfsg-1) unstable; urgency=medium
* New upstream version
......
......@@ -13,7 +13,7 @@ Build-Depends: debhelper-compat (= 12),
help2man,
time,
chrpath
Standards-Version: 4.4.0
Standards-Version: 4.4.1
Vcs-Browser: https://salsa.debian.org/med-team/iqtree
Vcs-Git: https://salsa.debian.org/med-team/iqtree.git
Homepage: http://www.cibiv.at/software/iqtree/
......
......@@ -3464,10 +3464,14 @@ void assignBootstrapSupport(const char *input_trees, int burnin, int max_count,
const char *target_tree, bool rooted, const char *output_tree,
const char *out_prefix, MExtTree &mytree, const char* tree_weight_file,
Params *params) {
//bool rooted = false;
bool myrooted = rooted;
// read the tree file
cout << "Reading tree " << target_tree << " ..." << endl;
mytree.init(target_tree, rooted);
mytree.init(target_tree, myrooted);
if (mytree.rooted)
cout << "rooted tree detected" << endl;
else
cout << "unrooted tree detected" << endl;
// reindex the taxa in the tree to aphabetical names
NodeVector taxa;
mytree.getTaxa(taxa);
......@@ -3512,8 +3516,11 @@ void assignBootstrapSupport(const char *input_trees, int burnin, int max_count,
}
scale /= sg.maxWeight();
} else {
boot_trees.init(input_trees, rooted, burnin, max_count,
myrooted = rooted;
boot_trees.init(input_trees, myrooted, burnin, max_count,
tree_weight_file);
if (mytree.rooted != boot_trees.isRooted())
outError("Target tree and tree set have different rooting");
boot_trees.convertSplits(taxname, sg, hash_ss, SW_COUNT, -1, params->support_tag);
scale /= boot_trees.sumTreeWeights();
}
......
......@@ -1405,7 +1405,7 @@ string testOneModel(string &model_name, Params &params, Alignment *in_aln,
IQTree *iqtree = NULL;
if (in_aln->isSuperAlignment()) {
SuperAlignment *saln = (SuperAlignment*)in_aln;
if (brlen_type == BRLEN_OPTIMIZE)
if (params.partition_type == BRLEN_OPTIMIZE)
iqtree = new PhyloSuperTree(saln);
else
iqtree = new PhyloSuperTreePlen(saln, brlen_type);
......
......@@ -684,7 +684,7 @@ void MTree::readTree(istream &in, bool &is_rooted)
if (branch_len[0] == -1.0) branch_len[0] = 0.0;
if (branch_len[0] < 0.0)
throw ERR_NEG_BRANCH;
is_rooted = true;
rooted = is_rooted = true;
root = newNode(leafNum, ROOT_NAME);
root->addNeighbor(node, branch_len);
node->addNeighbor(root, branch_len);
......
......@@ -235,7 +235,7 @@ void MTreeSet::checkConsistency() {
if (empty())
return;
iterator it;
bool rooted = false;
bool rooted = front()->rooted;
int i;
bool first = true;
for (it = begin(), i = 0; it != end(); it++, i++)
......