comparison help/help-scripts/r_dep_gen.R @ 0:84361ce36a11 draft

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