R CMD check WARNINGS and NOTES
Some new warnings and notes are appearing due to recent commits, (see below...)
I mention again that we should try to push a new (tidy) version to CRAN soon. We have made lots of important changes recently that others will benefit from. We don't need big new functionality necessary to push updates.
<cut>
* checking dependencies in R code ... WARNING
'::' or ':::' import not declared from: ‘ggplot2’
'loadNamespace' or 'requireNamespace' call not declared from: ‘ggplot2’
See the information on DESCRIPTION files in the chapter ‘Creating R
packages’ of the ‘Writing R Extensions’ manual.
* checking S3 generic/method consistency ... WARNING
cmap:
function(...)
cmap.filter:
function(cm, cutoff.sims)
See section ‘Generic functions and methods’ of the ‘Writing R
Extensions’ manual.
<cut>
* checking R code for possible problems ... NOTE
cnapath : <anonymous>: no visible global function definition for ‘%--%’
plot.cmap: no visible binding for global variable ‘xy’
summary.cnapath: no visible binding for global variable ‘Length’
summary.cnapath: no visible binding for global variable ‘State’
summary.cnapath: no visible binding for global variable ‘bw’
summary.cnapath: no visible binding for global variable ‘..density..’
summary.cnapath: no visible binding for global variable ‘Node’
summary.cnapath: no visible binding for global variable ‘..count..’
* checking Rd files ... OK
* checking Rd metadata ... OK
* checking Rd cross-references ... WARNING
Missing link or links in documentation object 'bounds.sse.Rd':
‘pdb2sse()’
See the information in section 'Cross-references' of the 'Writing R
Extensions' manual.
<cut>
* checking Rd \usage sections ... NOTE
S3 methods shown with full name in documentation object 'cmap.filter':
‘cmap.filter’
S3 methods shown with full name in documentation object 'plot.bio3d':
‘plot.bio3d’
The \usage entries for S3 methods should use the \method markup and not
their full name.
See the chapter ‘Writing R documentation files’ in the ‘Writing R
Extensions’ manual.
<cut>
* checking package vignettes in ‘inst/doc’ ... WARNING
Package vignette without corresponding PDF/HTML:
‘bio3d_vignettes.Rmd’
* checking running R code from vignettes ...
‘bio3d_vignettes.Rmd’ using ‘UTF-8’ ... OK
OK
* checking re-building of vignette outputs ... OK
* checking PDF version of manual ... OK
* DONE
WARNING: There were 4 warnings.
NOTE: There were 2 notes.
Comments (49)
-
-
reporter I have been trying to find a version of Travis (or equivalent) for automated package testing that supports bitbucket.
E.g. http://jtleek.com/protocols/travis_bioc_devel/ https://github.com/craigcitro/r-travis/wiki
Do folks think this would be of value or perhaps overkill currently?
-
Could be nice perhaps. The idea is that you will check every time you push? Will it work on bitbucket? (You can basically set Travis CI to run R CMD check for you every time you push code to GitHub).
-
Auto check every time we push is good for a better control of the development tree. I am just wondering: Does it cause longer time to push?
-
reporter I have not tried it yet but I think it is relatively easy with github and that the tests are not run on github itself but on a virtual machine elsewhere (so no slowdown will be apparent). The Travis CI website only allows github sign ins as far as I can tell so to use this one we would have to mirror to guthub. This is annoying given the infrastructure we have here. Perhaps this is something to keep an eye on rather than delve in just yet.
On a related note the wiki ToDo page is getting a bit unwieldily. Suggestions for improvements would be helpful.
-
ToDo: I tried to rearrange earlier today the tasks that should go into version 2.2, and those tasks that should go to version 2.3. All the junk is thus in the beginning (version 2.3), and should be cleaned. The tasks for version 2.2 seems tidy and nice, right? that was my goal at least
-
reporter Yes thanks Lars, I also followed on and tidied a bit more just now.
I was thinking more of something better than a plane wiki page listing that would allow better ranking of rows/items by assigned person and pirotery (col) - which sounds a lot like the issues tracker 'task' items. Should this perhaps be the place for this ToDo list going forward?
-
Hmm.. possibly. That would make awfully many entries in the issue tracker, wouldn't it? The issue tracker system doesn't provide a very satisfying way of filtering and sorting the issues either.
We should anyway keep a wiki page on what's done in which we should update as new improvements are being added.
-
reporter Thats true, we should keep these off the issue tracker. Any other ideas for this?
-
Hey,
On the contrary, I do think issue tracker is a possible place for putting task list. See this page: https://confluence.atlassian.com/display/BITBUCKET/Use+the+issue+tracker
Actually, issue tracker has more features than we have used (or even noticed), such as components and milestones. I myself is also new to these and will check it out soon. I will let you know if it is really a good choice or not.
-
reporter Thanks Xinqiu, those features would all be nice to have and are essentially what I am after. Lars's point of keeping it separate from the bug reports is also to be considered though.
I can see advantages and disadvantages both ways. Really the issue tacker is not the place for a mailing list type of user discourse - although we are using it as such for now. Maybe this is not that critical to separate if we only have 10s of ToDos and a similar number of periodic user filled issues???
side note: I have fixed up the new PDB vignette again. I think it looks ready for release to the wild now. Have a look please and comment on appropriate commit if necessary. I am going to mark this as done in our unloved ToDo list. Thanks!
-
Thanks! With the component feature we can easily group issues and sort/filter issues by a combination of e.g. "Open", "Component" (for example Todo), "Assignee", etc. Also, we can assign each issue a version number and so clearly show which are going to next release and which are for future. See a couple test examples I created just now!
A plain wiki page has of course its own advantage such as more flexibilities. However, we sometimes need to synchronize issues and Todo list that we could easily forget.
Maybe a good practice is we keep current style for next release and keep playing and testing the features of issue tracker for future moving.
What do you think?
-
Btw, the component could also be used to sorted out e.g. "Q&A".
-
reporter I like it and think it could work well. How did you define the "ToDo" component etc. i.e. where do yo set these up so they are selectable when you create an new issue?
-
Click "Settings" on the left panel. Then click "Components" or "Versions".
-
reporter I found it under settings - RTFM for me.
-
reporter I also note here two NOTES on CRAN for the current 2.1.3 version
checking dependencies in R code ... NOTE 'library' or 'require' call to ‘bigmemory’ in package code. Please use :: or requireNamespace() instead. See section 'Suggested packages' in the 'Writing R Extensions' manual. checking S3 generic/method consistency ... NOTE Found the following apparent S3 methods exported but not registered: atom2ele.default atom2ele.pdb atom2mass.default atom2mass.pdb bhattacharyya.array bhattacharyya.enma bhattacharyya.matrix bhattacharyya.nma bhattacharyya.pca cna.dccm cna.ensmb covsoverlap.enma covsoverlap.nma dccm.enma dccm.nma dccm.pca dccm.xyz identify.cna mktrj.enma mktrj.nma mktrj.pca nma.pdb nma.pdbs pca.array pca.pdbs pca.tor pca.xyz plot.bio3d plot.blast plot.cna plot.core plot.dccm plot.dccm2 plot.dmat plot.enma plot.fasta plot.hmmer plot.nma plot.pca plot.pca.loadings plot.pca.score plot.pca.scree plot.rmsip print.cna print.core print.enma print.fasta print.nma print.pca print.pdb print.rle2 print.select print.sse print.xyz rmsip.default rmsip.enma sip.default sip.enma sip.nma summary.cna summary.pdb See section ‘Registering S3 methods’ in the ‘Writing R Extensions’ manual.
-
The first NOTE has been fixed I think. The second is new. I will check soon...
-
cool. I didn't know about these features. looks good, and definitively worth a try
-
reporter Test failures:
Running ‘testthat.R’ [13s/13s] ERROR Running the tests in ‘tests/testthat.R’ failed. Last 13 lines of output: Error: Test failures In addition: Warning messages: 1: In rmsd(pdbs) : No indices provided, using the 313 non NA positions 2: In rmsd(xyz[, gaps$f.inds]) : No indices provided, using the 313 non NA positions 3: In rmsd(pdbs, fit = TRUE) : No indices provided, using the 313 non NA positions 4: In aa2mass(pdb = c("LYS", "VAL", "PHE", "GLY", "ARG", "CYS", "GLU", : duplicate residue name(s) provided Execution halted Error: Command failed (1)
Plus other NOTES and WARNINGS
* checking dependencies in R code ... NOTE Missing or unexported objects: ‘bio3d::aa.index’ ‘bio3d::aa.table’ ‘bio3d::sdENM’ See the information on DESCRIPTION files in the chapter ‘Creating R packages’ of the ‘Writing R Extensions’ manual. * checking R code for possible problems ... NOTE plot.cmap: no visible binding for global variable ‘xy’ # This is not an S3 - still to be fixed * checking S3 generic/method consistency ... WARNING cmap: function(...) cmap.filter: function(cm, cutoff.sims) See section ‘Generic functions and methods’ of the ‘Writing R # Already fixed * checking Rd line widths ... NOTE Rd file 'as.pdb.Rd': \usage lines wider than 90 characters: alt = NULL, o = NULL, b = NULL, segid = NULL, elesy = NULL, charge = NULL, Rd file 'combine.select.Rd': \examples lines wider than 100 characters: # More than two selections: return side-chain atoms (but not C-beta) with residue number from 46 to 50 These lines will be truncated in the PDF manual. # Already fixed * checking Rd cross-references ... WARNING Missing link or links in documentation object 'bounds.sse.Rd': ‘pdb2sse()’ # These are also not S3 - still to be fixed * checking Rd \usage sections ... NOTE S3 methods shown with full name in documentation object 'cmap.filter': ‘cmap.filter’ S3 methods shown with full name in documentation object 'dccm.filter': ‘dccm.filter’ S3 methods shown with full name in documentation object 'plot.bio3d': ‘plot.bio3d’ The \usage entries for S3 methods should use the \method markup and not their full name.
-
reporter The test log states:
Testing vector functions : .... 1. Failure(@test-clean.pdb.R#10): clean.pdb() does nothing for 'clean' pdb by default substr(npdb$clean.log, 1, 13) not equal to "PDB is clean!" Lengths (1, 0) differ (string compare on first 0) 2. Failure(@test-clean.pdb.R#84): clean.pdb() relabels chains properly (fix.chain = TRUE) pdb0 not equal to npdb Length mismatch: comparison on first 7 components Error: Test failures
-
The error related to the most recent update of the function 'clean.pdb'. I forgot updating test function accordingly. Sorry for that.. Will be fixed soon
-
We've discussed this before, but I'm not sure if we reached a conclusion. Functions such as filter.cmap and filter.pdbs, should we rename these to subset.cmap, subset.pdbs to match the base s3 function subset ? Perhaps filter makes more sense than subset for matrices where you dont chop off rows or columns, but apply a cutoff filter. But then we should be consistent with using filter.class (we have now ide.filter, rmsd.filter).
Perhaps: filter.dccm, filter.cmap, filter.rmsd. filter.ide since we're there filtering matrices with some sort of cutoff, and then use subset.pdbs or trim.pdbs for filter.pdbs (since it chops off)?
-
reporter These are good points. We need to rename these and aim for consistency as Lars mentions.
I am regretting the /dot name convention we adopted many years ago when emacs-ESS was my favorite editor. ESS would convert any underscore to assignment rows (hence the lack of underscores in the code of all early functions).
I am however reluctant to change lots of functions arguments (and names) for this v2.2 release as it may well break backward compatibility of peoples scripts. What are the minimum edits we need for this fix?
-
I don't want to change so many function names either, but unfortunately we have a bunch of functions having names like ACTION.filter. Can we cheat R CMD check by modifying Rd files of these function to make them "look like" S3 method?
-
reporter Sure...
-
With recent updates, most warnings/notes have been removed. However, we still got 1 warning and 1 note. (I used latest R-patched and command R CMD check --as-cran):
# This is related to function names we discussed above. # We could leave them for now and if CRAN complains, we can just modify Rd files rather than change function names * checking Rd \usage sections ... NOTE S3 methods shown with full name in documentation object 'cmap.filter': ‘cmap.filter’ S3 methods shown with full name in documentation object 'dccm.filter': ‘dccm.filter’ S3 methods shown with full name in documentation object 'plot.bio3d': ‘plot.bio3d’ The \usage entries for S3 methods should use the \method markup and not their full name. See the chapter ‘Writing R documentation files’ in the ‘Writing R Extensions’ manual. # This one is really annoying. The line numbers don't make any sense actually... # I spent a lot time but still couldn't spot the problem. Can anyone help me? * checking for unstated dependencies in examples ... WARNING Warning: parse error in file 'bio3d-Ex.R': 1252:1: unexpected symbol 1251: 1252: cleanEx ^
-
Forget to mention: One bug has been fixed and so the warning is gone!
-
reporter Great, well done tracking this one down. The problems we had with this again highlight the need for some form of automated build testing upon each commit...
-
Right. I am checking a software called "Jenkins", which could do the job. And it works with bitbucket. The only problem is that we need host the program on our own server (I didn't find any public site providing the service).
-
reporter We also need to update the bio3d/inst/staticdocs/index.r function listings for the html docs and then select the biggest and best to mention in the NEWS file.
It turns out there are more than a 100 functions not currently linked to from the old index.r listings. Many of these don't need listing but we do need to decide on which ones to include. I have put in bold the ones I think are most notable and worthy of including in index.html
> y <- lbio3d() > y[!(y %in% x)] **[1,] "aa.table"** [2,] "aa321" [3,] "amsm.xyz" **[4,] "as.fasta"** **[5,] "as.pdb"** [6,] "as.pdb.default" [7,] "as.pdb.mol2" [8,] "as.pdb.prmtop" **[9,] "as.select"** **[10,] "as.xyz"** [11,] "atom.select.pdb" [12,] "atom.select.prmtop" [13,] "atom2ele.default" [14,] "atom2ele.pdb" [15,] "atom2mass.default" [16,] "atom2mass.pdb" **[17,] "basename.pdb"** [18,] "bhattacharyya.array" [19,] "bhattacharyya.enma" [20,] "bhattacharyya.matrix" [21,] "bhattacharyya.nma" [22,] "bhattacharyya.pca" **[23,] "biounit"** ** [24,] "bounds.sse"** **[25,] "build.hessian"** **[26,] "cat.pdb"** **[27,] "check.utility"** **[28,] "clean.pdb"** [29,] "cmap.default" [30,] "cmap.pdb" [31,] "cmap.xyz" [32,] "cna.dccm" [33,] "cna.ensmb" **[34,] "cnapath"** [35,] "com.pdb" [36,] "com.xyz" ** [37,] "combine.select"** -- [38,] "core.find.default" [39,] "core.find.pdb" [40,] "core.find.pdbs" [41,] "cov.enma" **[42,] "cov2dccm"** [43,] "covsoverlap.enma" [44,] "covsoverlap.nma" [45,] "dm.pdb" [46,] "dm.xyz" [47,] "dssp.pdb" **[48,] "dssp.xyz"** [49,] "ff.anm" [50,] "ff.calpha" [51,] "ff.calphax" [52,] "ff.pfanm" [53,] "ff.reach" [54,] "ff.sdenm" [55,] "geostas.default" --- [56,] "geostas.enma" [57,] "geostas.nma" [58,] "geostas.pdb" [59,] "geostas.pdbs" [60,] "geostas.xyz" **[61,] "get.blast"** [62,] "hivp" ??? **[63,] "is.pdbs"** [64,] "kinesin" ??? **[65,] "mono.colors"** **[66,] "pdb2sse"** [67,] "pdbfit.pdb" --- [68,] "pdbfit.pdbs" **[69,] "plot.cmap"** **[70,] "plot.fluct"** **[71,] "plot.geostas"** [72,] "plot.pca.score" --- [73,] "plot.pca.scree" *[74,] "print.cnapath" *[75,] "print.enma" *[76,] "print.geostas" *[77,] "print.mol2" *[78,] "print.nma" *[79,] "print.pca" *[80,] "print.pdb" *[81,] "print.prmtop" *[82,] "print.rle2" *[83,] "print.select" *[84,] "print.sse" **[85,] "read.crd.amber"** **[86,] "read.crd.charmm"** **[87,] "read.prmtop"** [88,] "rmsip.default" [89,] "rmsip.enma" [90,] "rot.lsq" [91,] "sip.default" [92,] "sip.enma" [93,] "sip.nma" [94,] "stride" [95,] "summary.cna" [96,] "summary.cnapath" [97,] "summary.pdb" [98,] "transducin" **[99,] "var.pdbs"** **[100,] "view.cnapath"** **[101,] "xyz2atom"** [102,] "xyz2z.pca" [103,] "z2xyz.pca" > x[!(x %in% y)] [1] "combine.sel" "aa.mass" "dssp.trj" "aa.mass" [5] "combine.sel" "bio3d-package"
I have added these now to index.r and will comment on them in NEWS
-
reporter see commit for these updates
-
Hi guys,
With recent bugfix/update, we have passed all basic and extensive checking, except for the only NOTE related to S3 method documentation:
* checking Rd \usage sections ... NOTE S3 methods shown with full name in documentation object 'cmap.filter': ‘cmap.filter’ S3 methods shown with full name in documentation object 'dccm.filter': ‘dccm.filter’ S3 methods shown with full name in documentation object 'plot.bio3d': ‘plot.bio3d’
I still doubt CRAN will be happy with this note. As Barry suggested, we could rename plot.bio3d() to plotb3(). What do others think? Also suggestion on name changing for XX.filter (including dccm.filter, cmap.filter, ide.filter, pdbs.filter, rmsd.filter) is highly welcomed. Thanks!
-
I have some fixes for the filter functions. I will double check them and roll them out soon
-
reporter I have pushed a commit to fix the plot.bio3d() report of S3 miss documentation.
Basically, this 'fix' commit creates a new function plotb3(), which does all the work of plot.bio3d(). Now plot.bio3d() just calls this new plotb3().
I wanted to keep plot.bio3d() around so we are backward compatible for now. This means we do not have to change tones of Rd example sections and all the vignettes and demos (not to mention our own work scripts). The disadvantage is that plot.bio3d() will appear only as plot() in the Rd file but this is the best we can do of now I think.
-
reporter - changed component to ToDo
- changed version to v2.2 [devel]
-
I'm suggesting to rename all the filter functions to:
- dccm.filter --> filter.dccm()
- rmsd.filter --> filter.rmsd()
- ide.filter --> filter.identity()
- cmap.filter --> filter.cmap()
- pdbs.filter --> trim.pdbs()
-
reporter ok with me but this will entail quite a bit of changing elsewhere.
-
I am okay to these changes, too. The thing we should note is that there is a filter() function in stats package. It might become generic in future and then we will face the same problem as we have now for plot.bio3d(), although it seems more acceptable that filter.dccm is a S3 method of filter() for 'dccm' class.
-
since the filter function is not generic it wont be a problem. give me a few more minutes and I'll push my suggestion
-
pushed my suggestion to master. see new commit.
-
reporter Great stuff.
On R-devel I get 1 NOTE
* checking R code for possible problems ... NOTE nma.pdbs: no visible binding for global variable ‘aa.table’
and the reminder to upload the new vignette to the website.
Found the following (possibly) invalid URLs: URL: http://thegrantlab.org/bio3d/phocadownload/vignettes/Bio3D_pdb.pdf From: inst/doc/bio3d_vignettes.html README.md Status: 404 Message: Not Found URL: http://thegrantlab.org/bio3d/tutorials/pdb-bio3d From: inst/doc/bio3d_vignettes.html README.md Status: 404 Message: Not Found
-
I think this is related to the use of so-called internal data. An instruction on how to use it can be found from this website, which suggest put all .rda under 'R/sysdata.rda'. The "disadvantage" is those data will not be exported (should they?) and no need for documentation.
If we want those data available to users, too, we should keep current style and just add "bio3d::aa.table" at corresponding positions to avoid the NOTE.
Btw, thanks a lot for those updates for function name changing. It is very helpful!
-
Added bio3d::aa.table in nma.pdbs like we also do elsewhere. I think this is fine...
I uploaded the PDF file for the new vignette
-
And the HTML version of the vignette: http://thegrantlab.org/bio3d/tutorials/structure-analysis
-
reporter Thanks Lars. The link on this page is broken currently:
http://thegrantlab.org/bio3d/tutorials
(It points to http://thegrantlab.org/bio3d/structure-analysis rather than http://thegrantlab.org/bio3d/tutorials/structure-analysis )
Also the "getting started" html table row/link would still be good to have listed on the tutorials page. It used to point the 'user guid' page and had a nice description.
The HTML and PDF links need to match those in bio3d/vignettes/bio3d_vignettes.Rmd and wherever the statidocs pulls them from.
-
fixed ! I updated the bio3d_vignettes URL. hope that's ok.
-
- changed status to resolved
done
-
- changed version to v2.2
- Log in to comment
Thanks for checking! I agree with you that we should push recent updates to CRAN as soon as possible. I will try to solve these warning/note issues, especially the one related to plot.cnapath() (replacing ggplot2 with lattice etc).
Another thing we should check is the To-do list. I guess there are tasks that we could complete soon. And if so, maybe it is better to include those in the new version, too. What do you think?