[Bioc-devel] Citation info still not displayed correctly for some packages
On 08/30/2016 06:56 AM, Alexey Sergushichev wrote:
Martin, Won't it be easier to include actually installation for each package in the build script, but into a separate temp folder? Thus every package will be isntalled and citation() should work fine.
installation is computationally costly and the the build system is taxed for resources. We do have new hardware in the works and if that loosens the bottleneck then yes, we would install all packages. It is convenient to be able to get citation information from packages that are not installed, and the 'meta' argument to readCitationFile() seems to have been introduced for exactly this reason. As a developer I would choose to write my CITATION file in a way that did not require the package to be installed. Martin
Best,
Alexey
On Tue, Aug 30, 2016 at 1:17 AM, Martin Morgan
<martin.morgan at roswellpark.org <mailto:martin.morgan at roswellpark.org>>
wrote:
On 08/29/2016 05:40 PM, Ramon Diaz-Uriarte wrote:
Dear All,
At least for some packages
(http://bioconductor.org/packages/devel/bioc/html/OncoSimulR.html <http://bioconductor.org/packages/devel/bioc/html/OncoSimulR.html>)
the
citation info is still not displayed correctly. I double checked
installing
from BioC just now, and the citation is not the one shown in the
landing
page on BioC; the vignette
(http://www.bioconductor.org/packages/3.4/bioc/vignettes/OncoSimulR/inst/doc/OncoSimulR.html#15_citing_oncosimulr_and_other_documentation
<http://www.bioconductor.org/packages/3.4/bioc/vignettes/OncoSimulR/inst/doc/OncoSimulR.html#15_citing_oncosimulr_and_other_documentation>)
also shows the output from citation("OncoSimulR"), which again
is not the
same as in the BioC page.
I think that at least in this case the citation info has not
been updated
in the last two builds.
biocViews (which processes the citations) was updated in the last
build, it should be used in the next build. I'll keep an eye on it.
OncoSimulR seems to have a valid CITATION file.
For a little more information, there are a number of outstanding
problems with citation processing. Citation information is added
using readCitationFile() applied to the package _source_, rather
than the installed package. This is because some packages (those
without any reverse dependencies) are never actually installed on
the build system -- they are built into a tar ball and checked, and
the built tarball is used to generate citation information.
This means that CITATION files that do things like
packageDescription("foo") fail, because "foo" is not installed. The
current solution is to rely on the 'meta' argument to
readCitationFile(), so CITATION files can replace lines like
version <- packageDescription("foo")$Version
with
version <- meta$Version
or more flexibly
if (!exists("meta") || is.null(meta))
meta <- packageDescription("nlme")
and one can test that one has a valid CITATION file with
descr = packageDescription("pkg-name", "/path/to/pkg")
readCitationFile("/path/to/pkg/pkg-name/inst/CITATION", descr)
There are related problems, e.g., with use of the knitrcitation or
omitting the required field 'textVersion', and a bug (generating a
warning, but apparently not compromising the citation) when a url or
doi field contains an encoded url, as
> xx <<- "\\url{http://foo%3Fbar}"; con <- textConnection(xx);
parse_Rd(con, fragment=TRUE, permissive=TRUE)
Warning in withCallingHandlers(.External2(C_parseRd, tcon, srcfile,
"UTF-8", :
<connection>:2: unexpected END_OF_INPUT '
'
\url{http://foo%3Fbar}
}
Here is a summary of the issues I know about; the 'err' and 'warn'
labels refer to how R reports the initial error; the
packageDescription 'warnings' actually mean that the CITATION file
may not be parsed by the build system.
## > names(err)
## [1] "bioassayR" # knitcitations()
## [2] "ChemmineR" # knitcitations()
## [3] "clippda" # missing textVersion
## [4] "eiR" # knitcitations()
## [5] "fmcsR" # knitcitations()
## [6] "metagenomeSeq"# packageVersion()
## [7] "SomatiCA" # missing textVersion
## > names(warn)
## [1] "ALDEx2" # url encoding '10.1371%2'
## [2] "aroma.light" # print(citn, style="html"); trailing } in title
## [3] "birte" # packageDescription()
## [4] "BRAIN" # packageDescription()
## [5] "ChAMP" # doi encoding %2F
## [6] "ChIPpeakAnno"# url encoding %2F
## [7] "CoGAPS" # packageDescription()
## [8] "derfinderHelper" # packageDescription()
## [9] "derfinderPlot"
## [10] "destiny" # packageDescription()
## [11] "fabia" # packageDescription()
## [12] "flowFP" # packageDescription()
## [13] "GenomicAlignments"# url encoding
## [14] "GenomicFeatures" # url encoding
## [15] "GenomicRanges" # url encoding
## [16] "Genominator" # packageDescription()
## [17] "GOSim" # packageDescription()
## [18] "GSRI" # packageDescription()
## [19] "hapFabia" # packageDescription()
## [20] "kebabs" # packageDescription()
## [21] "manta" # packageDescription()
## [22] "mdgsa" # url encoding
## [23] "MEDME" # packageDescription()
## [24] "miRLAB" # url encoding
## [25] "networkBMA" # packageDescription()
## [26] "pcaGoPromoter" # url encoding
## [27] "podkat" # packageDescription()
## [28] "procoil" # packageDescription()
## [29] "Rbowtie" # packageDescription()
## [30] "Rcade" # packageDescription()
## [31] "Rchemcpp" # packageDescription()
## [32] "rfPred" # packageDescription()
## [33] "sigaR" # packageDescription()
## [34] "SIM" # packageDescription()
## [35] "SWATH2stats" # url encoding
## [36] "TEQC" # packageDescription()
Best,
R.
This email message may contain legally privileged and/or...{{dropped:2}}
_______________________________________________
Bioc-devel at r-project.org <mailto:Bioc-devel at r-project.org> mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel
<https://stat.ethz.ch/mailman/listinfo/bioc-devel>
This email message may contain legally privileged and/or...{{dropped:2}}