Mercurial > repos > nturaga > minfi_pipeline
annotate help/help-scripts/r_dep_gen.R @ 1:a78f84fc4873 draft default tip
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
author | nturaga |
---|---|
date | Tue, 19 Apr 2016 12:20:29 -0400 |
parents | 84361ce36a11 |
children |
rev | line source |
---|---|
0
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
1 packageExpand = function(packagelist,fl) { |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
2 res = NULL |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
3 for (i in c(1:length(packagelist))) { |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
4 s = packagelist[i] |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
5 ls = nchar(s) |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
6 spos = which(substr(fl,1,ls) == s,arr.ind=T) |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
7 lspos = length(spos) |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
8 if (lspos > 0) |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
9 { |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
10 fullname = fl[spos] |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
11 if (grepl('*.gz',fullname)) { |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
12 row = paste(ps,fullname,pe,sep='') |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
13 res = append(res,row) |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
14 } |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
15 } |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
16 } |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
17 return(res) |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
18 } |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
19 |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
20 getPackages = function(packs) |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
21 { |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
22 packages = unlist(tools::package_dependencies(packs, available.packages(), |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
23 which=c("Depends", "Imports"), recursive=TRUE)) |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
24 packages = union(packs, packages) |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
25 packages |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
26 } |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
27 |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
28 ourargs = commandArgs(TRUE) |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
29 if(length(ourargs)==0){ |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
30 print("No arguments supplied.") |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
31 }else{ |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
32 for(i in 1:length(ourargs)){ |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
33 eval(parse(text=ourargs[[i]])) |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
34 } |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
35 } |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
36 |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
37 unesc = function(x) { |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
38 res = x |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
39 res = gsub('__lt__','<',res) |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
40 res = gsub('__gt__','>',res) |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
41 return(res) |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
42 } |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
43 |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
44 our_packages = strsplit(ourpackages," ")[[1]] |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
45 ps=unesc(xmlprefix) |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
46 pe="?raw=true</package>" |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
47 |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
48 print(paste('tardir=',tardir,'xmlprefix=',xmlprefix,'ourpackages=',ourpackages,'OUTPATH=',OUTPATH)) |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
49 |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
50 |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
51 setRepositories(ind=1:2) |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
52 chooseBioCmirror(ind=7,graphics=F) # canberra - use eg 1 for FredHutch |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
53 chooseCRANmirror(ind=5,graphics=F) # Melbourne - use 96 for texas |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
54 |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
55 ifreq = function(pkg='DESeq2') { |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
56 if(require(package=pkg,character.only = T)){ |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
57 print(paste(pkg,"is loaded correctly")) |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
58 } else { |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
59 print(paste("trying to install",pkg)) |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
60 install.packages(pkg) |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
61 if(require(package=pkg,character.only = T)){ |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
62 print(paste(pkg,"installed and loaded correctly")) |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
63 } else { |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
64 stop(paste("Could not install",pkg)) |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
65 } |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
66 } |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
67 } |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
68 |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
69 ifreq(pkg="BiocInstaller") |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
70 ifreq(pkg="pkgDepTools") |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
71 ifreq(pkg="Biobase") |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
72 |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
73 print.noquote('Greetings! The R you have chosen is using the following repositories:') |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
74 print.noquote(biocinstallRepos()) |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
75 packages = getPackages(our_packages) |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
76 download.packages(pkgs=packages,destdir=tardir, type="source", repos=biocinstallRepos()) |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
77 flist = list.files(tardir) |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
78 allDeps = makeDepGraph(biocinstallRepos(), type="source", keep.builtin=F, dosize=F) |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
79 res = NULL |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
80 for (i in c(1:length(our_packages))) { |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
81 package = our_packages[i] |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
82 io = getInstallOrder(package, allDeps, needed.only=FALSE) |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
83 ares = packageExpand(packagelist=io$packages,fl=flist) |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
84 res = append(res,ares) |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
85 } |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
86 ures = unique(res) |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
87 tout = "savedeps.xml" |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
88 write.table(ures,file=tout,quote=F,sep="\t",row.names=F,col.names=F) |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
89 write.table(ures,file=OUTPATH,quote=F,sep="\t",row.names=F,col.names=F) |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
90 print.noquote(res) |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
91 sessionInfo() |
84361ce36a11
planemo upload commit fb90aafc93e5e63acfcdac4c27cfd865cdf06c5a-dirty
nturaga
parents:
diff
changeset
|
92 print.noquote(date()) |