[med-svn] [Git][med-team/iqtree][upstream] New upstream version 1.6.12+dfsg
Steffen Möller
gitlab at salsa.debian.org
Wed Dec 4 13:16:37 GMT 2019
Steffen Möller pushed to branch upstream at Debian Med / iqtree
Commits:
8f5b8289 by Steffen Moeller at 2019-12-04T12:52:48Z
New upstream version 1.6.12+dfsg
- - - - -
9 changed files:
- CMakeLists.txt
- README.md
- alignment/alignment.cpp
- alignment/alignmentpairwise.cpp
- alignment/superalignment.cpp
- main/phyloanalysis.cpp
- main/phylotesting.cpp
- tree/mtree.cpp
- tree/mtreeset.cpp
Changes:
=====================================
CMakeLists.txt
=====================================
@@ -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")
=====================================
README.md
=====================================
@@ -1,6 +1,8 @@
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)
=====================================
alignment/alignment.cpp
=====================================
@@ -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]) {
=====================================
alignment/alignmentpairwise.cpp
=====================================
@@ -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]);
=====================================
alignment/superalignment.cpp
=====================================
@@ -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
=====================================
main/phyloanalysis.cpp
=====================================
@@ -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();
}
=====================================
main/phylotesting.cpp
=====================================
@@ -1405,7 +1405,7 @@ string testOneModel(string &model_name, Params ¶ms, 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);
=====================================
tree/mtree.cpp
=====================================
@@ -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);
=====================================
tree/mtreeset.cpp
=====================================
@@ -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++)
View it on GitLab: https://salsa.debian.org/med-team/iqtree/commit/8f5b82892034ac28f35281b47a218cc52322ad91
--
View it on GitLab: https://salsa.debian.org/med-team/iqtree/commit/8f5b82892034ac28f35281b47a218cc52322ad91
You're receiving this email because of your account on salsa.debian.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/debian-med-commit/attachments/20191204/a0785a66/attachment-0001.html>
More information about the debian-med-commit
mailing list