Browse code

addressed UPGMA error in msaClustalW() on Windows using R 4.0.x

UBodenhofer authored on 12/08/2020 13:44:51
Showing 5 changed files

... ...
@@ -1,8 +1,8 @@
1 1
 Package: msa
2 2
 Type: Package
3 3
 Title: Multiple Sequence Alignment
4
-Version: 1.21.0
5
-Date: 2019-10-17
4
+Version: 1.21.1
5
+Date: 2020-08-12
6 6
 Author: Enrico Bonatesta, Christoph Horejs-Kainrath, Ulrich Bodenhofer
7 7
 Maintainer: Ulrich Bodenhofer <bodenhofer@bioinf.jku.at>
8 8
 Description: The 'msa' package provides a unified R/Bioconductor interface to
... ...
@@ -1,6 +1,20 @@
1 1
 Change history of package msa:
2 2
 ==============================
3 3
 
4
+Version 1.21.1:
5
+- changed msaClustalW() examples to run smoothly on Windows with R 4.0.x
6
+- added warning to msaClustalW() help page regarding cluster="upgma" on
7
+  Windows
8
+
9
+Version 1.21.0:
10
+- new branch for Bioconductor 3.12 devel
11
+
12
+Version 1.20.0:
13
+- release as part of Bioconductor 3.11
14
+
15
+Version 1.19.0:
16
+- new branch for Bioconductor 3.11 devel
17
+
4 18
 Version 1.18.0:
5 19
 - release as part of Bioconductor 3.10
6 20
 
... ...
@@ -19,7 +19,9 @@
19 19
   \item{cluster}{The clustering method which should be used.
20 20
     Possible values are \code{"nj"} (default) and \code{"upgma"}.
21 21
     In the original ClustalW implementation, this parameter is called 
22
-    \code{clustering}.}
22
+    \code{clustering}. Please note that \code{cluster="upgma"} leads
23
+    to an unidentified error on Windows with R 4.0.x that even crashes
24
+    the entire R session.}
23 25
   \item{gapOpening}{gap opening penalty; the default value for
24 26
     nucleotide sequences is 15.0, the default value for 
25 27
     amino acid sequences is 10.0.}
... ...
@@ -111,6 +113,6 @@ msaClustalW(mySeqs)
111 113
 
112 114
 ## call msaClustalW with custom parameters
113 115
 msaClustalW(mySeqs, gapOpening=1, gapExtension=1, maxiters=16,
114
-            cluster="upgma", kimura=FALSE, order="input", maxdiv=23)
116
+            kimura=FALSE, order="input", maxdiv=23)
115 117
 }
116 118
 \keyword{manip}
... ...
@@ -1630,7 +1630,7 @@ bool SubMatrix::commentline(char* line)
1630 1630
  * @param temp 
1631 1631
  * @param name 
1632 1632
  */
1633
-void SubMatrix::printInFormat(vector<short>& temp, char* name)
1633
+void SubMatrix::printInFormat(vector<short>& temp, const char* name)
1634 1634
 {
1635 1635
     char nameOfFile[30];
1636 1636
     strcpy(nameOfFile, name);
... ...
@@ -1693,7 +1693,7 @@ void SubMatrix::printInFormat(vector<short>& temp, char* name)
1693 1693
  * @param temp 
1694 1694
  * @param name 
1695 1695
  */
1696
-void SubMatrix::printVectorToFile(vector<short>& temp, char* name)
1696
+void SubMatrix::printVectorToFile(vector<short>& temp, const char* name)
1697 1697
 {
1698 1698
     char nameOfFile[30];
1699 1699
     strcpy(nameOfFile, name);
... ...
@@ -103,8 +103,8 @@ class SubMatrix
103 103
         // The functions below are purely for testing purposes.
104 104
         void printGetMatrixResults(int mat[NUMRES][NUMRES]); 
105 105
         void compareMatrices(int mat1[NUMRES][NUMRES], int mat2[NUMRES][NUMRES]); 
106
-        void printInFormat(vector<short>& temp, char* name = "tempfile.out");
107
-        void printVectorToFile(vector<short>& temp, char* name = "tempfile.out");
106
+        void printInFormat(vector<short>& temp, const char* name = "tempfile.out");
107
+        void printVectorToFile(vector<short>& temp, const char* name = "tempfile.out");
108 108
         Matrix* getUserMatAddress(int alignResidueType, int alignType);
109 109
         Xref* getUserXrefAddress(int alignResidueType, int alignType);
110 110
         void checkResidueAndAlignType(int alignResidueType, int alignType);