Closed lshep closed 3 years ago
also ... and feel free to email me the information -- what is your currently active email? -- multiple package descriptions have a mixture of 3 different emails and I'm not sure if you are receiving notifications.
Thanks for the heads up. I moved restfulr from Depends to Imports (missed that in the PR). That should fix some errors. I will look into the rest over the long weekend.
I wonder if there would be an easy way for us to move the changes to a branch and then automatically run Bioc tests against that branch, as this is turning out to be more disruptive than expected. That would be beyond my level of git-fu.
@lawremi All left errors are the result of improper call toucscTableQuery
method according to updated changes.
During the migration process, the significance of the track
parameter was dropped and the table
parameter was made mandatory for calling the ucscTableQuery
method.
I think a lot of the packages are calling the ucscTableQuery
method with positional arguments and without the table
parameter. Maybe these errors can be fixed by calling the ucscTableQuery
method with named arguments, Or by swapping the position of track
and table
parameters in the method definition.
For example, ChIPpeakAnno
in its vignettes calling loadIdeogram
which internally calling to ucscTableQuery
:
Quitting from lines 136-141 (pipeline.Rmd) Error: processing vignette 'pipeline.Rmd' failed with diagnostics: error in evaluating the argument 'object' in selecting a method for function 'getTable': 'table' is a mandatory parameter and must be a single character vector --- failed re-building 'pipeline.Rmd' Source : https://bioconductor.org/checkResults/3.13/bioc-LATEST/ChIPpeakAnno/riesling1-buildsrc.html
https://github.com/jianhong/ChIPpeakAnno/blob/408e33960c1211e31015221a4a1e1bd602b9a078/vignettes/pipeline.Rmd#L137 https://github.com/jianhong/trackViewer/blob/f13a42a69bc317386a03190599ea0b97580c006e/R/loadIdeogram.R#L23
Fix for this particular case would be
ideo <- getTable(ucscTableQuery(session,
table = "cytoBandIdeo",
range = range))
Hi @sanchit-saini , thanks for the fast response. So if memory serves, it was impossible to get a default table for a track with the new REST API, because the new REST API does not have a "track" concept. Perhaps we could keep a little bit of the table query interface around that gets the default table for a track. It would issue a deprecation warning, giving all of these packages a chance to update to the simpler table-based world. How hard do you think that would be?
Hi @lawremi , I think we can
ucscTableQuery
, so to retrieve equivalent mapping of track value(gold in this case ) for next request, it issues a request :
http://genome-euro.ucsc.edu/cgi-bin/hgTables?db=hg18&hgta_group=allTracksAfter this, the ucscTableQuery
should be able to handle the track
parameter as it used to be by implicitly providing the table
value.What do you think about this approach?
Sounds great. What is the reason for retrieving all of the tracks? Is that because the user is requesting tracks by name instead of by the internal identifier? Otherwise, I guess it would be sufficient to look for the default table and throw an error if it fails (presumably because the track is not found).
Yes, for retrieving internal identifier from the track name. Okay, I will create a PR for this.
@lawremi again -- could you please let me know what your currently active email is? We encounter three or four different emails as maintainer emails and we want to make sure we can get a hold of you if necessary. Feel free to email me this information at lori.shepherd at roswellpark.org if you don't feel comfortable posting it here.
I just pushed some commits to consolidate my emails (they should all work). I only found two variants (ignoring the deprecated exploRase). Thanks for bringing that to my attention.
Hi @lawremi,
I tested all the affected packages and update the patch accordingly.
It seems to work as expected for most of the packages.
But GenomicFeatures
and coMET
require special attention.
GenomicFeatures
package:it makes a call ucscTableOutputs()
which is already removed from the codebase.
https://github.com/Bioconductor/GenomicFeatures/blob/9a087c6df2f8d903200b936eee89885e77e2e48b/R/makeFeatureDbFromUCSC.R#L129
We cannot retrieve the examples as REST API does not provide it.
I think in this case UCSCFeatureDbTableSchema()
trying to guess the SQL schema of the table with the example data.
That is now directly available from REST API and is present inside the ucscSchema object.
https://github.com/Bioconductor/GenomicFeatures/blob/9a087c6df2f8d903200b936eee89885e77e2e48b/R/makeFeatureDbFromUCSC.R#L200
coMET
package:ucscTableQuery
with gm12878Insitu
table for the hg19
genome and tries to retrieve table data from REST API with the help of getTable()
. However, REST API returns Error: Unsupported track type
. I'm not sure how we can resolve this one.Thanks. I think the GenomicFeatures usage of the internal ucscTableOutputs()
is obsolete, since they can now simply ask for the tableNames()
and know all of the valid tables, and I agree they should use the formal schema instead of an example output for determining the output types. @hpages might comment.
I'm guessing that gm12878Insitu
track stored in the interact format. Perhaps if you requested the data in that format it would work? We'd need to add support for interact to rtracklayer, which seems like a good idea anyway, and it could behave like the existing BEDPE parsing (returning a Pairs object). Since interact is based on BED, it's probably as simple as a wrapper that provides the appropriate extraCols
argument and constructs the Pairs object.
@lawremi Is the PR good to go to resolve the other packages that are currently failing? There were several more appearing with the 'table' is a mandatory parameter and must be a single character vector
Waiting on one minor tweak that I had expected to be done today. Very close.
There also seems to be a large number of packages failing with a message similar to
There doesn't seem to be any cytoband data available for genome
While I've traced this to Gviz it seems potentially underlying with the call to ucscTableQuery as well. Do you expect these clear up with the pull request as well or might you suggest something to the Gviz maintainer if more needs to be corrected on their part.
Hi @lawremi @lshep yes, it should be completed by today.
There also seems to be a large number of packages failing with a message similar to
There doesn't seem to be any cytoband data available for genome
While I've traced this to Gviz it seems potentially underlying with the call to ucscTableQuery as well. Do you expect these clear up with the pull request as well or might you suggest something to the Gviz maintainer if more needs to be corrected on their part.
@lshep Can you provide the name of some packages that are affected by this?
Lets hold off to see if many clear up. The main offender was Gviz but I think he might have already implemented a change as it looks like there were some commits this afternoon.
Hi @lawremi, I pushed the updated changes, Can you review them? if anything requires further changes I'm happy to help.
Thanks, Sanchit. I submitted a review of the PR. Just simple tweaks.
Thanks, Sanchit. I submitted a review of the PR. Just simple tweaks.
Done, I think now we can merge these changes.
Indeed, thanks a lot for the fast turnaround @sanchit-saini. Just merged and pushed over to the Bioc git.
Hey @lawremi , @sanchit-saini , do you think one of you could fix GenomicFeatures, or submit a PR for it here: https://github.com/Bioconductor/GenomicFeatures? Thanks
Hey @lawremi , @sanchit-saini , do you think one of you could fix GenomicFeatures, or submit a PR for it here: https://github.com/Bioconductor/GenomicFeatures? Thanks
Sure, I will create a PR.
I think this issue can be closed now as all the affected packages are not failing because of rtracklayer.
I don't have the ability to close this. @lshep Lori? Thx
@lawremi cc @hpages
Possibly related to: https://github.com/lawremi/rtracklayer/pull/31
We are seeing many new errors on the build report:
could not find function "RestUri"
(affecting at least: DeepBlueR, DMRcate, ELMER, ensembldb, Gviz, MEAL, methyAnalysis, missMethyl) and many along the forms oferror in evaluating the argument 'object' in selecting a method for function 'getTable
,error in evaluating the argument 'object' in selecting a method for function 'tableNames'
, along with others of similar syntax (at least affect: (CAGEr, corral, scp, ChIPpeakAnno, coMET, customProDB, IdeoViz, NoRCE, and probably more)More importantly we think they are affecting GenomicRanges and GenomicFeatures, seeing an ERROR
'table' is a mandatory parameter and must be a single character vector
Can you please investigate the ERRORs?