[med-svn] [Git][med-team/plink1-9][master] 2 commits: New upstream version 1.90~b5.4-180410

Dylan Aïssi gitlab at salsa.debian.org
Sat Apr 21 23:53:06 BST 2018


Dylan Aïssi pushed to branch master at Debian Med / plink1.9


Commits:
c271b712 by Dylan Aïssi at 2018-04-22T00:50:05+02:00
New upstream version 1.90~b5.4-180410
- - - - -
01b9b3e2 by Dylan Aïssi at 2018-04-22T00:50:09+02:00
Merge tag 'upstream/1.90_b5.4-180410'

Upstream version 1.90~b5.4-180410

- - - - -


6 changed files:

- plink.c
- plink_assoc.c
- plink_data.c
- plink_family.c
- plink_help.c
- sisocks.h


Changes:

=====================================
plink.c
=====================================
--- a/plink.c
+++ b/plink.c
@@ -93,7 +93,7 @@
 
 static const char ver_str[] =
 #ifdef STABLE_BUILD
-  "PLINK v1.90b5.3"
+  "PLINK v1.90b5.4"
 #else
   "PLINK v1.90p"
 #endif
@@ -105,7 +105,7 @@ static const char ver_str[] =
 #else
   " 32-bit"
 #endif
-  " (21 Feb 2018)";
+  " (10 Apr 2018)";
 static const char ver_str2[] =
   // include leading space if day < 10, so character length stays the same
   ""
