Load libraries and get BiocCredentials authentication

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()

1. Identify data packages to be added

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>

2. Compare overall numbers

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()

3. TO ADD: Packages to add to packages.conf

Packages to add to packages.conf can contain

  1. Packages maintained by Bioconductor core team (maintainer@bioconductor.org)
  2. Data packages which have not been added.

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

4. Final step: Making list of packages with credentials

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)

5. Summary of 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

6. Big picture numbers

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

Issues

ExpressionNormalizationWorkflow, has a bad format for DESCRIPTION file and the parser doesn’t catch it.