[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 &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);


=====================================
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