@@ -12801,7 +12801,8 @@ int32_t main(int32_t argc, char** argv) {
 	if (enforce_param_ct_range(param_ct, argv[cur_arg], 1, 1)) {
 	  goto main_ret_INVALID_CMDLINE_2A;
 	}
-	retval = alloc_fname(&cluster.zerofname, argv[cur_arg + uii], argptr, 0);
+        // bugfix (9 Apr 2018): had wrong array index
+	retval = alloc_fname(&cluster.zerofname, argv[cur_arg + 1], argptr, 0);
 	if (retval) {
 	  goto main_ret_1;
 	}


=====================================
plink_assoc.c
=====================================
--- a/plink_assoc.c
+++ b/plink_assoc.c
@@ -532,7 +532,9 @@ int32_t multcomp(char* outname, char* outname_end, uint32_t* marker_uidxs, uintp
 	  adjust_print_log10(pv_gc[cur_idx], output_min_p, output_min_p_str, output_min_p_strlen, &bufptr);
 	}
 	if (qq_plot) {
-	  bufptr = dtoa_g_wxp4x((((double)((int32_t)cur_idx)) + 0.5) * dzz, 10, ' ', bufptr);
+          // quasi-bugfix (23 Mar 2018): this should be logscale, both for
+          // consistency with plink 1.07 and because it makes more sense
+	  bufptr = dtoa_g_wxp4x(-log10((((double)((int32_t)cur_idx)) + 0.5) * dzz), 10, ' ', bufptr);
 	}
 	adjust_print_log10(bonf, output_min_p, output_min_p_str, output_min_p_strlen, &bufptr);
 	adjust_print_log10(pv_holm, output_min_p, output_min_p_str, output_min_p_strlen, &bufptr);


=====================================
plink_data.c
=====================================
--- a/plink_data.c
+++ b/plink_data.c
@@ -4621,11 +4621,11 @@ int32_t oxford_to_bed(char* genname, char* samplename, char* outname, char* outn
 	const uint32_t layout = (uii >> 2) & 15;
 	const uint32_t compression_mode = uii & 3;
 	if ((layout == 2) && (compression_mode != 3)) {
-	  LOGERRPRINTF("Error: BGEN v1.%c input requires PLINK 2.0 (under development as of this\nwriting).  Use gen-convert to downcode to BGEN v1.1 if you want to process this\ndata with PLINK 1.9.\n", (compression_mode == 2)? '3' : '2');
+	  LOGERRPRINTF("Error: BGEN v1.%c input requires PLINK 2.0 (under development as of this\nwriting).  Use qctool2 or bgenix to downcode to BGEN v1.1 if you want to\nprocess this data with PLINK 1.9.\n", (compression_mode == 2)? '3' : '2');
 	} else if (layout > 2) {
-	  logerrprint("Error: Unrecognized BGEN version.  Use gen-convert or a similar tool to\ndowncode to BGEN v1.1 if you want to process this data with PLINK 1.9.\n");
+	  logerrprint("Error: Unrecognized BGEN version.  Use bgenix or a similar tool to downcode to\nBGEN v1.1 if you want to process this data with PLINK 1.9.\n");
 	} else {
-	  logerrprint("Error: Unrecognized flags in .bgen header.  (PLINK 1.9 only supports\nBGEN v1.0 and v1.1.)\n");
+	  logerrprint("Error: Unrecognized flags in .bgen header.  (PLINK 1.9 only supports BGEN v1.0\nand v1.1.)\n");
 	}
 	goto oxford_to_bed_ret_INVALID_FORMAT;
       }


=====================================
plink_family.c
=====================================
--- a/plink_family.c
+++ b/plink_family.c
@@ -509,12 +509,14 @@ uint32_t erase_mendel_errors(uintptr_t unfiltered_sample_ct, uintptr_t* loadbuf,
       unn = uii / BITCT2;
       uoo = ujj / BITCT2;
       upp = ukk / BITCT2;
-      uii = 2 * (uii % BITCT2);
+      const uint32_t uqq = 2 * (uii % BITCT2);
       ujj = 2 * (ujj % BITCT2);
       ukk = 2 * (ukk % BITCT2);
-      ulii = (workbuf[unn] >> uii) & 3;
+      ulii = (workbuf[unn] >> uqq) & 3;
       uljj = ((workbuf[uoo] >> ujj) & 3) | (((workbuf[upp] >> ukk) & 3) << 2);
       if (ulii != 1) {
+        // bugfix (10 Apr 2018): is_set(sex_male, uii) didn't work since we had
+        // replaced the value with twice the low-order bits
 	if ((!is_x) || (!is_set(sex_male, uii))) {
           umm = mendel_error_table[ulii | (uljj << 2)];
 	} else {
@@ -522,7 +524,7 @@ uint32_t erase_mendel_errors(uintptr_t unfiltered_sample_ct, uintptr_t* loadbuf,
 	}
         if (umm) {
 	  ulii = loadbuf[unn];
-	  uljj = ONELU << uii;
+	  uljj = ONELU << uqq;
 	  loadbuf[unn] = (ulii & (~(3 * uljj))) | uljj;
 	  if (umm & 0x100) {
 	    ulii = loadbuf[uoo];
@@ -539,9 +541,9 @@ uint32_t erase_mendel_errors(uintptr_t unfiltered_sample_ct, uintptr_t* loadbuf,
       } else if (!uljj) {
 	// both parents are homozygous for the same allele, so child genotype
 	// is "known" for the purpose of checking grandchild genotypes
-	workbuf[unn] &= ~(ONELU << uii);
+	workbuf[unn] &= ~(ONELU << uqq);
       } else if (uljj == 15) {
-	workbuf[unn] |= (2 * ONELU) << uii;
+	workbuf[unn] |= (2 * ONELU) << uqq;
       }
       // no need to fill "known" heterozygous genotype, since that's treated
       // the same way as a missing genotype


=====================================
plink_help.c
=====================================
--- a/plink_help.c
+++ b/plink_help.c
@@ -1485,7 +1485,8 @@ int32_t disp_help(uint32_t param_ct, char** argv) {
 "  --missing-phenotype [v] : Set missing phenotype value (normally -9).\n"
 "  --1                     : Expect case/control phenotypes to be coded as\n"
 "                            0 = control, 1 = case, instead of the usual\n"
-"                            0 = missing, 1 = control, 2 = case.\n"
+"                            0 = missing, 1 = control, 2 = case.  This also\n"
+"                            forces phenotypes to be interpreted as case/ctrl.\n"
 	       );
     help_print("make-pheno\tpheno", &help_ctrl, 0,
 "  --make-pheno [fn] [val] : Define a new case/control phenotype.  If the val\n"


=====================================
sisocks.h
=====================================
--- a/sisocks.h
+++ b/sisocks.h
@@ -14,13 +14,13 @@
  *  along with this program; if not, write to the Free Software
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  *
-   
-   conditional defines: 
+
+   conditional defines:
 
    MAIN
      should be defined in just one file that will contain the fn definitions and variables
 
-   USE_SNPRINTF 
+   USE_SNPRINTF
      emulate snprintf on Win platforms (you will
      lose the security which is provided under unix of course)
 
@@ -137,7 +137,7 @@ extern int initsocks(void);
 
 #define donesocks() WSACleanup()
 #else
- 
+
 /* no stupid stuff necessary for unix */
 #define initsocks()
 #define donesocks()
@@ -244,7 +244,7 @@ extern FILE *sockerrlog;
 int sockerrorchecks(char *buf, int blen, int res);
 int sockerrorcheck(char *sn, int rtb, int res);
 #endif
-    
+
 #define FCF(X,F) sockerrorcheck(X,1,F)
 #define CF(X,F) sockerrorcheck(X,0,F)
 
@@ -261,5 +261,5 @@ struct sockaddr *build_sin(struct sockaddr_in *sa,char *ip,int port) {
 #else
 struct sockaddr *build_sin(struct sockaddr_in *sa,char *ip,int port);
 #endif
-          
+
 #endif /* __SISOCKS_H__ */



View it on GitLab: https://salsa.debian.org/med-team/plink1-9/compare/caee70d9c7dbb4182e258c36526a41ec825f742c...01b9b3e270418698bd66b9996dd4cd8b5aee9408

---
View it on GitLab: https://salsa.debian.org/med-team/plink1-9/compare/caee70d9c7dbb4182e258c36526a41ec825f742c...01b9b3e270418698bd66b9996dd4cd8b5aee9408
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/20180421/9c3317d5/attachment-0001.html>


More information about the debian-med-commit mailing list