gnu: Add plink.
* gnu/packages/bioinformatics.scm (plink): New variable. * gnu/packages/patches/plink-1.07-unclobber-i.patch: New file.
This commit is contained in:
parent
5c852e085d
commit
cc6ed47737
|
@ -1793,6 +1793,59 @@ Databases are stored in a portable image within the file system, and can be
|
|||
accessed/downloaded on demand across HTTP.")
|
||||
(license license:public-domain)))
|
||||
|
||||
(define-public plink
|
||||
(package
|
||||
(name "plink")
|
||||
(version "1.07")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"http://pngu.mgh.harvard.edu/~purcell/plink/dist/plink-"
|
||||
version "-src.zip"))
|
||||
(sha256
|
||||
(base32 "0as8gxm4pjyc8dxmm1sl873rrd7wn5qs0l29nqfnl31x8i467xaa"))
|
||||
(patches (list (search-patch "plink-1.07-unclobber-i.patch")))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f ;no "check" target
|
||||
#:make-flags (list (string-append "LIB_LAPACK="
|
||||
(assoc-ref %build-inputs "lapack")
|
||||
"/lib/liblapack.so")
|
||||
"WITH_LAPACK=1"
|
||||
"FORCE_DYNAMIC=1"
|
||||
;; disable phoning home
|
||||
"WITH_WEBCHECK=")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; no "configure" script
|
||||
(delete 'configure)
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((bin (string-append (assoc-ref outputs "out")
|
||||
"/bin/")))
|
||||
(mkdir-p bin)
|
||||
(copy-file "plink" (string-append bin "plink"))
|
||||
#t))))))
|
||||
(inputs
|
||||
`(("zlib" ,zlib)
|
||||
("lapack" ,lapack)))
|
||||
(native-inputs
|
||||
`(("unzip" ,unzip)))
|
||||
(home-page "http://pngu.mgh.harvard.edu/~purcell/plink/")
|
||||
(synopsis "Whole genome association analysis toolset")
|
||||
(description
|
||||
"PLINK is a whole genome association analysis toolset, designed to
|
||||
perform a range of basic, large-scale analyses in a computationally efficient
|
||||
manner. The focus of PLINK is purely on analysis of genotype/phenotype data,
|
||||
so there is no support for steps prior to this (e.g. study design and
|
||||
planning, generating genotype or CNV calls from raw data). Through
|
||||
integration with gPLINK and Haploview, there is some support for the
|
||||
subsequent visualization, annotation and storage of results.")
|
||||
;; Code is released under GPLv2, except for fisher.h, which is under
|
||||
;; LGPLv2.1+
|
||||
(license (list license:gpl2 license:lgpl2.1+))))
|
||||
|
||||
(define-public sra-tools
|
||||
(package
|
||||
(name "sra-tools")
|
||||
|
|
|
@ -0,0 +1,69 @@
|
|||
GCC rightfully complains about redefined variables, as iterator declarations
|
||||
appear inside loops with a loop variable of the same name.
|
||||
|
||||
This patch has been sent upstream.
|
||||
|
||||
--- a/sets.cpp 2015-06-25 11:22:08.252821681 +0200
|
||||
+++ b/sets.cpp 2015-06-25 11:22:23.239187985 +0200
|
||||
@@ -768,11 +768,11 @@
|
||||
//////////////////////////////////////////////
|
||||
// Reset original missing status
|
||||
|
||||
- vector<Individual*>::iterator i = PP->sample.begin();
|
||||
- while ( i != PP->sample.end() )
|
||||
+ vector<Individual*>::iterator it = PP->sample.begin();
|
||||
+ while ( it != PP->sample.end() )
|
||||
{
|
||||
- (*i)->missing = (*i)->flag;
|
||||
- ++i;
|
||||
+ (*it)->missing = (*it)->flag;
|
||||
+ ++it;
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////
|
||||
|
||||
--- a/elf.cpp 2009-10-10 18:00:21.000000000 +0200
|
||||
+++ b/elf.cpp 2015-06-25 11:34:06.136835756 +0200
|
||||
@@ -1175,10 +1175,10 @@
|
||||
<< setw(8) << gcnt << " "
|
||||
<< setw(8) << (double)cnt / (double)gcnt << "\n";
|
||||
|
||||
- map<int,int>::iterator i = chr_cnt.begin();
|
||||
- while ( i != chr_cnt.end() )
|
||||
+ map<int,int>::iterator it = chr_cnt.begin();
|
||||
+ while ( it != chr_cnt.end() )
|
||||
{
|
||||
- int c = i->first;
|
||||
+ int c = it->first;
|
||||
int x = chr_cnt.find( c )->second;
|
||||
int y = chr_gcnt.find( c )->second;
|
||||
|
||||
@@ -1189,7 +1189,7 @@
|
||||
<< setw(8) << y << " "
|
||||
<< setw(8) << (double)x / (double)y << "\n";
|
||||
|
||||
- ++i;
|
||||
+ ++it;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
--- plink-1.07-src/idhelp.cpp 2009-10-10 18:00:22.000000000 +0200
|
||||
+++ plink-1.07-src/idhelp.cpp.patched 2015-06-25 11:37:39.387204086 +0200
|
||||
@@ -772,12 +772,12 @@
|
||||
for (int j = 0 ; j < jointField.size(); j++ )
|
||||
{
|
||||
set<IDField*> & jf = jointField[j];
|
||||
- set<IDField*>::iterator j = jf.begin();
|
||||
+ set<IDField*>::iterator jit = jf.begin();
|
||||
PP->printLOG(" { ");
|
||||
- while ( j != jf.end() )
|
||||
+ while ( jit != jf.end() )
|
||||
{
|
||||
- PP->printLOG( (*j)->name + " " );
|
||||
- ++j;
|
||||
+ PP->printLOG( (*jit)->name + " " );
|
||||
+ ++jit;
|
||||
}
|
||||
PP->printLOG(" }");
|
||||
}
|
Loading…
Reference in New Issue