library(httr)
library(tidyverse)
## ── Attaching packages ─────────────────────────────────────────────────────────────────────────────── tidyverse 1.2.1 ──
## ✔ ggplot2 2.2.1 ✔ purrr 0.2.4
## ✔ tibble 1.4.2 ✔ dplyr 0.7.5
## ✔ tidyr 0.8.1 ✔ stringr 1.3.1
## ✔ readr 1.1.1 ✔ forcats 0.3.0
## ── Conflicts ────────────────────────────────────────────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
#####################################
## Get Bioconductor CREDENTIALS
#####################################
BIOC_CREDENTIALS = readLines("~/gitCredentialsAuth.txt")
auth <- authenticate(
BIOC_CREDENTIALS[1],
BIOC_CREDENTIALS[2]
)
.BIOC_CREDENTIALS_URL <-
"https://git.bioconductor.org/BiocCredentials/api/biocusers/"
Get manifest files from software , workflows and data-experiment.
#####################################
## GET manifest
#####################################
get_bioc_manifest <-
function(manifest)
{
args <- c("archive",
"--remote=git@git.bioconductor.org:admin/manifest", "HEAD",
manifest,"|" , "tar", "-x")
system2("git", args, wait=TRUE)
f <- readLines(manifest)
f <- sub(
"Package: *", "",
regmatches(f, regexpr("Package:.*", f))
)
tbl_df(f)
}
## Get manifests
software <- get_bioc_manifest("software.txt")
data_exp <- get_bioc_manifest("data-experiment.txt")
workflows <- get_bioc_manifest("workflows.txt")
## Add type of package
software$type <- "-software"
data_exp$type <- "-dataexp-workflow"
workflows$type <- "-dataexp-workflow"
## bind rows
manifest <- bind_rows(software, data_exp, workflows)
Get packages in packages.conf.
#####################################
## Get packages in packages.conf
#####################################
get_packages_conf <-
function(path = "/Users/ni41435_ca/Documents/gitolite-admin/conf/packages.conf")
{
conf <- readLines(path)
idx <- grep("repo packages/", conf)
packs <- gsub("repo packages/", "", conf[idx])
tbl_df(packs)
}
packages_conf <- get_packages_conf()
This shows that there are no new data packages to be added.
anti_join(data_exp, packages_conf, by = "value")
## # A tibble: 0 x 2
## # ... with 2 variables: value <chr>, type <chr>
Get packages in packages.conf, which are NOT IN manifest
packages_not_in_conf <- setdiff(packages_conf$value, manifest$value)
packages_not_in_conf
## [1] "BiocGenerics_test" "BiocGenerics_test_two"
## [3] "RnaSeqTutorial" "MEALData"
## [5] "PAnnBuilder" "ontoCAT"
## [7] "phenoDist" "htSeqTools"
## [9] "spliceR" "mvGST"
## [11] "BrowserVizDemo" "OperaMate"
## [13] "GMRP" "DASC"
## [15] "ia4genet" "maEndToEnd"
This list of packages is explained as follows,
Check which of these packages are deprecated
## Remove MEALData as it does not install
packages_not_in_conf <- packages_not_in_conf[-4]
biocsafe <- safely(BiocManager::install)
map(packages_not_in_conf, biocsafe)
## Bioconductor version 3.8 (BiocManager 1.29.52), R 3.5.0 Patched
## (2018-04-30 r74678)
## Installing package(s) 'BiocGenerics_test'
## Warning: package 'BiocGenerics_test' is not available (for R version 3.5.0
## Patched)
## Update old packages: 'FastqCleaner'
## Bioconductor version 3.8 (BiocManager 1.29.52), R 3.5.0 Patched
## (2018-04-30 r74678)
## Installing package(s) 'BiocGenerics_test_two'
## Warning: package 'BiocGenerics_test_two' is not available (for R version
## 3.5.0 Patched)
## Update old packages: 'FastqCleaner'
## Bioconductor version 3.8 (BiocManager 1.29.52), R 3.5.0 Patched
## (2018-04-30 r74678)
## Installing package(s) 'RnaSeqTutorial'
## Warning: package 'RnaSeqTutorial' is not available (for R version 3.5.0
## Patched)
## Update old packages: 'FastqCleaner'
## Bioconductor version 3.8 (BiocManager 1.29.52), R 3.5.0 Patched
## (2018-04-30 r74678)
## Installing package(s) 'PAnnBuilder'
## Warning: package 'PAnnBuilder' is not available (for R version 3.5.0
## Patched)
## Update old packages: 'FastqCleaner'
## Bioconductor version 3.8 (BiocManager 1.29.52), R 3.5.0 Patched
## (2018-04-30 r74678)
## Installing package(s) 'ontoCAT'
## Warning: package 'ontoCAT' is not available (for R version 3.5.0 Patched)
## Update old packages: 'FastqCleaner'
## Bioconductor version 3.8 (BiocManager 1.29.52), R 3.5.0 Patched
## (2018-04-30 r74678)
## Installing package(s) 'phenoDist'
## Warning: package 'phenoDist' is not available (for R version 3.5.0 Patched)
## Update old packages: 'FastqCleaner'
## Bioconductor version 3.8 (BiocManager 1.29.52), R 3.5.0 Patched
## (2018-04-30 r74678)
## Installing package(s) 'htSeqTools'
## Warning: package 'htSeqTools' is not available (for R version 3.5.0
## Patched)
## Update old packages: 'FastqCleaner'
## Bioconductor version 3.8 (BiocManager 1.29.52), R 3.5.0 Patched
## (2018-04-30 r74678)
## Installing package(s) 'spliceR'
## Updating HTML index of packages in '.Library'
## Making 'packages.html' ... done
## Update old packages: 'FastqCleaner'
## Bioconductor version 3.8 (BiocManager 1.29.52), R 3.5.0 Patched
## (2018-04-30 r74678)
## Installing package(s) 'mvGST'
## Warning: package 'mvGST' is not available (for R version 3.5.0 Patched)
## Update old packages: 'FastqCleaner'
## Bioconductor version 3.8 (BiocManager 1.29.52), R 3.5.0 Patched
## (2018-04-30 r74678)
## Installing package(s) 'BrowserVizDemo'
## Warning: package 'BrowserVizDemo' is not available (for R version 3.5.0
## Patched)
## Update old packages: 'FastqCleaner'
## Bioconductor version 3.8 (BiocManager 1.29.52), R 3.5.0 Patched
## (2018-04-30 r74678)
## Installing package(s) 'OperaMate'
## Warning: package 'OperaMate' is not available (for R version 3.5.0 Patched)
## Update old packages: 'FastqCleaner'
## Bioconductor version 3.8 (BiocManager 1.29.52), R 3.5.0 Patched
## (2018-04-30 r74678)
## Installing package(s) 'GMRP'
## Warning: package 'GMRP' is not available (for R version 3.5.0 Patched)
## Update old packages: 'FastqCleaner'
## Bioconductor version 3.8 (BiocManager 1.29.52), R 3.5.0 Patched
## (2018-04-30 r74678)
## Installing package(s) 'DASC'
## Warning: package 'DASC' is not available (for R version 3.5.0 Patched)
## Update old packages: 'FastqCleaner'
## Bioconductor version 3.8 (BiocManager 1.29.52), R 3.5.0 Patched
## (2018-04-30 r74678)
## Installing package(s) 'ia4genet'
## Warning: package 'ia4genet' is not available (for R version 3.5.0 Patched)
## Update old packages: 'FastqCleaner'
## Bioconductor version 3.8 (BiocManager 1.29.52), R 3.5.0 Patched
## (2018-04-30 r74678)
## Installing package(s) 'maEndToEnd'
## Warning: package 'maEndToEnd' is not available (for R version 3.5.0
## Patched)
## Update old packages: 'FastqCleaner'
## [[1]]
## [[1]]$result
## [1] "BiocGenerics_test"
##
## [[1]]$error
## NULL
##
##
## [[2]]
## [[2]]$result
## [1] "BiocGenerics_test_two"
##
## [[2]]$error
## NULL
##
##
## [[3]]
## [[3]]$result
## [1] "RnaSeqTutorial"
##
## [[3]]$error
## NULL
##
##
## [[4]]
## [[4]]$result
## [1] "PAnnBuilder"
##
## [[4]]$error
## NULL
##
##
## [[5]]
## [[5]]$result
## [1] "ontoCAT"
##
## [[5]]$error
## NULL
##
##
## [[6]]
## [[6]]$result
## [1] "phenoDist"
##
## [[6]]$error
## NULL
##
##
## [[7]]
## [[7]]$result
## [1] "htSeqTools"
##
## [[7]]$error
## NULL
##
##
## [[8]]
## [[8]]$result
## [1] "spliceR"
##
## [[8]]$error
## NULL
##
##
## [[9]]
## [[9]]$result
## [1] "mvGST"
##
## [[9]]$error
## NULL
##
##
## [[10]]
## [[10]]$result
## [1] "BrowserVizDemo"
##
## [[10]]$error
## NULL
##
##
## [[11]]
## [[11]]$result
## [1] "OperaMate"
##
## [[11]]$error
## NULL
##
##
## [[12]]
## [[12]]$result
## [1] "GMRP"
##
## [[12]]$error
## NULL
##
##
## [[13]]
## [[13]]$result
## [1] "DASC"
##
## [[13]]$error
## NULL
##
##
## [[14]]
## [[14]]$result
## [1] "ia4genet"
##
## [[14]]$error
## NULL
##
##
## [[15]]
## [[15]]$result
## [1] "maEndToEnd"
##
## [[15]]$error
## NULL
Get packages which are in manifest but not in the packages.conf
setdiff(manifest$value, packages_conf$value)
## character(0)
Packages which are duplicated in the packages.conf, these have to be removed.
packages_conf$value[duplicated(packages_conf$value)]
## character(0)
Get packages with @none
get_none_packages <-
function(path = "/Users/ni41435_ca/Documents/gitolite-admin/conf/packages.conf")
{
conf <- readLines(path)
idx <- which(str_detect(conf, "RW master = @none"))
packs <- str_replace(conf[idx - 1], "repo packages/", "")
tbl_df(packs)
}
none_packages <- get_none_packages()
Packages to add to packages.conf can contain
Remove @none packages from packages.conf, (this step is not needed, but i’ve done it just to check with the manifest)
packages_without_none <- packages_conf %>% anti_join(none_packages, by = "value")
packages_without_none
## # A tibble: 1,676 x 1
## value
## <chr>
## 1 BiocGenerics_test
## 2 BiocGenerics_test_two
## 3 lumiBarnes
## 4 hapmap100kxba
## 5 pumadata
## 6 lungExpression
## 7 CCl4
## 8 MAQCsubsetAFX
## 9 MAQCsubsetILM
## 10 msdata
## # ... with 1,666 more rows
Compare packages_without_none and manifest
xx <- manifest %>% anti_join(packages_without_none, by="value")
## Sanity check to see if packages_without_none are the same as the ones in the
## manifest
setequal(xx$value, none_packages$value)
## [1] TRUE
table(duplicated(xx$value))
##
## FALSE
## 259
First function to get maintainer emails, after playing with the views files, this is cleaner and produces better results without having to reinvent the wheel
get_maintainers_email <-
function(package)
{
args <- c("archive",
paste0("--remote=git@git.bioconductor.org:packages/", package),
"HEAD",
"DESCRIPTION","|" , "tar", "-x")
system2("git", args, wait=TRUE)
dcf <- read.dcf(file.path("DESCRIPTION"))
if ("Maintainer" %in% colnames(dcf)) {
m <- dcf[, "Maintainer"]
ret <- regexec("<([^>]*)>", m)[[1]]
ml <- attr(ret, "match.length")
email <- substr(m, ret[2], ret[2] + ml[2] - 1)
}
else if ("Authors@R" %in% colnames(dcf)) {
ar <- dcf[, "Authors@R"]
env <- new.env(parent = emptyenv())
env[["c"]] = c
env[["person"]] <- utils::person
pp <- parse(text = ar, keep.source = TRUE)
tryCatch(people <- eval(pp, env), error = function(e) {
return()
})
for (person in people) {
if ("cre" %in% person$role) {
email <- person$email
}
}
}
c(package, email)
}
Second, write function to write a file in the packages.conf format but only with the none packages.
## Write packages to temp file called packages.conf
write_file <-
function(tbl)
{
package_template <- paste0(
"",
"\nrepo packages/%s",
"\n RW master = %s",
"\n RW RELEASE_3_7 = %s",
"\n option hook.pre-receive = pre-receive-hook%s"
)
template = sprintf(package_template,
tbl$value,
tbl$creds,
tbl$creds,
tbl$type)
template = paste(template, collapse="\n")
write(template, file = "packages.conf", append=TRUE)
}
Third, write functions to get all credentails for these nont packages from the BiocCredentials API
get_bioc_credentials <-
function(email_id, auth)
{
query <- paste0(.BIOC_CREDENTIALS_URL, "query_by_email/%s/")
queries <- sprintf(query, email_id)
content(httr::GET(queries, auth))
}
get_all <- function(package) {
res <- get_maintainers_email(package)
credential <- get_bioc_credentials(res[2], auth=auth)
c(package, credential)
}
Run whole sequence
get_all_safely <- safely(get_all)
## Get all credentials
result <- none_packages$value %>% map(get_all_safely)
t_result <- transpose(result)[["result"]]
## make a tbl with pacakge, credential
creds = tibble(value=unlist(sapply(t_result, `[[`, c(1))),
creds=unlist(sapply(t_result, `[[`, c(2))))
## left_join (result_tbl, to_add) using value
to_add <- left_join(creds, manifest, by = c("value"))
to_add$creds <- str_replace_na(to_add$creds, "maintainer")
to_add$creds <- str_replace(to_add$creds, "maintainer", "@bioconductor_writers")
to_add$creds[to_add$creds == ""] <- "@bioconductor_writers"
to_add
## # A tibble: 258 x 3
## value creds type
## <chr> <chr> <chr>
## 1 Biobase @bioconductor_writers -software
## 2 DynDoc @bioconductor_writers -software
## 3 annotate @bioconductor_writers -software
## 4 geneplotter @bioconductor_writers -software
## 5 ROC stvjc -software
## 6 tkWidgets jzhang -software
## 7 affyio bolstad -software
## 8 preprocessCore bolstad -software
## 9 graph @bioconductor_writers -software
## 10 makecdfenv @bioconductor_writers -software
## # ... with 248 more rows
Write to file
write_file(to_add)
glimpse(to_add)
## Observations: 258
## Variables: 3
## $ value <chr> "Biobase", "DynDoc", "annotate", "geneplotter", "ROC", "...
## $ creds <chr> "@bioconductor_writers", "@bioconductor_writers", "@bioc...
## $ type <chr> "-software", "-software", "-software", "-software", "-so...
table(to_add$creds)
##
## @bioconductor_writers a.quiroz-zarate
## 137 1
## a.sakellariou atarca@med.wayne.edu
## 1 1
## bolstad c.fresno
## 5 1
## c.isella c.warden
## 3 1
## cmiller colin
## 2 2
## d.kosztyla d.mosen-ansorena
## 1 2
## d.rambaldi d.risso
## 1 1
## d.sie d.venet
## 2 1
## duncan fraley@stat.washington.edu
## 1 1
## g.bhatti g.tagliazucchi
## 1 1
## h.corradabravo j.fortin
## 1 2
## j.saezrodriguez j.smith
## 3 1
## jzhang khansen
## 4 2
## l.collado-torres l.gerber
## 1 1
## l.jacob l.marchionni
## 1 1
## l.shepherd laurent@cbs.dtu.dk
## 1 1
## m.alvarez m.hahsler
## 1 1
## m.hansen m.kosinski
## 4 5
## m.love m.mccall
## 1 1
## m.smith mtmorgan@fhcrc.org
## 1 5
## p.bellot rgentlem
## 1 4
## s.hochreiter s.zhao
## 1 1
## stvjc t.kuilman
## 36 2
## tchiang@fhcrc.org tstokowy
## 1 1
## v.franke v.haberle
## 1 1
## whuber xi.yang
## 1 1
## xiaochun y.jiang
## 1 1
## yxiao@itsa.ucsf.edu
## 1
bioc_writers = filter(to_add, creds == "@bioconductor_writers")
print(bioc_writers, n = 137)
## # A tibble: 137 x 3
## value creds type
## <chr> <chr> <chr>
## 1 Biobase @bioconductor_writers -software
## 2 DynDoc @bioconductor_writers -software
## 3 annotate @bioconductor_writers -software
## 4 geneplotter @bioconductor_writers -software
## 5 graph @bioconductor_writers -software
## 6 makecdfenv @bioconductor_writers -software
## 7 daMA @bioconductor_writers -software
## 8 gpls @bioconductor_writers -software
## 9 MeasurementError.cor @bioconductor_writers -software
## 10 factDesign @bioconductor_writers -software
## 11 ecolitk @bioconductor_writers -software
## 12 affypdnn @bioconductor_writers -software
## 13 pickgene @bioconductor_writers -software
## 14 Biostrings @bioconductor_writers -software
## 15 Icens @bioconductor_writers -software
## 16 altcdfenvs @bioconductor_writers -software
## 17 arrayQuality @bioconductor_writers -software
## 18 goTools @bioconductor_writers -software
## 19 marray @bioconductor_writers -software
## 20 GOstats @bioconductor_writers -software
## 21 GraphAT @bioconductor_writers -software
## 22 OLINgui @bioconductor_writers -software
## 23 MVCClass @bioconductor_writers -software
## 24 bioDist @bioconductor_writers -software
## 25 CoCiteStats @bioconductor_writers -software
## 26 apComplex @bioconductor_writers -software
## 27 hypergraph @bioconductor_writers -software
## 28 Category @bioconductor_writers -software
## 29 clusterStab @bioconductor_writers -software
## 30 biocViews @bioconductor_writers -software
## 31 affycoretools @bioconductor_writers -software
## 32 GEOquery @bioconductor_writers -software
## 33 copa @bioconductor_writers -software
## 34 BSgenome @bioconductor_writers -software
## 35 aroma.light @bioconductor_writers -software
## 36 BioMVCClass @bioconductor_writers -software
## 37 pkgDepTools @bioconductor_writers -software
## 38 ppiStats @bioconductor_writers -software
## 39 AnnotationDbi @bioconductor_writers -software
## 40 GeneticsDesign @bioconductor_writers -software
## 41 ACME @bioconductor_writers -software
## 42 GeneticsPed @bioconductor_writers -software
## 43 GSEABase @bioconductor_writers -software
## 44 biocGraph @bioconductor_writers -software
## 45 BiocCaseStudies @bioconductor_writers -software
## 46 SLGI @bioconductor_writers -software
## 47 PCpheno @bioconductor_writers -software
## 48 RBioinf @bioconductor_writers -software
## 49 Rsamtools @bioconductor_writers -software
## 50 BiocInstaller @bioconductor_writers -software
## 51 zlibbioc @bioconductor_writers -software
## 52 randPack @bioconductor_writers -software
## 53 weaver @bioconductor_writers -software
## 54 BiocGenerics @bioconductor_writers -software
## 55 maskBAD @bioconductor_writers -software
## 56 AnnotationForge @bioconductor_writers -software
## 57 RGalaxy @bioconductor_writers -software
## 58 KEGGREST @bioconductor_writers -software
## 59 SplicingGraphs @bioconductor_writers -software
## 60 XVector @bioconductor_writers -software
## 61 GenomicAlignments @bioconductor_writers -software
## 62 GenomeInfoDb @bioconductor_writers -software
## 63 BiocCheck @bioconductor_writers -software
## 64 S4Vectors @bioconductor_writers -software
## 65 Rhtslib @bioconductor_writers -software
## 66 SummarizedExperiment @bioconductor_writers -software
## 67 synlet @bioconductor_writers -software
## 68 AnnotationHubData @bioconductor_writers -software
## 69 ExperimentHubData @bioconductor_writers -software
## 70 HDF5Array @bioconductor_writers -software
## 71 DelayedArray @bioconductor_writers -software
## 72 BiocVersion @bioconductor_writers -software
## 73 ALL @bioconductor_writers -dataexp-workflow
## 74 AmpAffyExample @bioconductor_writers -dataexp-workflow
## 75 beta7 @bioconductor_writers -dataexp-workflow
## 76 colonCA @bioconductor_writers -dataexp-workflow
## 77 ecoliLeucine @bioconductor_writers -dataexp-workflow
## 78 facsDorit @bioconductor_writers -dataexp-workflow
## 79 fibroEset @bioconductor_writers -dataexp-workflow
## 80 HEEBOdata @bioconductor_writers -dataexp-workflow
## 81 hgu2beta7 @bioconductor_writers -dataexp-workflow
## 82 kidpack @bioconductor_writers -dataexp-workflow
## 83 MEEBOdata @bioconductor_writers -dataexp-workflow
## 84 SNAData @bioconductor_writers -dataexp-workflow
## 85 SpikeIn @bioconductor_writers -dataexp-workflow
## 86 SpikeInSubset @bioconductor_writers -dataexp-workflow
## 87 stjudem @bioconductor_writers -dataexp-workflow
## 88 yeastCC @bioconductor_writers -dataexp-workflow
## 89 maqcExpression4plex @bioconductor_writers -dataexp-workflow
## 90 hapmap100khind @bioconductor_writers -dataexp-workflow
## 91 hapmap500knsp @bioconductor_writers -dataexp-workflow
## 92 hapmap500ksty @bioconductor_writers -dataexp-workflow
## 93 XhybCasneuf @bioconductor_writers -dataexp-workflow
## 94 tinesath1cdf @bioconductor_writers -dataexp-workflow
## 95 tinesath1probe @bioconductor_writers -dataexp-workflow
## 96 hapmapsnp5 @bioconductor_writers -dataexp-workflow
## 97 hapmapsnp6 @bioconductor_writers -dataexp-workflow
## 98 EatonEtAlChIPseq @bioconductor_writers -dataexp-workflow
## 99 yeastNagalakshmi @bioconductor_writers -dataexp-workflow
## 100 bladderbatch @bioconductor_writers -dataexp-workflow
## 101 TCGAMethylation450k @bioconductor_writers -dataexp-workflow
## 102 ffpeExampleData @bioconductor_writers -dataexp-workflow
## 103 pasillaBamSubset @bioconductor_writers -dataexp-workflow
## 104 FunciSNP.data @bioconductor_writers -dataexp-workflow
## 105 Mulder2012 @bioconductor_writers -dataexp-workflow
## 106 waveTilingData @bioconductor_writers -dataexp-workflow
## 107 TBX20BamSubset @bioconductor_writers -dataexp-workflow
## 108 pd.atdschip.tiling @bioconductor_writers -dataexp-workflow
## 109 RIPSeekerData @bioconductor_writers -dataexp-workflow
## 110 leukemiasEset @bioconductor_writers -dataexp-workflow
## 111 DeSousa2013 @bioconductor_writers -dataexp-workflow
## 112 RNAseqData.HNRNPC.bam.chr14 @bioconductor_writers -dataexp-workflow
## 113 mitoODEdata @bioconductor_writers -dataexp-workflow
## 114 IlluminaDataTestFiles @bioconductor_writers -dataexp-workflow
## 115 curatedBladderData @bioconductor_writers -dataexp-workflow
## 116 FlowSorted.Blood.450k @bioconductor_writers -dataexp-workflow
## 117 HiCDataLymphoblast @bioconductor_writers -dataexp-workflow
## 118 healthyFlowData @bioconductor_writers -dataexp-workflow
## 119 bcellViper @bioconductor_writers -dataexp-workflow
## 120 COPDSexualDimorphism.data @bioconductor_writers -dataexp-workflow
## 121 metaMSdata @bioconductor_writers -dataexp-workflow
## 122 FlowSorted.DLPFC.450k @bioconductor_writers -dataexp-workflow
## 123 MUGAExampleData @bioconductor_writers -dataexp-workflow
## 124 HiCDataHumanIMR90 @bioconductor_writers -dataexp-workflow
## 125 RnBeads.mm10 @bioconductor_writers -dataexp-workflow
## 126 RnBeads.mm9 @bioconductor_writers -dataexp-workflow
## 127 RnBeads.rn5 @bioconductor_writers -dataexp-workflow
## 128 RnBeads.hg38 @bioconductor_writers -dataexp-workflow
## 129 SNPhoodData @bioconductor_writers -dataexp-workflow
## 130 JASPAR2016 @bioconductor_writers -dataexp-workflow
## 131 annotation @bioconductor_writers -dataexp-workflow
## 132 arrays @bioconductor_writers -dataexp-workflow
## 133 generegulation @bioconductor_writers -dataexp-workflow
## 134 highthroughputassays @bioconductor_writers -dataexp-workflow
## 135 liftOver @bioconductor_writers -dataexp-workflow
## 136 proteomics @bioconductor_writers -dataexp-workflow
## 137 variants @bioconductor_writers -dataexp-workflow
table(bioc_writers$type)
##
## -dataexp-workflow -software
## 65 72
1919 packages in the manifest.
1935 packages in the packages.conf
16 packages not in packages.conf.
## 1919 packages in manifest
dim(manifest)
## [1] 1919 2
## 1935 packages in the packages.conf
dim(packages_conf)
## [1] 1935 1
## 16 packages not in packages.conf, these packages are explained above
length(packages_not_in_conf)
## [1] 15
packages_not_in_conf
## [1] "BiocGenerics_test" "BiocGenerics_test_two"
## [3] "RnaSeqTutorial" "PAnnBuilder"
## [5] "ontoCAT" "phenoDist"
## [7] "htSeqTools" "spliceR"
## [9] "mvGST" "BrowserVizDemo"
## [11] "OperaMate" "GMRP"
## [13] "DASC" "ia4genet"
## [15] "maEndToEnd"
## Packages to be added to packages.conf with credentials
dim(none_packages)
## [1] 259 1
ExpressionNormalizationWorkflow, has a bad format for DESCRIPTION file and the parser doesn’t catch it.