#biocworkshops

2019-05-03

Sean Davis (11:19:51): > @Sean Davis has joined the channel

Sean Davis (11:19:51): > set the channel description: Discuss proposal for how to implement bioc workshop book building each year

Levi Waldron (11:19:51): > @Levi Waldron has joined the channel

Marcel Ramos Pérez (11:19:51): > @Marcel Ramos Pérez has joined the channel

Lorena Pantano (11:19:51): > @Lorena Pantano has joined the channel

Sean Davis (11:20:11): > Hi,@Lorena Pantano@Marcel Ramos Pérez@Levi Waldron.

Sean Davis (11:20:43): > I wrote up a small proposal outlining a “vision” for how to build BiocWorkshops this year.https://docs.google.com/document/d/1Hycl88aAl7CARrYhmPz8zXYggwgIRsX9iN5PD8YtdOA/edit?usp=sharing - File (Google Docs): BiocWorkshopBuildsProposal

Sean Davis (11:22:34): > Levi and I wanted to open discussion on the topic and see if we could flesh out something that works for us.@Marcel Ramos Pérezand@Lorena Pantano, I was really interested to hear if you had a little time to work on details of the implementation.

Sean Davis (11:23:21): > And, of course, any other ideas or feedback on the quick proposal is welcome before we try to proceed.

Sean Davis (11:37:05): > And a quick test workspace:https://github.com/seandavi/BiocWorkshopPackageTest

Sean Davis (11:43:18): > I should add you all as committers on the test workspace. The piece that needs to be worked out yet is the getting vignette/bookdown piece.

Sean Davis (11:45:49): > We still need to establish: > 1. A mechanism for workshop authors to tell us which vignette to use (a simple csv file?) > 2. A mechanism to copy the .Rmd files from the installed packages. > 3. A mechanism to update _bookdown.yml as needed (could be done by hand, even) > 4. A mechanism to actually build the book (probably just bookdown or a simple wrapper).

Lorena Pantano (13:32:22): > thanks, looking into this, it is useful

Sean Davis (14:14:21): > I added simple vignette copying functionality.https://github.com/seandavi/BiocWorkshopPackageTest/commit/418515117b0213e8c8d6f191613b2429ade4c820

2019-05-05

Sean Davis (15:16:18): > <!channel>, I tried implementing the details above. Some issues come up: > 1. For packages coming from github, one needs to install and force vignette building to get the Rmd file included in the installed package. > 2. Only the Rmd, R, and html files are installed into the doc system.file location, not bibliography, imgs, etc. Also, even when trying to include markdown usingkeep_md, the markdown is not included in the installed package. > This leads me to think that we will likely have to get access to the actual vignette directory and build things there before copying needed materials over to the root WorkshopBook directory.

Sean Davis (15:16:54): > Testing code: > > BiocManager::install('seandavi/Bioc2019-iSEE-workshop',build_opts = c("--no-resave-data", "--no-manual"), build_vignettes = TRUE, force=TRUE, keep_md=TRUE) >

Levi Waldron (15:36:16): > @Sean Davisyou’re awesome.

2019-05-06

Lorena Pantano (15:06:44): > we can clone, go to vignette, build there with rmarkdown and copy all to the right place?

Lorena Pantano (15:07:12): > are we going to have a meeting to discuss this? It would be helpful to me

Sean Davis (15:41:06): > That sounds like a good plan,@Lorena Pantano.

Sean Davis (15:41:47): > @Marcel Ramos Pérez,@Lorena Pantano,@Levi Waldrondo you have any availability for a call this week?

Lorena Pantano (15:44:19): > I think@Aedin Culhanewanted to get involved? and we filled a doodle for a meeting, but maybe was not for the infrastructure part. A little confused about who is leading what part (I apologize in advance).

Aedin Culhane (15:44:24): > @Aedin Culhane has joined the channel

Sean Davis (15:47:05): > If there is a meeting set, perhaps we can use a bit of that time to discuss infrastructure.

2019-05-07

Levi Waldron (08:58:33): > @Aedin Culhanesent a doodle poll last week but I don’t think announced the time. The most popular time was tomorrow noon, although I now booked that.

Levi Waldron (08:59:47): > I can miss a meeting though, don’t need to work around me if@Sean Daviscan make it

Aedin Culhane (09:00:03): > Yes it was wed noon. Levi I asked about what phone/video conference software we were using for the meeting and I didn’t know if you or I was setting that up. Sorry for confusion

Aedin Culhane (09:00:56): > In the doodle poll. Wednesday noon worked for everyone

Levi Waldron (09:00:57): > I say just use Hangouts, only Martin can set up bluejeans

Levi Waldron (09:02:40): > Will you announce it to the Google group? Best to stick with it probably.

Sean Davis (09:23:36): > Wednesday noon works for me.

Sean Davis (09:25:06): > I’d also vote for hangouts, but if there is a need for something else, I have a webex account we can use.

Lorena Pantano (09:56:07): > :+1:

Aedin Culhane (12:20:14): > @Sean DavisI haven’t sent up a google hangout call link in advance (normally I just do call and invite others on at that time).

Aedin Culhane (12:20:32): > So I want sure how to send out the invite.

2019-05-08

Sean Davis (07:51:52): > <!channel>Everyone should have gotten an invite for the call today that includes a hangouts line. If I got an email wrong and you didn’t get one, just ping me with the correct email and I’ll resend.

Sean Davis (10:04:37): > added an integration to this channel: github

Sean Davis (10:05:19): > removed an integration from this channel: github

Sean Davis (11:59:51): > https://github.com/seandavi/BookdownUtils

Sean Davis (16:15:34): > Moved tohttps://github.com/seandavi/CollaborativeBookdown.

2019-05-15

Lorena Pantano (11:41:17): > just to confirm that if the vignettes refer to images withsystem.file(package='package', 'vignettes')when including images, then the book render fine

Lorena Pantano (11:41:58): > but for that authors need to install the their packages first to actually render their vignette…

Lorena Pantano (11:42:34): > knitr::include_graphics(file.path(system.file(package='dummychapter1', 'vignettes'), "index.png"))this works

Lorena Pantano (11:56:12): > it works as well for bibliography the same way

Levi Waldron (16:38:49): > Oh that’s great news!

Levi Waldron (16:40:14): > Do they also render properly inbrowseVignettes()andvignette()? I would think so, but just checking.

Marcel Ramos Pérez (18:01:50): > BTW I’ve added a template files and instructions for workshop forks. I’m still working on getting Travis updated to the latest release of Bioconductor

Lorena Pantano (21:57:14): > I think it works, Levi. just need to do:build_vignettes = TRUEwhen installing from local

2019-05-16

Levi Waldron (14:05:04): > You guys are awesome.

2019-05-21

Sean Davis (11:55:56): > So, looks like the plan then is to ask workshop authors to: > 1. Package everything for each workshop as an R package. > 2. Include a standard vignette as an Rmd in the vignettes directory (as for any package). > 3. Rather than including extra files like images, etc., in the vignettes directory, instead put them ininst/vignettesand reference them in the Rmd usingsystem.file. > 4. Number 3 requires that the package be “installed” before building the vignette or usingbuild_vignettes=TRUEwhen building the package.

Lorena Pantano (12:01:33): > yes, i think that should work. I can push to a github my dummy package and you can try to do a dummy bookdown?

Sean Davis (12:06:54): > That would be AWESOME! It would be useful to have two packages–one for the workshop itself, and a second package that installs the workshop package and does what is necessary to build the bookdown.

Sean Davis (12:09:53): > In essence, the “master” package just needs a DESCRIPTION file with workshop packages and remotes listed, bookdown yaml files, and perhaps a travis yaml file. I guess it would also need a quick function to copy appropriate RMD files from the workshop packages as well.

Levi Waldron (14:57:05): > Sounds great. So I think there is no need to ask for specially namedbibliography.bibfiles etc, either. Lorena, as soon as your dummy package is available, I’ll send a follow-up email to presenters asking that they useinst/vignettesandsystem.file, and provide your dummy package as an example.

2019-05-22

Kevin Rue-Albrecht (03:15:29): > @Kevin Rue-Albrecht has joined the channel

Lorena Pantano (07:41:24): > https://github.com/lpantano/dummychapter1

Lorena Pantano (07:41:59): > actually I linked the fullvignettesfolder toinst, although probably is ok to link only the files

Charlotte Soneson (10:54:37): > @Charlotte Soneson has joined the channel

2019-05-23

Marcel Ramos Pérez (11:42:31) (in thread): > I can add some of these instructions to theREADME.mdfile on the repo

Marcel Ramos Pérez (11:52:26) (in thread): > https://github.com/Bioconductor/BiocWorkshops2019/blob/master/README.md

Lorena Pantano (12:56:10): > @Sean Daviscan the Rmd that will be the chapters have yaml headers?

Lorena Pantano (13:00:44): > And@Levi Waldroncan I have an example of a syllabus?

Marcel Ramos Pérez (13:10:52): > I don’t think they can have full yaml headers. You can refer tohttps://github.com/Bioconductor/BiocWorkshops

Marcel Ramos Pérez (13:11:15): > I’m working on a small function to pull the workshops from aDESCRIPTIONfile

Levi Waldron (13:15:19): > https://github.com/Bioconductor/BioC2019/blob/master/docs/workshop-syllabus.md

Lorena Pantano (13:29:00): > cool, I added that as the vignette and reduce the header to the min

Lorena Pantano (13:30:26): > travis is falling but the issue is previous installation of the package, some error with the travis image I think

2019-05-24

Marcel Ramos Pérez (13:45:40): > I’ve added a few helper functions inhttps://github.com/Bioconductor/workshopbuilderI’m still working on some of the details namely moving all vignettes after package installations.

Marcel Ramos Pérez (13:46:53) (in thread): > I think this is an issue withBiocManager:disappointed:We’re still working on getting 1.30.6 uploaded

Sean Davis (14:01:19): > Looks great,@Marcel Ramos Pérez

Sean Davis (14:01:26): > Thx!

2019-05-27

Levi Waldron (08:35:02): > Thanks for all the work you’ve already done on the repo, its README.md, and chasing workshop authors already@Marcel Ramos Pérez! I was just sitting down to try to do some of this and realized you’ve already done most of it:slightly_smiling_face:

Levi Waldron (08:35:23): > Very greatly appreciated

Levi Waldron (22:10:30): > @Sean Davisare the old instructions “Update the DESCRIPTION file adding packages utilized in your workshop to theImportsfield.” still necessary in the individual packages? This was there last year because we had a single DESCRIPTION file and didn’t want hundreds of files in the DEPENDS. If we’re going to end up collating DESCRIPTION files into a single mega-DESCRIPTION then I think this directive still holds and should be clarified, but otherwise then I guess authors can decide between DEPENDS and IMPORTS as they wish.

2019-05-28

Sean Davis (06:39:50): > @Levi WaldronThe only thing that needs to be added to the description is the workshop package and its associated remote. Installing the workshop package itself will pick up dependencies for that workshop. Does that make sense?

Levi Waldron (06:41:53): > But will all the individual workshop’s DEPENDS end up getting loaded during the book building?

Levi Waldron (06:43:17): > Or will the chapters somehow get built individually, then collated?

Levi Waldron (06:44:11): > If the former, then people need to limit their use of DEPENDS. If the latter, it doesn’t matter.

Sean Davis (13:51:16): > So, small hiccup. Packages must be “built” before the .Rmd is present in the installed package tree.

Sean Davis (14:42:47): > @Lori Shepherd, I am trying to install some packages and am getting: a 404 error from:https://bioconductor.org/packages/3.10/data/annotation/src/contrib/PACKAGES

Lori Shepherd (14:42:51): > @Lori Shepherd has joined the channel

Sean Davis (14:46:22): > BiocManager::install(…., version="3.10")is the code that triggers thewarningwhen installing a bioconductor package, but anerrorwhen installing a github package.

Lori Shepherd (15:28:51): > We just Branch the annotations for devel about an hour ago the air should go away by sometime this evening

Lori Shepherd (15:29:23): > *the error should go away by this evening once they finish progating

Sean Davis (16:03:44): > Perfect! I figured as much, but I didn’t want to assume.

Levi Waldron (17:41:41) (in thread): > @Sean Davisdo you have thoughts about this question?

Levi Waldron (17:42:59): > I’ll clear up this confusion - my understanding is we don’t want any PRs toBioconductor/BiocWorkshops2019, and we’re not going to add all package requirements to the masterDESCRIPTIONfile…https://github.com/Bioconductor/BiocWorkshops2019/pull/19/files

Marcel Ramos Pérez (17:56:27): > Yes, we don’t need to use PRs. Thanks for making those changes in the instructions Levi. The only requirements we’re going to add to the masterDESCRIPTIONfile are the remotes that point to the workshop repositories

2019-05-30

Sean Davis (18:40:18): > Hi,@Marcel Ramos Pérez(and others who might be interested). I am still working a bit onhttps://github.com/seandavi/CollaborativeBookdown.

Sean Davis (18:44:28): > There are a few helper functions to do things like find installed vignettes, test package installs (since I want to be able to create a report), test vignette builds (apart from the workshop book). The vignette has a little detail. Finally, in DEVNOTES.md is small shell command to pull out URLs from the comments of open issues. In the future, we may want to generate the issues in a more automated and controlled fashion, but that is an aside.

FeiZhao (18:53:36): > @FeiZhao has joined the channel

Marcel Ramos Pérez (19:24:22): > Hi Sean,@Sean DavisPerhaps we can combine these efforts into a single package? I have done some of what you list here inhttps://github.com/Bioconductor/workshopbuilderI’ll be happy to move stuff over

Sean Davis (19:31:06): > I thought the same thing.

Sean Davis (19:35:01): > If it is OK with you, I’ll work a bit more tonight and tomorrow. Just a quick look, I see what you mean that we do have some of the same functionality. I leaned on theremotespackage to do some of the munging–that may not be the best plan for the long term, so….

2019-06-04

Sean Davis (16:49:34): > Hi,@Marcel Ramos Pérez. I have gotten sidetracked a bit. We should probably just go ahead with what you have. As an intermediate step, it might be helpful to have a “simple” version that simply installs packages and doesn’t necessarily build the bookdown. As a reminder, I used Packer last year to build an AMI.https://seandavi.github.io/2018/07/infrastructure-as-code-building-the-bioconductor-conference-ami-with-packer/ - Attachment (seandavi(s12)): Infrastructure-as-Code: Building the Bioconductor Conference AMI With Packer | seandavi(s12) > One of the main features of the annual Bioconductor Conference is the proportion of time spent working with code in the form of workshops. To support these workshops, we ask workshop presenters to supply Rmarkdown materials which we collate into workshop materials. Using literate programming approaches like Rmarkdown ensures that the workflows are self-consistent and work as expected. In addition to the Rmarkdown workshop materials, we also need a consistent computing environment that can support reasonably large computation, provide high-performance network and file system access, and is essentially unlimited in scale (we expect to have >150 participants, each with his/her own machine).

Sean Davis (16:50:45): > The script I used is available on github:https://github.com/seandavi/terraform-can/tree/master/packer

2019-06-10

Sean Davis (09:55:41): > Hi,@Marcel Ramos Pérez.@Martin Morganbrings up a good point on email–we should prioritize the workshop AMI over the gitbook. Would you be able to put together a workshop master package with the respective workshop packages in a DESCRIPTION file and the appropriate Remotes? With that, I can begin to work on the AMI.

Marcel Ramos Pérez (10:03:36): > Yes, I have a function for that. I’ll run it and push the changes to Bioconductor/BiocWorkshops2019

Sean Davis (10:05:11): > Awesome!

Sean Davis (10:05:31): > I’ll attempt a first pass at building the AMI this afternoon.

Marcel Ramos Pérez (12:55:31): > Hi@Sean DavisI’ve updated theDESCRIPTIONfile with the remotes. I got some warnings about package names not being ‘valid’ from thedescpackage. I don’t know if this affects their building and loading…

Kevin Rue-Albrecht (15:40:38): > Happy to rename the GitHub repo if it helps (kevinrue/Bioc2019-iSEE-workshop).

Kevin Rue-Albrecht (15:49:57): > Done (https://github.com/Bioconductor/BiocWorkshops2019/issues/2)

Sean Davis (20:20:05): > The first pass at the conference AMI is done. The AMI id isami-01fbb4898c7d353d7.

Sean Davis (20:26:04): > Building the AMI (from scratch) takes just about 1 hour on a 32 core machine.

2019-06-11

Sean Davis (06:26:09): > New AMI that contains all workshop packages:ami-0410ec351c317fdef

Sean Davis (07:56:06): > Could workshop authors please check that ALL packages needed in their vignettes are included as dependencies? These will show up asNOTEs in the check report, but the package will still fail to install when rebuilding the vignette. Seehttps://github.com/Bioconductor/BiocWorkshops2019/issues/32for what this looks like in practice.

Sean Davis (13:02:01): > Just making notes to those here. To install a package from github (including the workshop master package), including vignette building, something like this seems to do the trick: > > BiocManager::install('seandavi/GEOquery', update=TRUE, upgrade='always', build_opts='', build=TRUE, ask=FALSE) >

Sean Davis (13:03:18): > So, doing: > > BiocManager::install('Bioconductor/BiocWorkshops2019', update=TRUE, upgrade='always', build_opts='', build=TRUE, ask=FALSE) > > should get us an install of all dependent packages and builds of all the vignettes (which serves as a high-level test).

Sean Davis (13:06:14): > There are some problems with dependency specification in several of the packages (missing suggests, basically), so the above for the BiocWorkshops2019 repo will fail. I have been running the same command on individual packages for testing purposes.

Sean Davis (13:17:38): > @Marcel Ramos Pérezand@Lorena Pantano, are you doing individual package testing and, if so, how?

Marcel Ramos Pérez (13:34:27): > I’m not. I think that the original intent was to have workshop contributors set up Travis for individual testing.

Sean Davis (13:40:04): > Thanks.

Lorena Pantano (13:50:59): > not me either. i went through to check if they were using system.file and ask for that

Lorena Pantano (13:51:20): > we can ask to paste the output of check()

Lorena Pantano (13:51:36): > or if travis is working again then travis

Marcel Ramos Pérez (13:52:36): > Thanks Lorena for checking all the workshops

2019-06-12

Sean Davis (08:59:48): > All the workshop packages are installing at this point based on@Marcel Ramos Pérez’s list in the BiocWorkshops2019 DESCRIPTION file. Note that I had to change some of the remotes and package names, so the entirely automated process got us about 80% of the way to getting the repos right.

Sean Davis (09:01:48): > What we need to start doing now is to build the vignettes (see above). Unfortunately, this process is probably best done one package at a time since we need to communicate errors back to package authors, all of which so far in my checking have had to do with missing Suggests. These are transparent to the workshop authors unless they carefully check NOTES in check results or they install in a build environment that does not already include the necessary packages.

Sean Davis (09:03:19): > Once the vignettes are all building, we can concentrate on building the book.

Sean Davis (09:06:18): > Does anyone know if we could leverage the Bioc single package builder for doing the build and check of individual workshop packages? Alternatively, does anyone know if the code/instrumentation for the single package builder is portable?

Lori Shepherd (09:13:37): > The live SPB no - its too integrated with the issue_tracker - the code/instrumentation is documented at:https://github.com/Bioconductor/packagebuilder/blob/master/documentation/Developing.mdfor creating a local version

Lori Shepherd (09:19:48): > the local version doesn’t have the integration for building upon version bump (I dont think) it would only have the capability of running jobs manually -

2019-06-17

Lori Shepherd (10:52:37): > Let me know when there is an updated AMI with the packages built on them for the vignettes displaying - I’d like to try to do a test courses and have people test some launched instances from there to make sure all of that will work - ideally tomorrow or wed so I could potentially have the actually conference one on thur (fri morning at the latest)

Sean Davis (12:26:37): > The last day to submit changes to vignettes is today and several vignettes still have minor issues. I’ll get this done as soon as we get pretty close.

Sean Davis (12:29:12): > Does anyone have strong feelings about running inside docker (on the AMI) versus running directly on an AMI? The advantages of docker are obvious–easier testing, portability (no AMI needed for others to use), reproducibility. That said, docker-in-docker will not be set up (too fragile for me to get right), so I’ll have to make a backup plan for docker-in-workflow users (there are 2).

Lori Shepherd (12:51:25): > dont know how the running inside docker will play with the launched instances but other than that no strong feelings….

Sean Davis (15:26:58): > @Lori Shepherdwould it be possible to open ports 80 and 8787 on the AMIs? If we can do a separate security group for this year, that would be great.

Sean Davis (16:24:21): > The current status of packages is here:https://docs.google.com/spreadsheets/d/19w84Zve7Ria4wRuZ2G8HxBPhDu4fk6aMRTbqnBrjRAQ/edit?usp=sharing - File (Google Sheets): bioc2019_workshop_status

Kevin Rue-Albrecht (16:27:55): > I’m in the green/OK, but how do I know if I’m on the Google group email. Should have I received an email by now? I can’t see any.

Lori Shepherd (16:29:49) (in thread): > I’ll look into figuring out how to do this tomorrow morning

Sean Davis (16:30:09): > Sorry–ignore my comment about the google group.

Sean Davis (16:30:40) (in thread): > It will likely be in the launch template.

Sean Davis (16:34:28) (in thread): > The process would be to create a new security group (call it Bioc2019 if you like) that includes the ports and all IP addresses. Then, replace the old security group in the launch template with the Bioc2019 one.

2019-06-18

Lori Shepherd (07:51:36) (in thread): > 22 (for ssh) and 80 (http for rstudio) have always been open ….as well as 443 (https) … The current courses security group also has 8080 open which I think we original did in case of support for jupyter notebooks (as the descriptive labeling is apache serving jupyter) …. i dont know how ports work, would 8080 work or does it have to be 8787 - just wondering if creation of a new security group is really necessary or if we can utilize the one we have been using for courses/conferences

Sean Davis (10:46:11) (in thread): > 8080 is fine. Thanks. I am going to run the main course on 80 (which will be docker) and a second Rstudio on the AMI on port 8080 for the one workshop that needs direct access to docker. I’ll have an AMI to test this afternoon.

Lori Shepherd (10:51:20) (in thread): > great than I think we can use the same security group we’ve used in the past. We can test it once you have it set up. I’ll create a mock course using your AMI when its done and make sure it launches through the course helper.

Lori Shepherd (18:24:21) (in thread): > Any update? We haven’t had an AMI configured like this and I really want to test it with our course helper to make sure it works correctly. I didn’t create the helper so the sooner we can test the better….

Sean Davis (23:18:35) (in thread): > Hi,@Lori Shepherd. Sorry to take so long. I have been working with the last two authors to get things worked out with their workshop vignettes, but we still haven’t gotten those two to build successfully. The two problematic workshops are the CWL and the OSCA workshops.

Sean Davis (23:19:02) (in thread): > The AMI to move ahead with is:ami-0cb2d00d5cfab6d3f.

Sean Davis (23:24:22) (in thread): > The AMI has all workshops running inside Docker except the CWL workshop (since Docker-inside-docker is a hack). When the AMI starts up, the Docker Rstudio is on Port 80 with usernamerstudioand passwordbioc. For the CWL workshop (ONLY), use Port 8080 with usernameubuntuand passwordbioc. This is all documented on the BiocWorkshops2019 repo, along with how to run the workshops via Docker “at home”, a nice feature in my opinion.

Sean Davis (23:27:10) (in thread): > Finally, the bookdown book has had to wait. There are a lot of moving parts and debugging bookdown for each package proved a bridge too far for the conference.

Sean Davis (23:30:05): > Two packages are not yet successfully built and both take quite a while (as long as the workshop in one case) to build. Troubleshooting should be easier in the future with workshop and materials available via docker.

Sean Davis (23:35:00): > Details on how to run via Docker are here:https://github.com/Bioconductor/BiocWorkshops2019/blob/master/RUN_LOCAL.md

Sean Davis (23:36:59): > The download of packages is large (about 5GB, much larger uncompressed). I could have baked all that into the Docker image, but it seems that using a volume makes for a more flexible and portable solution when the packages or materials are changing.

2019-06-19

Lori Shepherd (07:50:42) (in thread): > The configuration of the AMI isn’t working with our course helper that we use to launch all the instances - @nturaga and@Martin Morgan- maybe we could look at this this morning together to maybe figure out how to change the course helper - we would have to document everything careful to revert it back to be able to use it as we normally do after the course

Lori Shepherd (07:53:31) (in thread): > It actually might be okay - but it takes a few minutes for each instance to boot up without ERROR at first - normally we would see this every once and awhile not on every launch …. I’ll try and do some more testing and debugging -

Sean Davis (07:55:45) (in thread): > Is there a timeout built into the course helper?

Lori Shepherd (07:58:40) (in thread): > probably - trying to search the code for it …

Sean Davis (08:09:01) (in thread): > Just so we are clear, a “connection refused” after navigating to the assigned URL is not a problem unless it persists more than 3-4 minutes.

Sean Davis (08:12:51) (in thread): > Finally, the BiocCWL workshop will be on port 8080 with usernameubuntuand passwordbioc.

Lori Shepherd (08:13:19) (in thread): > Yes didn’t realize it would take longer to spin up which was the confusion - It looks like it takes about 2-3 minutes right now for the connection errors to remedy so we should make sure to announce this

Sean Davis (08:13:20) (in thread): > Do you mind if I send the test link to that author to test things?

Lori Shepherd (08:15:13) (in thread): > go for it - I’ll increase the testing limit - I’ll keep it up until tomorrow night

Lori Shepherd (08:16:45) (in thread): > I’m fixing the welcome page to have username rstudio instead of ubuntu now … it should update momenaritly

Sean Davis (08:42:21) (in thread): > Looks great.

Nitesh Turaga (08:58:54): > @Nitesh Turaga has joined the channel

Nitesh Turaga (14:01:35): > This is what shows up on my Rstudio instance launched through the courses website. When I try to dobrowseVigenettes("<package name>")and click on HTML. - File (PNG): Screen Shot 2019-06-19 at 2.00.05 PM.png

Nitesh Turaga (14:03:35): > nvm…apparently i’m supposed to just navigate manually to the vignette document from within Rstudio. Never did that before with Rstudio.

Nitesh Turaga (14:03:39): > thanks@Lori Shepherd

Lori Shepherd (14:04:14): > I think that might be an issue with pops ups and the EC2 instance - all the vignettes are available and display if you navigate through the package pane

Charlotte Soneson (14:19:13) (in thread): > Our RStudio server does the same - butvignette("pkgName")typically works

2019-06-20

Sanjeev Sariya (17:37:06): > @Sanjeev Sariya has joined the channel

Marko Zecevic (19:38:58): > @Marko Zecevic has joined the channel

2019-06-22

Sean Davis (13:29:35): > @Levi Waldron@Marcel Ramos Pérez@Lori ShepherdCould you take a look at website hosting materials for workshops:http://biocworkshops2019.bioconductor.org.s3-website-us-east-1.amazonaws.com

Sean Davis (13:30:57): > Does anyone know if Bioconductor has a public bucket on AWS where we can host this?

2019-06-23

Matt Brauer (23:05:23): > @Matt Brauer has joined the channel

2019-06-24

Levi Waldron (11:38:20) (in thread): > Sorry I missed this message til today Sean. So glad you were able to get this up in time for the conference.

2019-06-25

Burton Karger (06:56:47): > @Burton Karger has joined the channel

Ghada Soliman (09:45:00): > @Ghada Soliman has joined the channel

Andrew McDavid (16:12:04): > @Andrew McDavid has joined the channel

2019-06-26

Junhao Li (13:27:45): > @Junhao Li has joined the channel

2019-08-13

Marcel Ramos Pérez (11:12:07): > Hi Sean,@Sean DavisI want to build the book but I’m getting some errors for some workshops. How did you build the workshops? Do you have a repo with changes that I can apply to build the book? Thanks

2019-08-14

Sean Davis (11:33:31): > The chapters were built using the docker and installed packages used for the workshops. I think that all workshops were taken, at the end, from the original repos.

Sean Davis (11:34:58): > In practice, I’d like to see us take the process to the point that we can build the book from chapters that work and leave the others out, similar to the way the build system works for packages.

Sean Davis (11:37:12): > I hacked blogdown to allow parallel builds (https://github.com/seandavi/parblogdown) as well to facilitate building the website in a reasonable amount of time, but I didn’t do the same with bookdown.

2019-09-05

Rob Amezquita (14:23:39): > @Rob Amezquita has joined the channel

2019-09-09

Kevin Wang (23:15:27): > @Kevin Wang has joined the channel

2019-10-11

Nathan Sheffield (11:08:54): > @Nathan Sheffield has joined the channel

2019-10-13

Sean Davis (11:03:26): > https://seandavi.github.io/post/learning-github-actions/ - Attachment (seandavi(s12)): Experimenting with Github Actions | seandavi(s12) > GitHub actions allow flexible and potentially complicated actions that comprise workflows that respond to events on Github. Continuous integration, messaging Slack, greeting new contributors, deploying applications, and many other templates are ready for customization and integration into any repo.

Sean Davis (11:03:57): > In the resources section of the post is a reference to the ghactions package for R github actions.

2019-10-14

Levi Waldron (15:46:01): > /invite@Lori Shepherd

Simina Boca (15:46:40): > @Simina Boca has joined the channel

Lauren Hsu (15:46:53): > @Lauren Hsu has joined the channel

Mikhail Dozmorov (15:47:31): > @Mikhail Dozmorov has joined the channel

Zhezhen Wang (15:48:52): > @Zhezhen Wang has joined the channel

2019-10-22

Lorena Pantano (17:15:14): > @Sean DavisI am testing the github actions, and I wanted to start now with the code@Marcel Ramos Pérezhas to compile the book. I saw URL when you shared your screen with me, but I forgot to take notes. Can any of you point me to that script so I can test with one single workshop to get one single chapter?

Sean Davis (17:38:13): > https://github.com/Bioconductor/workshopbuilder/blob/master/inst/scripts/workshop.R

Sean Davis (17:38:42): > Thanks for looking into this,@Lorena Pantano

Marcel Ramos Pérez (17:50:54): > Thanks Sean. I’ll work on getting a vignette walk through up and running.

2019-10-23

Lorena Pantano (18:44:45): > I think I can try locally inside a docker from Bioc and see what happens, I think if it works locally inside a docker it will be easy to convert to an action

Sean Davis (21:53:18): > Yep. That sounds like a great test,@Lorena Pantano.

2019-10-24

Lorena Pantano (09:23:40) (in thread): > is there a way to run the script but pointing to a local repository? seeing the code it seems so, but anything specific to change in the installWorkshop funciton?

Marcel Ramos Pérez (10:32:34) (in thread): > Hi Lorena, you can change the defaults in thezzz.Rfile.

Marcel Ramos Pérez (10:34:40) (in thread): > Or you can change usingworkshopbuilder:::.options$set()

Vince Carey (11:43:03): > @Vince Carey has joined the channel

Lorena Pantano (14:58:06) (in thread): > jut thinking that if this is a github action, it needs to install the repo is testing:slightly_smiling_face:so I would try with the option$set. thanks

Sean Davis (17:24:09): > Hi,@Lorena Pantano,@Marcel Ramos Pérez,@Lori Shepherd.@Vince Careyset up a small github workflow (based on GitHub Actions) that uses bioconductor_full docker image to build a package and then save some build artifacts. This looks like a nice proof-of-concept of the capabilities that@Lorena Pantanoand I were thinking about. Additional actions to, for example, build a pkgdown website and push to github pages, build source and binary packages, and perhaps add successfully built workshops to a central repo are all very doable from what Vince has done (in less than 6 hours!).https://github.com/vjcitn/parody/commit/34542cea247a7e2bdb1629570d89ef00811c999f/checks?check_suite_id=280349421

2019-10-25

Vince Carey (02:44:40): > I made a little more progress on actions –https://github.com/vjcitn/ssrch/runs/274453164includes a task that succeeds in installing a package and getting the install log as an artifact. The build task fails because i don’t see how to properly clone a repo. > > Run git clone git@github.com:vjcitn/ssrch.git > Cloning into 'ssrch'... > error: cannot run ssh: No such file or directory > fatal: unable to fork > ##[error]Process completed with exit code 128. > get build log >

Vince Carey (03:50:01): > OK, using git2r we now have the source tarball as an artifact along with logs…https://github.com/vjcitn/ssrch/runs/274519768

Lorena Pantano (12:49:48): > that is great

Lorena Pantano (12:51:36): > I thoughtactions/checkout@v1would do the cloning, and the variable ${GITHUB_WORKSPACE} is where the repository resides.

Vince Carey (13:17:57): > hi@Lorena Pantanothere is nothing authoritative about my YAML for these actions. if you find more economical approaches please let me know or file a pull request. it turns out we need latex support in the container and i am trying TinyTeX … for old Sweave documents this may be inadequate but Rmd seem to be accommodated.

Vince Carey (14:14:32): > I am giving up on handling legacy Rnw in the container for now. Anything for which bioconductor_full + knitr + rmarkdown + BiocStyle is insufficient may fail. This would include ROCnotes.Rnw from ROC, but superficial conversion of that Rnw to Rmd, to include a yaml header, and proper VignetteEngine in DESCRIPTION, allow a build.

Sean Davis (14:39:49): > Perhaps an issue onhttps://github.com/Bioconductor/bioconductor_fullto discuss the LaTeX issue would be warranted.

Sean Davis (14:41:03): > @Lorena Pantano, that is a great observation aboutactions/checkout. How are actions working out for you so far?

Marcel Ramos Pérez (14:46:29) (in thread): > We have scripts to build the bookdown website and push to github pages inBioconductor/BiocWorkshops2019. Shall we automate this step in theworkshopbuilderpackage? Perhaps_deploy.shcan be a GH action?

Sean Davis (14:47:17): > Given the concerted work on github actions going on here, I’d like to suggest that we use our call on Wednesday, October 30 at 12 noon to discuss.@Vince Careyand@Lorena Pantano, would the two of you be OK with highlighting your work then?

Marcel Ramos Pérez (14:48:00) (in thread): > I also usegit2rto clone / pull workshops inworkshopbuilder

Sean Davis (14:48:03): > For those who have not signed up yet, consider doing so.https://github.com/features/actions

Sean Davis (14:48:44): > Actions is still in Beta, but I have not heard of anyone with an active github account getting denied early access.

2019-10-27

Kevin Rue-Albrecht (13:55:24): > Hi@Sean Davis, I’m just wondering if and how I could join the call on Wednesday. Thanks!

Sean Davis (14:06:18): > Anyone who wants to join us is welcome, for sure. We have been using hangouts.

Sean Davis (14:07:59): > Wednesday, October 30 at 12 noon Eastern Time.https://hangouts.google.com/hangouts/_/calendar/c2VhbmRhdmlAZ21haWwuY29t.3dpu45bv8aoadr7j1snsebask5?authuser=0

Kevin Rue-Albrecht (14:08:33): > Cool. I’ve just started reading about Actions this weekend, and I’d be curious to hear how you guys put it in… action (:kissing:)

Kevin Rue-Albrecht (14:09:25) (in thread): > Reading the various GH repos mentioned here is a bit too “static code” for me. I expect I’d catch up a bit faster with the call. Even just being a fly on the wall

Sean Davis (14:09:32): > If you want to use Actions, be sure to sign up for the Beta. They are not yet generally available.

Kevin Rue-Albrecht (14:09:55) (in thread): > Thanks to your earlier message I’ve already done that part

Sean Davis (14:12:20) (in thread): > Let me know what would be helpful for you. We started out as an informal group to work on the workshop book, but I think the charge is morphing a bit to begin to think more generally.

Kevin Rue-Albrecht (14:18:10) (in thread): > I guess at this point, it would be mostly about catching up with where you guys are at, and get inspired if and how I can contribute and learn something in the process. > Around bioc2019 I naively hoped to contribute toward building the book, but then I ran out of time and steam. Right now I’m reading the actions docs, and your “learning-github-actions” page.

Sean Davis (14:39:13) (in thread): > We may want to revisit what we want to accomplish, also. This group has grown, so it will be useful to hear what everyone wants to get out of participating.

Kevin Rue-Albrecht (14:42:34) (in thread): > It might be beside the point here, but reading about Actions makes me wonder whether a relatively useful action could be: > When users submit an issue with a MWE code chunk, to run that code chunk using the latest (release) version of all relevant packages, and display the result as a sort ofreprex. > That could (1) encourage users to submit working MWE code, (2) facilitate a quick preview/instant reply by the developer without having to run/debug the MWE, (3) highlight version issues if users submit code that doesn’t work on their installation but does work with the latest packages.

Kevin Rue-Albrecht (14:42:57) (in thread): > (those last few points are just talking from experience:grin:)

Sean Davis (20:35:57) (in thread): > @Kevin Rue-Albrechtthat sounds like an interesting use case. Are you good with doing a little homework on what that might entail? Looks like this might be helpful:https://help.github.com/en/github/automating-your-workflow-with-github-actions/events-that-trigger-workflows#issues-event-issues

2019-10-28

Kevin Rue-Albrecht (06:47:22) (in thread): > I’m keen to have a look this week, though I can’t promise a timeline: I’ve got annual leave from Friday to mid-November, and tomorrow’s my institute “retreat” day

Sean Davis (07:05:33) (in thread): > No “assignments” or “timelines” here. Just keep us updated on what you learn in your own time.

Sean Davis (14:18:57): > I created a skeletonBiocActionspackage for collecting Actions, related code, and documentation. This needn’t be the only approach or even one of the “right” ones, but I wanted to get something concrete in place to allow collaboration.https://github.com/seandavi/BiocActions

Sean Davis (14:20:45): > Actions are the basic building blocks of workflows and can be shared directly from github without a package checkout if needed. Add new actions by dropping a folder with an appropriate set of files in theinst/actionsdirectory.

Sean Davis (14:21:29): > And an example use: > > on: [push] > > jobs: > hello_world_job: > runs-on: ubuntu-latest > name: A job to say hello > steps: > - name: Hello world action step > id: hello > uses: seandavi/BiocActions/inst/actions/hello-world-docker-action@master > with: > who-to-greet: 'Mona the Octocat' > # Use the output from the `hello` step > - name: Get the output time > run: echo "The time was ${{ steps.hello.outputs.time }}" >

2019-10-30

Kevin Rue-Albrecht (04:23:44): > Hi again. > Unfortunately, I won’t be able to join in the call today (4pm UK time) due to another commitment. > > That said, I’ve done a bit of homework yesterday, and managed to set up both the tutorial Docker action (https://github.com/kevinrue/r-issue-mwe-action/actions) and JavaScript action (https://github.com/kevinrue/run-comment/actions), to teach myself the basic. > > From what I can see, only the GitHub actions JavaScript toolkit (https://github.com/actions/toolkit/tree/master/packages/github) currently provides tools to access the event payload, including the body of issue comments. So it looks like that would be the way to go. > Then, I imagine it would be about parsing the body of the issue comment, extract code chunk(s?), run them, capture thereprexand write a new comment in the issue thread.

Sean Davis (10:09:43): > Nice,@Kevin Rue-Albrecht!

Sean Davis (10:10:58): > Just a reminder that we have a call today at 12 Noon EDT. > - Meeting notes and agenda:https://docs.google.com/document/d/1EKerVh-eWviBrWtr3SEH9LwlYOqZ4rHqbgRWGTjJ2Ik/edit?usp=sharing- Call link (google hangouts):https://hangouts.google.com/hangouts/_/calendar/c2VhbmRhdmlAZ21haWwuY29t.3dpu45bv8aoadr7j1snsebask5?authuser=0 - File (Google Docs): Bioc Workshop Committee working document

Sean Davis (10:11:34): > Feel free to add to or edit agenda.

BJ Stubbs (11:19:11): > @BJ Stubbs has joined the channel

Lorena Pantano (11:51:09): > I have as well a meeting at 12pm, so I cannot join but I have been working on getting the worshopbuild package for a single workshop to compile the book. i think it is almost there, and my next step is to create a docker that gives a path with the local workshop package and create the book, (only with that workshop) to use as a test action in github.

Sean Davis (11:51:56): > Awesome,@Lorena Pantano.

2019-11-04

Lorena Pantano (16:32:35): > @Sean Davisor@Marcel Ramos Pérez, I am having issues building the bookdown for the bioc2019, I am just trying to reproduce this:https://github.com/Bioconductor/BiocWorkshops2019/blob/master/_build.sh#L6with the repository without installing all the rest of the chapters, just the index.Rmd. But I keep having an issue with latex when compile topdf_book, not the others:! Undefined control sequence. l.126 \DeclareUnicodeCharacter. Did you get to compile to PDF_BOOK?

Lorena Pantano (16:32:55): > I can compile to the other formats, but not that one

Lorena Pantano (16:33:22): > This is using the bioconductor/bioconductor_full:devel docker

Marcel Ramos Pérez (16:35:20): > For what workshops are you running it?

Lorena Pantano (17:53:14): > I just want to create the book with the index.Rmd without adding any workshop

Lorena Pantano (17:53:22): > the issue is in the index.Rmd file directly

Lorena Pantano (17:53:54): > I am just getting inside the docker machine, get that repo and run that line of code to create the minimal book, without any workshop to render

Lorena Pantano (17:54:58): > I had to install the bookdown package because it wasn’t in the docker machine, I wonder if it is a new version of the package that is generating this issue

2019-11-05

Oriol Senan (10:46:19): > @Oriol Senan has joined the channel

2019-11-07

Kevin Blighe (11:28:08): > @Kevin Blighe has joined the channel

2019-11-13

Sean Davis (09:45:59): > Hi,<!channel>. We have a call scheduled for today at 12 noon EST. Are there updates anyone wants to give today, or should we just do electronic updates here?

Vince Carey (09:47:57): > OK by me to skip call. I have an “actions” request that has been queued for a day and “cancel run” has no effect. Anyone else seen this? I will comment further on developments in github actions space later on.

Lorena Pantano (09:48:13): > I can put here my updates:

Lorena Pantano (09:52:22): - File (Markdown (raw)): Untitled

Sean Davis (09:58:50): > OK. Let’s cancel the all for today and do updates online.

Sean Davis (09:58:54): > @Vince Carey, which repo are you working in?

Vince Carey (09:59:59): > github.com/vjcitn/biocIBC… FWIW it looks like I can just jump the queue … I started a new job there and it is proceeding. Perhaps the cancellation is effective but not shown.

Sean Davis (10:00:32): > @Lorena Pantano, I’m not surprised that the PDF doesn’t compile. Unfortunately, this setup is pretty sensitive.

Lorena Pantano (10:00:51): > ok

Lorena Pantano (10:01:23): > it is an error of xetex, and some function that it doesn’t recognize, but I couldn’t get the.tex file change to get it running

Sean Davis (10:01:29): > I’m leaning away from working toward a pdf book and more toward a coordinated set of html pages. This is both more modular and doesn’t require maintaining two versions.

Lorena Pantano (10:01:38): > ok

Lorena Pantano (10:01:42): > that’s good

Lori Shepherd (10:30:46) (in thread): > I like this idea a lot

Vince Carey (11:36:27) (in thread): > I am also in favor of it. But what are we losing? At the end of the day, major changes might be needed to get a PDF rendering? Those changes could be the effort for a branch of the repo worked on by those who really want PDF for all or part of the content.

Sean Davis (13:16:24) (in thread): > As far as I can tell, we just lose a combined PDF of the workshops without the book.

Lori Shepherd (13:20:45) (in thread): > Which based on the issues with trying to rebuild last years (can I say that before the year is over) combined book (which may or may not still be an issue? ) - having as many individuals PDFs /htmls as possible seems like a better option that trying to do a combined

2019-11-14

Aedin Culhane (17:05:49) (in thread): > Sounds like a great pragmatic option

Aedin Culhane (17:05:55) (in thread): > Its better to get it out there:wink:

2019-11-17

Oriol Senan (12:01:12): > Dear all, I this is my first year on the BioC Congress organization, and also in the workshop organization. I am following the messages, but I am a little bit lost about where to start or how to help. If there is some task that I can do or some doc or link to learn “the basics” I would appreciate and so I can start helping more effectively.

2019-11-20

Marcel Ramos Pérez (14:30:20): > Thanks@Lorena PantanoLorena for testing workshopbuilder and making it work. It would be good if you could post any issues you encounter onhttps://github.com/Bioconductor/workshopbuilder/issues.

2019-11-21

Kevin Rue-Albrecht (06:49:03): > Quick check: what version of R does the workshop book 2019 require now? For the conference, the requirement was Bioconductor (3.10) and R 3.6. > But now, recent updates toscaterhave created defunct functions that cause errors in our vignette. > I’ve made a GitHub release of the workshop as presented at the conference, but I’m about to update the workshop vignette to run on the new devel (Bioconductor (3.11) and R 4.0) - Attachment: Attachment > Finally updating my installation of R-devel to look into https://travis-ci.org/kevinrue/iSEEWorkshop2019 > > 'calculateQCMetrics' is defunct. > Use 'perCellQCMetrics' instead.

Sean Davis (06:54:59): > Thanks,@Kevin Rue-Albrecht! At this point, we are not planning on updating the workshop materials or software for the Bioc workshops. To use the workshops as they were presented, the docker image and tarball of packages will remain available.

Kevin Rue-Albrecht (06:57:14): > Awesome. Thanks Sean

2019-11-27

Lorena Pantano (10:51:53): > @Marcel Ramos PérezI opened a couple of issues so I could start testing the action with the last bioconductor-full version, let me know if those make sense to do or not. Thanks

Lori Shepherd (11:59:26): > Is there a meeting - nowish - I can’t find the link to sign in?

Marcel Ramos Pérez (12:01:56): > I’m not sure if@Sean Davisis here

Marcel Ramos Pérez (12:03:42): > @Lorena PantanoDo you want to meet about some updates?

Marcel Ramos Pérez (12:04:17): > Otherwise we send updates via email

Lori Shepherd (12:04:58): > I’m a little backlogged so I’m going to assume cancelled - see you all next meeting

Lorena Pantano (13:52:26): > yes, I assumed canceled, I think having that being able to install in latest version of R it was the main issue

Lorena Pantano (13:52:27): > thanks!

2019-12-03

Frederick Tan (15:29:26): > @Frederick Tan has joined the channel

2019-12-11

Christine Choirat (12:08:36): > @Christine Choirat has joined the channel

2019-12-17

Jean Yang (02:40:55): > @Jean Yang has joined the channel

2019-12-18

Shubham Gupta (11:21:52): > @Shubham Gupta has joined the channel

2020-03-28

Levi Waldron (10:28:43): > Hi<!channel>just re-activating the channel and re-posting thehttps://github.com/Bioconductor/workshopbuilderrepo. Who is on board to work on the workshop book this year? I will be able to devote more time than I was able to last year. My goal is to come out of BioC2020 with a full set of workshops that can be compiled in Docker, and a compiled version available online with an index table of contents. A presentable PDF version would be a bonus, as would be an automated continuous integration system.

Levi Waldron (10:30:55) (in thread): > Dear@Oriol Senan, if you’re still game we can probably help get you started now! What is your computational background?

Marcel Ramos Pérez (12:46:11): > :man-raising-hand:I think Sean had mentioned the use of GitHub actions. We can move forward with that idea by providing a template yaml file that uses the Bioconductor docker image (maybe even a pkg collection@Martin Morgan) to test build chapters?@Sean Davis@Lorena Pantano

Martin Morgan (12:46:16): > @Martin Morgan has joined the channel

Levi Waldron (13:04:48) (in thread): > So 1) chapters being individually tested on the contributors’ sites against the Bioconductor image, and 2) pulling successfully buildable snapshots to build the complete “book”

Oriol Senan (13:15:31) (in thread): > Yes I am! And I think that I can be more helpful here. > > To summarize it quickly, I have experience (3-6 years) in R, C++ and Python (developing software, including R packages, and data analysis scripts), and I am familiar (0-2 years) with web programming (Shiny, Python, HTML, CSS, Linux Server, Nginx).

2020-03-31

Koen Van den Berge (15:11:50): > @Koen Van den Berge has joined the channel

2020-04-10

Nitesh Turaga (16:03:03): > Marcel just pointed me tohttps://github.com/tidyverse/dplyr/blob/master/.github/workflows/R-CMD-check.yaml, and the fact that they were able to do this across all three platforms on github is very cool.

2020-04-17

Levi Waldron (12:55:39): > Before we send out the email to workshop contributors, any objection to usinghttps://github.com/waldronlab/MultiAssayWorkshopas the “template” to follow, or other suggestions?@Marcel Ramos Pérez@Sean Davis@Nitesh Turaga@Lori Shepherd@Lorena Pantano

Marcel Ramos Pérez (13:03:21): > We may have to rethink usinginst/vignettesbased on an updated workflow. Thoughts@Sean Davis?

Marcel Ramos Pérez (13:04:39): > Also, IIRC Lorena had worked on a template repository@Lorena Pantanocan you link it here?

Levi Waldron (13:05:54) (in thread): > Oh that’s right!

Levi Waldron (13:07:46): > https://github.com/lpantano/dummychapter1

Sean Davis (14:41:59): > I think we should discuss whether we are aiming for a book or a set of independent workshops. I admit that I have heard strong community opinions both ways about how to proceed.

Levi Waldron (14:52:42): > Can we have both? Independent workshops, and a project that pulls them all those Rmd files together and builds a “book”, even if not a bookdown book?

Levi Waldron (14:54:29): > At least, an index of built versions of all the workshops that makes them easy to navigate.

Levi Waldron (14:55:24): > I like having authors be able to build and test their workshops independently, but also really like having some kind of finished product that organizes them all together in one place.

Kayla Interdonato (16:13:56): > @Kayla Interdonato has joined the channel

Sean Davis (18:42:52): > Let’s assume independent workshops and we can build from there. How do folks feel about each as a pkgdown site, or do you all feel we should develop another mechanism to build and publish each workshop?

Levi Waldron (19:14:15): > That sounds good to me@Sean Davis. If we can build these ourselves and index them in a nice way, ideally with an easy way to pick and choose which workshops to include, it could achieve both modularity (authors building and viewing their own workshops) and the convenience of having everything working and organized in one place.

Levi Waldron (19:14:46): > (but I don’t want to talk over other people who have opinions, it’s awfully quiet in here!)

2020-04-18

Leonardo Collado Torres (23:35:35): > @Leonardo Collado Torres has joined the channel

Leonardo Collado Torres (23:37:49): > Hi, > > I think that this is the best channel for this question, or it could be#bioc2020. Could you remind me what are the resources we should plan for? In particular, I’m concerned about memory. I remember that a step near the end of my recount workshop commands in 2019 crashed some sessions. > > Thanks, > Leo

2020-04-19

Levi Waldron (19:08:51): > I couldn’t find athttps://github.com/Bioconductor/BiocWorkshops2019/blob/master/USING_THE_AMI.mdwhat the AMI specs were last year - do you know offhand@Sean Davis?

Sean Davis (20:03:49): > We should aim for 16GB RAM, 4 vcpus, no more than 40GB disk for data. This helps control costs and ends up looking like most people’s laptop these days. I suspect that with an online meeting, attendance at workshops could be higher than previous years.

Sean Davis (20:04:28): > I am still working on getting a clear picture of what the infrastructure will look like.

2020-04-22

Kelly Eckenrode (09:25:59): > @Kelly Eckenrode has joined the channel

2020-04-24

Anthony (20:08:25): > @Anthony has joined the channel

Anthony (20:12:47): > I have a question related to creating chapters. If the workshop is based on a Bioc package, should the workshop vignette be within that package itself? And for docker, will we be using our own docker images (built on top of bioconductor_docker:devel) with our package dependencies pre-loaded?

2020-04-28

Levi Waldron (07:58:40): > Hi@Anthonysorry I missed your question earlier. The workshop vignette needs to exist in the workshop package, which is separate from the Bioconductor package (although you could put it in your Bioconductor package as well if you want). All workshops will be built on the same Docker image, which may contain additional layers on top of bioconductor_docker:devel. If you need dependencies not present in bioconductor_docker:devel, you can include a Dockerfile in your workshop repo, and we’ll incorporate these into the BioC2020 Docker container.

Levi Waldron (08:00:49) (in thread): > @Sean Davis@Marcel Ramos Pérez@Nitesh Turaga@Lorena PantanoFYI, chime in if you have different ideas

Nitesh Turaga (08:37:14) (in thread): > Just a heads up, the docker image is not yet on R-4.0. This will likely take a little time as we depend on the rocker folks to get their image ready.

Anthony (09:49:38): > Thanks Levi! I imagine the docker image will be very large if it needs dependencies for all workshop packages?

Sean Davis (14:07:01) (in thread): > Thanks,@Nitesh Turaga.

2020-04-29

Levi Waldron (13:32:25): > @Anthonythebioconductor/bioconductor_dockerimage already has system dependencies to install almost all Bioconductor packages, so we would only have to add weird non Bioconductor-related dependencies. It’s a few GB, but actually a surprisingly manageable and convenient image.

Anthony (13:49:46) (in thread): > I see, as long as nobody has conflicting version dependencies.

2020-05-02

Levi Waldron (08:33:46) (in thread): > Yes, that we couldn’t handle. I most workshops will likely be installable on the stockbioconductor/bioconductor_docker:develimage, but I think we’ll have to have a single shared image that we add any other dependencies to. If you’re already at that point, we can get the draft BioC2020 image up soon and start accepting pull requests for it.

Levi Waldron (08:39:44) (in thread): > Hey@Nitesh Turaga, do you think we should have a separate BioC2020 Docker image, or do this as a tag onbioconductor/bioconductor_docker:devel? I think I’d be inclined to have a separate image, maybebioconductor/conferences:bioc2020? A possibility would be to build from a docker/ directory athttps://github.com/Bioconductor/BioC2020.

2020-05-03

Nitesh Turaga (09:37:59) (in thread): > I’m like that idea@Levi Waldron. It seems like it’s a good way for people to find conference specific images easily down the line if it’s under the bioconductor repository in dockerhub.

2020-05-06

Sean Davis (13:04:44) (in thread): > I’ll try to bring some clarity to this, but I think the approach will be to start with Bioconductor_docker:devel and then allow individual workshop presenters/authors to extend with a custom docker file. Thus, there will be one docker image for each workshop.

Anthony (13:08:18) (in thread): > ^ I think that will likely be the most simple route that will certainly work. As long as everyone builds on the same bioc layer, having many docker images for all the workshops should total to a manageable size

Sean Davis (14:52:05) (in thread): > We actually used one docker image last year. It worked fine, but it was not a good developer experience.

2020-05-27

Mikhail Dozmorov (18:41:46) (in thread): > @Sean DavisTo follow up on individual Docker images for each workshop - will they be pre-built? Meaning, all workshop-specific packages installed. Asking because my workshop takes ~35min for Travis to build

Mikhail Dozmorov (18:50:00): > It is time to collate the workshops into one page, like it was done last yearhttp://biocworkshops2019.bioconductor.org.s3-website-us-east-1.amazonaws.com/. Adding Travis buttons will help to see which workshops need attention. Do we have any instructions/template how we should make a single workshop page? Or, we can do it directly on the main Bioc2020 web site - any preference?

Sean Davis (18:57:16) (in thread): > Yes, the images will be pre-built. Workshop submitters will just need to supply a dockerfile. Large files should not be included in the image but downloaded by the participants. I need to write all this up. Apologies.

Sean Davis (19:02:00): > I’ll take care of the workshop page.

2020-05-28

Maria Doyle (00:11:09): > @Maria Doyle has joined the channel

Sean Davis (11:29:31): > Hi, all. I put together a github repo for an example workshop. It is a standard R package with a couple of additional features. The main one is a github actions workflow to build a website (using pkgdown) and to build a docker image (based on Bioconductor_docker:devel) that includes the installed package and dependencies. If folks can take a look and perhaps try it out, that would be great.https://github.com/seandavi/BuildABiocWorkshop2020

Sean Davis (11:30:27): > Some detailed instructions for how to reuse the package for your own repos is at:https://seandavi.github.io/BuildABiocWorkshop2020/articles/HOWTO_BUILD_WORKSHOP.html - Attachment (seandavi.github.io): How To Build A Workshop Package > BuildABiocWorkshop2020

Sean Davis (11:34:16): > If you are impatient and want to see the result, run: > > docker run -e PASSWORD=abc -p 8787:8787 seandavi/buildabiocworkshop2020 > > Then, navigate tohttps://localhost:8787/and login withrstudio:abc(the password from above).

Petr Smirnov (11:36:35): > @Petr Smirnov has joined the channel

Gabriele Sales (11:36:38): > @Gabriele Sales has joined the channel

Kelly Street (11:37:10): > @Kelly Street has joined the channel

Petr Smirnov (11:44:39): > @Sean DavisI am a bit confused regarding docker images: is it required for all workshops or only those that require system dependencies not already on bioconductor_docker:devel?

Sean Davis (11:45:12): > Each workshop will have its own docker image.

Sean Davis (11:46:29): > The workshop-specific docker images will contain the installed workshop package and R package dependencies.

Petr Smirnov (11:47:07): > Ok, perfect! Thank you!

Davide Risso (11:47:23): > @Davide Risso has joined the channel

Dror Berel (11:47:41): > @Dror Berel has joined the channel

Hena Ramay (13:55:16): > @Hena Ramay has joined the channel

Kozo Nishida (14:26:11): > @Kozo Nishida has joined the channel

Peter Hickey (18:52:13): > @Peter Hickey has joined the channel

James MacDonald (20:03:53): > @James MacDonald has joined the channel

James MacDonald (20:05:00): > Thanks@Sean DavisI stumbled upon that today and was wondering if that was how we were supposed to proceed…

2020-05-29

Maria Doyle (09:28:43): > Thanks for the example workshop repo@Sean DavisI tried it out and it worked great:+1:

Sean Davis (09:30:18): > Thanks,@Maria Doyle. Any feedback appreciated! If end up applying it to your own repo, let us know so we can view the results on REAL material.

Maria Doyle (10:07:01): > Oh I did apply it to my repo that’s what I meant I tried:slightly_smiling_face:should I post it here?

Sean Davis (12:21:45): > Sure,@Maria Doyle, if you are willing.

Michael Love (14:45:13): > @Michael Love has joined the channel

Michael Love (14:48:44): > this may not be relevant to others, but I was seeing if I could get travis-ci going myself, and it was timing out bc of the package dependencies. Then i went down a rabbit hole of trying to use binaries, but they are not available for R 4.0. so don’t bother withr_package_binariesand if you time out (for me this was at 50 min), I don’t see a way around it just yet

Charlotte Soneson (14:49:37): > GitHub Actions gives you much more time:slightly_smiling_face:

Charlotte Soneson (14:50:50): > (Also, once the caching kicks in on travis usually things become much faster)

Michael Love (14:52:45): > is this something we could switch to, maybe this was solved last year when we used travis and I’m forgetting how

Charlotte Soneson (14:54:55): > The example workshop above seems to be using GH Actions (under.github/workflows)

Michael Love (14:59:16): > sounds good to me

Charlotte Soneson (15:02:25): > We haven’t yet added this GH Actions workflow to our workshop (was planning to have a look tomorrow), but we set it up separately and it works nicely - happy to assist too if there are general questions on that part.

Koen Van den Berge (16:31:38) (in thread): > Same here.

2020-05-30

Maria Doyle (01:34:19) (in thread): > ok, workshop content is still a work in progress but here’s the pkgdown websitehttps://stemangiola.github.io/bioc_2020_tidytranscriptomics/articles/tidytranscriptomics.html - Attachment (stemangiola.github.io): Tidy Transcriptomics > tidytranscriptomics

Maria Doyle (01:35:00) (in thread): > I also tested the Docker and running the commands in the Rmd installed through that, and all ran as expected

Mikhail Dozmorov (08:23:14): > GH Actions work well, just set up the initial draft of the workshophttps://github.com/mdozmorov/HiCcompareWorkshop. If the workshop package checks without errors, then GH actions will create the pkgdown web site and Docker image. Instructions athttps://github.com/seandavi/BuildABiocWorkshop2020are excellent.

Michael Love (09:20:12): > do you think we’ll skip travis this year?

Mikhail Dozmorov (09:27:25): > Seems like it. GH Actions do more, plus they make Docker images needed for this year

Sean Davis (21:39:44): > Hi,<!channel>. What we’ll need this year is a docker image and a website that contains the workflow package details including any materials you want to make available to your participants. The docker image should not contain large files, generally, so orchestrate your workshop materials to do a transfer from an online source. If there is a need, we can set up a location for the large files to live. The workshop athttps://github.com/seandavi/BuildABiocWorkshop2020is fully functional. I have tried to be specific and thorough about how to adapt it to an existing workshop athttps://seandavi.github.io/BuildABiocWorkshop2020/in “articles” (that are populated directly fromvignettes. If set up, you’ll get GH actions to run, build a pkgdown website, do rcmdcheck::rcmdcheck, and finally produce a docker image that gets pushed to docker hub. - Attachment (seandavi.github.io): BuildABiocWorkshop2020 > This package serves as a template for using github actions to prepare a Bioconductor Workshop package for use. In particular, a pkgdown website and docker image are generated based on workflow settings.

Sean Davis (21:40:45): > If you have an existing workshop package, just copy the .github/workflows/basic_checks.yaml into the root of your package and proceed with the instructions.

2020-05-31

Sean Davis (08:44:52): - Attachment: Attachment > ok, workshop content is still a work in progress but here’s the pkgdown website https://stemangiola.github.io/bioc_2020_tidytranscriptomics/articles/tidytranscriptomics.html

Michael Love (09:19:38): > anyone had success installing scran? I’m getting this in theRun dockerstep on Github: > > Bioconductor version 3.12 (BiocManager 1.30.10), ?BiocManager::install for help > * installing **source** package 'scran' ... > **** using staged installation > > ... > > **** byte-compile and prepare package for lazy loading > Bioconductor version 3.12 (BiocManager 1.30.10), ?BiocManager::install for help > Error in dyn.load(file, DLLpath = DLLpath, ...) : > unable to load shared object '/usr/local/lib/R/site-library/igraph/libs/igraph.so': > libglpk.so.40: cannot open shared object file: No such file or directory > Calls: <Anonymous> ... asNamespace -> loadNamespace -> library.dynam -> dyn.load > Execution halted > ERROR: lazy loading failed for package 'scran' > * removing '/usr/local/lib/R/site-library/scran' > Error in i.p(...) : > (converted from warning) installation of package 'scran' had non-zero exit status > Calls: <Anonymous> ... with_rprofile_user -> with_envvar -> force -> force -> i.p > Execution halted >

Michael Love (09:24:41): > Looks likeigraphwas built as a binary, maybe I will try to force it as a source installation? > > * installing **binary** package 'igraph' ... > * DONE (igraph) >

Charlotte Soneson (09:27:41): > Looks likeglpkmay be missing from the system(?)

Michael Love (09:53:37): > so maybe I could try solving this in this chunk of the yaml? > > # This lets us augment with additional dependencies > - name: Install system dependencies > if: runner.os == 'Linux' > env: > RHUB_PLATFORM: linux-x86_64-ubuntu-gcc > run: | > Rscript -e "remotes::install_github('r-hub/sysreqs')" > sysreqs=$(Rscript -e "cat(sysreqs::sysreq_commands('DESCRIPTION'))") > sudo -s eval "$sysreqs" >

Charlotte Soneson (09:55:04): > Yes, I wonder if adding something like > > sudo apt-get install -y libglpk-dev > > there might help.

Michael Love (10:00:45): > i’ll give it a shot, thanks Charlotte

Sean Davis (13:16:00): > @Michael Loveand@Charlotte Sonesonthe place to address this is in the Dockerfile. The build steps in the YAML will not be executed when building the docker image. > To test locally, you should be able to do: > > docker build . > > inside your package directory. Once that works as expected, then commit that version of the Dockerfile and push. From there, GH actions will build using the new, fixed Dockerfile.

Michael Love (13:39:41): > ok will keep working on it

Sean Davis (18:00:03): > @Nitesh Turaga@Vince CareyAny idea if scran needs something special in the bioconductor_docker:devel?

Vince Carey (18:29:06): > are you having problems building it? i just built from source underus.gcr.io/anvil-gcr-public/anvil-rstudio-bioconductor:0.0.5… looking athttps://github.com/anvilproject/anvil-docker/blob/master/anvil-rstudio-bioconductor/install.Rand the Dockerfile parallel to it, I don’t see any special accommodation.

Vince Carey (18:41:13): > now I see Mike’s issue – since glpk is an optional SystemRequirement of igraph it is conceivable that a found binary package would refer to it … but i do not see glpk in the linux system defined by the bioc container

stefano mangiola (20:19:47): > @stefano mangiola has joined the channel

2020-06-01

Charlotte Soneson (01:41:47): > Manually adding > > RUN apt-get update && apt-get install -y libglpk-dev > > to the Dockerfile seems to have solved the issue for us.

Martin Morgan (05:36:04): > Remember to clean up after apt-get (in the same RUN command) so that the image size is not inflated by layers of cached apt files > > RUN apt-get update && apt-get install -y \ > ... \ > apt-get clean && \ > rm -rf /var/lib/apt/lists/* > > When I install igraph locally (viadocker build .; also if I install scran) it installs without problems from source. As Vince mentioned, libglpk is an optional dependency (in the igraphconfigure.acfile) and I guess the source installation adapts appropriately. How can I trigger a binary installation, locally?

Vince Carey (07:30:33): > Right, it would be nice to know how the offending image of igraph got into the ecosystem that Mike was working with. The setting of options()$repos might be useful.

Michael Love (07:41:44): > I was using the template, I wasnt able to try it out locally yesterday but will try today

Qian Liu (07:53:28): > @Qian Liu has joined the channel

Nitesh Turaga (08:46:31) (in thread): > Hi@Sean DavisIt seems like it needslibglpk-devare you using theRELEASE_3_11version ofdevelversion?

Nitesh Turaga (08:47:31): > So, it seems like the solution is just inherit from the image and add a single library, but no changes to bioconductor_docker itself.

Michael Love (08:53:29): > Thanks everyone for your help

Sean Davis (09:27:34) (in thread): > bioconductor_docker:devel

Sean Davis (09:28:10) (in thread): > We have always used devel for workshops, I think.

John Lawson (11:33:50): > @John Lawson has joined the channel

Levi Waldron (11:44:08) (in thread): > Why not add libglpk-dev to bioconductor_docker? It does provide some additional igraph functionality if I’m reading the docs right, for examplehttps://igraph.org/r/doc/cluster_optimal.html. Even if it’s optional, it’s not huge (“After this operation, 22.8 MB of additional disk space will be used.“) and we’ve seen already two people seeming to need it.

Nitesh Turaga (11:49:15) (in thread): > I’m ok with this too. I will test it real quick and make the change as needed.

Nitesh Turaga (12:22:42) (in thread): > Ok, thank you!

Martin Morgan (13:06:27) (in thread): > I’m interested in knowing how to know it was supposed to be there – igraphdoeswork when installed from source. I’m nervous just adding software without understanding why, and if possible asserting through some testing procedure (like loading the package after installation) that the software is necessary, otherwise we end up x months later wondering why the heck some weird piece of software is present, and so maybe we should just remove it?

Nitesh Turaga (13:08:58) (in thread): > Ok, i’m in agreement with this as well.

Nitesh Turaga (13:10:24) (in thread): > Did this work@Michael Love?

Michael Love (13:13:06) (in thread): > i got stuck yesterday with Docker on my laptop, i needed to make more space and didn’t get a chance to try

Nitesh Turaga (13:13:20) (in thread): > I see, ok.

Nitesh Turaga (13:13:29) (in thread): > thanks!

Michael Love (13:13:30) (in thread): > so now i’m using theapt-getapproach that Martin posted which works for me

Nitesh Turaga (13:14:18) (in thread): > I thinkscranworks just fine when installed from source like Martin mentioned.

Michael Love (13:16:13) (in thread): > ok dumb question, how do i tell github actions to install a particular package from source?

Nitesh Turaga (13:17:34) (in thread): > Not so dumb, but maybe@Charlotte Sonesoncan help with this? I’m not very good with Github Actions:confused:

Charlotte Soneson (13:20:54) (in thread): > Hm, not sure - I guess i would add an explicit line installing the package (withtype = "source")) in the “Install dependencies” part. I’ve never done it to force a source installation, but I did it to force-install some packages that would be installed in the wrong order byremotes.

Michael Love (13:26:16) (in thread): > i may stick with what i’ve got (at least for this week) since it’s working for now

Michael Love (13:26:20) (in thread): > thanks all

Sean Davis (13:29:44) (in thread): > One straightforward approach is to routinely independently build, install, and test each Bioc packages in an “empty” bioc_docker:devel image, sort of the equivalent of installing into vanilla R.

Sean Davis (13:31:34) (in thread): > A second approach, though, is to adopt the sysreqs approach of including system dependencies in the DESCRIPTION file. Someone from R-core or R-libs might have to weigh in here, but that approach seems somewhat valuable even though it is early in development.

Arshi Arora (15:22:24): > @Arshi Arora has joined the channel

James MacDonald (19:18:21): > n

Michael Love (19:35:34): > I think I’m all set now. Bc i had a preexisting repo I didnt use the template. So one thing i had to do (maybe others wont) was explictlygit addmy vignette html made by pkgdown to the /articles dir in gh-pages branch

Michael Love (21:28:44): > question about the title and author blocks in the vignette: so we have these two blocks. the first one creates the html <p>and the second one is important for the book building right? > <code>{---} > title: "An Example Workshop" > author: Sean Davis^[seandavi@gmail.com] > --- > > ... > > # Workshop Title > > Authors: > Author Name^[Institution], > Another Author^[Another Institution]. > <br/> > Last modified: 14 May, 2018. ></code></p> <p><strong>Michael Love</strong> (21:29:00): > but then it produces this in the output - File (PNG): <a href="https://community-bioc.slack.com/files/U34P8RS3B/F014LRF9Y9K/screen_shot_2020-06-01_at_9.23.55_pm.png">Screen Shot 2020-06-01 at 9.23.55 PM.png</a></p> <p><strong>Michael Love</strong> (21:29:37): > should we just have the same content twice here? do we need to have the second title (with #) because of later collation efforts?</p> <p><strong>Sean Davis</strong> (22:52:47): > No book building this year. Instead, each workshop will have an independent website (maintained by the workshop authors). In practice, that means that you can structure the articles as you see fit.</p> <p><strong>Sean Davis</strong> (22:53:44): > As for the vignette not showing up in pkgdown, make sure that you are including the “vignette” stuff in the yaml frontmatter: > <code>{---} > title: "An Example Workshop" > author: Sean Davis^[seandavi@gmail.com] > output: rmarkdown::html_vignette > vignette: > > %\VignetteIndexEntry{An Example Workshop} > %\VignetteEngine{knitr::rmarkdown} > %\VignetteEncoding{UTF-8} > --- ></code></p> <p><strong>Sean Davis</strong> (22:56:17): > The collation effort will take details from the DESCRIPTION file, so just enough to get us the docker image and URL for the website (as well as the usual author, title, description….)</p> </section> <section id="section-73" class="level2"> <h2>2020-06-02</h2> <p><strong>Mikhail Dozmorov</strong> (07:16:34): > Links to the workshop sites may be collated on a separate page on<a href="https://bioc2020.bioconductor.org/">https://bioc2020.bioconductor.org/</a>site - it’ll help to quickly find them. - Attachment (bioc2020.bioconductor.org): <a href="https://bioc2020.bioconductor.org/">BioC 2020</a> > Where Software and Biology Connect. July 29 - 31, Boston, USA.</p> <p><strong>Michael Love</strong> (08:33:31) (in thread): > i did have this, but the vignette didn’t show up on gh-pages until i explicitly<code>git add</code>the html that was being produced by pkgdown. the other files were there (e.g.<code>index.html</code>) because i had copied them over from your repo. i’m not 100% sure about the mechanism, but my manually doing<code>git add</code>was the trick that then let them show up. again i think my case may be special because i didn’t use your template</p> <p><strong>Martin Morgan</strong> (09:19:43) (in thread): > igraph does install, build, and check on bioconductor_docker:devel. I’m still not clear what@Michael Loveand@Charlotte Sonesondo to tickle the binary installation?</p> <p><strong>Charlotte Soneson</strong> (09:22:34) (in thread): > Hm. It seems that it happened when installing<code>scran</code></p> <p><strong>Michael Love</strong> (09:22:46) (in thread): > yeah, igraph installed fine for me</p> <p><strong>Michael Love</strong> (09:23:10) (in thread): > <a href="https://community-bioc.slack.com/archives/CJDMYKG2U/p1590931178107400">https://community-bioc.slack.com/archives/CJDMYKG2U/p1590931178107400</a> - Attachment: <a href="https://community-bioc.slack.com/archives/CJDMYKG2U/p1590931178107400">Attachment</a> > anyone had success installing scran? I’m getting this in the <code>Run docker</code> step on Github: > > <code>Bioconductor version 3.12 (BiocManager 1.30.10), ?BiocManager::install for help > * installing **source** package 'scran' ... > **** using staged installation > > ... > > **** byte-compile and prepare package for lazy loading > Bioconductor version 3.12 (BiocManager 1.30.10), ?BiocManager::install for help > Error in dyn.load(file, DLLpath = DLLpath, ...) : > unable to load shared object '/usr/local/lib/R/site-library/igraph/libs/igraph.so': > libglpk.so.40: cannot open shared object file: No such file or directory > Calls: <Anonymous> ... asNamespace -> loadNamespace -> library.dynam -> dyn.load > Execution halted > ERROR: lazy loading failed for package 'scran' > * removing '/usr/local/lib/R/site-library/scran' > Error in i.p(...) : > (converted from warning) installation of package 'scran' had non-zero exit status > Calls: <Anonymous> ... with_rprofile_user -> with_envvar -> force -> force -> i.p > Execution halted</code></p> <p><strong>Michael Love</strong> (10:00:14): > Question about the docker images (hopefully people aren’t getting too tired of me:laughing:). I noticed with mine, and also checked with<strong>BuildABiocWorkshop2020</strong>, that the vignettes are not found within the R session. I haven’t poked around much but maybe someone has an idea why that would be? > <code>> > browseVignettes(package="BuildABiocWorkshop2020") > No vignettes found by browseVignettes(package = "BuildABiocWorkshop2020") ></code></p> <p><strong>Charlotte Soneson</strong> (10:01:18): > I added<code>, build_vignettes = TRUE</code>to the installation command in the Dockerfile</p> <p><strong>Michael Love</strong> (10:02:27): > <a href="https://github.com/iSEE/iSEEWorkshop2020/blob/master/Dockerfile#L9">https://github.com/iSEE/iSEEWorkshop2020/blob/master/Dockerfile#L9</a></p> <p><strong>Michael Love</strong> (10:04:05): > this may be a good idea for others to do as well, because i like being able to show users how to access vignettes from within R during workshops. also it could be a helpful backup? if internet is slow or GH down (god forbid) having the vignette built in the image would be good</p> <p><strong>Charlotte Soneson</strong> (10:05:17): > Also I used<code>vignette("iSEE-lab")</code>rather than<code>browseVignettes</code>- I’m not sure if you can open a vignette from the page opened by<code>browseVignettes()</code>within the container/from RStudio server.</p> <p><strong>Michael Love</strong> (10:06:11): > got it, yeah, i first went for vignette() then looked to see if any vignettes were being built, and saw that only those from the workshop package were missing</p> <p><strong>Michael Love</strong> (10:06:55) (in thread): > you cannot - i just tried</p> <p><strong>Sean Davis</strong> (10:20:11): > Folks should feel free to make pull requests or file issues on<a href="https://github.com/seandavi/BuildABiocWorkshop2020">https://github.com/seandavi/BuildABiocWorkshop2020</a>.</p> <p><strong>Sean Davis</strong> (10:20:51): > Thanks,<span class="citation" data-cites="Michael">@Michael</span> Loveand@Charlotte Sonesonfor pointing this out. I updated the Dockerfile on the repo.</p> <p><strong>Charlotte Soneson</strong> (12:11:08) (in thread): > Yes, totally should have mentioned it there, sorry - this completely disappeared in the broader gh-actions chaos on our side yesterday…</p> <p><strong>James MacDonald</strong> (13:27:56) (in thread): > Does changing the Dockerfile do anything? The top of my vignette in GitHub looks like > <code>> $ head -n 10 vignettes/AnnotationWorkshop.Rmd > --- > title: "Bioconductor 2020 Annotation Workshop" > output: rmarkdown::html_vignette > vignette: > > %\VignetteIndexEntry{Bioconductor 2020 Annotation Workshop} > %\VignetteEngine{knitr::rmarkdown} > %\VignetteEncoding{UTF-8} > --- > > # Introduction to Bioconductor Annotation Resources ></code> > But the vignette file I can browse to in RStudio (e.g., in the Docker file from dockerhub) has some old version that looks like: > <code>{---} > > output: > rmarkdown::html_document: > highlight: pygments > toc: true > toc_depth: 5 > vignette: > > %\VignetteIndexEntry{Introduction to Bioconductor Annotation Resources} > %\VignetteEngine{knitr::rmarkdown} > %\VignetteEncoding{UTF-8} > > --- > > <style scoped> > ul > li:before { > color: #1a81c2; ></code> > Which has obviously not been updated? I have tried deleting the docker container on my computer and re-pulling with docker run, and changing the password so maybe it won’t load a cached version.</p> <p><strong>James MacDonald</strong> (13:29:56) (in thread): > To be clear, I do get changes on my<a href="http://jmacdon.github.io">jmacdon.github.io</a>page, just not in the docker container.</p> <p><strong>Sean Davis</strong> (13:50:19) (in thread): > <span class="citation" data-cites="James">@James</span> MacDonaldBe sure to either pull the newest image (<code>docker pull</code>) or docker run with the correct commit hash.<code>docker run</code>when run locally will not pull the newest image version if a version already exists locally.</p> <p><strong>James MacDonald</strong> (13:51:47) (in thread): > <span class="citation" data-cites="Sean">@Sean</span> DavisAh, that’s the stuff! Thanks</p> <p><strong>Martin Morgan</strong> (14:31:18) (in thread): > Thanks, but the following works for me > <code>> git clone[https://github.com/mtmorgan/workshop2020.git](https://github.com/mtmorgan/workshop2020.git)cd workshop2020 > docker build --build-arg NCPUS=8 . -t tmp > docker run -it --rm tmp R -e 'library(BuildABiocWorkshop2020)' ></code> > (also the variant without the NCPUS, but that takes longer ;)) So I’m not able to reproduce Mike and Charlotte’s problem…???</p> <p><strong>Martin Morgan</strong> (14:32:31) (in thread): > The odd thing in the comment after the one Mike links to is that it is a<strong><em>binary</em></strong>build… how does that happen??</p> <p><strong>Michael Love</strong> (17:28:57) (in thread): > Martin, re: BuildABiocWorkshop2020 installing without problem: it was scran package that was causing an issue (not installing), and this is used in my workshop “alevin2bioc”. Am i missing something though?</p> </section> <section id="section-74" class="level2"> <h2>2020-06-05</h2> <p><strong>Peter Hickey</strong> (00:30:43): > any advice what’s gone wrong here:<a href="https://github.com/PeteHaitch/BioC2020_DelayedArray_workshop/runs/740683773?check_suite_focus=true">https://github.com/PeteHaitch/BioC2020_DelayedArray_workshop/runs/740683773?check_suite_focus=true</a>?</p> <p><strong>Maria Doyle</strong> (01:41:53): > Think it’s because you don’t seem to have a Dockerfile in your repo, think you need to add this file<a href="https://github.com/seandavi/BuildABiocWorkshop2020/blob/master/Dockerfile">https://github.com/seandavi/BuildABiocWorkshop2020/blob/master/Dockerfile</a></p> <p><strong>Peter Hickey</strong> (01:49:55) (in thread): > Thanks Maria! Indeed, I missed this file (along with the pkgdown stuff) when setting up my repo. I already had a repo set up so I opted to copy over files from (rather than clone)<a href="https://github.com/seandavi/BuildABiocWorkshop2020">https://github.com/seandavi/BuildABiocWorkshop2020</a>Perhaps a bad idea in hindsight</p> <p><strong>Sean Davis</strong> (14:50:33) (in thread): > Apologies for the inconvenience.</p> <p><strong>Peter Hickey</strong> (20:36:35) (in thread): > not at all, it’s working now and quite slick! thanks@Sean Davisand@Maria Doyle</p> </section> <section id="section-75" class="level2"> <h2>2020-06-06</h2> <p><strong>Maria Doyle</strong> (02:46:49): > just wondering if it’s worth trying to make the training material meet these FAIR rules?<a href="https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1007854">https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1007854</a>maybe I’m wrong but seems like with the template it’s already pretty close so might not mean much too more effort - Attachment (journals.plos.org): <a href="https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1007854">Ten simple rules for making training materials FAIR</a> > Author summary Everything we do today is becoming more and more reliant on the use of computers. The field of biology is no exception; but most biologists receive little or no formal preparation for the increasingly computational aspects of their discipline. In consequence, informal training courses are often needed to plug the gaps; and the demand for such training is growing worldwide. To meet this demand, some training programs are being expanded, and new ones are being developed. Key to both scenarios is the creation of new course materials. Rather than starting from scratch, however, it’s sometimes possible to repurpose materials that already exist. Yet finding suitable materials online can be difficult: They’re often widely scattered across the internet or hidden in their home institutions, with no systematic way to find them. This is a common problem for all digital objects. The scientific community has attempted to address this issue by developing a set of rules (which have been called the Findable, Accessible, Interoperable and Reusable [FAIR] principles) to make such objects more findable and reusable. Here, we show how to apply these rules to help make training materials easier to find, (re)use, and adapt, for the benefit of all.</p> <p><strong>Maria Doyle</strong> (02:48:09) (in thread): > glad it’s working for you now Peter and agree the pkgdown makes it look slick, thanks Sean for the template!</p> <p><strong>Martin Morgan</strong> (10:59:27) (in thread): > I like this idea, and when@Sean Davispointed to this article a week or so ago I set about trying to make a recent resource of mine ‘fair’. As you say, some things are quite easy, and enabled by Sean’s repository (e.g., it has a license, satisfying part of Rule 7). > > It would be interesting to know what else could be done on the base repository end, e.g., adding a CONTRIBUTING.md and a new issue template (Rule 9). > > Is the metadata of Rule 7 captured well enough? A good place to add this information would be in the DESCRIPTION file, using biocViews to describe content but also additional fields suggested by Table 2 – DESCRIPTION files can contain arbitrary information, provided the overall format conforms to ‘dcf’ [debian control format] specifications. Probably the way to go here is to provide an intentionally ‘broken’ DESCRIPTION file (like<code>usethis::create_package()</code>does for, e.g., the<code>License:</code>field) that the workshop contributor needs to fix. > > I’m really not sure how to go about Rule 3 (e.g., obtaining a doi) or Rule 4 (register material online), but it seems like these activities could be the coordinated by the conference organizing committee (i.e., not the responsibility of individual contributors?)</p> <p><strong>Sean Davis</strong> (11:22:09) (in thread): > I’d be interested in tracking ideas as issues on the template repo. I’m not convinced that a template repo is the ultimate solution, but any new activity can be guided by these issues.</p> <p><strong>Sean Davis</strong> (11:23:06) (in thread): > The idea of a Fair checklist applied to the materials is a great one!</p> <p><strong>Martin Morgan</strong> (12:12:44) (in thread): > I opened a couple of issues without providing any useful implementation!</p> <p><strong>Ludwig Geistlinger</strong> (19:09:58): > <span class="citation" data-cites="Ludwig">@Ludwig</span> Geistlinger has joined the channel</p> <p><strong>Olagunju Abdulrahman</strong> (19:57:06): > <span class="citation" data-cites="Olagunju">@Olagunju</span> Abdulrahman has joined the channel</p> </section> <section id="section-76" class="level2"> <h2>2020-06-07</h2> <p><strong>Maria Doyle</strong> (03:06:44) (in thread): > ok great, I know some of the authors so I’ve contacted them to see if they’ve any pointers on how we could meet the rules e.g 3 & 4</p> <p><strong>Levi Waldron</strong> (05:20:30) (in thread): > Fwiw workshop submitters were asked to agree to a uniform license (I think it was Artistic?)</p> </section> <section id="section-77" class="level2"> <h2>2020-06-08</h2> <p><strong>Maria Doyle</strong> (06:46:21) (in thread): > actually in the email it said the booklet will be CC BY-SA so I was going to add that one?<code>We will be collating presented workshops into a training booklet that will be made freely available under the CC BY-SA license (</code><a href="https://creativecommons.org/licenses/">https://creativecommons.org/licenses/</a><code>). Contribution of your workshop will be taken as agreement to have your workshop materials included under this license.</code></p> <p><strong>Martin Morgan</strong> (08:25:49) (in thread): > the workshop template has<a href="https://github.com/seandavi/BuildABiocWorkshop2020/blob/master/DESCRIPTION#L14">https://github.com/seandavi/BuildABiocWorkshop2020/blob/master/DESCRIPTION#L14</a>MIT; not sure if that was intentional@Sean Davis?</p> <p><strong>Sean Davis</strong> (08:55:32) (in thread): > Workshop authors may change as they see fit, for sure! My intention was to suggest an open license that was also recognized by CRAN. I should probably add a note to that effect in the docs.</p> <p><strong>Levi Waldron</strong> (08:59:33) (in thread): > It would be nice to have a uniform license for anyone who doesn’t have a strong preference for another license…</p> </section> <section id="section-78" class="level2"> <h2>2020-06-10</h2> <p><strong>Sean Davis</strong> (18:16:10): > How to run your workshop docker (or someone else’s) on google cloud.<a href="https://gist.github.com/seandavi/5da4a73d94bc24236cf204196feddc85">https://gist.github.com/seandavi/5da4a73d94bc24236cf204196feddc85</a></p> </section> <section id="section-79" class="level2"> <h2>2020-06-15</h2> <p><strong>Peter Hickey</strong> (19:56:43): > when do workshops need to be finalised? I couldn’t find this on the website or in my emails</p> <p><strong>Ludwig Geistlinger</strong> (20:09:16): > Note sure whether this is still valid but this was the timeline in the email from Mikhail (sent May 26): > * Friday June 26: all workshop materials should be submitted to allow contributors and editors time to fix all errors, warnings, and formatting problems, and assemble the workshop book. > * Wednesday, July 16: workshop repo frozen</p> </section> <section id="section-80" class="level2"> <h2>2020-06-16</h2> <p><strong>Mikhail Dozmorov</strong> (12:14:47): > The dates are correct. Additional updates and instructions will follow soon.</p> <p><strong>Peter Hickey</strong> (18:46:24): > thanks to you both</p> <p><strong>Vandhana</strong> (20:06:38): > <span class="citation" data-cites="Vandhana">@Vandhana</span> has joined the channel</p> </section> <section id="section-81" class="level2"> <h2>2020-06-18</h2> <p><strong>Peter Hickey</strong> (02:44:46) (in thread): > i’m still battling this same issue (I think).<a href="https://github.com/PeteHaitch/BioC2020_DelayedArray_workshop/runs/783214328">https://github.com/PeteHaitch/BioC2020_DelayedArray_workshop/runs/783214328</a>i can’t figure out from the threads what the recommended solution is</p> <p><strong>Charlotte Soneson</strong> (03:06:26) (in thread): > This seems to be the same issue, but happening in a different step of the workflow (<code>Install dependencies</code>rather than<code>Run docker</code>), so I guess the corresponding workaround would be to install<code>libglpk</code>in the<code>Install system dependencies</code>step rather than adding it to the Dockerfile. I think it’s still not clear why this happens though, and why it seems it’s not reproducible across different setups…</p> <p><strong>Peter Hickey</strong> (03:39:00) (in thread): > thanks@Charlotte Soneson. From reading this thread i learnt that i can at least reproduce this on my own machine on my own repo with<code>docker build --build-arg NCPUS=4 . -t tmp</code>… so that might help me try fixes rather than relying on github actions (perhaps obvious in hindsight since that’s the point of docker but i’m a docker newbie)</p> <p><strong>Hector Roux de Bézieux</strong> (12:32:54): > <span class="citation" data-cites="Hector">@Hector</span> Roux de Bézieux has joined the channel</p> <p><strong>Sean Davis</strong> (12:45:03) (in thread): > Sorry for the confusion, all. There are two goals of the github actions workflow: > 1. Build the package to make sure that things work as expected, etc. > 2. Create a docker image for use in the workshop. > If you need extra software installed at the system level, it needs to be installed in the the github worker environment (either through the<code>r-lib/sysreqs</code>approach or directly by<code>apt-get</code>routes. IN ADDITION, the Dockerfile will also need modification to install the extra system dependencies, most easily done by apt-get.</p> <p><strong>Sean Davis</strong> (12:46:26) (in thread): > At some point, I’d like to be able to transition to dedicated builders, but I haven’t gotten the time to engineer that yet.</p> <p><strong>Peter Hickey</strong> (20:06:34) (in thread): > thanks for the additional details,<span class="citation" data-cites="Sean">@Sean</span> Davis. > I think I’ve now got this sorted. > It seems<strong><em>libglpk-dev</em></strong>is required for a ‘complete’(?)<strong><em>igraph</em></strong>installation, which is required for a clean installation of<strong><em>scran</em></strong>on the Docker image and with the GitHub Action builder. > > - To ensure<strong><em>libglpk-dev</em></strong>is installed in the Docker image, I needed to do this<a href="https://github.com/PeteHaitch/BioC2020_DelayedArray_workshop/commit/98558a6e9ed1d3d69907d6addba1f23fb6073a53">https://github.com/PeteHaitch/BioC2020_DelayedArray_workshop/commit/98558a6e9ed1d3d69907d6addba1f23fb6073a53</a>as suggested by@Charlotte Sonesonand@Martin Morgan- To ensure<strong><em>libglpk-dev</em></strong>is installed on the GitHub Actions builder, I needed to add<strong><em>igraph</em></strong>as an explicit dependency in my<code>DESCRIPTION</code>, otherwise it’s not picked up by<code>sysreqs::sysreqs()</code>. I documented this<a href="https://github.com/PeteHaitch/BioC2020_DelayedArray_workshop/issues/1">https://github.com/PeteHaitch/BioC2020_DelayedArray_workshop/issues/1</a></p> </section> <section id="section-82" class="level2"> <h2>2020-06-19</h2> <p><strong>Jelmer Poelstra</strong> (15:33:23): > <span class="citation" data-cites="Jelmer">@Jelmer</span> Poelstra has joined the channel</p> </section> <section id="section-83" class="level2"> <h2>2020-06-22</h2> <p><strong>Mikhail Dozmorov</strong> (14:37:28): > Workshop contributors, please, check the URLs to your workshop at<a href="https://bioc2020.bioconductor.org/workshops">https://bioc2020.bioconductor.org/workshops</a>. Note some workshops are still missing a valid DESCRIPTION file. Thanks to Marcel@Marcel Ramos Pérezfor automating this page. - Attachment (bioc2020.bioconductor.org): <a href="https://bioc2020.bioconductor.org/workshops">BioC 2020</a> > Where Software and Biology Connect. July 29 - 31, Boston, USA.</p> <p><strong>Sean Davis</strong> (14:45:44): > Just a word of caution/note and to echo@Mikhail Dozmorov’s post, Docker image names MUST be lowercase, so if your docker image name includes uppercase letters, it will result in an “image not found” error. You’ll want to make the change in the DESCRIPTION file to ensure that things work when rebuilt.</p> </section> <section id="section-84" class="level2"> <h2>2020-06-23</h2> <p><strong>Sean Davis</strong> (13:05:58): > Want to try your workshop (or someone else’s) on Google Cloud (requires a GCP account, which includes $300 in credit if you apply for a new one)?<a href="https://gist.github.com/seandavi/5da4a73d94bc24236cf204196feddc85">https://gist.github.com/seandavi/5da4a73d94bc24236cf204196feddc85</a></p> <p><strong>Aedin Culhane</strong> (13:41:18): > Hi I know I’m behind.. last week with the BIRS meeting was hectic</p> <p><strong>Mikhail Dozmorov</strong> (18:53:48): > After multiple failures of building a new workshop version, I got stuck with the error<code>libglpk.so.40: cannot open shared object file: No such file or directory</code>. There is a potential<a href="https://lists.gnu.org/archive/html/help-glpk/2016-04/msg00004.html">solution</a>, but I’m not sure if/how it can work with the current GitHub Actions setup. The latest log is<a href="https://github.com/mdozmorov/HiCcompareWorkshop/runs/800573996">here</a>. Any suggestions?</p> <p><strong>Michael Love</strong> (18:58:12): > this fixed it for me:<a href="https://community-bioc.slack.com/archives/CJDMYKG2U/p1590933304109600">https://community-bioc.slack.com/archives/CJDMYKG2U/p1590933304109600</a> - Attachment: <a href="https://community-bioc.slack.com/archives/CJDMYKG2U/p1590933304109600">Attachment</a> > Yes, I wonder if adding something like > <code>sudo apt-get install -y libglpk-dev</code> > there might help.</p> <p><strong>Michael Love</strong> (18:58:56): > this is all i had to do:<a href="https://github.com/mikelove/alevin2bioc/blob/master/Dockerfile#L8">https://github.com/mikelove/alevin2bioc/blob/master/Dockerfile#L8</a></p> <p><strong>Peter Hickey</strong> (19:31:31) (in thread): > Does this help?<a href="https://community-bioc.slack.com/archives/CJDMYKG2U/p1592525194184700?thread_ts=1591015651.130600&cid=CJDMYKG2U">https://community-bioc.slack.com/archives/CJDMYKG2U/p1592525194184700?thread_ts=1591015651.130600&cid=CJDMYKG2U</a> - Attachment: <a href="https://community-bioc.slack.com/archives/CJDMYKG2U/p1592525194184700?thread_ts=1591015651.130600&cid=CJDMYKG2U">Attachment</a> > thanks for the additional details, <span class="citation" data-cites="Sean">@Sean</span> Davis. > I think I’ve now got this sorted. > It seems <strong>libglpk-dev</strong> is required for a ‘complete’(?) <strong>igraph</strong> installation, which is required for a clean installation of <strong>scran</strong> on the Docker image and with the GitHub Action builder. > > - To ensure <strong>libglpk-dev</strong> is installed in the Docker image, I needed to do this <a href="https://github.com/PeteHaitch/BioC2020_DelayedArray_workshop/commit/98558a6e9ed1d3d69907d6addba1f23fb6073a53">https://github.com/PeteHaitch/BioC2020_DelayedArray_workshop/commit/98558a6e9ed1d3d69907d6addba1f23fb6073a53</a> as suggested by <span class="citation" data-cites="Charlotte">@Charlotte</span> Soneson and <span class="citation" data-cites="Martin">@Martin</span> Morgan > - To ensure <strong>libglpk-dev</strong> is installed on the GitHub Actions builder, I needed to add <strong>igraph</strong> as an explicit dependency in my <code>DESCRIPTION</code>, otherwise it’s not picked up by <code>sysreqs::sysreqs()</code>. I documented this <a href="https://github.com/PeteHaitch/BioC2020_DelayedArray_workshop/issues/1">https://github.com/PeteHaitch/BioC2020_DelayedArray_workshop/issues/1</a></p> <p><strong>Mikhail Dozmorov</strong> (20:53:36): > That solved the issue! I couldn’t think this is the identical problem. Thanks@Peter Hickey,<span class="citation" data-cites="Michael">@Michael</span> Love</p> </section> <section id="section-85" class="level2"> <h2>2020-06-25</h2> <p><strong>Petr Smirnov</strong> (17:26:53): > <span class="citation" data-cites="Mikhail">@Mikhail</span> DozmorovHow often does the webpage on the conference website update? I am pushing some changes to our workshop to fix the broken links (capitalization/spelling), curious when I can double check that they work</p> <p><strong>Mikhail Dozmorov</strong> (17:32:16): > It needs to be manually recompiled. Done,<span class="citation" data-cites="Petr">@Petr</span> Smirnov, please, check if it looks better.</p> <p><strong>Anthony</strong> (17:41:10): > Hi All, I’m having a hard time getting docker/github workflows for my Bioc workshop. I tried to make a small toy package to reproduce the issue but I’m still having trouble</p> <p><strong>Anthony</strong> (17:41:58): > <a href="https://github.com/anfederico/rpkgs/runs/809009287?check_suite_focus=true">I</a>t’s failing when it tries to run docker:<a href="https://github.com/anfederico/rpkgs/runs/809009287?check_suite_focus=true">https://github.com/anfederico/rpkgs/runs/809009287?check_suite_focus=true</a></p> <p><strong>Anthony</strong> (17:42:23): > Seems due to a symlink error? > <code>> Error in dyn.load(file, DLLpath = DLLpath, ...) : > unable to load shared object '/usr/local/lib/R/site-library/igraph/libs/igraph.so': > libglpk.so.40: cannot open shared object file: No such file or directory > Calls: <Anonymous> ... namespaceImport -> loadNamespace -> library.dynam -> dyn.load > Execution halted > ERROR: lazy loading failed for package 'rpkgs' > * removing '/usr/local/lib/R/site-library/rpkgs' ></code></p> <p><strong>Anthony</strong> (17:42:34): > Any advice would be great, I’m stumped</p> <p><strong>Martin Morgan</strong> (17:50:34): > <span class="citation" data-cites="Anthonythere">@Anthonythere</span> are a few messages upstream, e.g.,<a href="https://community-bioc.slack.com/archives/CJDMYKG2U/p1592955091199500?thread_ts=1592952828.198900&cid=CJDMYKG2U">https://community-bioc.slack.com/archives/CJDMYKG2U/p1592955091199500?thread_ts=1592952828.198900&cid=CJDMYKG2U</a>I’ll also mention that I think I understand the problem, and we’ll try (maybe not in time to save others a similar headache) to update the bioconductor_docker image. - Attachment: <a href="https://community-bioc.slack.com/archives/CJDMYKG2U/p1592955091199500?thread_ts=1592952828.198900&cid=CJDMYKG2U">Attachment</a> > Does this help? <a href="https://community-bioc.slack.com/archives/CJDMYKG2U/p1592525194184700?thread_ts=1591015651.130600&cid=CJDMYKG2U">https://community-bioc.slack.com/archives/CJDMYKG2U/p1592525194184700?thread_ts=1591015651.130600&cid=CJDMYKG2U</a></p> <p><strong>Petr Smirnov</strong> (18:15:26) (in thread): > Perfect, all our links work now. Thank you!</p> <p><strong>Sean Davis</strong> (18:18:21): > <span class="citation" data-cites="AnthonyYou">@AnthonyYou</span>’ll want to add this to the Dockerfile in your repository:<a href="https://github.com/PeteHaitch/BioC2020_DelayedArray_workshop/commit/98558a6e9ed1d3d69907d6addba1f23fb6073a53">https://github.com/PeteHaitch/BioC2020_DelayedArray_workshop/commit/98558a6e9ed1d3d69907d6addba1f23fb6073a53</a></p> <p><strong>Anthony</strong> (18:47:49): > Ah</p> <p><strong>Anthony</strong> (18:47:56): > thank you Sean and Martin, much appreciated</p> </section> <section id="section-86" class="level2"> <h2>2020-07-04</h2> <p><strong>Umar Ahmad</strong> (08:21:24): > <span class="citation" data-cites="Umar">@Umar</span> Ahmad has joined the channel</p> </section> <section id="section-87" class="level2"> <h2>2020-07-07</h2> <p><strong>Sehyun Oh</strong> (22:37:08): > <span class="citation" data-cites="Sehyun">@Sehyun</span> Oh has joined the channel</p> </section> <section id="section-88" class="level2"> <h2>2020-07-08</h2> <p><strong>Qian Liu</strong> (11:13:47): > Hello, We need singularity runtime to run our workflow pipelines for real data examples. An additional option (<code>--privileged</code>) is required when starting docker to run singularity inside the container. I wonder if the workshop group could start a priviledged docker container for my workshop? ref/instructions are here:<a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html#container_definition_security">https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html#container_definition_security</a>Thank you very much! > <code>> $docker run --privileged -e PASSWORD=abc -p 8787:8787 liubuntu/bioc2020rcwl ></code> - Attachment (docs.aws.amazon.com): <a href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html#container_definition_security">Task definition parameters - Amazon Elastic Container Service</a> > Task definitions are split into separate parts: the task family, the IAM task role, the network mode, container definitions, volumes, task placement constraints, and launch types. The family and container definitions are required in a task definition, while task role, network mode, volumes, task placement constraints, and launch type are optional.</p> <p><strong>Sean Davis</strong> (11:57:58) (in thread): > As of now, the plan is to have folks run on their own laptops or to start a docker instance on their own in the cloud. We may find another solution, but we don’t have a centralized solution for the time being.</p> <p><strong>Anthony</strong> (13:44:06): > Just a heads up to whoever is in charge of the workshops, I finally got the pkgdown/docker image working so the<code>montilab/hypeR-workshop</code>workshop should be good now. The website listing the workshops may need to be re-rendered to display the source/docker links for this workshop though. Sorry for being so late!</p> <p><strong>Qian Liu</strong> (23:48:29) (in thread): > Thanks!<span class="citation" data-cites="Sean">@Sean</span> Davis</p> </section> <section id="section-89" class="level2"> <h2>2020-07-09</h2> <p><strong>Ludwig Geistlinger</strong> (15:12:00): > I see a recent hick-up in my workshop built (<a href="https://github.com/waldronlab/enrichOmics/runs/855149899?check_suite_focus=true">https://github.com/waldronlab/enrichOmics/runs/855149899?check_suite_focus=true</a>): > <code>> Bioconductor version 3.12 (BiocManager 1.30.10), ?BiocManager::install for help > * installing **source** package 'annotate' ... > **** using staged installation > **** R > **** data > **** inst > **** byte-compile and prepare package for lazy loading > Bioconductor version 3.12 (BiocManager 1.30.10), ?BiocManager::install for help > Error: (converted from warning) package 'XML' was built under R version 4.0.2 > Execution halted > ERROR: lazy loading failed for package 'annotate' > * removing '/usr/local/lib/R/site-library/annotate' > Error in i.p(...) : > (converted from warning) installation of package 'annotate' had non-zero exit status > Calls: <Anonymous> ... with_rprofile_user -> with_envvar -> force -> force -> i.p > Execution halted > ##[error]Process completed with exit code 1. ></code> > Is that something that I should address?</p> <p><strong>Charlotte Soneson</strong> (15:18:40): > Looks like a<code>remotes</code>issue - setting<code>R_REMOTES_NO_ERRORS_FROM_WARNINGS="true"</code>, it should not stop because of the warning that XML was built with a newer version of R. E.g.<a href="https://github.com/isee/iseeworkshop2020/actions/runs/150569287/workflow#L9-L10">https://github.com/isee/iseeworkshop2020/actions/runs/150569287/workflow#L9-L10</a></p> <p><strong>Ludwig Geistlinger</strong> (15:19:27): > Thanks! I’ll try that.</p> <p><strong>Martin Morgan</strong> (15:24:39): > So is XML being installed from the RStudio package manager (check where it’s being downloaded from…)? And what’s the version of R on the docker container? Hmm, and I guess you’re running the command in RStudio? (the<code>Error in i.p(...)</code>doesn’t look like base R?)</p> <p><strong>Ludwig Geistlinger</strong> (15:28:26) (in thread): > It’s the output from github actions, ie I don’t run it locally here on my machine …</p> <p><strong>Charlotte Soneson</strong> (15:29:06): > <code>> R_VERSION=4.0.0 > CRAN=[https://packagemanager.rstudio.com/all/__linux__/bionic/latest](https://packagemanager.rstudio.com/all/__linux__/bionic/latest) ></code> > I think<code>XML</code>(the mac binary) was just rebuilt on CRAN in the last day or two (supposedly with R 4.0.2).</p> <p><strong>Martin Morgan</strong> (15:41:32): > CRAN distributes source packages so it doesn’t matter about R version. If I start locally > <code>> $ docker run -it --rm bioconductor/bioconductor_docker:devel R ></code> > I end up with CRAN pointing to packagemanager > <code>> > BiocManager::repositories() > ... > CRAN > "[https://packagemanager.rstudio.com/all/__linux__/bionic/latest](https://packagemanager.rstudio.com/all/__linux__/bionic/latest)" ></code> > Installing XML is a fast binary installation and seems to go OK > <code>> > BiocManager::install("XML") > Bioconductor version 3.12 (BiocManager 1.30.10), R 4.0.0 (2020-04-24) > Installing package(s) 'XML' > trying URL '[https://packagemanager.rstudio.com/all/__linux__/bionic/latest/src/contrib/XML_3.99-0.4.tar.gz](https://packagemanager.rstudio.com/all/__linux__/bionic/latest/src/contrib/XML_3.99-0.4.tar.gz)' > Content type 'binary/octet-stream' length 1917357 bytes (1.8 MB) > ================================================== > downloaded 1.8 MB > > Bioconductor version 3.12 (BiocManager 1.30.10), ?BiocManager::install for help > * installing **binary** package 'XML' ... > * DONE (XML) > ... > > ></code> > But actually loading the package (as when it’s a dependency of another) leads to > <code>> > library(XML) > Warning message: > package 'XML' was built under R version 4.0.2 ></code> > For whatever reason and unlike for source packages, binary packages are installed but not loaded during the installation process, so they can be installed without issuing a warning (like here) or actually broken (like with igraph in an earlier discussion). > > Changing to use a source installation gets a much slower, of course, but correct installation (this is also true with igraph) > <code>> > options(repos = c(CRAN = "[https://cran.r-project.org](https://cran.r-project.org)")) > > BiocManager::repositories() > ... > CRAN > "[https://cran.r-project.org](https://cran.r-project.org)" > > BiocManager::install("XML") > Bioconductor version 3.12 (BiocManager 1.30.10), R 4.0.0 (2020-04-24) > Installing package(s) 'XML' > trying URL '[https://cran.r-project.org/src/contrib/XML_3.99-0.4.tar.gz](https://cran.r-project.org/src/contrib/XML_3.99-0.4.tar.gz)' > ... > > library(XML) > > ></code> > I guess this is a question of learning to work with RSPM. We’re working on things to make the docker containers, and BiocManager, deal better, but it’s useful to see these reports and figure out what the problems are…</p> <p><strong>Sean Davis</strong> (20:23:09): > Just a note that the GitHub actions for the workshops includes a<strong><em>package caching step.</em></strong>Reverting to<code>source</code>installs will be slow the first time around, but subsequent builds will use the cache. Cache-busting occurs with any changes to the workshop package dependencies and will result in another full install from source.</p> <p><strong>Sean Davis</strong> (20:27:20): > If folks would like to avoid the changes upstream in the docker image, you should be able to change this line:<a href="https://github.com/waldronlab/enrichOmics/blob/master/.github/workflows/basic_checks.yaml#L5">https://github.com/waldronlab/enrichOmics/blob/master/.github/workflows/basic_checks.yaml#L5</a>to pin a specific docker image tag. Doing so will ensure that as the Bioc docker image changes in response to upstream changes in the rstudio image do not reach your workshop directly.</p> <p><strong>Ludwig Geistlinger</strong> (20:59:33): > Many thanks, Charlotte, Martin, and Sean. Just to report back: adding<code>R_REMOTES_NO_ERRORS_FROM_WARNINGS=true</code>to the<code>basic_checks.yaml</code>, but also to the<code>Dockerfile</code>, fixed this for me. I understand from Martin’s comment that I could have achieved this also by changing the repo from which the packages are installed within the container. If I understand correctly, Sean’s comment seems to be especially useful for eventually freezing the workshop built, so that once successfully built, my workshop is not affected by things breaking upstream (which is, of course, something frequent when compiling against devel).</p> <p><strong>Sean Davis</strong> (23:17:20) (in thread): > I think there are two issues here with respect to versioning. In your case, the problem seems to be from a change in the underlying docker container and defaults used to install packages. By freezing the docker container version, you can avoid such changes. However, the software packages themselves cannot be easily frozen without using additional techniques such as the<code>renv</code>approach that utilizes archival versions of software packages to allow isolated, stable package versioning. You are correct that once you have a built and working Docker image, by whatever means, you are good-to-go and can always come back to that if necessary. Note that the DockerImage url tag in the Description file can include a hash if you want to pin the workshop to a particular Docker build.</p> </section> <section id="section-90" class="level2"> <h2>2020-07-10</h2> <p><strong>Ludwig Geistlinger</strong> (09:37:55) (in thread): > Thanks, Sean!</p> </section> <section id="section-91" class="level2"> <h2>2020-07-11</h2> <p><strong>Sean Davis</strong> (11:55:31) (in thread): > Haven’t tried it yet, but:<a href="https://github.com/nektos/act">https://github.com/nektos/act</a>Run your GitHub Actions locally</p> </section> <section id="section-92" class="level2"> <h2>2020-07-12</h2> <p><strong>Maria Doyle</strong> (22:58:47): > Hello, we have encountered a new error with the GH actions check step with our repo and wondering if anyone can help solve?<a href="https://github.com/stemangiola/bioc_2020_tidytranscriptomics/runs/863831983?check_suite_focus=true">https://github.com/stemangiola/bioc_2020_tidytranscriptomics/runs/863831983?check_suite_focus=true</a> > <code>> package or namespace load failed for 'tidyr' in dyn.load(file, DLLpath = DLLpath, ...): > unable to load shared object '/usr/local/lib/R/site-library/Rcpp/libs/Rcpp.so': > /usr/local/lib/R/site-library/Rcpp/libs/Rcpp.so: undefined symbol: EXTPTR_PTR ></code> > Do we need to pin some version?</p> <p><strong>Maria Doyle</strong> (23:50:28) (in thread): > Hello, sorry took me a while to get the info and to get the time to figure out how to implement it. But finished it today and our workshop now complies with FAIR (according to TeSS contact). Here’s the info I got and the steps for what did in case anyone else is interested… > > Rule 3 > > Can get DOI from Zenodo as described here:<a href="https://guides.github.com/activities/citable-code/">https://guides.github.com/activities/citable-code/</a>* Log into Zenodo<a href="https://zenodo.org/">https://zenodo.org/</a>using your Github credentials > > * Click Authorise application to allow Zenodo to access your Github and configure webhooks > > * Click “On” next to the workshop repository (See screenshot in guide above) > > * Create a Release for the workshop in it’s github repo e.g. v1.0.0 > > * That triggers an upload of an archive of the release into Zenodo > > * In Zenodo click Publish > > * Recommended to add some metadata to the entry in Zenodo (e.g. from DESCRIPTION file, similar to what you put in TeSS below) > > Optional: Add the DOI badge into the workshop github (right click on the gray and blue DOI image and copy the URL and place it in your README on your GitHub repo) > > > > Our Zenodo entry:<a href="https://zenodo.org/record/3929366">https://zenodo.org/record/3929366</a>Our Github repo with DOI badge:<a href="https://github.com/stemangiola/bioc_2020_tidytranscriptomics">https://github.com/stemangiola/bioc_2020_tidytranscriptomics</a> > Rule 4 > > Can register in TeSS > > * Create account in TeSS > > * Register material<a href="https://tess.elixir-europe.org/materials/new">https://tess.elixir-europe.org/materials/new</a>Add DOI e.g. from Zenodo > > Add some metadata e.g. from DESCRIPTION file > > Optional: Register an event for the workshop<a href="https://tess.elixir-europe.org/events/new">https://tess.elixir-europe.org/events/new</a>and link the training material to it > > > > Our TeSS training material entry:<a href="https://tess.elixir-europe.org/materials/a-tidy-transcriptomics-introduction-to-rna-seq-analyses">https://tess.elixir-europe.org/materials/a-tidy-transcriptomics-introduction-to-rna-seq-analyses</a>Our TeSS event entry:<a href="https://tess.elixir-europe.org/events/a-tidy-transcriptomics-introduction-to-rna-seq-analyses">https://tess.elixir-europe.org/events/a-tidy-transcriptomics-introduction-to-rna-seq-analyses</a> > Rule 7 > > TrainingMaterial Bioschemas has descriptors:<a href="https://bioschemas.org/profiles/TrainingMaterial/0.7-DRAFT-2019_11_08/">https://bioschemas.org/profiles/TrainingMaterial/0.7-DRAFT-2019_11_08/</a>Minimum descriptors are: Description, Keywords and Name which are equivalent to Description, bioViews and Title in the DESCRIPTION file. There are metadata fields for those fields that can be filled out in Zenodo and TeSS. Could add others from the recommended list in that bioschemas file. > Rule 9 > > I adapted a version of the Galaxy Training Material Contributing file as a start and let Berenice (from the FAIR paper & project lead for Galaxy Training Material project) know. Could maybe simplify further. > > > > Our Contributing file:<a href="https://github.com/stemangiola/bioc_2020_tidytranscriptomics/blob/master/CONTRIBUTING.md">https://github.com/stemangiola/bioc_2020_tidytranscriptomics/blob/master/CONTRIBUTING.md</a></p> </section> <section id="section-93" class="level2"> <h2>2020-07-13</h2> <p><strong>Levi Waldron</strong> (05:48:33) (in thread): > Yes, I just encountered this since yesterday (<a href="https://github.com/waldronlab/PublicDataResources/runs/864589888">https://github.com/waldronlab/PublicDataResources/runs/864589888</a>). I’ll try a fix along the lines of above re: igraph, xml2, and libglpk. Seems like a lot of problems caused by installation of binary packages from<a href="http://packagemanager.rstudio.com">packagemanager.rstudio.com</a>.</p> <p><strong>Peter Hickey</strong> (06:30:53): > any suggestions for software for recording workshops? thinking of screencast + audio (+ possibly video of me, although I don’t know if that adds much)</p> <p><strong>Levi Waldron</strong> (06:33:06) (in thread): > Could always use Zoom (even with a few friends to simulate an audience if that helps!)</p> <p><strong>Levi Waldron</strong> (06:37:30) (in thread): > I’ve used Camtasia for recording+editing, but it has a bit of a learning curve (not too much, but maybe an extra hour at the start for learning basic editing tasks) and it costs after the trial period if your workplace doesn’t have a license.</p> <p><strong>Charlotte Soneson</strong> (06:40:58) (in thread): > Not sure if it’s the same error as indicated here (which suggests that R 4.0.0 and Rcpp 1.0.5 may not play well together):<a href="https://github.com/RcppCore/Rcpp/issues/1103">https://github.com/RcppCore/Rcpp/issues/1103</a></p> <p><strong>Maria Doyle</strong> (06:48:01) (in thread): > I’ve used Zoom (although so far only for short <10min videos that didn’t need editing) and was given these notes which helped: > > First make sure that your Zoom preferences are set correctly. You need to check the box that says “Optimise for 3rd Party video editor” and choose where you want the recordings to be saved. > > > > To prepare for a recording I make detailed script notes for each slide and print them off or send to an ipad or other device. > > > > To make a recording: > > Open zoom and start a new meeting > > Stop your video recording (if you don’t want to record a video of yourself) > > Share your screen > > Ensure your screen is showing your slides (presentation mode for Google slides, or power point) > > Start recording by rolling the mouse to the top of the screen you are sharing to reveal options > > Click on the ellipsis (…) and click on “Record on this computer” or use keyboard short > > It won’t convert and save the recording until you leave or close the meeting. > > You can pause the recording and then add some more to the same recording. > > If you stop the recording it will start a new recording and when you leave the meeting you will have multiple recordings for that meeting. > But I was thinking of trying Camtasia to make a recording for this workshop.</p> <p><strong>Maria Doyle</strong> (06:55:37) (in thread): > Oh thanks for the info, so if it is that issue could we use R 4.0.2 to solve it (from that link)? > > It is related to an inadvertent change in R 4.0.0 that is fixed in R 4.0.2. Simply upgrade to R 4.0.2 — for which you do NOT need to reinstall any library. It is not really an issue with Rcpp (though we since added one patch to be even more defensive about this).</p> <p><strong>Levi Waldron</strong> (07:08:42) (in thread): > It seems I fixed this by adding a line in .github/workflows/basic_checks.yaml that causes dependencies to be installed from source, from@Martin Morgan’s suggestion from Thursday: > <code>> options(repos = c(CRAN = "[https://cran.r-project.org](https://cran.r-project.org)")) ></code> > See where I put it in the file here:<a href="https://github.com/waldronlab/PublicDataResources/blob/dcac90486b237c1194fa8d9897019b84a2ecd30f/.github/workflows/basic_checks.yaml#L37">https://github.com/waldronlab/PublicDataResources/blob/dcac90486b237c1194fa8d9897019b84a2ecd30f/.github/workflows/basic_checks.yaml#L37</a></p> <p><strong>Levi Waldron</strong> (07:36:46) (in thread): > As for moving to R 4.0.2, it would require a change to the rocker dependency in<a href="https://github.com/Bioconductor/bioconductor_docker/blob/master/Dockerfile">bioconductor/bioconductor_docker</a>. I opened an issue (<a href="https://github.com/Bioconductor/bioconductor_docker/issues/14">https://github.com/Bioconductor/bioconductor_docker/issues/14</a>) for the question, but it doesn’t seem like such a quick decision to make so I think the immediate solution is just to install dependencies from source as above.</p> <p><strong>Maria Doyle</strong> (08:17:49) (in thread): > Thanks for the info, I’ve tried adding that line and it passed the check (great) but now it’s failing at the next step:disappointed:<a href="https://github.com/stemangiola/bioc_2020_tidytranscriptomics/runs/865023550?check_suite_focus=true">https://github.com/stemangiola/bioc_2020_tidytranscriptomics/runs/865023550?check_suite_focus=true</a><code>Run docker/build-push-action@v1</code> > <code>> Error in dyn.load(file, DLLpath = DLLpath, ...) : unable to load shared object '/usr/local/lib/R/site-library/Rcpp/libs/Rcpp.so': > /usr/local/lib/R/site-library/Rcpp/libs/Rcpp.so: undefined symbol: EXTPTR_PTR ></code></p> <p><strong>Martin Morgan</strong> (09:21:22) (in thread): > We (i.e.,<span class="citation" data-cites="Nitesh">@Nitesh</span> Turaga) <strong>do</strong> plan to update the bioconductor_docker to use R 4.0.2…, probably for both the release 3.11 and devel branches, since these are the R versions that users and developers are seeing outside the docker environment…</p> <p><strong>Nitesh Turaga</strong> (09:25:35) (in thread): > I’ve contacted rocker about them creating a base image for R-4.0.2 on ubuntu 18.04. Currently all their images for R-4.0.2 are based on Ubuntu 20.04.</p> <p><strong>Nitesh Turaga</strong> (09:25:37) (in thread): > <a href="https://github.com/rocker-org/rocker-versioned2/tree/master/dockerfiles">https://github.com/rocker-org/rocker-versioned2/tree/master/dockerfiles</a></p> <p><strong>Nitesh Turaga</strong> (09:26:08) (in thread): > I’ll have more information about this soon, or we can do something more manual to get this done for the conference since it’s coming up shortly.</p> <p><strong>Levi Waldron</strong> (09:36:12): > set the channel topic: Building Bioconductor workshops</p> <p><strong>Ludwig Geistlinger</strong> (09:37:03) (in thread): > <span class="citation" data-cites="Maria">@Maria</span> DoyleI presume you would then also need to adapt your<code>Dockerfile</code>, ie changing the last line to<code>RUN Rscript -e "devtools::install('.', dependencies=TRUE, repos =</code> > <code>> c(CRAN = '[https://cran.r-project.org](https://cran.r-project.org)') ></code> > <code>, build_vignettes = TRUE)"</code></p> <p><strong>Jianhong</strong> (10:14:11): > <span class="citation" data-cites="Jianhong">@Jianhong</span> has joined the channel</p> <p><strong>Ludwig Geistlinger</strong> (11:47:34) (in thread): > However, installing from CRAN (<a href="https://github.com/waldronlab/enrichOmics/runs/865414274?check_suite_focus=true">https://github.com/waldronlab/enrichOmics/runs/865414274?check_suite_focus=true</a>) leads then for my workshop to a problem with<code>VariantAnnotation</code>in the<em>Run docker/build-push-action@v1 </em>step > <code>> * installing **source** package 'VariantAnnotation' ... > installing to /tmp/RtmpKf3KIl/Rinst6268786089df/00LOCK-VariantAnnotation/00new/VariantAnnotation/libs > E> **** R > E> **** inst > E> **** byte-compile and prepare package for lazy loading > E> Warning message: > E> multiple methods tables found for 'which' > E> Warning: undefined slot classes in definition of "VcfFileList": elementMetadata(class "DataTable_OR_NULL") > E> Error in setIs(class2, cli, extensionObject = obji, doComplete = FALSE, : > E> class "VcfFileList" cannot extend class "SimpleList": slot in class "VcfFileList" must extend corresponding slot in class "SimpleList": fails for elementMetadata > E> Error in setClass("VcfFileList", contains = "TabixFileList", prototype = prototype(elementType = "VcfFile")) : > E> error in contained classes ("TabixFileList") for class "VcfFileList"; class definition removed from 'VariantAnnotation' > E> Error: unable to load R code in package 'VariantAnnotation' > E> Execution halted > E> ERROR: lazy loading failed for package 'VariantAnnotation' ></code></p> <p><strong>Martin Morgan</strong> (11:53:38) (in thread): > VariantAnnotation is building<a href="http://bioconductor.org/checkResults/devel/bioc-LATEST/VariantAnnotation/">http://bioconductor.org/checkResults/devel/bioc-LATEST/VariantAnnotation/</a>so this looks like a version conflict (unrelated to CRAN repository). Perhaps first<code>BiocManager::install(update = TRUE, ask=FALSE)</code>to get current versions of all packages, including the few pre-installed on the docker image, and then installing other packages…</p> <p><strong>Ludwig Geistlinger</strong> (11:56:06) (in thread): > Thanks, I’ll try that</p> <p><strong>Levi Waldron</strong> (11:57:07) (in thread): > Sure looks like a cached class definition</p> <p><strong>Levi Waldron</strong> (12:00:08) (in thread): > Since this is happening in a Docker built on bioconductor_docker, it’d be good for@Nitesh Turagato check it out.</p> <p><strong>Nitesh Turaga</strong> (12:06:31) (in thread): > What exactly am I checking out, sorry, I missed out on the discussion a little here. But rest assured, the docker image for 4.0.2 will be out soon on Ubuntu 18.04. I’ve opened a PR to rocker, and they should merge it soon hopefully.</p> <p><strong>Levi Waldron</strong> (12:31:13) (in thread): > Do you get the same error as the above GitHub actions URL if you try to build Dockerfile<a href="https://github.com/waldronlab/enrichOmics/blob/master/Dockerfile">https://github.com/waldronlab/enrichOmics/blob/master/Dockerfile</a>? If not, why not?</p> <p><strong>Nitesh Turaga</strong> (12:35:33): > Continuing this thread here,<a href="https://community-bioc.slack.com/archives/CJDMYKG2U/p1594657873250800?thread_ts=1594609127.244300&cid=CJDMYKG2U">https://community-bioc.slack.com/archives/CJDMYKG2U/p1594657873250800?thread_ts=1594609127.244300&cid=CJDMYKG2U</a> - Attachment: <a href="https://community-bioc.slack.com/archives/CJDMYKG2U/p1594657873250800?thread_ts=1594609127.244300&cid=CJDMYKG2U">Attachment</a> > Do you get the same error as the above GitHub actions URL if you try to build Dockerfile <a href="https://github.com/waldronlab/enrichOmics/blob/master/Dockerfile">https://github.com/waldronlab/enrichOmics/blob/master/Dockerfile</a>? If not, why not?</p> <p><strong>Nitesh Turaga</strong> (12:35:49): > I’m building it now@Levi Waldronto check if I can reproduce the error.</p> <p><strong>Levi Waldron</strong> (12:35:56) (in thread): > Actually to reproduce you should also run the rest of the code in the .github/workflows/basic_checks.yaml chunk titled docker/build-push-action@v1<a href="https://github.com/waldronlab/enrichOmics/blob/967db8e531ff0ad6fee3e301ad9be9bc774be319/.github/workflows/basic_checks.yaml#L47">https://github.com/waldronlab/enrichOmics/blob/967db8e531ff0ad6fee3e301ad9be9bc774be319/.github/workflows/basic_checks.yaml#L47</a></p> <p><strong>Levi Waldron</strong> (12:45:03) (in thread): > Should have said, not just that chunk but everything preceding it…</p> <p><strong>Levi Waldron</strong> (12:47:06): > It’s not a regular user-with-broken-configuration, so it’d be good to understand what’s happening. It looks like a class definition got cached from a previous installation that should have changed but didn’t, maybe related to changing CRAN source in the last commit to prevent binary package installation. Maybe someone changed a class definition without bumping version?</p> <p><strong>Martin Morgan</strong> (13:12:29) (in thread): > Changing a class version without version bump is an@Hervé Pagèsspeciality, although usually Hervé is very good with the core packages. This seems like a complex interaction between core packages, docker images, RStudio package manager, … It seems like CRAN has nothing to do with Bioconductor packages. Cached package versions could well play havoc… It would be very good to figure out how to ‘thread the needle’ without having to involve docker builds, Bioconductor package versions, etc.</p> <p><strong>Mikhail Dozmorov</strong> (14:08:15) (in thread): > I’m running into the same<code>Rcpp.so</code>error with<code>edgeR</code>package. 20 days ago everything worked. Adding<code>RUN Rscript -e "BiocManager::install(update = TRUE, ask=FALSE)"</code>to Dockerfile doesn’t help. Building locally,<code>docker build --build-arg NCPUS=15 . -t tmp</code>, GH-actions fail. Giving up, any suggestions? > <code>> Bioconductor version 3.12 (BiocManager 1.30.10), ?BiocManager::install for help > Error in dyn.load(file, DLLpath = DLLpath, ...) : > unable to load shared object '/usr/local/lib/R/site-library/Rcpp/libs/Rcpp.so': > /usr/local/lib/R/site-library/Rcpp/libs/Rcpp.so: undefined symbol: EXTPTR_PTR ></code></p> <p><strong>Kayla Interdonato</strong> (14:55:28): > I’m having some system dependency issues when trying to build my workshop,<a href="https://github.com/Kayla-Morrell/CreateAPackage/runs/866434322?check_suite_focus=true">https://github.com/Kayla-Morrell/CreateAPackage/runs/866434322?check_suite_focus=true</a>, > <code>> The following packages have unmet dependencies: > libgit2-dev : Depends: libcurl4-gnutls-dev but it is not going to be installed > E: Unable to correct problems, you have held broken packages. > ##[error]Process completed with exit code 100. ></code> > Any suggestions on how to fix this?</p> <p><strong>Levi Waldron</strong> (15:15:37) (in thread): > Wow, this isn’t even coming from an R package, but it stems from a system installation initiated by<code>Rscript -e "remotes::install_github('r-hub/sysreqs')"</code>. And this workshop has such minimal requirements. > <code>> Some packages could not be installed. This may mean that you have > requested an impossible situation or if you are using the unstable > distribution that some required packages have not yet been created > or been moved out of Incoming. > The following information may help to resolve the situation: > > The following packages have unmet dependencies: > libgit2-dev : Depends: libcurl4-gnutls-dev but it is not going to be installed > E: Unable to correct problems, you have held broken packages. > ##[error]Process completed with exit code 100. ></code></p> <p><strong>Mikhail Dozmorov</strong> (15:17:08) (in thread): > Perhaps, adding<code>RUN apt-get install libcurl4-gnutls-dev</code>to the Docker file would help?</p> <p><strong>Levi Waldron</strong> (15:18:51) (in thread): > Probably could only help if it’s something wrong with<code>r-hub/sysreqs</code>, which is possible. Don’t know why it’s coming up for this workshop though. Would use<code>apt-get -y</code>to make sure it doesn’t get stopped by a<code>y/n</code>question.</p> <p><strong>Levi Waldron</strong> (15:25:27) (in thread): > This is a new problem since yesterday. Changing the CRAN mirror like this Dockerfile (<a href="https://github.com/waldronlab/PublicDataResources/blob/master/Dockerfile">https://github.com/waldronlab/PublicDataResources/blob/master/Dockerfile</a>) and this .github/workflows/basic_checks.yaml (<a href="https://github.com/waldronlab/PublicDataResources/blob/master/.github/workflows/basic_checks.yaml">https://github.com/waldronlab/PublicDataResources/blob/master/.github/workflows/basic_checks.yaml</a>) fixed it for me, although it created a new problem for@Ludwig Geistlinger…</p> <p><strong>Levi Waldron</strong> (15:59:01) (in thread): > <span class="citation" data-cites="Kayla">@Kayla</span> InterdonatoI think there actually is something wrong with the sysreqs package. Using your Docker container (basically bioconductor/bioconductor_docker) and DESCRIPTION file, I see this: > <code>> > readLines("DESCRIPTION") > [1] "Package: CreateAPackage" > [2] "Title: Material on how to create and submit a package to Bioconductor" > [3] "Version: 0.1.1" > [4] "Authors@R\": c(" > [5] " person(\"Kayla\", \"Interdonato\", role=c(\"aut\", \"cre\")," > [6] " email = \"kayla.morrell@roswellpark.org\")," > [7] " person(\"Lori\", \"Shepherd\", role = \"aut\"," > [8] " email = \"lori.shepherd@roswellpark.org\"))" > [9] "Description: The vignette provided has a basic sketch of the steps we " > [10] " ineractively will go through to build a package with devtools, explains " > [11] " version control with git, provides links to github, gives Bioconductor " > [12] " advice, and lays out the process of submitting to Bioconductor." > [13] "License: Artistic-2.0" > [14] "Encoding: UTF-8" > [15] "LazyDate: true" > [16] "Roxygen: list(markdown = TRUE)" > [17] "RoxygenNote: 7.1.0" > [18] "Depends: devtools" > [19] "Suggests: knitr," > [20] " rmarkdown," > [21] " testthat," > [22] " BiocStyle," > [23] " roxygen2," > [24] " pkgdown" > [25] "URL:[https://Kayla-Morrell.github.io/CreateAPackage/](https://Kayla-Morrell.github.io/CreateAPackage/)" > [26] "BugReports:[https://github.com/Kayla-Morrell/CreateAPackage/issues](https://github.com/Kayla-Morrell/CreateAPackage/issues)" > [27] "VignetteBuilder: knitr" > [28] "DockerImage: kaylainterdonato01/createapackage:latest" > > sysreqs::sysreq_commands('DESCRIPTION') > Error in if (rver == "r-devel" && os == "linux") { : > missing value where TRUE/FALSE needed > > ></code> > Rather than figure that out, I submitted a PR just getting rid of the workflow section that tries to install system dependencies from your DESCRIPTION, which you don’t use anyway (<a href="https://github.com/Kayla-Morrell/CreateAPackage/pulls">https://github.com/Kayla-Morrell/CreateAPackage/pulls</a>). If you actually do need to install libcurl4-gnutls-dev, maybe better just to install it from the Docker file<a href="https://github.com/Kayla-Morrell/CreateAPackage/commit/4411e0226bd8708169e391fc7d44c1618070861d#diff-3254677a7917c6c01f55212f86c57fbf">like you did earlier</a>.</p> <p><strong>Mikhail Dozmorov</strong> (15:59:02) (in thread): > Setting<code>options(repos = c(CRAN = '</code><a href="https://cran.r-project.org">https://cran.r-project.org</a><code>'))</code>didn’t help, although the same error now appears with the<code>RcppArmadillo</code>package. I noted that locally Bioconductor v3.11 is used, but Docker build uses v3.12. Not sure if this causes issues, but so far the error remains > <code>> ERROR: lazy loading failed for package 'RcppArmadillo' > * removing '/usr/local/lib/R/site-library/RcppArmadillo' > Error in i.p(...) : > (converted from warning) installation of package 'RcppArmadillo' had non-zero exit status > Calls: <Anonymous> ... with_rprofile_user -> with_envvar -> force -> force -> i.p > Execution halted > The command '/bin/sh -c Rscript -e "options(repos = c(CRAN = '[https://cran.r-project.org](https://cran.r-project.org)')); devtools::install('.', dependencies=TRUE, repos = BiocManager::repositories())"' returned a non-zero code: 1 ></code></p> <p><strong>Levi Waldron</strong> (16:01:34) (in thread): > Did you make the change both in your Dockerfile and basic_checks.yaml? Because the image gets built and packages installed twice. Perhaps better to provide links to the GitHub Actions or Dockerhub output directly than just code blocks.</p> <p><strong>Mikhail Dozmorov</strong> (16:03:01) (in thread): > No, have been building locally. I’ll modify basic_checks and push to GH-actions.</p> <p><strong>Levi Waldron</strong> (16:05:53) (in thread): > I did notice the behavior you mentioned about a Bioconductor 3.11 message when trying to build locally: > <code>> waldronlab/metagenomics|~/dockerhome/git/CreateAPackage$ docker build . > Sending build context to Docker daemon 95.74kB > Step 1/4 : FROM bioconductor/bioconductor_docker:devel > ---> 1bc2f5769aa9 > Step 2/4 : WORKDIR /home/rstudio > ---> Running in 43f6d6775a8d > Removing intermediate container 43f6d6775a8d > ---> 150a223dfdf2 > Step 3/4 : COPY --chown=rstudio:rstudio . /home/rstudio/ > ---> 0bc95686a062 > Step 4/4 : RUN Rscript -e "devtools::install('.', dependencies=TRUE, build_vignettes=TRUE, repos = BiocManager::repositories())" > ---> Running in 74f5dcbffd6e > Error: Bioconductor version '3.11' requires R version '4.0'; see[https://bioconductor.org/install](https://bioconductor.org/install)Execution halted > Warning message: > 1 components of `...` were not used. > > We detected these problematic arguments: > * `repos` > > Did you misspecify an argument? > The command '/bin/sh -c Rscript -e "devtools::install('.', dependencies=TRUE, build_vignettes=TRUE, repos = BiocManager::repositories())"' returned a non-zero code: 1 ></code></p> <p><strong>Levi Waldron</strong> (16:06:20) (in thread): > Oddly, when I just tried again, it showed Bioconductor 3.12 and did not give this error.@Marcel Ramos Pérez@Nitesh Turagado you have any idea how a Dockerfile starting with “FROM bioconductor/bioconductor_docker:devel” could give an error message that prints Bioconductor 3.11?</p> <p><strong>Nitesh Turaga</strong> (16:08:36) (in thread): > Probably because the tag doesn’t match the image…..</p> <p><strong>Nitesh Turaga</strong> (16:09:20) (in thread): > Or devtools::install is trying to do something funny</p> <p><strong>Levi Waldron</strong> (16:09:39) (in thread): > What do you mean by “the tag doesn’t match the image” ?</p> <p><strong>Nitesh Turaga</strong> (16:10:12) (in thread): > “devel” tag somehow has Bioc3.11 instead of Bioc3.12:confused:</p> <p><strong>Nitesh Turaga</strong> (16:11:58) (in thread): > But that doesn’t seem to be the case…</p> <p><strong>Nitesh Turaga</strong> (16:12:16) (in thread): > It’s probably the<code>devtools::install()</code></p> <p><strong>Levi Waldron</strong> (16:12:48) (in thread): > Ah yes, in fact, I forgot to mention that I did this in between: > <code>> $ docker pull bioconductor/bioconductor_docker:devel > devel: Pulling from bioconductor/bioconductor_docker > d7c3167c320d: Already exists > 131f805ec7fd: Already exists > 322ed380e680: Already exists > 6ac240b13098: Already exists > ac272a52abbf: Already exists > 248a1b805461: Already exists > 19e42b0ef3d8: Already exists > bdf21bf64afa: Already exists > 16e59e8d977f: Already exists > 5bac81bf1251: Already exists > 6b43eb3818ce: Already exists > dcbe8bcb5f94: Already exists > 5dc9902d9c76: Already exists > 2fad9beb25d8: Already exists > 5dd4b0776263: Already exists > a0a18a3954ad: Already exists > d26e48b27a6e: Already exists > e41a1f38d8e5: Already exists > 9a3834d9796a: Already exists > 89d58c89a31b: Already exists > 0e0a276172b8: Already exists > Digest: sha256:2b14d545f7eab8c1b66f73913a797efedc0c6187be31fe7818f7939711722ea8 > Status: Downloaded newer image for bioconductor/bioconductor_docker:devel > docker.io/bioconductor/bioconductor_docker:devel ></code></p> <p><strong>Ludwig Geistlinger</strong> (16:13:52) (in thread): > check here@C. Mirzayi (please do not tag this account)</p> <p><strong>Levi Waldron</strong> (16:13:57) (in thread): > <span class="citation" data-cites="Mikhail">@Mikhail</span> Dozmorovmake sure to do<code>docker pull bioconductor/bioconductor_docker:devel</code>before building locally…</p> <p><strong>C. Mirzayi (please do not tag this account)</strong> (16:13:58): > <span class="citation" data-cites="C">@C</span>. Mirzayi (please do not tag this account) has joined the channel</p> <p><strong>Mikhail Dozmorov</strong> (16:25:03) (in thread): > Looks like I have it current<code>Image is up to date for bioconductor/bioconductor_docker:devel</code></p> <p><strong>Nitesh Turaga</strong> (16:32:18) (in thread): > <code>> ~/D/b/rocker-versioned2 ❯❯❯ docker run -it bioconductor/bioconductor_docker:devel R -e "BiocManager::version()" master ⬆ > > R version 4.0.0 (2020-04-24) -- "Arbor Day" > Copyright (C) 2020 The R Foundation for Statistical Computing > Platform: x86_64-pc-linux-gnu (64-bit) > > R is free software and comes with ABSOLUTELY NO WARRANTY. > You are welcome to redistribute it under certain conditions. > Type 'license()' or 'licence()' for distribution details. > > R is a collaborative project with many contributors. > Type 'contributors()' for more information and > 'citation()' on how to cite R or R packages in publications. > > Type 'demo()' for some demos, 'help()' for on-line help, or > 'help.start()' for an HTML browser interface to help. > Type 'q()' to quit R. > > Bioconductor version 3.12 (BiocManager 1.30.10), ?BiocManager::install for help > > BiocManager::version() > [1] '3.12' ></code></p> <p><strong>Sean Davis</strong> (16:39:59): > When troubleshooting build problems, keep in mind that a large advantage of using Docker is testing interactively on a local docker instance is straightforward by running the bioconductor_docker:devel container locally. GitHub actions just automates the command-lines listed in the workflow file. You can copy/paste the workflow command-lines into your local R inside docker and reproduce the workflow. You can just plop changes that result in a successful build back into the workflow and Dockerfile.</p> <p><strong>Sean Davis</strong> (16:42:42): > Also, someone asked on another slack about using bioconductor_docker:release instead of devel. That is also possible by changing the Dockerfile in the template repository and changing the docker container line in the workflow yaml file.</p> <p><strong>Ludwig Geistlinger</strong> (16:54:16) (in thread): > BTW I managed to get a clean build with the recommendations from Martin (<a href="https://github.com/waldronlab/enrichOmics/runs/866551687?check_suite_focus=true">https://github.com/waldronlab/enrichOmics/runs/866551687?check_suite_focus=true</a>) - however, a remaining concern is that it now skips latest changes in devel in the<em>Install dependencies </em>step, in particular it doesn’t incorporate latest changes that I made to<code>EnrichmentBrowser</code>(and which are needed for that workshop) > <code>> Run remotes::install_deps(dependencies = TRUE, repos = c(CRAN = "[https://cran.r-project.org](https://cran.r-project.org)")) > Bioconductor version 3.12 (BiocManager 1.30.10), ?BiocManager::install for help > Reporting... (NA -> 2.28.0 ) [CRAN] > Skipping 39 packages ahead of CRAN: EnrichmentBrowser, regioneR, ALL, airway, GenomicRanges, Biobase, DelayedArray, BiocGenerics, S4Vectors, IRanges, GenomeInfoDb, XVector, zlibbioc, annotate, graph, AnnotationDbi, Biostrings, KEGGgraph, Rgraphviz, geneplotter, limma, KEGGREST, rtracklayer, Rsamtools, BiocParallel, Rhtslib, GenomicAlignments, SummarizedExperiment, BSgenome, GSEABase, BiocFileCache, ComplexHeatmap, SPIA, biocGraph, edgeR, graphite, pathview, safe, topGO ></code></p> <p><strong>Levi Waldron</strong> (17:04:33) (in thread): > How did you get past<code>error in contained classes ("TabixFileList") for class "VcfFileList"; class definition removed from 'VariantAnnotation'?</code>Don’t tell me it just went away:weary:</p> <p><strong>Levi Waldron</strong> (17:05:15) (in thread): > <span class="citation" data-cites="Ludwig">@Ludwig</span> Geistlinger</p> <p><strong>Nitesh Turaga</strong> (17:05:58) (in thread): > Perhaps he tried<code>BiocManager::install(update = TRUE, ask=FALSE)</code>before installing packages?</p> <p><strong>Ludwig Geistlinger</strong> (17:14:25) (in thread): > Yes indeed, this is what I added:<a href="https://github.com/waldronlab/enrichOmics/blob/76eebd5663746c4b4d1c6caf7e50c18422e24dc1/Dockerfile#L9">https://github.com/waldronlab/enrichOmics/blob/76eebd5663746c4b4d1c6caf7e50c18422e24dc1/Dockerfile#L9</a></p> <p><strong>Levi Waldron</strong> (17:17:25) (in thread): > That’s some comfort at least. But@Nitesh Turagado you understand how that weird error could have happened otherwise?</p> <p><strong>Levi Waldron</strong> (17:17:54) (in thread): > And whether it had to do with package caching?</p> <p><strong>Nitesh Turaga</strong> (17:19:10) (in thread): > I’m trying to understand why, it looks like<code>TabixFileList</code>comes from RSamtools, but the<code>devel</code>image doesn’t have it installed already to cache anything.</p> <p><strong>Ludwig Geistlinger</strong> (17:20:45) (in thread): > Not sure whether it’s related but I also had a missing dependency<code>ReportingTools</code>(which in turn has<code>VariantAnnotation</code>in its dependency stack) - adding<code>ReportingTools</code>to the<code>Suggests</code>of my<code>DESCRIPTION</code>file might thus have also influenced that</p> <p><strong>Ludwig Geistlinger</strong> (17:21:20) (in thread): > <a href="https://github.com/waldronlab/enrichOmics/blob/76eebd5663746c4b4d1c6caf7e50c18422e24dc1/DESCRIPTION#L21">https://github.com/waldronlab/enrichOmics/blob/76eebd5663746c4b4d1c6caf7e50c18422e24dc1/DESCRIPTION#L21</a></p> <p><strong>Levi Waldron</strong> (17:35:12) (in thread): > Thing is, that line runs<code>BiocManager::install(update = TRUE, ask=FALSE)</code>before there are even any Bioconductor packages installed. Then it uses<code>devtools::install</code>to install all the Bioconductor dependencies. I wonder if<code>devtools::install</code>is the problem.</p> <p><strong>Nitesh Turaga</strong> (17:37:25) (in thread): > devtools::install is just trying to install the vignette package and dependencies right? Can we try “BiocManager::install(“waldronlab/enrichOmics”)” instead in that place?</p> <p><strong>Levi Waldron</strong> (17:39:58) (in thread): > I guess BiocManager doesn’t do BiocManager::install(“.”)?</p> <p><strong>Nitesh Turaga</strong> (17:40:36) (in thread): > No it doesn’t but it will fetch the repo from Github, it does that with the remotes package I believe.</p> <p><strong>Nitesh Turaga</strong> (17:41:04) (in thread): > You might be right that devtools::install() is doing something fishy</p> <p><strong>Levi Waldron</strong> (17:49:36) (in thread): > We’ll find out:<a href="https://github.com/waldronlab/enrichOmics/runs/867008856">https://github.com/waldronlab/enrichOmics/runs/867008856</a>(also running locally, but will be in bed before that finishes…)</p> <p><strong>Nitesh Turaga</strong> (17:49:54) (in thread): > Yeah, it’s so late for you in Italy!</p> <p><strong>Ludwig Geistlinger</strong> (17:50:52) (in thread): > Thanks, Levi!</p> <p><strong>Hervé Pagès</strong> (17:53:34): > <span class="citation" data-cites="Hervé">@Hervé</span> Pagès has joined the channel</p> <p><strong>Hervé Pagès</strong> (18:07:06) (in thread): > > Changing a class version without version bump is an@Hervé Pagèsspeciality > Excuse me? Let me put this straight: I<strong><em>always</em></strong>bump the version of the package where the class is defined. Now I happen to maintain core classes that sit very low in the big class hierarchy that we have in the ecosystem so I’m in a tricky position where many packages extend (directly or indirectly) the class that I modified. The number of package versions that I would need to bump to avoid these caching issues varies but it could easily be a few dozens. So no, I don’t always do it in a systematic way because this is quite impractical. It’s more on a case by case. Also these caching issues can generally easily be worked around by reinstalling a few packages on Linux. And for packages that are on CRAN, I don’t do anything because I can’t.</p> <p><strong>Martin Morgan</strong> (18:08:14) (in thread): > Please stick with BiocManager::install() for installing Bioconductor (and CRAN) packages.</p> <p><strong>Hervé Pagès</strong> (18:08:56): > <span class="citation" data-cites="Hervé">@Hervé</span> Pagès has left the channel</p> <p><strong>Jianhong</strong> (18:52:00): > Hi I am not sure I understand the how to generate the webpages. I do see a gh-pages branch under the workshop repositories. However I don’t know how to link it into my current<a href="http://github.io">github.io</a>subfolder. Is there any tutorial for that step? Thank you.</p> <p><strong>Peter Hickey</strong> (19:14:16) (in thread): > thank you both!</p> <p><strong>Sean Davis</strong> (19:41:51) (in thread): > <a href="http://jianhong.github.io/Bioc2020workshop/">http://jianhong.github.io/Bioc2020workshop/</a> - Attachment (jianhong.github.io): <a href="http://jianhong.github.io/Bioc2020workshop/">motifStackBiocWorkshop2020</a> > Use motifStack to represent multiple motifs with different similarity scores in one canvas.</p> <p><strong>Sean Davis</strong> (19:42:42) (in thread): > And the site looks fantastic,<span class="citation" data-cites="Jianhong">@Jianhong</span>!</p> <p><strong>Nitesh Turaga</strong> (21:03:48) (in thread): > Seems like this woked</p> <p><strong>Maria Doyle</strong> (21:08:06) (in thread): > Thanks for the info here! Using BiocManager::install(ourrepo) in the Dockerfile (<a href="https://github.com/stemangiola/bioc_2020_tidytranscriptomics/blob/master/Dockerfile#L7">https://github.com/stemangiola/bioc_2020_tidytranscriptomics/blob/master/Dockerfile#L7</a>) worked for me too</p> <p><strong>Jianhong</strong> (22:00:22) (in thread): > I manually copied the subfolder into that position. I thought it could be done automatically. I must miss something.</p> <p><strong>Jianhong</strong> (23:20:37) (in thread): > I see. I must select a theme for the github page. otherwise it will not publish.</p> </section> <section id="section-94" class="level2"> <h2>2020-07-14</h2> <p><strong>Nitesh Turaga</strong> (06:44:31) (in thread): > That’s really good@Maria Doyle!</p> <p><strong>Kayla Interdonato</strong> (10:41:01) (in thread): > Thanks@Levi Waldronand@Mikhail Dozmorovfor the suggestions! I’ll start working on this and hopefully resolve it soon. I was just so stumped since, like you mentioned, this package doesn’t have a lot of requirements (less to go wrong I suppose:laughing:).</p> <p><strong>Sean Davis</strong> (11:06:31) (in thread): > <span class="citation" data-cites="Jianhong">@Jianhong</span>, there is no need to copy anything into a subfolder. Your site is already published and is published automatically by GitHub actions. You don’t need to do anything else. In fact, copying stuff into a subfolder in your<a href="http://github.io">github.io</a>repo will not work since you have a repository called Bioc2020workshop. If there is still confusion, let me know. We can talk.</p> <p><strong>Sean Davis</strong> (11:08:09) (in thread): > Every push you make to your Bioc2020workshop repo will result in a new deployment of the workshop website.</p> <p><strong>Nitesh Turaga</strong> (13:47:09): > <span class="citation" data-cites="Levi">@Levi</span> WaldronCan I update the bioconductor/bioconductor_docker:devel image, or should I wait till the workshop images are “frozen” on the 16th? I’ll be updating the bioconductor/bioconductor_docker:devel images to run on the latest rocker images which run on Ubuntu 20.04. > > Also, what exactly entails the images being frozen? Will be stop being built based on pushes?</p> <p><strong>Levi Waldron</strong> (13:48:35): > I think they will not really be “frozen” - perhaps you could create a tag for the current image that authors can use if the change breaks anything, then go ahead?</p> <p><strong>Nitesh Turaga</strong> (13:53:03): > ok, I can create a tag called<code>bioc2020</code>once the deadline passes on the 16th and make my updates to bioconductor/bioconductor_docker:devel. Does that sound reasonable?</p> <p><strong>Levi Waldron</strong> (13:53:13): > Yep.</p> <p><strong>Nitesh Turaga</strong> (13:53:32): > Great! Thanks Levi.</p> <p><strong>Sean Davis</strong> (15:31:55): > <span class="citation" data-cites="Nitesh">@Nitesh</span> Turaga, the workshop authors have complete control over the docker image. The “freeze” will be up to individual authors. Same goes for individual workshop website and materials.</p> <p><strong>Nitesh Turaga</strong> (15:35:11): > I see! Thanks@Sean Davis</p> <p><strong>Levi Waldron</strong> (15:48:50): > I see the bioc2020 tag just as a convenience in case updates to the bioconductor_docker image break some workshops. On the other hand, a non-building Docker file will never replace an already built image and pkgdown site, so maybe it’s not so important.</p> <p><strong>Mikhail Dozmorov</strong> (22:11:05): > The<code>unable to load shared object '/usr/local/lib/R/site-library/Rcpp/libs/Rcpp.so'</code>discussed in this<a href="https://community-bioc.slack.com/archives/CJDMYKG2U/p1594657873250800?thread_ts=1594609127.244300&cid=CJDMYKG2U">thread</a>is very persistent and damaging. When using local<code>bioconductor/bioconductor_docker:devel</code>, the workshop image builds but fails with the<code>Rcpp.so</code>error when submitted to GitHub Actions. Even after brute-force installing individual packages in the<a href="https://github.com/mdozmorov/HiCcompareWorkshop/blob/master/Dockerfile">Dockerfile using BiocManager::install(</a>) and successfully creating<a href="https://hub.docker.com/repository/docker/mdozmorov/hiccompareworkshop">Docker image</a>with GH Actions, the image itself is still unusable. RStudio from the workshop container throws the<code>Rcpp.so</code>error when trying to load the<code>readr</code>package. Google helps little, perhaps,<a href="https://github.com/RcppCore/Rcpp/issues/662#issuecomment-290486304">Dirk’s answer</a>is the most informative. Any suggestions how can this be solved for the workshops? - Attachment: <a href="https://community-bioc.slack.com/archives/CJDMYKG2U/p1594657873250800?thread_ts=1594609127.244300&cid=CJDMYKG2U">Attachment</a> > Do you get the same error as the above GitHub actions URL if you try to build Dockerfile <a href="https://github.com/waldronlab/enrichOmics/blob/master/Dockerfile">https://github.com/waldronlab/enrichOmics/blob/master/Dockerfile</a>? If not, why not?</p> </section> <section id="section-95" class="level2"> <h2>2020-07-15</h2> <p><strong>Levi Waldron</strong> (02:06:34) (in thread): > <span class="citation" data-cites="Mikhail">@Mikhail</span> DozmorovI think you’re still not installing from source. You shouldn’t need to do individual package installation; try this:<a href="https://www.github.com/seandavi/BuildABiocWorkshop2020/tree/master/Dockerfile">https://www.github.com/seandavi/BuildABiocWorkshop2020/tree/master/Dockerfile</a></p> <p><strong>Levi Waldron</strong> (02:14:57) (in thread): > <span class="citation" data-cites="Martin">@Martin</span> Morganit seems BiocManager doesn’t quite fit either because we need to install whatever branch is checked out locally, ie for branches or pull requests, not install from GitHub master branch. See<a href="https://github.com/seandavi/BuildABiocWorkshop2020/pull/13">https://github.com/seandavi/BuildABiocWorkshop2020/pull/13</a></p> <p><strong>Mikhail Dozmorov</strong> (11:00:52) (in thread): > I tried it before, it worked locally but failed on GH-actions. Now, GH-actions work with<a href="https://github.com/mdozmorov/HiCcompareWorkshop/blob/a4aad3e77db8a6fbf84eb9dbe1acfa345b6543de/Dockerfile#L29">this setting</a>. Still, when running RStudio using the successfully build Docker image, the<code>Rcpp.so</code>error remains. It shouldn’t be critical, but the question remains open. > <code>> > library(readr) > Error: package or namespace load failed for 'readr' in dyn.load(file, DLLpath = DLLpath, ...): > unable to load shared object '/home/rstudio/.local/share/renv/cache/v5/R-4.0/x86_64-pc-linux-gnu/Rcpp/1.0.5/125dc7a0ed375eb68c0ce533b48d291f/Rcpp/libs/Rcpp.so': > /home/rstudio/.local/share/renv/cache/v5/R-4.0/x86_64-pc-linux-gnu/Rcpp/1.0.5/125dc7a0ed375eb68c0ce533b48d291f/Rcpp/libs/Rcpp.so: undefined symbol: EXTPTR_PTR ></code></p> <p><strong>Sean Davis</strong> (12:36:50) (in thread): > <span class="citation" data-cites="Mikhail">@Mikhail</span> Dozmorov, make sure that you<code>docker pull</code>the latest version of your image. When I do<code>docker run</code>on your current built docker image, things work as expected. Note that using tag<code>latest</code>DOES NOT do a pull if ANY cached version is available on your local machine. In other words, when testing, use<code>docker run --rm</code>or docker rm/rmi before running again to ensure that you get the newest build.</p> <p><strong>Mikhail Dozmorov</strong> (19:30:56) (in thread): > It finally worked, after cleaning Docker system. Apparently, caching was the problem. Thanks,<span class="citation" data-cites="Sean">@Sean</span> Davis,<span class="citation" data-cites="Levi">@Levi</span> Waldron</p> </section> <section id="section-96" class="level2"> <h2>2020-07-16</h2> <p><strong>Michael Love</strong> (08:34:30) (in thread): > <span class="citation" data-cites="Mikhail">@Mikhail</span> Dozmorovwhat does “cleaning the Docker system” entail? Does this refer to something that needs to be done to fix (1) GH Actions failing or (2) local docker usage? > > I’m in the same boat with edgeR pkg installation on GH Actions failing. I tried the Dockerfile suggestion in this thread.</p> <p><strong>Mikhail Dozmorov</strong> (08:38:43) (in thread): > <code>docker system prune</code>cleans local system. Some more tips are on this<a href="https://stackoverflow.com/questions/23188932/how-do-i-clean-up-my-docker-host-machine/39069184">Stackoverflow post</a>. But it shouldn’t affect GH Actions. I’ve been building locally like<code>docker build .</code>until it worked, then pushed to GH. - Attachment (Stack Overflow): <a href="https://stackoverflow.com/questions/23188932/how-do-i-clean-up-my-docker-host-machine/39069184">how do I clean up my docker host machine</a> > As I create/debug a docker image/container docker seems to be leaving all sorts of artifacts on my system. (at one point there was a 48 image limit) But the last time I looked there were 20-25 imag…</p> <p><strong>Michael Love</strong> (08:42:41) (in thread): > any idea why this dockerfile:<a href="https://github.com/mikelove/alevin2bioc/blob/master/Dockerfile">https://github.com/mikelove/alevin2bioc/blob/master/Dockerfile</a>would still result in this following error in GH Actions: > <code>> ERROR: lazy loading failed for package 'edgeR' > Bioconductor version 3.12 (BiocManager 1.30.10), ?BiocManager::install for help > * removing '/usr/local/lib/R/site-library/edgeR' > Error in dyn.load(file, DLLpath = DLLpath, ...) : > unable to load shared object '/usr/local/lib/R/site-library/Rcpp/libs/Rcpp.so': > /usr/local/lib/R/site-library/Rcpp/libs/Rcpp.so: undefined symbol: EXTPTR_PTR > Calls: <Anonymous> ... asNamespace -> loadNamespace -> library.dynam -> dyn.load > Execution halted > Error in i.p(...) : > (converted from warning) installation of package 'edgeR' had non-zero exit status > Calls: <Anonymous> ... with_rprofile_user -> with_envvar -> force -> force -> i.p > Execution halted ></code></p> <p><strong>Michael Love</strong> (08:43:16) (in thread): > i copy pasted from Levi’s suggestion seeing it had fixed your issue</p> <p><strong>Michael Love</strong> (08:43:32) (in thread): > <a href="https://github.com/mikelove/alevin2bioc/runs/877534895">https://github.com/mikelove/alevin2bioc/runs/877534895</a></p> <p><strong>Mikhail Dozmorov</strong> (08:49:32) (in thread): > Exactly my problem, and solution steps still linger in my<a href="https://github.com/mdozmorov/HiCcompareWorkshop/blob/master/Dockerfile">Dockerfile</a>. In short, the following seem to resolve the problem: cleaning local Docker system<code>docker system prune</code>, using<a href="https://github.com/mdozmorov/HiCcompareWorkshop/blob/a4aad3e77db8a6fbf84eb9dbe1acfa345b6543de/Dockerfile#L29">exact line specifying options(repos = c(CRAN = ‘https://cran.r-project.org’</a>)), building locally<code>docker build .</code>. If all runs, then GH actions shouldn’t have a problem.</p> <p><strong>Charlotte Soneson</strong> (08:54:47) (in thread): > <span class="citation" data-cites="Michael">@Michael</span> Love- you’d need to do the same fixes in the GHA runner (fixing the Dockerfile just affects the<code>docker/build-push-action@v1</code>step). So you’d need something like<a href="https://github.com/seandavi/BuildABiocWorkshop2020/blob/8680a38d2e6263cb66ac53a4bc9fd82095028983/.github/workflows/basic_checks.yaml#L35">https://github.com/seandavi/BuildABiocWorkshop2020/blob/8680a38d2e6263cb66ac53a4bc9fd82095028983/.github/workflows/basic_checks.yaml#L35</a>as well (otherwise binary packages are still installed in the runner).</p> <p><strong>Michael Love</strong> (08:55:33) (in thread): > thanks Mikhail and Charlotte! I’ll get to work on this after the zoom training:slightly_smiling_face:</p> <p><strong>Sean Davis</strong> (09:05:10) (in thread): > When making changes to the Dockerfile, one must remove the cached LOCAL version of the docker image OR use the actual SHA of the commit when running the built docker image. One would think that the “latest” tag would fetch the newest build, BUT THE<strong><em>LATEST</em></strong>TAG DOES NOT CAUSE a PULL TO OCCUR if any version of the docker image exists in the local cache! This is super-confusing to me and everyone I know, but it is the way docker works.</p> <p><strong>Nitesh Turaga</strong> (10:14:07): > Hi@Levi Waldronand@Sean Davis, i’ve made a new tag<code>bioconductor/bioconductor_docker:bioc2020</code>and it is available to users now. I will update the RELEASE_3_11 and devel docker images in the next couple of days. > > This way, if a workshop author sees an issue once I update they can change their dependency to bioc2020 if they choose to. Or they can do so preemptively as well to have a completely frozen docker image which they are inheriting.</p> <p><strong>Nitesh Turaga</strong> (10:34:47): > I think this tag should be sent via email to all workshop authors, so they don’t panic if their build breaks.</p> <p><strong>Kai Hu</strong> (10:40:20): > <span class="citation" data-cites="Kai">@Kai</span> Hu has joined the channel</p> <p><strong>Mikhail Dozmorov</strong> (12:23:57): > <span class="citation" data-cites="Nitesh">@Nitesh</span> Turaga, am I correct the workshop creators should change the tag in their<code>basic_checks.yaml</code>file? To be as<code>container: bioconductor/bioconductor_docker:bioc2020</code>?</p> <p><strong>Nitesh Turaga</strong> (12:25:01): > You could if you think you’ll build your docker image again after today. That way you’ll not see any “new” errors since i’ll be updating the devel image tomorrow.</p> <p><strong>Kevin Rue-Albrecht</strong> (12:25:33): > You will also need to change it in the Dockerfile at the root of your repository > <code>> FROM bioconductor/bioconductor_docker:bioc2020 ></code></p> <p><strong>Kevin Rue-Albrecht</strong> (12:26:35): > Clarification > * the one in the GHA controls the container in which the action is run (i.e., the testing) > * the one in the Dockerfile control the container on which your own workshop container will be based</p> <p><strong>Mikhail Dozmorov</strong> (12:28:53): > Thanks,<span class="citation" data-cites="Nitesh">@Nitesh</span> Turaga,<span class="citation" data-cites="Kevin">@Kevin</span> Rue-Albrecht, that’s clear. Regarding sending it to all workshop creators - should it be done now, at the brink of workshops being frozen? I’m unsure about benefits.</p> <p><strong>Nitesh Turaga</strong> (12:31:42): > Well, nothing should change if you change the tag to bioc2020. it’s more of a suggestion, than requirement to the workshop authors. > > If you “build” your workshop again after today, and you depend on<code>devel</code>then, you may see errors because we are changing the base linux version from Ubuntu 18.04 to 20.04 (LTS).</p> <p><strong>Mikhail Dozmorov</strong> (12:34:22): > So,<code>bioc2020</code>tag is basically to keep snapshot of the current image that workshop participants are working with. It will be stable even after<code>devel</code>will be updated.</p> <p><strong>Nitesh Turaga</strong> (12:34:33): > Exactly!</p> <p><strong>Nitesh Turaga</strong> (12:35:00): > That’s a good description of the bioc2020 tag.</p> <p><strong>Mikhail Dozmorov</strong> (12:36:30): > Will mention this in the announcement to workshop participants, drafting now.</p> <p><strong>Levi Waldron</strong> (12:36:51): > I think using the<code>bioc2020</code>tag is totally optional, and is more a convenience in case you want to continue development of your workshop but don’t want to fix something new that comes up in the update to<code>devel</code>that is about to happen. Note, once you have one successfully built workshop, it will remain there even if future commits can’t build.</p> <p><strong>Nitesh Turaga</strong> (12:40:05): > Thanks@Mikhail Dozmorovand@Levi Waldron</p> <p><strong>Mikhail Dozmorov</strong> (12:40:45): > Thanks all, it is helpful!</p> <p><strong>Michael Love</strong> (14:32:31) (in thread): > I got through “Install dependencies” but then got stuck at the end of “Run docker/build-push-action” (though all packages installed w/o error in this step) with: > <code>> Error in get0(oNam, envir = ns) : > lazy-load database '/usr/local/lib/R/site-library/pkgbuild/R/pkgbuild.rdb' is corrupt > Calls: <Anonymous> -> :: -> getExportedValue -> get0 > In addition: Warning message: > In get0(oNam, envir = ns) : internal error -3 in R_decompress1 ></code> > <a href="https://github.com/mikelove/alevin2bioc/runs/877711967?check_suite_focus=true">https://github.com/mikelove/alevin2bioc/runs/877711967?check_suite_focus=true</a></p> <p><strong>Michael Love</strong> (14:33:01) (in thread): > i searched this channel but the corrupt pkgbuild.rdb seemed like a new error</p> <p><strong>Michael Love</strong> (14:35:20) (in thread): > i’m trying to figure out how Sean’s message about cached docker image may be relevant to this, but i’m confused about where this caching is happening and how to clear it</p> <p><strong>Mikhail Dozmorov</strong> (14:35:35) (in thread): > It is new. Guessing it might be due to package caching gone wrong. Guessing again that commenting out the “Cache R packages” section in<code>basic_checks.yaml</code>will remove corrupt cache</p> <p><strong>Michael Love</strong> (14:35:52) (in thread): > ok i will try that, thanks Mikhail</p> <p><strong>Mikhail Dozmorov</strong> (14:42:28) (in thread): > The “Query dependencies” may also need to be commented out. This section seems to save the installed packages into a<code>depends.Rds</code>file, which may be corrupt.</p> <p><strong>Michael Love</strong> (14:45:52) (in thread): > ok i will try that too:smile:</p> <p><strong>Mikhail Dozmorov</strong> (15:14:56): > One package needs help - it is successfully built by GH Actions, but the pkgdown web site is not being created. Anyone can help?<a href="https://github.com/Kayla-Morrell/CreateAPackage">https://github.com/Kayla-Morrell/CreateAPackage</a></p> <p><strong>Anthony</strong> (15:15:10): > My workshop (<a href="https://montilab.github.io/hypeR-workshop/">https://montilab.github.io/hypeR-workshop/</a>) uses a lot of images and data, and I am able to produce a pkgdown site for github pages with a docker image on docker hub. However, I cannot get Github actions to do it all correctly. Been trying for the past few weeks now and I cannot get it to work. Yet that workflow is fine for my other packages themselves. Am I at risk for getting my workshop removed? - Attachment (montilab.github.io): <a href="https://montilab.github.io/hypeR-workshop/">hypeR Workshop</a> > A workshop for working with hypeR.</p> <p><strong>Anthony</strong> (15:16:12): > I’d keep trying but it’s getting to the point where I’m spending full days trying to get it to work:confused:</p> <p><strong>Mikhail Dozmorov</strong> (15:20:27) (in thread): > As soon as the package has GitHub repo, Docker image, and the Pkgdown web site, it is OK.</p> <p><strong>Anthony</strong> (15:20:41) (in thread): > ok cool thank you</p> <p><strong>Charlotte Soneson</strong> (15:52:04) (in thread): > Just a thought <span class="citation" data-cites="Kayla">@Kayla</span> Interdonato, if you go to settings - GitHub Pages, does it say that GitHub Pages are deployed from the gh-pages branch?</p> <p><strong>Marcel Ramos Pérez</strong> (15:53:40): > Have you used the template repository (<a href="https://github.com/seandavi/BuildABiocWorkshop2020/">https://github.com/seandavi/BuildABiocWorkshop2020/</a>)? All the github actions are set up there, although you’d need to change a few values in the<code>.github/workflows/basic_checks.yaml</code>file.</p> <p><strong>Anthony</strong> (16:08:41): > Yes I started with that one, I use a similar workflow for another package and it works well. The issue is mainly I need to showcase some new features in the workshop only available in the Github version of hypeR.</p> <p><strong>Marcel Ramos Pérez</strong> (16:12:13): > Is there a reason why those new features aren’t in the devel branch of Bioconductor?</p> <p><strong>John Lawson</strong> (16:17:38): > Has anyone rebuilt their workshop on Dockerhub recently and had problems with the installation of dependencies? I made minor updates to my workshop and Dockerhub is now giving an error when trying to install the “AnnotationDbi” Bioconductor package (error: can’t load a shared object). Build log:<a href="https://github.com/databio/cocoa_workshop_bioc2020/runs/879158780?check_suite_focus=true">https://github.com/databio/cocoa_workshop_bioc2020/runs/879158780?check_suite_focus=true</a></p> <p><strong>Sean Davis</strong> (16:26:13) (in thread): > The approach to including things from github into the DESCRIPTION file is to supply the package in Depends, Suggests, or Imports and to supply the github repo as a Remote: > * <a href="https://github.com/r-lib/remotes#dependencies-on-github">https://github.com/r-lib/remotes#dependencies-on-github</a></p> <p><strong>Sean Davis</strong> (16:29:17) (in thread): > If you can get that going, your workshop package will be installable and include dependencies. Otherwise, it won’t install all the necessary dependencies for someone else. > > This would also explain why the GH actions doesn’t work. The package will not build since it doesn’t include some dependencies.</p> <p><strong>Anthony</strong> (16:31:00) (in thread): > Ah yeah I tried this and keep getting the “can’t load a shared object” error when installing dependencies through Github actions, but when I do everything locally it works? Which doesn’t make sense to me</p> <p><strong>Anthony</strong> (16:31:36) (in thread): > I forget exactly what i had because I deleted the repo and restarted because there were so many failed commits:sweat_smile:</p> <p><strong>Sean Davis</strong> (16:31:48) (in thread): > Sorry!!!</p> <p><strong>Sean Davis</strong> (16:32:03) (in thread): > I’ll see what I can do to fix things up quickly.</p> <p><strong>Anthony</strong> (16:32:06) (in thread): > is it absolutely necessary to use Github actions if the pkgdown is built?</p> <p><strong>Sean Davis</strong> (16:32:14) (in thread): > No.</p> <p><strong>Anthony</strong> (16:33:03) (in thread): > Ok</p> <p><strong>Sean Davis</strong> (16:33:06) (in thread): > The more important issue is that the workshop package will not work if someone else installs it. Fixing that would be the first priority in my mind.</p> <p><strong>Anthony</strong> (16:33:59) (in thread): > The package still installs locally and everything shown in the workshop is working as well as through the docker file</p> <p><strong>Anthony</strong> (16:34:03) (in thread): > which I figured is the most important</p> <p><strong>Levi Waldron</strong> (16:43:03) (in thread): > Provide a link to the log file?</p> <p><strong>Sean Davis</strong> (16:47:16) (in thread): > <span class="citation" data-cites="John">@John</span> LawsonCheck this conversation:<a href="https://community-bioc.slack.com/archives/CJDMYKG2U/p1594609127244300">https://community-bioc.slack.com/archives/CJDMYKG2U/p1594609127244300</a> - Attachment: <a href="https://community-bioc.slack.com/archives/CJDMYKG2U/p1594609127244300">Attachment</a> > Hello, we have encountered a new error with the GH actions check step with our repo and wondering if anyone can help solve? > <a href="https://github.com/stemangiola/bioc_2020_tidytranscriptomics/runs/863831983?check_suite_focus=true">https://github.com/stemangiola/bioc_2020_tidytranscriptomics/runs/863831983?check_suite_focus=true</a> > <code>package or namespace load failed for 'tidyr' in dyn.load(file, DLLpath = DLLpath, ...): > unable to load shared object '/usr/local/lib/R/site-library/Rcpp/libs/Rcpp.so': > /usr/local/lib/R/site-library/Rcpp/libs/Rcpp.so: undefined symbol: EXTPTR_PTR</code> > Do we need to pin some version?</p> <p><strong>Levi Waldron</strong> (16:49:39) (in thread): > Most of the installation problems have arisen because the bioconductor_docker:devel container points to an rstudio binary package mirror, but the system dependencies of bioconductor_docker did not match those of container that rstudio used - see<a href="https://github.com/Bioconductor/bioconductor_docker/issues/15">https://github.com/Bioconductor/bioconductor_docker/issues/15</a>. These problems should be avoided by building packages from source, which until the upstream problem is fixed can be accomplished by using the CRAN package mirror instead - see<a href="https://github.com/seandavi/BuildABiocWorkshop2020/blob/master/Dockerfile">https://github.com/seandavi/BuildABiocWorkshop2020/blob/master/Dockerfile</a>and<a href="https://github.com/seandavi/BuildABiocWorkshop2020/blob/master/.github/workflows/basic_checks.yaml">https://github.com/seandavi/BuildABiocWorkshop2020/blob/master/.github/workflows/basic_checks.yaml</a></p> <p><strong>John Lawson</strong> (16:52:57) (in thread): > Great, thanks for the suggestions! I’ll look into those and I also posted a link to the build log in my original message.</p> <p><strong>Levi Waldron</strong> (16:54:55) (in thread): > Thanks@John Lawson. Yes it is the dread Rcpp compilation error, and switching to the<a href="http://cran.r-project.org">cran.r-project.org</a>mirror should solve it.</p> <p><strong>Levi Waldron</strong> (16:56:23) (in thread): > Also, bioconductor_docker:devel will be updated soon to solve it, but that is out of your hands:smile:</p> <p><strong>Sean Davis</strong> (16:58:33) (in thread): > <span class="citation" data-cites="John">@John</span> LawsonI just made a couple of one-line PRs to your repo that should fix the issue.</p> <p><strong>Kayla Interdonato</strong> (17:04:36) (in thread): > Thanks for the suggestion@Charlotte Soneson, seems like that was something to do with it (see<a href="https://github.com/Kayla-Morrell/CreateAPackage/issues/2">https://github.com/Kayla-Morrell/CreateAPackage/issues/2</a>). Now that it’s ready to be published, I’m not sure how to get it to publish. Perhaps a version bump? Or maybe I have to check back in a few minutes to see if it published:woman-shrugging:</p> <p><strong>John Lawson</strong> (17:04:46) (in thread): > Great! Thanks@Sean Davisand@Levi Waldron</p> <p><strong>Kayla Interdonato</strong> (18:10:48) (in thread): > Did a version bump and it seems to have worked!</p> <p><strong>Maria Doyle</strong> (19:13:57) (in thread): > <span class="citation" data-cites="Michael">@Michael</span> LoveI had a similar error <code>lazy-load database '/usr/local/lib/R/site-library/pkgbuild/R/pkgbuild.rdb' is corrupt</code> > (here:<a href="https://github.com/stemangiola/bioc_2020_tidytranscriptomics/runs/867313763?check_suite_focus=true">https://github.com/stemangiola/bioc_2020_tidytranscriptomics/runs/867313763?check_suite_focus=true</a>) > Changing devtools::install to BiocManager::install(<our repo>) in the Dockerfile fixed it for me (here:<a href="https://github.com/stemangiola/bioc_2020_tidytranscriptomics/commit/4be1e8653421b79596841f1aff4735a81bd0d7a5">https://github.com/stemangiola/bioc_2020_tidytranscriptomics/commit/4be1e8653421b79596841f1aff4735a81bd0d7a5</a>)</p> <p><strong>Michael Love</strong> (19:31:43) (in thread): > Thanks Maria:pray:I’ll try anything!!!</p> <p><strong>Sean Davis</strong> (19:45:42) (in thread): > I have seen this before. In this case, it is related to the<code>pkgbuild</code>package in the container being version 1.0.8 and then being updated to 1.1.0. That would be fine except that the package is used to do the building and so the rdb file doesn’t match the package version.<strong><em>Why now, you ask? </em></strong>Because pkgbuild just got updated and is out-of-sync with the bioconductor_docker image. When the new version of the docker image comes along (around Saturday), I predict this error will disappear.<strong><em>What can I do, you ask?</em></strong>The trick is to update the packages first in a separate R session and then do the package installation in a new R session. Two commits summarize my changes. > <code>> Rscript -e "options(repos = c(CRAN = '[https://cran.r-project.org](https://cran.r-project.org)')); BiocManager::install(ask=FALSE)" ></code> > > * <a href="https://github.com/seandavi/BuildABiocWorkshop2020/commit/4e4d001c63c2a0531da6260c91ff62b92214eb90">https://github.com/seandavi/BuildABiocWorkshop2020/commit/4e4d001c63c2a0531da6260c91ff62b92214eb90</a> > * <a href="https://github.com/seandavi/BuildABiocWorkshop2020/commit/7544afd0e5ae6aa89d8ff4f533d18f1d5621eecd">https://github.com/seandavi/BuildABiocWorkshop2020/commit/7544afd0e5ae6aa89d8ff4f533d18f1d5621eecd</a></p> <p><strong>Michael Love</strong> (20:25:01) (in thread): > Sean you are an angel</p> <p><strong>Mikhail Dozmorov</strong> (21:33:08): > The Docker image for the<a href="https://github.com/aedin/PCAworkshop">https://github.com/aedin/PCAworkshop</a>package refuses to build. Addressing the<a href="https://community-bioc.slack.com/archives/CJDMYKG2U/p1594932579342300?thread_ts=1594930658.339100&cid=CJDMYKG2U">missing Rcpp.so error</a>and the<a href="https://community-bioc.slack.com/archives/CJDMYKG2U/p1594943142345500?thread_ts=1594779065.302300&cid=CJDMYKG2U">pkgbuild corruption error</a>doesn’t seem to help. If anyone has any ideas, please, help. - Attachment: <a href="https://community-bioc.slack.com/archives/CJDMYKG2U/p1594932579342300?thread_ts=1594930658.339100&cid=CJDMYKG2U">Attachment</a> > Most of the installation problems have arisen because the bioconductor_docker:devel container points to an rstudio binary package mirror, but the system dependencies of bioconductor_docker did not match those of container that rstudio used - see <a href="https://github.com/Bioconductor/bioconductor_docker/issues/15">https://github.com/Bioconductor/bioconductor_docker/issues/15</a>. These problems should be avoided by building packages from source, which until the upstream problem is fixed can be accomplished by using the CRAN package mirror instead - see <a href="https://github.com/seandavi/BuildABiocWorkshop2020/blob/master/Dockerfile">https://github.com/seandavi/BuildABiocWorkshop2020/blob/master/Dockerfile</a> and <a href="https://github.com/seandavi/BuildABiocWorkshop2020/blob/master/.github/workflows/basic_checks.yaml">https://github.com/seandavi/BuildABiocWorkshop2020/blob/master/.github/workflows/basic_checks.yaml</a> - Attachment: <a href="https://community-bioc.slack.com/archives/CJDMYKG2U/p1594943142345500?thread_ts=1594779065.302300&cid=CJDMYKG2U">Attachment</a> > I have seen this before. In this case, it is related to the <code>pkgbuild</code> package in the container being version 1.0.8 and then being updated to 1.1.0. That would be fine except that the package is used to do the building and so the rdb file doesn’t match the package version. > > <strong>Why now, you ask?</strong> > Because pkgbuild just got updated and is out-of-sync with the bioconductor_docker image. When the new version of the docker image comes along (around Saturday), I predict this error will disappear. > > <strong>What can I do, you ask?</strong> > The trick is to update the packages first in a separate R session and then do the package installation in a new R session. Two commits summarize my changes. > <code>Rscript -e "options(repos = c(CRAN = '[https://cran.r-project.org](https://cran.r-project.org)')); BiocManager::install(ask=FALSE)"</code> > • <a href="https://github.com/seandavi/BuildABiocWorkshop2020/commit/4e4d001c63c2a0531da6260c91ff62b92214eb90">https://github.com/seandavi/BuildABiocWorkshop2020/commit/4e4d001c63c2a0531da6260c91ff62b92214eb90</a> > • <a href="https://github.com/seandavi/BuildABiocWorkshop2020/commit/7544afd0e5ae6aa89d8ff4f533d18f1d5621eecd">https://github.com/seandavi/BuildABiocWorkshop2020/commit/7544afd0e5ae6aa89d8ff4f533d18f1d5621eecd</a></p> <p><strong>Aedin Culhane</strong> (23:22:34): > Thanks Sean</p> <p><strong>Michael Love</strong> (23:36:13) (in thread): > This works for me.</p> </section> <section id="section-97" class="level2"> <h2>2020-07-17</h2> <p><strong>Dario Righelli</strong> (04:04:16): > <span class="citation" data-cites="Dario">@Dario</span> Righelli has joined the channel</p> <p><strong>Dario Righelli</strong> (04:36:49) (in thread): > Hi guys, hope to be in the right place for asking this. > I’m having a problem with the docker in my GH action, I’m using the bioc2020 workflow template for building a vignettes for a workshop. > When the docker installs the dependencies for my vignette/workflow, it fails because it’s not able to install the<code>AnnotationDbi</code>package. > Here I quote the output error message. > <code>> Bioconductor version 3.12 (BiocManager 1.30.10), ?BiocManager::install for help > Error in dyn.load(file, DLLpath = DLLpath, ...) : > unable to load shared object '/usr/local/lib/R/site-library/Rcpp/libs/Rcpp.so': > /usr/local/lib/R/site-library/Rcpp/libs/Rcpp.so: undefined symbol: EXTPTR_PTR > Calls: <Anonymous> ... asNamespace -> loadNamespace -> library.dynam -> dyn.load > Execution halted > ERROR: lazy loading failed for package 'AnnotationDbi' > * removing '/usr/local/lib/R/site-library/AnnotationDbi' > Error in i.p(...) : > (converted from warning) installation of package 'AnnotationDbi' had non-zero exit status > Calls: <Anonymous> ... with_rprofile_user -> with_envvar -> force -> force -> i.p > Execution halted > The command '/bin/sh -c Rscript -e "devtools::install('.', dependencies=TRUE, build_vignettes=TRUE, repos = BiocManager::repositories())"' returned a non-zero code: 1 > Error: exit status 1 > Usage: > exit status 1 ></code> > Does someone have any idea on how to solve this? > I’m going to link<a href="https://github.com/drighelli/BIRSBIO2020.seqFISH.SpatialAnalysis/blob/master/.github/workflows/basic_checks.yaml">here</a>my yaml file.</p> <p><strong>Levi Waldron</strong> (04:46:28) (in thread): > Looks like your Docker image is building automatically now (<a href="https://hub.docker.com/r/aculhane/pcabiocworkshop2020/tags">https://hub.docker.com/r/aculhane/pcabiocworkshop2020/tags</a>). Nice work@Aedin Culhane.</p> <p><strong>Levi Waldron</strong> (05:20:42) (in thread): > Hi@Dario Righelli, I submitted a PR that should fix it (your Dockerfile was still installing binary packages):<a href="https://github.com/drighelli/BIRSBIO2020.seqFISH.SpatialAnalysis/pull/1/files">https://github.com/drighelli/BIRSBIO2020.seqFISH.SpatialAnalysis/pull/1/files</a></p> <p><strong>Dario Righelli</strong> (05:41:58) (in thread): > Thanks@Levi Waldronbut now it fails giving me another error: > <code>> Bioconductor version 3.12 (BiocManager 1.30.10), ?BiocManager::install for help > rmarkdown (NA -> 2.3 ) [CRAN] > pkgdown (NA -> 1.5.1) [CRAN] > tinytex (NA -> 0.24 ) [CRAN] > highlight (NA -> 0.5.0) [CRAN] > Skipping 4 packages not available: Biobase, SingleCellMultiModal, BiocStyle, MultiAssayExperiment > Installing 8 packages: Biobase, SingleCellMultiModal, BiocStyle, MultiAssayExperiment, rmarkdown, pkgdown, tinytex, highlight > Installing packages into '/usr/local/lib/R/site-library' > (as 'lib' is unspecified) > Error: (converted from warning) packages 'Biobase', 'SingleCellMultiModal', 'BiocStyle', 'MultiAssayExperiment' are not available (for R version 4.0.0) > Execution halted > The command '/bin/sh -c Rscript -e "options(repos = c(CRAN = '[https://cran.r-project.org](https://cran.r-project.org)')); devtools::install('.', dependencies=TRUE, build_vignettes=TRUE, update = TRUE, ask = FALSE)"' returned a non-zero code: 1 > Error: exit status 1 > Usage: > exit status 1 ></code></p> <p><strong>Levi Waldron</strong> (05:43:44) (in thread): > Your basic_checks.yml workflow was using devtools::install without setting a Bioconductor mirror, so it could not find any Bioconductor packages. I submitted another PR that uses BiocManager to install packages in your workflow.</p> <p><strong>Dario Righelli</strong> (05:46:24) (in thread): > ah ok! thank you very much!</p> <p><strong>Sean Davis</strong> (06:21:51): > To all workshop authors, consider adding a website link to your github repo that links to your pkgdown site to facilitate folks browsing from code to documentation and workflows. > > For example:</p> <p><strong>Sean Davis</strong> (06:23:28): - File (PNG): <a href="https://community-bioc.slack.com/files/U34P8RS3B/F0172N5RY78/image.png">image.png</a></p> <p><strong>Dario Righelli</strong> (09:36:54) (in thread): > <span class="citation" data-cites="Levi">@Levi</span> Waldronit still doesn’t work:sweat_smile:If you or anyone else have any other suggestion, it’s welcome:slightly_smiling_face:</p> <p><strong>Aedin Culhane</strong> (11:42:29) (in thread): > Thanks for this tip it fixed my site too:wink:</p> <p><strong>Denis O’Meally</strong> (17:31:39): > <span class="citation" data-cites="Denis">@Denis</span> O’Meally has joined the channel</p> </section> <section id="section-98" class="level2"> <h2>2020-07-20</h2> <p><strong>Dr Awala Fortune O.</strong> (02:26:24): > <span class="citation" data-cites="Dr">@Dr</span> Awala Fortune O. has joined the channel</p> <p><strong>Dr Awala Fortune O.</strong> (02:27:22): > Hello everyone</p> </section> <section id="section-99" class="level2"> <h2>2020-07-21</h2> <p><strong>Carl McIntosh</strong> (12:49:35): > <span class="citation" data-cites="Carl">@Carl</span> McIntosh has joined the channel</p> </section> <section id="section-100" class="level2"> <h2>2020-07-24</h2> <p><strong>Levi Waldron</strong> (04:22:01): > set the channel description: Discuss proposal for how to implement bioc workshop book building each year. For workshop-related discussions during the conference, use #bioc2020-workshops.</p> </section> <section id="section-101" class="level2"> <h2>2020-07-26</h2> <p><strong>Levi Waldron</strong> (18:27:54): > <!channel>authors, your workshops are now live in the Cloud at<a href="http://workshop.bioc.cancerdatasci.org/">http://workshop.bioc.cancerdatasci.org/</a>. Please try running your workshop so you’re familiar with what participants will see, and to make sure you know what to expect. Note, the first time a workshop is run or when the cluster is auto-scaling, there can be a delay that results in a 404 error, just keep refreshing for up to a minute or two until Sean can find another solution. > > There are a few workshops currently with issues that did not show up in the GH-actions continuous integration and are not working in the Cloud;<span class="citation" data-cites="Mikhail">@Mikhail</span> Dozmorov/<span class="citation" data-cites="Sean">@Sean</span> Davis/ or I have filed issues or PRs on these GitHub pages: > * A Tidy Transcriptomics introduction to RNA-Seq analyses - DESCRIPTION points to a mis-typed Dockerhub tag@stefano mangiola > * Functional enrichment analysis of high-throughput omics data@Ludwig Geistlinger(missing Suggests that are needed, I’ve committed a probable fix already) > * Copy number variation analysis with Bioconductor@Ludwig Geistlinger(missing Suggests that are needed, I’ve committed a probable fix already) > * MultiAssayExperiment and curatedTCGAData Bioconductor 2020 Workshop@Marcel Ramos Pérez(this may be out of our hands, a remote URL issue) > * A workshop on discovering biomarkers from high through put response screens@Benjamin Haibe-Kains(missing Suggests that are needed, I submitted a PR) > * Efficient, Scalable, and Reproducible Enrichment Workflows@Anthony Federiconeeds work</p> <p><strong>Maria Doyle</strong> (18:52:07) (in thread): > Thanks for the notification! I’ve fixed our one</p> <p><strong>Maria Doyle</strong> (19:14:30) (in thread): > Will the updated workshop get added automatically to<a href="http://workshop.bioc.cancerdatasci.org/">http://workshop.bioc.cancerdatasci.org/</a>after it passes GH actions locally? or when/how will it appear there? as I’ll test running it then</p> <p><strong>Maria Doyle</strong> (19:29:33) (in thread): > ah it seems like it does get auto added to that website, that’s cool. Tested & it ran ok.</p> </section> <section id="section-102" class="level2"> <h2>2020-07-27</h2> <p><strong>Aditi Verma</strong> (05:21:34): > <span class="citation" data-cites="Aditi">@Aditi</span> Verma has joined the channel</p> <p><strong>James MacDonald</strong> (09:47:11) (in thread): > What’s the username/pwd for RStudio?</p> <p><strong>Marcel Ramos Pérez</strong> (09:47:39) (in thread): > Usually<code>rstudio</code>with psswd<code>welcome-to-bioc2020</code></p> <p><strong>James MacDonald</strong> (09:49:29) (in thread): > Thanks@Marcel Ramos Pérez</p> <p><strong>Izabela Mamede</strong> (09:59:57): > <span class="citation" data-cites="Izabela">@Izabela</span> Mamede has joined the channel</p> <p><strong>Izabela Mamede</strong> (10:22:10): > <span class="citation" data-cites="Izabela">@Izabela</span> Mamede has left the channel</p> <p><strong>Leonardo Collado Torres</strong> (10:56:29) (in thread): > I just finished running the code of my workshop, it’s all good:smiley:Last year at some point it crashed the AWS session, so I wasn’t sure if the whole thing would run on the cloud this time:stuck_out_tongue:</p> <p><strong>Nolan Nichols</strong> (11:48:42): > <span class="citation" data-cites="Nolan">@Nolan</span> Nichols has joined the channel</p> <p><strong>Qian Liu</strong> (11:51:36) (in thread): > Hi@Sean Davis, since the workshops are all available on cloud (and I believe most users would choose to use cloud over local docker), I wonder if we can have our workshop initiated on the cloud with the “–privileged” option? We have just tested and it didn’t work correctly since we need the singuarity runtime inside the workshop.</p> <p><strong>Sean Davis</strong> (12:02:20) (in thread): > Actually, you’ll need to run those locally, unfortunately. We are not using docker directly on the cloud, so there is not a concept of a –priviledged option.</p> <p><strong>Qian Liu</strong> (12:16:45) (in thread): > Thanks for the info. we have just figured out a solution for this issue on our end. Thanks!</p> <p><strong>Sean Davis</strong> (12:18:58) (in thread): > Again, really sorry!</p> <p><strong>Sean Davis</strong> (12:19:31) (in thread): > If you have a few moments later, I’d be interested to hear what you ended up doing….</p> <p><strong>Maria Doyle</strong> (23:22:07): > Hi, I just wanted to say thanks a lot to everyone who was involved with organising the setup for the workshops. The cloud hosting was really great to have & the workshop template was excellent. It made for a great experience. Thanks!:heart::raised_hands:</p> </section> <section id="section-103" class="level2"> <h2>2020-07-28</h2> <p><strong>Levi Waldron</strong> (06:00:49): > Not quite out of the woods yet though <span class="citation" data-cites="Sean">@Sean</span> Daviswe have a new issue the multiassayexperiment workshop (<a href="https://github.com/waldronlab/MultiAssayWorkshop/issues/3">https://github.com/waldronlab/MultiAssayWorkshop/issues/3</a>) that seems to have appeared yesterday, possibly with a conversion to using the bioconductor/bioconductor_docker:bioc2020 tag from devel tag, but reverting to devel hasn’t helped. The scary thing is there’s no problem in GH Actions, but the Docker image has R 4.0.0 with packages built on R 4.0.2, and the vignette doesn’t build, e.g. I test locally using this command but see the same behavior in the Cloud: > <code>> docker run -it mr148/multiassayworkshop:latest R -e 'devtools::build_vignettes()' ></code></p> <p><strong>Levi Waldron</strong> (06:02:43): > Here’s the suspect Dockerfile line:<a href="https://github.com/waldronlab/MultiAssayWorkshop/blob/7d51f126f0c67f20291fc6a34afa95b0309ac018/Dockerfile#L7">https://github.com/waldronlab/MultiAssayWorkshop/blob/7d51f126f0c67f20291fc6a34afa95b0309ac018/Dockerfile#L7</a>- I’m going to retry with the update and install in separate R sessions.</p> <p><strong>Kevin Rue-Albrecht</strong> (06:05:02): > If GHA works, it’s probably doing something extra in the container, before building the vignette, e.g. > <code>> # This lets us augment with additional dependencies > - name: Install system dependencies > if: runner.os == 'Linux' > env: > RHUB_PLATFORM: linux-x86_64-ubuntu-gcc > run: | > Rscript -e "remotes::install_github('r-hub/sysreqs')" > sysreqs=$(Rscript -e "cat(sysreqs::sysreq_commands('DESCRIPTION'))") > sudo -s eval "$sysreqs" ></code></p> <p><strong>Kevin Rue-Albrecht</strong> (06:05:56): > Though I’ll be honest, I haven’t tried building the vignette within the container yet, I was happy enough with the one deployed by GHA to GH Pages</p> <p><strong>Levi Waldron</strong> (06:07:18): > I built your vignette within its container yesterday and it worked. I just copied two lines from the iSEE Dockerfile, possibly the updating then installing in separate R sessions is important: > <code>> RUN Rscript -e "options(repos = c(CRAN = '[https://cran.r-project.org](https://cran.r-project.org)')); BiocManager::install(ask=FALSE)" > RUN Rscript -e "options(repos = c(CRAN = '[https://cran.r-project.org](https://cran.r-project.org)')); devtools::install('.', dependencies=TRUE, build_vignettes=TRUE, repos = BiocManager::repositories())" ></code></p> <p><strong>Kevin Rue-Albrecht</strong> (06:08:36): > Oh yeah the double line was important to avoid a crash</p> <p><strong>Levi Waldron</strong> (06:09:42): > FYI here’s our checks of all workshops (see column I, although that runs<code>rcmdcheck::rcmdcheck()</code>when<code>devtools::build_vignettes()</code>is probably adequate):<a href="https://docs.google.com/spreadsheets/d/1JWt9DG8g8lU2ZW4rvqoX9V8UG_mdkZrA3EJn6OlSUXw/edit?usp=sharing">https://docs.google.com/spreadsheets/d/1JWt9DG8g8lU2ZW4rvqoX9V8UG_mdkZrA3EJn6OlSUXw/edit?usp=sharing</a></p> <p><strong>Kevin Rue-Albrecht</strong> (06:10:04): > I think it was<code>pkgbuild</code>that was being updated during the GHA, while being already loaded, causing a crash due to the version installed being different from the version loaded. Basically, those two lines make sure that all packages are up to date before trying to install the workshop package and build the vignettes</p> <p><strong>Kevin Rue-Albrecht</strong> (06:10:29): > but your new issue sounds different</p> <p><strong>Kevin Rue-Albrecht</strong> (06:10:31): > related to git</p> <p><strong>Kevin Rue-Albrecht</strong> (06:11:17): > just a hunch, but I’ve got a notification yesterday that<code>JamesIves/github-pages-deploy-action@releases/v3</code>had a new release</p> <p><strong>Levi Waldron</strong> (06:11:28): > It also seems related to binary packages or package caching, based on the warning of knitr built for R 4.0.2 being used in R 4.0.0.</p> <p><strong>Levi Waldron</strong> (06:11:53): > Maybe, because this wasn’t happening yesterday!</p> <p><strong>Kevin Rue-Albrecht</strong> (06:12:51): > Your issue > <code>> Error in dyn.load(file, DLLpath = DLLpath, ...) : > unable to load shared object '/usr/local/lib/R/site-library/git2r/libs/git2r.so': > libssh2.so.1: cannot open shared object file: No such file or directory ></code> > the GHA update<a href="https://github.com/JamesIves/github-pages-deploy-action/releases/tag/3.5.9">https://github.com/JamesIves/github-pages-deploy-action/releases/tag/3.5.9</a> - File (PNG): <a href="https://community-bioc.slack.com/files/U34P8RS3B/F017N1HUN2J/image.png">image.png</a></p> <p><strong>Levi Waldron</strong> (06:14:08): > hmmmm</p> <p><strong>Kevin Rue-Albrecht</strong> (06:15:00): > .. I think that’s a red herring though .. your issue is with building the vignettes in the container while the deployment to gh-pages is downstream of that</p> <p><strong>Levi Waldron</strong> (06:16:11): > I realized it’s affecting two of our workshops, which isn’t surprising since they’re all using the same Dockerfile…</p> <p><strong>Kevin Rue-Albrecht</strong> (06:24:56): > from the looks of it, your latest commit should fix it: the old thread seems to be all about reinstalling<code>git2r</code><a href="https://github.com/ropensci/git2r/issues/155">https://github.com/ropensci/git2r/issues/155</a></p> <p><strong>Levi Waldron</strong> (06:25:24): > Whew, thanks@Kevin Rue-Albrecht!!!</p> <p><strong>Levi Waldron</strong> (06:26:25): > I’ll keep you posted. I guess our mistake here is using different installation commands in the GHA yml file than in the Dockerfile, which allowed this to slip past the GHA check.</p> <p><strong>Kevin Rue-Albrecht</strong> (06:29:52): > if you’re looking for more scare/confusion, I’ve got a GHA that does the installation using<code>renv</code>without any mention to<code>install.packages()</code>or<code>BiocManager</code>:laughing:<a href="https://github.com/kevinrue/Bioc2020BoFSlides/blob/master/.github/workflows/render_deploy.yaml">https://github.com/kevinrue/Bioc2020BoFSlides/blob/master/.github/workflows/render_deploy.yaml</a></p> <p><strong>Kevin Rue-Albrecht</strong> (06:30:40): > GHA time: 2m 55s:fast_parrot:</p> <p><strong>Martin Morgan</strong> (06:35:17): > is the problem that the parent bioconductor/bioconductor_docker is itself using the default repository from the underlying rocker image to install ‘core’ packages, i.e., binary installation of git2r, maybe as a dependency of<a href="https://github.com/Bioconductor/bioconductor_docker/blob/05d65db206ccede695beace5c3608bbc8b2c0fae/install.R#L5">https://github.com/Bioconductor/bioconductor_docker/blob/05d65db206ccede695beace5c3608bbc8b2c0fae/install.R#L5</a>?</p> <p><strong>Levi Waldron</strong> (06:36:57) (in thread): > I don’t know,<span class="citation" data-cites="Nitesh">@Nitesh</span> Turaga?</p> <p><strong>Kevin Rue-Albrecht</strong> (06:37:48) (in thread): > devtools [Imports] -> remotes [Suggests] -> git2r</p> <p><strong>Levi Waldron</strong> (06:40:39) (in thread): > You mean having devtools in Imports and remotes in Suggests results in git2r being installed?</p> <p><strong>Kevin Rue-Albrecht</strong> (06:41:04) (in thread): > latest run: Build and Push Docker container56m 48s > I’m hearing drumrolls right now:crossed_fingers:</p> <p><strong>Kevin Rue-Albrecht</strong> (06:42:09) (in thread): > I’m always a bit confused about what gets installed from indirect dependencies. I can only point out that there is at least one path that makes it possible</p> <p><strong>Martin Morgan</strong> (06:43:38) (in thread): > <code>> > db = available.packages(repos = BiocManager::repositories()) > > tools::package_dependencies("devtools",db, recursive=TRUE) > $devtools > [1] "usethis" "callr" "cli" "covr" "desc" > ... > [56] "clipr" "fs" "gh" "git2r" "rematch2" > ... > [81] "utf8" ></code> > so one way or another git2r is a dependency of devtools, and devtools & its dependencies are probably installed from the binary archive…</p> <p><strong>Martin Morgan</strong> (06:44:17) (in thread): > (this is not via a ‘Suggests’ dependency, but Depends / Imports / LinkinigTo chain)</p> <p><strong>Nitesh Turaga</strong> (07:04:23) (in thread): > The<code>bioc2020</code>tag froze with no updates when we discussed the libglpk-dev issue.</p> <p><strong>Nitesh Turaga</strong> (07:04:48) (in thread): > It hasn’t changed since then, it was taken from the “then version” of devel.</p> <p><strong>Nitesh Turaga</strong> (07:05:15) (in thread): > Actually nothing changed on<code>devel</code>either, except for the weekly (friday evening) update.</p> <p><strong>Nitesh Turaga</strong> (07:17:11) (in thread): > The<code>rocker/rstudio:4.0.0-ubuntu18.04</code>seems to have been updated.</p> <p><strong>Nitesh Turaga</strong> (07:17:54) (in thread): > You can reproduce the same image on that image with<code>git2r</code>.</p> <p><strong>Nitesh Turaga</strong> (07:21:02) (in thread): > This can be solved if someone has a version of the docker image from when this successfully built, i think.</p> <p><strong>Nitesh Turaga</strong> (07:21:12) (in thread): > <span class="citation" data-cites="Levi">@Levi</span> Waldron@Kevin Rue-Albrecht</p> <p><strong>Nitesh Turaga</strong> (07:21:13) (in thread): > ?</p> <p><strong>Levi Waldron</strong> (07:21:44) (in thread): > What do you mean@Nitesh Turagaby “has a version of the docker image from when this successfully built”?</p> <p><strong>Kevin Rue-Albrecht</strong> (07:22:14) (in thread): > as far as I’m aware, the iSEE image has been building successfully with devel and bioc2020 tags</p> <p><strong>Kevin Rue-Albrecht</strong> (07:22:31) (in thread): > it hasn’t failed in a while</p> <p><strong>Nitesh Turaga</strong> (07:23:56) (in thread): > Did MultiAssayWorkshop just start failing today?</p> <p><strong>Nitesh Turaga</strong> (07:24:00) (in thread): > or yesterday?</p> <p><strong>Levi Waldron</strong> (07:25:58) (in thread): > I believe it started failing after Marcel made some commits yesterday that caused new GHA builds, successful but producing broken Docker images:<a href="https://github.com/waldronlab/MultiAssayWorkshop/commits/master">https://github.com/waldronlab/MultiAssayWorkshop/commits/master</a></p> <p><strong>Nitesh Turaga</strong> (07:28:45) (in thread): > I see….</p> <p><strong>Nitesh Turaga</strong> (07:29:21) (in thread): > I thought, if someone had the previous version of the docker image where it built successfully, we could force the issue by making Marcel’s workshop inherit from that image.</p> <p><strong>Nitesh Turaga</strong> (07:30:29) (in thread): > We need the<code>bioconductor/bioconductor_docker:devel</code>image without Friday’s update, i.e someone with a copy of the image from July 23rd and earlier.</p> <p><strong>Nitesh Turaga</strong> (07:30:57) (in thread): > But that’s a bad solution.</p> <p><strong>Levi Waldron</strong> (07:31:31) (in thread): > The image still builds successfully, but the vignette didn’t necessarily build within the Docker container then either. I guess what I didn’t properly appreciate was that the GH-actions environment that produces the pkgdown page isn’t necessarily the same as what ends up in the Docker container, depending on the Dockerfile commands.</p> <p><strong>Levi Waldron</strong> (07:33:29) (in thread): > I take that back, I did test the vignette within the Docker container yesterday partially successfully (there was a timeout from seqlevelstyles making an unsuccessful internet call<a href="https://github.com/waldronlab/MultiAssayWorkshop/issues/2">https://github.com/waldronlab/MultiAssayWorkshop/issues/2</a>), but that’s the only point in time that I tested it.</p> <p><strong>Martin Morgan</strong> (08:04:00) (in thread): > I think a robust solution would be to overwrite the RSPM repos<code>options(repos = c(CRAN = "</code><a href="https://cran.r-project.org">https://cran.r-project.org</a><code>"))</code>in the first line of<a href="https://github.com/Bioconductor/bioconductor_docker/blob/05d65db206ccede695beace5c3608bbc8b2c0fae/install.R#L1">https://github.com/Bioconductor/bioconductor_docker/blob/05d65db206ccede695beace5c3608bbc8b2c0fae/install.R#L1</a>(for our own installations), or overwrite the environment variable set by the rocker folks<a href="https://github.com/rocker-org/rocker-versioned2/blob/master/deprecated-stacks/core-3.6.3-ubuntu18.04.json#L16">https://github.com/rocker-org/rocker-versioned2/blob/master/deprecated-stacks/core-3.6.3-ubuntu18.04.json#L16</a>(for everything). This could be done for a specific tag bioc2020.1 or something, but are we just too late in the game for making these changes?</p> <p><strong>Sean Davis</strong> (08:20:48) (in thread): > For the time being, avoiding binary packages seems the best approach in general. Going forward, we should probably harden the the docker development efforts with some significant integration and regression testing, particularly since the upstream docker seems relatively unstable.</p> <p><strong>Levi Waldron</strong> (08:21:52) (in thread): > I think that’s a good idea Martin, the rstudio binaries seem very problematic. It would go under this issue:<a href="https://github.com/Bioconductor/bioconductor_docker/issues/15">https://github.com/Bioconductor/bioconductor_docker/issues/15</a></p> <p><strong>Sean Davis</strong> (08:23:28) (in thread): > Installation of packages with Suggests is also problematic since it requires the use of non-standard dependencies argument that is easily missed. This is a common cause of a package that installs but that contains a vignette that does not build.</p> <p><strong>Levi Waldron</strong> (08:24:12) (in thread): > BTW, I did seemingly fix MultiAssayWorkshop by separating updates and installs into separate R sessions in the Dockerfile (<a href="https://github.com/waldronlab/MultiAssayWorkshop/commit/d74667c6ceb8d72b4562f38ae4523994296c97a4">https://github.com/waldronlab/MultiAssayWorkshop/commit/d74667c6ceb8d72b4562f38ae4523994296c97a4</a>)</p> <p><strong>Levi Waldron</strong> (08:26:37) (in thread): > It would be great also if the GHA would build the Docker image locally with the package installed, use it to check and create the pkgdown site, then push that same image to DockerHub, so actual image on DockerHub is known to work. Otherwise it seems there will always be other ways to have a working GHA but broken DockerHub image.</p> <p><strong>Sean Davis</strong> (08:29:09) (in thread): > In future iterations of the workshop, we will be leveraging a more configurable and centrally managed Bioc workshop build system, so we can 1) make global adjustments easily and 2) can employ better QA/QC and transparency.</p> <p><strong>Levi Waldron</strong> (08:29:41) (in thread): > Sounds awesome. All in all, it’s working well this time, and a lot of us are learning a lot.</p> <p><strong>Levi Waldron</strong> (09:05:24): > <span class="citation" data-cites="Sean">@Sean</span> Daviswe’re hearing that the functional enrichment analysis workshop isn’t loading through<a href="http://workshop.bioc.cancerdatasci.org/">http://workshop.bioc.cancerdatasci.org/</a></p> <p><strong>Levi Waldron</strong> (09:06:49) (in thread): > I am testing it myself just now, but thought I’d let you know asap</p> <p><strong>Kevin Rue-Albrecht</strong> (09:07:03): > i’ve had the loading bar for a minute or two now</p> <p><strong>Kevin Rue-Albrecht</strong> (09:07:46): > ah - it’s ready now</p> <p><strong>Kevin Rue-Albrecht</strong> (09:08:20): > :thumbsup:</p> <p><strong>Sean Davis</strong> (09:08:33): > Just autoscaling. Nearly everyone should be in now.</p> <p><strong>Sean Davis</strong> (09:12:59): > I’ll bring up the scale in the morning from now on. That should eliminate the wait. It is AWESOME that folks’ expectations are so high! And even nicer when we can meet those expectations….</p> <p><strong>Levi Waldron</strong> (09:13:42): > LOL yeah Sean! Well put.</p> <p><strong>Martin Morgan</strong> (09:14:05) (in thread): > So should nitesh create a new tagged image :bioc2020.1 that ensures we do not use the rstudio package manager repository?</p> <p><strong>Levi Waldron</strong> (09:17:06) (in thread): > That’s a good idea, then move that tag to :devel after the conference. It would provide a quick fix for such problems in the meantime.</p> <p><strong>Levi Waldron</strong> (09:17:41) (in thread): > I mean, de-activate the rstudio binary repositories in :devel after the conference</p> <p><strong>Nitesh Turaga</strong> (09:20:50) (in thread): > Should I create this image now?</p> <p><strong>Martin Morgan</strong> (09:21:13) (in thread): > Yes; can you point me to what you will do?</p> <p><strong>Nitesh Turaga</strong> (09:28:06) (in thread): > <a href="https://gist.github.com/f99dfbdbf12928a3319e720e7a992ed3">https://gist.github.com/f99dfbdbf12928a3319e720e7a992ed3</a></p> <p><strong>Martin Morgan</strong> (09:36:43) (in thread): > I was wondering more along the lines of fixing the consequences of<a href="https://github.com/rocker-org/rocker-versioned2/blob/4aa987d8798d6cfe3e5828806b50e3e0b569a9f5/scripts/install_R.sh#L132">https://github.com/rocker-org/rocker-versioned2/blob/4aa987d8798d6cfe3e5828806b50e3e0b569a9f5/scripts/install_R.sh#L132</a>so that the binary repository is never available…</p> <p><strong>Nitesh Turaga</strong> (09:39:10) (in thread): > ok, that’s possible too.</p> <p><strong>Nitesh Turaga</strong> (10:11:21) (in thread): > building…</p> <p><strong>Levi Waldron</strong> (10:13:45) (in thread): > Yes - BTW I think I discovered new consequences of the binary respository for Ludwig’s workshop even when setting the CRAN repo everywhere in the Dockerfile - when you run the vignette, it installs another package, from the rstudio binary package library! It’s pernicious unless it’s just removed as the default.</p> <p><strong>Nitesh Turaga</strong> (10:56:07) (in thread): > <span class="citation" data-cites="Martin">@Martin</span> Morgan@Levi WaldronTest out<code>bioconductor/bioconductor_docker:bioc2020.1</code>and let me know what you think.</p> <p><strong>Kevin Rue-Albrecht</strong> (12:43:50): > Trying to “Manage” the iSEE workshop, the “join live meeting” button doesn’t do anything for me, should it be colored? - File (PNG): <a href="https://community-bioc.slack.com/files/U34P8RS3B/F018KET7GDN/image.png">image.png</a></p> <p><strong>Levi Waldron</strong> (12:44:12): > for you it should be</p> <p><strong>Levi Waldron</strong> (12:44:25): > are you listed as a presenter? i’ll check</p> <p><strong>Kevin Rue-Albrecht</strong> (12:44:36): > I’ll also log out and back in pathable</p> <p><strong>Levi Waldron</strong> (12:44:58): > You are, so you should be able to enter by now.</p> <p><strong>Kevin Rue-Albrecht</strong> (12:45:19): > hm..still doesn’t do anything, weird</p> <p><strong>Kevin Rue-Albrecht</strong> (12:45:36): > Google Chrome, right?</p> <p><strong>Levi Waldron</strong> (12:45:40): > yes</p> <p><strong>Kevin Rue-Albrecht</strong> (12:46:30): > Hang on.. I got in through the regular attendee button, which was blue</p> <p><strong>Kevin Rue-Albrecht</strong> (12:47:01): > I’m marked as host - looks good</p> <p><strong>Levi Waldron</strong> (12:47:30): > first person arriving is host - you can re-assign if you want</p> <p><strong>Kevin Rue-Albrecht</strong> (12:47:37): > ah no, Co-host, Lauren is host</p> <p><strong>Kevin Rue-Albrecht</strong> (12:47:48): > (not sure who that is:grimacing:)</p> <p><strong>Levi Waldron</strong> (12:48:48): > Lauren Hsu is technical moderator for your session</p> <p><strong>Levi Waldron</strong> (12:49:53): > Although it doesn’t make much difference for the purpose of workshops</p> <p><strong>Nitesh Turaga</strong> (13:24:27): > <span class="citation" data-cites="Levi">@Levi</span> WaldronThe<code>bioconductor/bioconductor_docker:bioc2020.1</code>is available. Give it a shot and let me know if it works.</p> <p><strong>Ray Su</strong> (13:52:04): > <span class="citation" data-cites="Ray">@Ray</span> Su has joined the channel</p> <p><strong>Levi Waldron</strong> (13:52:15) (in thread): > <a href="https://github.com/waldronlab/CNVWorkshop/pull/3">https://github.com/waldronlab/CNVWorkshop/pull/3</a><a href="https://github.com/waldronlab/enrichOmics/pull/11">https://github.com/waldronlab/enrichOmics/pull/11</a><a href="https://github.com/waldronlab/MultiAssayWorkshop/pull/4">https://github.com/waldronlab/MultiAssayWorkshop/pull/4</a></p> <p><strong>Levi Waldron</strong> (13:52:27) (in thread): > (being tested on three workshops now)</p> <p><strong>Nitesh Turaga</strong> (14:03:05) (in thread): > ok great!</p> <p><strong>Levi Waldron</strong> (15:54:04) (in thread): > It works, and I even got rid of my CRAN repo settings to live dangerously. Too bad the upcoming CRISPRseekGUIDEseq isn’t using it, I just saw it has the same problem in the Cloud workshop.</p> <p><strong>Levi Waldron</strong> (15:54:09) (in thread): > <code>> Error in dyn.load(file, DLLpath = DLLpath, ...) : > unable to load shared object '/usr/local/lib/R/site-library/git2r/libs/git2r.so': > libssh2.so.1: cannot open shared object file: No such file or directory ></code></p> <p><strong>Nitesh Turaga</strong> (16:13:27) (in thread): > <span class="citation" data-cites="Sehyun">@Sehyun</span> Oh</p> <p><strong>Levi Waldron</strong> (16:13:34) (in thread): > Actually the CRISPRseekGUIDEseq error only happens when I use devtools to test, with devtools using git2r.@Nitesh Turaga@Martin Morgan@Mikhail DozmorovI actually think it would be a good idea to apply this fix to :devel right away, it will prevent way more problems than it might cause.</p> <p><strong>Nitesh Turaga</strong> (16:15:05) (in thread): > I see..</p> <p><strong>Levi Waldron</strong> (16:15:49) (in thread): > (ie using devtools::build_vignettes() within the container)</p> <p><strong>Mikhail Dozmorov</strong> (16:45:05) (in thread): > <span class="citation" data-cites="Anthony">@Anthony</span>, see if using bioc2020.1 tagged image solves your vignette issue</p> <p><strong>Anthony</strong> (16:52:12) (in thread): > <span class="citation" data-cites="Mikhail">@Mikhail</span> DozmorovOkay</p> <p><strong>Peter Hickey</strong> (17:53:59): > The vignette for my workshop (<a href="https://petehaitch.github.io/BioC2020_DelayedArray_workshop/">https://petehaitch.github.io/BioC2020_DelayedArray_workshop/</a>) isn’t listed when I run<code>browseVignettes()</code>within<a href="http://workshop.bioc.cancerdatasci.org/">http://workshop.bioc.cancerdatasci.org/</a>. > Anyone got any suggestions as to why and how to fix? > Not critical, but would be nice to have working.</p> <p><strong>Marcel Ramos Pérez</strong> (18:00:11): > Hi Pete@Peter Hickey, you can do<code>help(package = "DelayedArrayWorkshop")</code>and then click on the vignette</p> <p><strong>Marcel Ramos Pérez</strong> (18:03:58): > I tried it just now, it seems like the vignette didn’t get built?</p> <p><strong>Peter Hickey</strong> (18:04:20) (in thread): > No. I’m wondering if the vignette is actually being installed with the package?</p> <p><strong>Peter Hickey</strong> (18:05:07) (in thread): > yeah, either not built or not installed? The pkgdown is working. I’m a bit puzzled</p> <p><strong>Peter Hickey</strong> (18:06:04) (in thread): > when i build and install the package on my own machine (no docker stuff) then the vignette is installed and available via both<code>browseVignettes()</code>and<code>help(package = "DelayedArrayWorkshop")</code></p> <p><strong>Marcel Ramos Pérez</strong> (18:06:29) (in thread): > I see the issue in the<code>Dockerfile</code><a href="https://github.com/PeteHaitch/BioC2020_DelayedArray_workshop/blob/4604afdc21c773fcf4022f46e9aa6b99ba384b8d/Dockerfile#L7">https://github.com/PeteHaitch/BioC2020_DelayedArray_workshop/blob/4604afdc21c773fcf4022f46e9aa6b99ba384b8d/Dockerfile#L7</a>. You have to install the package and build the vignette. See Sean’s template<a href="https://github.com/seandavi/BuildABiocWorkshop2020/blob/master/Dockerfile">https://github.com/seandavi/BuildABiocWorkshop2020/blob/master/Dockerfile</a></p> <p><strong>Kevin Rue-Albrecht</strong> (18:09:36) (in thread): > I’ll emphasise again how important it is to have the<strong>two</strong><code>Rscript</code>commands in Sean’s template. > The first one is needed to update all the packages in a separate session from the subsequent one that installs and builds the vignette. Otherwise you’d run into a package version issue</p> <p><strong>Peter Hickey</strong> (18:11:47) (in thread): > do i need to modify<a href="https://github.com/PeteHaitch/BioC2020_DelayedArray_workshop/blob/4604afdc21c773fcf4022f46e9aa6b99ba384b8d/Dockerfile#L7">https://github.com/PeteHaitch/BioC2020_DelayedArray_workshop/blob/4604afdc21c773fcf4022f46e9aa6b99ba384b8d/Dockerfile#L7</a>to match sean’s (as well as adding the extra line) > If i remember, i modified that line because of some earlier issue that I didn’t understand but it ’fixed ’it</p> <p><strong>Kevin Rue-Albrecht</strong> (18:13:22) (in thread): > You may have a leftover of the fix that introduced > <code>> options(repos = c(CRAN = '[https://cran.r-project.org](https://cran.r-project.org)')) ></code></p> <p><strong>Kevin Rue-Albrecht</strong> (18:14:19) (in thread): > as per Sean’s template, this is still needed, and then yes, you need to modify to match Sean’s new two-line template</p> <p><strong>Kevin Rue-Albrecht</strong> (18:14:36) (in thread): > Levi went through this this morning</p> <p><strong>Levi Waldron</strong> (18:14:37) (in thread): > Try this PR@Peter Hickey- you can wait for it to test in its branch:<a href="https://github.com/PeteHaitch/BioC2020_DelayedArray_workshop/pull/4">https://github.com/PeteHaitch/BioC2020_DelayedArray_workshop/pull/4</a></p> <p><strong>Levi Waldron</strong> (18:15:01) (in thread): > The bioc2020.1 tag fixes this rstudio package mirror nightmare</p> <p><strong>Peter Hickey</strong> (18:16:37) (in thread): > thank you all!<span class="citation" data-cites="Levi">@Levi</span> Waldronyou did that faster than I could do myself! it doesn’t look like GHA are triggered by the PR. Do i need to merge to trigger?</p> <p><strong>Levi Waldron</strong> (18:16:39) (in thread): > actually your GHA isn’t testing the branch, but I recommend merging it anyways. I think it will work.</p> <p><strong>Levi Waldron</strong> (18:17:15) (in thread): > I think that’s a setting you can change, I forget right now though</p> <p><strong>Peter Hickey</strong> (18:18:07) (in thread): > no worries. thank you very much. I’ll post back here once the GHA is done</p> <p><strong>Peter Hickey</strong> (19:16:08) (in thread): > that’s fixed it! Thanks again, all.</p> <p><strong>Peter Hickey</strong> (19:18:36): > For future planning, would it be possible to ‘inherit’ the Dockerfile and GHA files from the template repo (i.e. Sean’s). I think my versions of these files fell out of sync with what was in the template (it’s also very likely that I simply shot myself in the foot by fiddling around too much)</p> <p><strong>Sean Davis</strong> (20:33:49): > A lot can change in a year, but I think for future workshops I’ll likely build out a system that consolidates building, testing, hosting websites, and launching and monitoring workshops. From an end-user perspective, it will look like: > 1. Register your workshop Repo. > 2. Add a “web hook” to call the build system. > 3. Commit as necessary. > 4. Check build results and artifacts as needed. > 5. Launch built workshop as needed.</p> <p><strong>Peter Hickey</strong> (22:09:02): > Thank you for your incredible work on this@Sean Davis, it’s really much appreciated!</p> <p><strong>Sean Davis</strong> (23:54:54): > There have been innumerable contributions from folks here; it takes a village (or a Bioconductor community)!</p> </section> <section id="section-104" class="level2"> <h2>2020-07-29</h2> <p><strong>Levi Waldron</strong> (05:36:29): > <!channel>We’re going to set up a live “R/Bioconductor helpdesk” to run during the workshop hours. We can also announce additional hours if you are willing to do something outside those hours. Workshop authors and others who can answer beginner / general questions, if you’d be willing to hang out in a conference room for an hour and try to answer questions as they come up, please sign up at<a href="https://bit.ly/letstalkbioc2020">https://bit.ly/letstalkbioc2020</a>. You can sign up for more than one time, and we can have more than one staffer available (in one room or moving into separate rooms, depending on the number of questions).</p> <p><strong>Michael Love</strong> (11:33:49): > what is this cool setup that Marcel is using (with Run Code and Continue)?</p> <p><strong>Levi Waldron</strong> (11:35:28) (in thread): > Isn’t it cool?! learnr<a href="https://rstudio.github.io/learnr/">https://rstudio.github.io/learnr/</a></p> <p><strong>Michael Love</strong> (11:36:24) (in thread): > very</p> <p><strong>Michael Love</strong> (11:36:26) (in thread): > thanks</p> <p><strong>Nick Owen</strong> (13:01:15): > <span class="citation" data-cites="Nick">@Nick</span> Owen has joined the channel</p> <p><strong>Riyue Sunny Bao</strong> (17:36:59): > <span class="citation" data-cites="Riyue">@Riyue</span> Sunny Bao has joined the channel</p> <p><strong>Yoichiro Ohne</strong> (18:58:25): > <span class="citation" data-cites="Yoichiro">@Yoichiro</span> Ohne has joined the channel</p> </section> <section id="section-105" class="level2"> <h2>2020-07-31</h2> <p><strong>Isha Goel</strong> (12:47:19): > <span class="citation" data-cites="Isha">@Isha</span> Goel has joined the channel</p> <p><strong>bogdan tanasa</strong> (14:04:28): > <span class="citation" data-cites="bogdan">@bogdan</span> tanasa has joined the channel</p> <p><strong>Erick Cuevas</strong> (14:12:47): > <span class="citation" data-cites="Erick">@Erick</span> Cuevas has joined the channel</p> </section> <section id="section-106" class="level2"> <h2>2020-08-03</h2> <p><strong>Junyan Xu</strong> (12:54:25): > <span class="citation" data-cites="Junyan">@Junyan</span> Xu has joined the channel</p> </section> <section id="section-107" class="level2"> <h2>2020-09-09</h2> <p><strong>Roye Rozov</strong> (05:25:42): > <span class="citation" data-cites="Roye">@Roye</span> Rozov has joined the channel</p> </section> <section id="section-108" class="level2"> <h2>2020-09-11</h2> <p><strong>Assa</strong> (07:27:30): > <span class="citation" data-cites="Assa">@Assa</span> has joined the channel</p> </section> <section id="section-109" class="level2"> <h2>2020-09-16</h2> <p><strong>Nitesh Turaga</strong> (09:32:57): > <span class="citation" data-cites="Nitesh">@Nitesh</span> Turaga has left the channel</p> </section> <section id="section-110" class="level2"> <h2>2020-11-18</h2> <p><strong>eugenia.galeota</strong> (05:39:46): > <span class="citation" data-cites="eugenia.galeota">@eugenia.galeota</span> has joined the channel</p> </section> <section id="section-111" class="level2"> <h2>2020-11-23</h2> <p><strong>Kevin Rue-Albrecht</strong> (05:29:49) (in thread): > I’m not sure when it was introduced, but GitHub offers the possibility to make “Template repositories”<a href="https://docs.github.com/en/free-pro-team@latest/github/creating-cloning-and-archiving-repositories/creating-a-template-repository">https://docs.github.com/en/free-pro-team@latest/github/creating-cloning-and-archiving-repositories/creating-a-template-repository</a>Which I’ve used for some early-days Snakemake workflows, e.g.<a href="https://github.com/kevinrue/snakemake_cellranger_count">https://github.com/kevinrue/snakemake_cellranger_count</a></p> <p><strong>Kevin Rue-Albrecht</strong> (05:41:23) (in thread): > Nevermind, I just realise that Sean set that up already:<a href="https://github.com/seandavi/BuildABiocWorkshop2020">https://github.com/seandavi/BuildABiocWorkshop2020</a></p> </section> <section id="section-112" class="level2"> <h2>2020-11-24</h2> <p><strong>Laurent Gatto</strong> (03:54:02): > <span class="citation" data-cites="Laurent">@Laurent</span> Gatto has joined the channel</p> </section> <section id="section-113" class="level2"> <h2>2020-11-25</h2> <p><strong>Johannes Rainer</strong> (03:19:53): > <span class="citation" data-cites="Johannes">@Johannes</span> Rainer has joined the channel</p> </section> <section id="section-114" class="level2"> <h2>2020-11-27</h2> <p><strong>Spiro Stilianoudakis</strong> (15:26:48): > <span class="citation" data-cites="Spiro">@Spiro</span> Stilianoudakis has joined the channel</p> </section> <section id="section-115" class="level2"> <h2>2020-11-28</h2> <p><strong>Rory Stark</strong> (12:32:05): > <span class="citation" data-cites="Rory">@Rory</span> Stark has joined the channel</p> <p><strong>Rory Stark</strong> (12:37:10): > Hello! I’m trying to submit a workshop for#eurobioc2020. The form requires the full URL for the Git Hub repository for the workshop package. It will not accept my URL, I think because our username contains hyphens? The url is:<a href="https://github.com/bioinformatics-core-shared-training/Quantitative-ChIPseq-Workshop">https://github.com/bioinformatics-core-shared-training/Quantitative-ChIPseq-Workshop</a>. Any ideas on how to get this form submitted?</p> <p><strong>Kevin Rue-Albrecht</strong> (13:17:06) (in thread): > oh sorry - let me check my form validation rules</p> <p><strong>Kevin Rue-Albrecht</strong> (13:21:59) (in thread): > yep, that was it - it works now</p> <p><strong>Rory Stark</strong> (15:53:42) (in thread): > Yep, that fixed it, thanks@Kevin Rue-Albrecht!</p> </section> <section id="section-116" class="level2"> <h2>2020-12-11</h2> <p><strong>Laurent Gatto</strong> (13:46:57): > Hello - I have a problem when building my workshop (<a href="https://github.com/lgatto/QFeaturesWorkshop2020">https://github.com/lgatto/QFeaturesWorkshop2020</a>) with a dependency,<code>preprocessCore</code>, that leads to the following error > <code>> Quitting from lines 559-561 (QFeaturesWorkshop2020.Rmd) > Error: processing vignette 'QFeaturesWorkshop2020.Rmd' failed with diagnostics: > ERROR; return code from pthread_create() is 22 ></code> > This is also an error that I have observed when checking my packages via GHA recentlyy. > > Any idea?</p> <p><strong>Kevin Rue-Albrecht</strong> (13:50:02) (in thread): > Google took me here<a href="https://stackoverflow.com/questions/61629861/error-return-code-from-pthread-create-is-22">https://stackoverflow.com/questions/61629861/error-return-code-from-pthread-create-is-22</a>Still reading - Attachment (Stack Overflow): <a href="https://stackoverflow.com/questions/61629861/error-return-code-from-pthread-create-is-22">ERROR; return code from pthread_create() is 22</a> > Problem: I created a conda environment in a Docker repository to run a snakemake pipeline. I used the same running conda environment file running on my mac (R 3.6.1). Everything runs smoothly till it</p> <p><strong>Kevin Rue-Albrecht</strong> (13:52:54) (in thread): > Perhaps add a RUN statement in the Dockerfile to check the version of<code>libopenblas</code>, for debug, and it might help decide whether it’s a version issue like suggested there?</p> <p><strong>Dario Righelli</strong> (13:58:28): > If you’re having problems with the<code>usethis package</code>installation in your workshop template look into this solution:<a href="https://community-bioc.slack.com/archives/C01DAV3H799/p1607712954081800">https://community-bioc.slack.com/archives/C01DAV3H799/p1607712954081800</a> - Attachment: <a href="https://community-bioc.slack.com/archives/C01DAV3H799/p1607712954081800">Attachment</a> > I’ve had an issue on the GHA for the Workshop failing because the of <code>usethis package missing</code> . > Thanks to <span class="citation" data-cites="Kevin">@Kevin</span> Rue-Albrecht I solved it by adding into the <code>Docker</code> file these two commands > • This one just before the Bioconductor installation: > <code>RUN apt-get update && \</code> > <code>apt-get -y install libgit2-dev</code> > • This second one has to be placed right after the Bioconductor installation: > <code>RUN Rscript --vanilla -e "options(repos = c(CRAN = '[https://cran.r-project.org](https://cran.r-project.org)')); BiocManager::install('usethis')"</code></p> <p><strong>Martin Morgan</strong> (14:29:56): > This is because of a change in the dependency graph that introduces the package ‘gert’ into the usethis dependency graph. It’s a recent change (published 2020-12-10). > > To avoid this problem in the future, maybe the workshop should have a custom image and peg to a particular date via the RStudio package manager CRAN mirror,<code>options(repos = c(CRAN = "</code><a href="https://packagemanager.rstudio.com/all/161958">https://packagemanager.rstudio.com/all/161958</a><code>"))</code>(for 2020-12-09 snapshot…). > > From the command line with the current container > <code>> $ docker run -it --rm bioconductor/bioconductor_docker:devel R > > BiocManager::install("usethis") #fails > ... > > options(repos= c(CRAN="[https://packagemanager.rstudio.com/all/161958](https://packagemanager.rstudio.com/all/161958)")) > > BiocManager::install("usethis") # succeeds ></code> > This URL is from the<a href="https://packagemanager.rstudio.com/client/#/repos/1/overview">RSPM setup page</a>fro Ubuntu 20.04.</p> <p><strong>Dario Righelli</strong> (16:16:40): > Hi again, if I just want to use the latest release, is it enough to change the docker image (<code>container:</code>) to<code>bioconductor/bioconductor_docker:RELEASE_3_12</code>in the workflow file?</p> <p><strong>Sean Davis</strong> (16:39:57) (in thread): > You also need to change the “FROM …” line in the<code>Dockerfile</code>in your repo. The two locations should match in most cases.</p> <p><strong>Dario Righelli</strong> (17:01:46) (in thread): > Thanks, I’ve also tried this, but I’m getting this error during dependencies installation: > <code>> During startup - Warning message: > 8 package 'BiocManager' was built under R version 4.1.0 > 9 Error: Bioconductor version '3.13' requires R version '4.1'; see > 10[https://bioconductor.org/install](https://bioconductor.org/install)11 Execution halted > 12 Error: Process completed with exit code 1. ></code> > This is the link to the new workflow file :<a href="https://github.com/drighelli/EuroBioc2020_SpatialWorkshop/actions/runs/416366266/workflow">https://github.com/drighelli/EuroBioc2020_SpatialWorkshop/actions/runs/416366266/workflow</a></p> <p><strong>Laurent Gatto</strong> (17:39:14) (in thread): > It seem that setting<code>version = "3.12"</code>in all the<code>BiocManager::install()</code>and<code>BiocManager::repositories()</code>call in the workflow and docker files sorts out that issue. > (I do get another error though)</p> <p><strong>Laurent Gatto</strong> (17:42:36): > Using<code>bioconductor/bioconductor_docker:RELEASE_3_12</code>, I get the following error > <code>> Error: (converted from warning) package 'BiocManager' in options("defaultPackages") was not found > Execution halted > Error in i.p(...) : > (converted from warning) installation of package 'jsonlite' had non-zero exit status > Calls: <Anonymous> ... with_rprofile_user -> with_envvar -> force -> force -> i.p > Execution halted > Error: Process completed with exit code 1. ></code> > Any suggestion?</p> <p><strong>Laurent Gatto</strong> (17:58:45) (in thread): > This doesn’t seem to be related to<code>jsonlite</code>, as I see that it<a href="https://github.com/lgatto/QFeaturesWorkshop2020/runs/1540228787?check_suite_focus=true#step:5:292">gets installed</a>before the error. On the other hand, the<code>gert</code>and<code>usethis</code>issue is present also using RELEASE_3_12.@Nitesh Turagacould you also address this in<code>bioconductor/bioconductor_docker:RELEASE_3_12</code>, please.</p> <p><strong>Nitesh Turaga</strong> (17:58:52): > <span class="citation" data-cites="Nitesh">@Nitesh</span> Turaga has joined the channel</p> <p><strong>Nitesh Turaga</strong> (18:14:56) (in thread): > I’ll take a look@Laurent Gatto</p> <p><strong>Laurent Gatto</strong> (18:15:06) (in thread): > thanks</p> <p><strong>Laurent Gatto</strong> (18:17:27) (in thread): > More details: > <code>> * installing **source** package 'gert' ... > **** package 'gert' successfully unpacked and MD5 sums checked > **** using staged installation > Using PKG_CFLAGS= > Using PKG_LIBS=-lgit2 > ----------------------------- ANTICONF ------------------------------- > Configuration failed to find libgit2 library. Try installing: > * brew: libgit2 (MacOS) > * deb: libgit2-dev (Debian, Ubuntu, etc) > * rpm: libgit2-devel (Fedora, CentOS, RHEL) > If libgit2 is already installed, check that 'pkg-config' is in your > PATH and PKG_CONFIG_PATH contains a libgit2.pc file. If pkg-config > is unavailable you can set INCLUDE_DIR and LIB_DIR manually via: > R CMD INSTALL --configure-vars='INCLUDE_DIR=... LIB_DIR=...' > -------------------------- [ERROR MESSAGE] --------------------------- > <stdin>:1:10: fatal error: git2.h: No such file or directory > compilation terminated. > ---------------------------------------------------------------------- > ERROR: configuration failed for package 'gert' > * removing '/usr/local/lib/R/site-library/gert' ></code> > despite having > <code>> RUN apt-get update \ > && apt-get install -y --no-install-recommends apt-utils \ > && apt-get install -y --no-install-recommends \ > ## Basic deps > ... > libgit2-dev \ > ... ></code> > in the Docker file</p> </section> <section id="section-117" class="level2"> <h2>2020-12-12</h2> <p><strong>Huipeng Li</strong> (00:41:01): > <span class="citation" data-cites="Huipeng">@Huipeng</span> Li has joined the channel</p> <p><strong>Martin Morgan</strong> (06:17:55) (in thread): > hmm, but as a point of clarification I thought the workshops had standardized on the ‘devel’ image. Or is it more ‘anything goes’?</p> <p><strong>Laurent Gatto</strong> (06:36:19) (in thread): > With devel, I get<code>ERROR; return code from pthread_create() is 22</code>when having<code>preprocessCore</code>as a dependency. This is an error that popped up already some time ago in GHA. I hoped it was a temporary issue, but apparently not.</p> <p><strong>Laurent Gatto</strong> (06:37:33) (in thread): > My current solution is to use devel, but change a step in the workshop pipeline to not depend on<code>preprocessCore::normalize.quantiles()</code>.</p> <p><strong>Martin Morgan</strong> (06:38:26) (in thread): > Thanks Laurent, is there a reproducible example, maybe as an issue on<a href="https://github.com/Bioconductor/bioconductor_docker/issues">https://github.com/Bioconductor/bioconductor_docker/issues</a>?</p> <p><strong>Mahmoud Ahmed</strong> (07:25:17): > <span class="citation" data-cites="Mahmoud">@Mahmoud</span> Ahmed has joined the channel</p> <p><strong>Kevin Rue-Albrecht</strong> (07:44:07) (in thread): > <span class="citation" data-cites="Laurent">@Laurent</span> GattoSee the changes to<code>Dockerfile</code>in this commit:<a href="https://github.com/iSEE/iSEEWorkshopEuroBioc2020/pull/25/files">https://github.com/iSEE/iSEEWorkshopEuroBioc2020/pull/25/files</a></p> <p><strong>Kevin Rue-Albrecht</strong> (07:44:47) (in thread): > That takes care of installing libgit2 and forces installation of<code>usethis</code>for good measure</p> <p><strong>Laurent Gatto</strong> (07:45:05) (in thread): > Thanks, will try that!</p> <p><strong>Laurent Gatto</strong> (07:47:02) (in thread): > This should sort the problem for release, right?</p> <p><strong>Kevin Rue-Albrecht</strong> (07:47:14) (in thread): > iSEE is using devel</p> <p><strong>Laurent Gatto</strong> (07:48:39) (in thread): > I thought that<code>libgit2-dev</code>was now install by default in devel. But anyway, thanks for the hint.</p> <p><strong>Kevin Rue-Albrecht</strong> (07:49:20) (in thread): > i think it should, but from your error message above: > <code>> Configuration failed to find libgit2 library. Try installing: > * deb: libgit2-dev (Debian, Ubuntu, etc) ></code></p> <p><strong>Kevin Rue-Albrecht</strong> (07:49:40) (in thread): > i ran into that too yesterday, and solved it with the PR i just linked</p> <p><strong>Kevin Rue-Albrecht</strong> (07:50:37) (in thread): > Though last night@Dario Righelliran into the same one and it seemed to work once but failed later again. The situation seems to fluctuate as packages and docker images are being updated ..</p> <p><strong>Laurent Gatto</strong> (08:12:06) (in thread): > <span class="citation" data-cites="Martin">@Martin</span> Morganlooks like the installation of<code>libgit2-dev</code>also sorted out my<code>p_thread</code>error, as it has disappeared now.</p> <p><strong>Dario Righelli</strong> (10:06:36) (in thread): > I still getting the error mentioned here with<code>RELEASE_3_12</code><a href="https://community-bioc.slack.com/archives/CJDMYKG2U/p1607724106017600?thread_ts=1607721400.017000&cid=CJDMYKG2U">https://community-bioc.slack.com/archives/CJDMYKG2U/p1607724106017600?thread_ts=1607721400.017000&cid=CJDMYKG2U</a>Btw I didn’t understood we have to use the devel for all the workshops… - Attachment: <a href="https://community-bioc.slack.com/archives/CJDMYKG2U/p1607724106017600?thread_ts=1607721400.017000&cid=CJDMYKG2U">Attachment</a> > Thanks, I’ve also tried this, but I’m getting this error during dependencies installation: > <code>During startup - Warning message: > 8 package 'BiocManager' was built under R version 4.1.0 > 9 Error: Bioconductor version '3.13' requires R version '4.1'; see > 10 [https://bioconductor.org/install](https://bioconductor.org/install) > 11 Execution halted > 12 Error: Process completed with exit code 1.</code> > This is the link to the new workflow file : > <a href="https://github.com/drighelli/EuroBioc2020_SpatialWorkshop/actions/runs/416366266/workflow">https://github.com/drighelli/EuroBioc2020_SpatialWorkshop/actions/runs/416366266/workflow</a></p> <p><strong>Kevin Rue-Albrecht</strong> (10:07:25) (in thread): > You don’t have to use devel for all workshops. Using release is entirely acceptable. It’s up to the speaker to decide which version they want to present</p> <p><strong>Levi Waldron</strong> (13:04:18) (in thread): > where’s the link to the workflow file? I’d like to reproduce this.</p> <p><strong>Martin Morgan</strong> (13:47:05) (in thread): > I believe that the RELEASE_3_12 image has not been updated yet (<span class="citation" data-cites="Nitesh">@Nitesh</span> Turaga) but that it suffers from the same problem – a missing system dependency. I think yesterday we (ok, I) were under the impression that everyone was expected to use the devel image for the workshop.</p> <p><strong>Nitesh Turaga</strong> (17:33:07) (in thread): > Yes, I thought it was the devel image which needed to be updated.</p> <p><strong>Nitesh Turaga</strong> (17:34:04) (in thread): > I can bug fix in RELEASE_3_12 as well.</p> <p><strong>Nitesh Turaga</strong> (18:12:20) (in thread): > <span class="citation" data-cites="Laurent">@Laurent</span> GattoTry now…i think this issue is fixed in 3.12 now.</p> </section> <section id="section-118" class="level2"> <h2>2020-12-13</h2> <p><strong>Dario Righelli</strong> (05:09:29) (in thread): > I’m still getting this error with RELEASE_3_12 > <code>> During startup - Warning message: > package 'BiocManager' was built under R version 4.1.0 > Using bundled GitHub PAT. Please add your own PAT to the env var `GITHUB_PAT` > Skipping install of 'sysreqs' from a github remote, the SHA1 (f068afa9) has not changed since last install. > Use `force = TRUE` to force installation > During startup - Warning message: > package 'BiocManager' was built under R version 4.1.0 > Error in if (any(mismatch <- res != res2)) { : > missing value where TRUE/FALSE needed > Calls: cat ... idesc_create -> idesc_create_file -> idesc_create_text -> read_dcf > Execution halted ></code></p> <p><strong>Martin Morgan</strong> (10:24:55) (in thread): > For what it’s worth, the problem is not with the current RELEASE_3_12 container > <code>> $ docker pull bioconductor/bioconductor_docker:RELEASE_3_12 > $ docker run -it --rm bioconductor/bioconductor_docker:RELEASE_3_12 R --silent -e "BiocManager::version()" > Bioconductor version 3.12 (BiocManager 1.30.10), ?BiocManager::install for help > > BiocManager::version() > [1] '3.12' ></code> > You can see that there are no problems with the installation at<a href="https://github.com/drighelli/EuroBioc2020_SpatialWorkshop/runs/1542609038?check_suite_focus=true#step:5:7">https://github.com/drighelli/EuroBioc2020_SpatialWorkshop/runs/1542609038?check_suite_focus=true#step:5:7</a>. Mostly I should now stop, and leave further comments to@Sean Davisor others with knowledge of the workflow; as the following shows, I know little about what is trying to be accomplished in each of the steps… > * I don’t really understand<a href="https://github.com/drighelli/EuroBioc2020_SpatialWorkshop/actions/runs/416366266/workflow#L11-L14">https://github.com/drighelli/EuroBioc2020_SpatialWorkshop/actions/runs/416366266/workflow#L11-L14</a>– the remotes package is already installed, and setting the CRAN repository means that packages are built from source rather than using much faster (and therefore global warming friendly) RStudio Package Manager binary packages. I guess this step and the next two (lines 17 and 26) are trying to robustly update packages? > * <a href="https://github.com/drighelli/EuroBioc2020_SpatialWorkshop/runs/1542609038?check_suite_focus=true#step:5:734">https://github.com/drighelli/EuroBioc2020_SpatialWorkshop/runs/1542609038?check_suite_focus=true#step:5:734</a>shows ‘gert’ failing, so it’s from before Nitesh’s update. > * BiocManager seems valid before the ‘Cache R packages’ step, and invalid after. It doesn’t seem to be related to the ‘Install system dependencies’ step, so I guess the line at<a href="https://github.com/drighelli/EuroBioc2020_SpatialWorkshop/runs/1542609038?check_suite_focus=true#step:6:9">https://github.com/drighelli/EuroBioc2020_SpatialWorkshop/runs/1542609038?check_suite_focus=true#step:6:9</a>is restoring an incorrect / invalid cache?? > * What’s going on at<a href="https://github.com/drighelli/EuroBioc2020_SpatialWorkshop/actions/runs/416366266/workflow#L53">https://github.com/drighelli/EuroBioc2020_SpatialWorkshop/actions/runs/416366266/workflow#L53</a>? This looks like a private repository, and I’d never want to run code that I couldn’t in principle look at!</p> <p><strong>Dario Righelli</strong> (10:49:38) (in thread): > Thanks@Martin Morganfor looking into this workflow, I’m not so familiar with GHA, indeed I’m just using the default template and trying to modify only the docker image to use. > About the last point you mentioned, I think it’s the docker that the GHA is going to build with all the workflow material at the end of the process. > Btw I didn’t saw the caching stuff, maybe it’s just because of it that continues to fail.</p> <p><strong>Gabriele Sales</strong> (10:56:27): > <span class="citation" data-cites="Gabriele">@Gabriele</span> Sales has left the channel</p> <p><strong>Sean Davis</strong> (13:06:46) (in thread): > <span class="citation" data-cites="Dario">@Dario</span> Righelliyou can bust the cache by adding a package to the DESCRIPTION file or by using a trick like this one:<a href="https://github.community/t/how-to-clear-cache-in-github-actions/129038/5">https://github.community/t/how-to-clear-cache-in-github-actions/129038/5</a> - Attachment (GitHub Support Community): <a href="https://github.community/t/how-to-clear-cache-in-github-actions/129038/5">How to clear cache in GitHub Actions?</a> > <span class="citation" data-cites="thclark">@thclark</span> The only way currently to “clear” the cache is to change the key. For example, if your key is <span class="math inline">\({{ runner.os }}-foo-\)</span>{{ hashFiles(…) }}, changing it to <span class="math inline">\({{ runner.os }}-foo-v2-\)</span>{{ hashFiles(…) }} will force it to create the cache. Also be sure to update any restore-keys as well. This requires a code change / commit. Some users have also taken to using a secret variable, where your key would look like <span class="math inline">\({{ runner.os }}-foo-\)</span>{{ secrets.CACHE_VERSION }}-${{ hashFiles(…) }}. With t…</p> <p><strong>Sean Davis</strong> (13:07:47) (in thread): > Alternatively, just comment out the<code>cache packages</code>part of the workflow yaml.</p> <p><strong>Dario Righelli</strong> (13:42:12) (in thread): > ok thanks!:slightly_smiling_face:</p> <p><strong>rohitsatyam102</strong> (13:46:11): > <span class="citation" data-cites="rohitsatyam102">@rohitsatyam102</span> has joined the channel</p> <p><strong>Federico Agostinis</strong> (14:55:29): > <span class="citation" data-cites="Federico">@Federico</span> Agostinis has joined the channel</p> <p><strong>Laurent Gatto</strong> (15:23:33): > Could anyone help me with this issue I have been struggling with for the whole weekend. It must be something silly, but I can’t find it. My workshop repo builds and checks properly, but<a href="https://github.com/lgatto/QFeaturesWorkshop2020/runs/1546517953?check_suite_focus=true#step:11:118">fail</a>when building the pkgdown website with: > <code>> -- Building articles ----------------------------------------------------------- > Writing 'articles/index.html' > Reading 'vignettes/vignette.Rmd' > -- RMarkdown error ------------------------------------------------------------- > Quitting from lines 21-22 (vignette.Rmd) > Error in (function (filename = "Rplot%03d.png", width = 480, height = 480, : > Graphics API version mismatch > -------------------------------------------------------------------------------- > Error : Failed to render RMarkdown > > Error: <callr_status_error: callr subprocess failed: Failed to render RMarkdown> > --> > <callr_remote_error: Failed to render RMarkdown> > in process 1542 > > Stack trace: > > Process 1475: > 1. pkgdown::build_site(".") > 2. pkgdown:::build_site_external(pkg = pkg, examples = examples, ... > 3. callr::r(function(..., crayon_enabled, crayon_colors, pkgdown_internet) { ... > 4. callr:::get_result(output = out, options) > 5. throw(newerr, parent = remerr[[2]]) > > x callr subprocess failed: Failed to render RMarkdown > > Process 1542: > 17. (function (..., crayon_enabled, crayon_colors, pkgdown_internet) ... > 18. pkgdown::build_site(...) > 19. pkgdown:::build_site_local(pkg = pkg, examples = examples, run_dont_run = r ... > 20. pkgdown:::build_articles(pkg, lazy = lazy, override = override, ... > 21. purrr::walk(pkg$vignettes$name, build_article, pkg = pkg, quiet = quiet, ... > 22. purrr:::map(.x, .f, ...) > 23. pkgdown:::.f(.x[[i]], ...) > 24. pkgdown:::render_rmarkdown(pkg, input = input, output = output_file, ... > 25. base:::tryCatch(callr::r_safe(function(...) rmarkdown::render(...), ... > 26. base:::tryCatchList(expr, classes, parentenv, handlers) > 27. base:::tryCatchOne(expr, names, parentenv, handlers[[1L]]) > 28. value[[3L]](cond) > 29. rlang:::abort("Failed to render RMarkdown", parent = cnd) > 30. rlang:::signal_abort(cnd) > 31. base:::signalCondition(cnd) > 32. (function (e) ... > > x Failed to render RMarkdown > > Execution halted > Error: Process completed with exit code 1. ></code> > This only happens when the vignette has code chunks -<a href="https://github.com/lgatto/QFeaturesWorkshop2020/tree/v0.1.0">v0.1.0</a>(no vignette) and<a href="https://github.com/lgatto/QFeaturesWorkshop2020/tree/v0.1.1">v0.1.1</a>(text-only vignette) succeed. As soon as I add a code chunk, the error above happens. The only code chunk in my vignette a call do<code>sessionInfo()</code>on line 21 (lines referenced in the error above): > <code>></code>{si} > sessionInfo() > <code>></code> > Oh, and no issues to build/check locally, by the way. Any idea?</p> <p><strong>Charlotte Soneson</strong> (15:50:50) (in thread): > This is really just a guess, but based on<a href="https://github.com/nfrerebeau/khroma/commit/1dcd9ade379464f5791adccd6661a1bf65b491f5">https://github.com/nfrerebeau/khroma/commit/1dcd9ade379464f5791adccd6661a1bf65b491f5</a>I wonder if it’s a cache issue somehow.</p> <p><strong>Kevin Rue-Albrecht</strong> (17:25:41) (in thread): > it seems to affect<a href="https://github.com/fedeago/SurfingNewWave/runs/1546757916?check_suite_focus=true">https://github.com/fedeago/SurfingNewWave/runs/1546757916?check_suite_focus=true</a>as well@Federico Agostinis</p> <p><strong>Sean Davis</strong> (17:36:38) (in thread): > <span class="citation" data-cites="Federico">@Federico</span> Agostinisand@Laurent Gatto, I just made PRs to your repos to add manual cache busting.</p> <p><strong>Sean Davis</strong> (17:38:12): > Made updates to workshop template repo (<a href="https://github.com/seandavi/BuildABiocWorkshop">https://github.com/seandavi/BuildABiocWorkshop</a>) to address stale cache issues–thanks to@Charlotte Sonesonfor the hint.</p> <p><strong>Laurent Gatto</strong> (18:38:27) (in thread): > Thank you for the help!</p> </section> <section id="section-119" class="level2"> <h2>2020-12-14</h2> <p><strong>Aedin Culhane</strong> (11:44:16): > <span class="citation" data-cites="Sean">@Sean</span> Davisif I want to point someone to the orchestra workshop site, whats the URL</p> <p><strong>Sean Davis</strong> (11:46:10) (in thread): > <a href="http://app.orchestra.cancerdatasci.org/">http://app.orchestra.cancerdatasci.org/</a></p> </section> <section id="section-120" class="level2"> <h2>2020-12-15</h2> <p><strong>Dario Righelli</strong> (04:33:06): > Hi guys, sorry to ask here again, but I’m trying to install some packages as<code>Remotes</code>dependencies for our workshop, but it seems to not do it…</p> <p><strong>Dario Righelli</strong> (04:35:40) (in thread): > Is there any instruction I can add to the<code>Install Dependencies</code>section of the Workflow file?</p> <p><strong>Kevin Rue-Albrecht</strong> (04:38:28) (in thread): > I can see you remotes here:<a href="https://github.com/drighelli/EuroBioc2020_SpatialWorkshop/blob/master/DESCRIPTION#L69">https://github.com/drighelli/EuroBioc2020_SpatialWorkshop/blob/master/DESCRIPTION#L69</a>but if you look here<a href="https://cran.r-project.org/web/packages/devtools/vignettes/dependencies.html">https://cran.r-project.org/web/packages/devtools/vignettes/dependencies.html</a>you’ll notice that the packages under Remotes also need to be added under Imports ( or Suggests I imagine)</p> <p><strong>Dario Righelli</strong> (04:42:09) (in thread): > oh! thanks!!!</p> <p><strong>Francesc Català</strong> (05:57:56): > <span class="citation" data-cites="Francesc">@Francesc</span> Català has joined the channel</p> <p><strong>Dario Righelli</strong> (06:18:07) (in thread): > It worked! You saved my morning!!! So many thanks@Kevin Rue-Albrecht:tada:</p> <p><strong>Kevin Rue-Albrecht</strong> (06:28:45) (in thread): > woohoo!</p> <p><strong>Sean Davis</strong> (07:41:00) (in thread): > Nice work,<span class="citation" data-cites="Kevin">@Kevin</span> Rue-Albrechtand@Dario Righelli!</p> </section> <section id="section-121" class="level2"> <h2>2020-12-17</h2> <p><strong>Manojkumar Selvaraju</strong> (11:13:42): > <span class="citation" data-cites="Manojkumar">@Manojkumar</span> Selvaraju has joined the channel</p> <p><strong>Gabriele Sales</strong> (12:19:59): > <span class="citation" data-cites="Gabriele">@Gabriele</span> Sales has joined the channel</p> <p><strong>Gabriele Sales</strong> (12:25:25): > Hi, one of authors presenting his workshop at EuroBioc2020 today asked me if it would be possibile to have an indication of the number of people that were following him along on Orchestra. Is there anything like a log of the number of users begin logged in to the system and running a specific container image?</p> <p><strong>Davide Risso</strong> (12:32:06): > This may be relevant - Attachment: <a href="https://community-bioc.slack.com/archives/C01DAV3H799/p1608145477111400">Attachment</a> > Workshop cluster monitoring over the past two days. <a href="https://snapshot.raintank.io/dashboard/snapshot/XoQHxv6TM7FbL6jJcphggMz8EOP4D56v">https://snapshot.raintank.io/dashboard/snapshot/XoQHxv6TM7FbL6jJcphggMz8EOP4D56v</a> > Guess when the workshops were happening….</p> <p><strong>Sean Davis</strong> (12:33:22): > I’m planning on generating some reporting for our funders and will be sure to include folks here when distributing.</p> <p><strong>Sean Davis</strong> (12:34:10): > A quick-and-dirty approach is to look at the number of “launches” in the web UI for Orchestra.</p> <p><strong>Gabriele Sales</strong> (13:04:23) (in thread): > That’s exactly what I was looking for, thanks!</p> </section> <section id="section-122" class="level2"> <h2>2021-01-22</h2> <p><strong>Annajiat Alim Rasel</strong> (15:42:05): > <span class="citation" data-cites="Annajiat">@Annajiat</span> Alim Rasel has joined the channel</p> </section> <section id="section-123" class="level2"> <h2>2021-03-20</h2> <p><strong>watanabe_st</strong> (01:56:52): > <span class="citation" data-cites="watanabe_st">@watanabe_st</span> has joined the channel</p> </section> <section id="section-124" class="level2"> <h2>2021-04-20</h2> <p><strong>Kevin Rue-Albrecht</strong> (11:55:20): > <span class="citation" data-cites="Sean">@Sean</span> DavisHow about we use this channel to coordinate workshops for#bioc2021? I mean both between us and with workshop authors > I’m keen to help new workshop authors gain familiarity with your template<a href="https://github.com/seandavi/BuildABiocWorkshop">https://github.com/seandavi/BuildABiocWorkshop</a></p> <p><strong>Aedin Culhane</strong> (11:56:24): > Link to Bioc2020 workshops<a href="http://app.orchestra.cancerdatasci.org/">http://app.orchestra.cancerdatasci.org/</a></p> <p><strong>Levi Waldron</strong> (11:59:55) (in thread): > I noticed that this URL has been down for at least a few days</p> </section> <section id="section-125" class="level2"> <h2>2021-04-23</h2> <p><strong>Ashwini Shanmugam</strong> (04:14:07): > <span class="citation" data-cites="Ashwini">@Ashwini</span> Shanmugam has joined the channel</p> </section> <section id="section-126" class="level2"> <h2>2021-05-03</h2> <p><strong>Stephen Chen</strong> (07:51:08): > <span class="citation" data-cites="Stephen">@Stephen</span> Chen has joined the channel</p> </section> <section id="section-127" class="level2"> <h2>2021-05-12</h2> <p><strong>Megha Lal</strong> (09:59:53): > <span class="citation" data-cites="Megha">@Megha</span> Lal has joined the channel</p> </section> <section id="section-128" class="level2"> <h2>2021-05-25</h2> <p><strong>Peter Hickey</strong> (05:14:23): > hi@Kevin Rue-Albrecht, my workshop is hitting some sort of disk usage limit when building the docker image (<a href="https://github.com/PeteHaitch/BioC2021_DelayedArray_workshop/runs/2662790984#step:13:12964">https://github.com/PeteHaitch/BioC2021_DelayedArray_workshop/runs/2662790984#step:13:12964</a>). To create my workshop, I created a new repo from the template and simply copied across the vignette from my workshop i gave last year, so i’m guessing this may be a new restriction on GHA?</p> <p><strong>Kevin Rue-Albrecht</strong> (06:01:18): > That sounds plausible. Do you have an estimate of how much disk space you need? I know GitHub has a page somewhere that describes the resources available on their various runners, I’ll check and report back here</p> <p><strong>Peter Hickey</strong> (06:03:25): > i’ll nuke my local ExperimentHub cache and run locally to see how much data is downloaded as part of the workshop</p> <p><strong>Kevin Rue-Albrecht</strong> (06:24:41): > <a href="https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners">https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners</a> - File (PNG): <a href="https://community-bioc.slack.com/files/U34P8RS3B/F022Y8L1YGJ/image.png">image.png</a></p> <p><strong>Peter Hickey</strong> (07:30:23): > The ExperimentHub resources are 4.8 GB</p> <p><strong>Peter Hickey</strong> (07:30:44) (in thread): > thanks</p> <p><strong>Kevin Rue-Albrecht</strong> (07:34:15): > ok, I’m just thinking - depending how the github cache behaves - that maybe you’ve accumulated multiple versions of EHub datasets (3 times would cross the 14 GB). Though I don’t know how often EHub datasets might evolve, or if new package versions might store new copies of the same datasets.</p> <p><strong>Peter Hickey</strong> (07:35:31): > fwiw i’ve only run GHA once</p> <p><strong>Kevin Rue-Albrecht</strong> (07:35:32): > Anyway, I would nuke the EHub cache on github and see if that helps</p> <p><strong>Kevin Rue-Albrecht</strong> (07:35:42): > ok</p> <p><strong>Peter Hickey</strong> (07:35:53): > i guess the disk space includees the R installation + packages too?</p> <p><strong>Kevin Rue-Albrecht</strong> (07:35:58): > the other thing that bugs me a bit is the path of the cache > <code>> /root/.cache/R/ExperimentHub/bc6f253e042a_1040: no space left on device ></code></p> <p><strong>Kevin Rue-Albrecht</strong> (07:36:26): > I wonder whether<code>/root</code>has its own quota maybe</p> <p><strong>Kevin Rue-Albrecht</strong> (07:37:12): > I also can’t remember whether github actions always run as<code>root</code>or if there’s a way to control that</p> <p><strong>Peter Hickey</strong> (07:37:40): > bedtime for me … i’ll try to look more during the week</p> <p><strong>Peter Hickey</strong> (07:38:00): > appreciate your help kevin. perhaps others may chime in too</p> <p><strong>Kevin Rue-Albrecht</strong> (07:38:48): > cool, talk to you later then, I’ll chime in if I can think of anything else</p> <p><strong>Kevin Rue-Albrecht</strong> (07:41:23): > reading this right now:<a href="https://github.com/actions/virtual-environments/issues/1860">https://github.com/actions/virtual-environments/issues/1860</a></p> <p><strong>Kevin Rue-Albrecht</strong> (07:51:00): > ahhhhh wait I just realised that it’s happening in the step that builds the Docker image. > I imagine that in this case, the<code>docker build</code>step is downloading again the EHub datasets (in addition to dowloading them already for the R CMD check and other steps. > On top of that add all the other layers that<code>docker</code>needs to download to build the image, and I can picture how that could escalate over the 12 GB limit. > > In your case, I would recommend remove that step from the github action workflow, and setting up an automated build on DockerHub that triggers on every push that you make to the<code>master</code>branch</p> <p><strong>Kevin Rue-Albrecht</strong> (07:52:40): > it should look something like this - File (PNG): <a href="https://community-bioc.slack.com/files/U34P8RS3B/F023B57R3DX/image.png">image.png</a></p> <p><strong>Peter Hickey</strong> (18:47:35): > thanks@Kevin Rue-Albrecht. It looks to have worked: > GHA:<a href="https://github.com/PeteHaitch/BioC2021_DelayedArray_workshop/actions">https://github.com/PeteHaitch/BioC2021_DelayedArray_workshop/actions</a>Docker:<a href="https://hub.docker.com/r/petehaitch/bioc2021_delayedarray_workshop">https://hub.docker.com/r/petehaitch/bioc2021_delayedarray_workshop</a></p> </section> <section id="section-129" class="level2"> <h2>2021-05-26</h2> <p><strong>Kevin Rue-Albrecht</strong> (03:50:16): > brilliant - I’ll tag@Sean DavisICYMI, as this might affect more workshops in the future, with data sets increasing in size</p> <p><strong>Martin Morgan</strong> (04:09:31): > <span class="citation" data-cites="Martin">@Martin</span> Morgan has left the channel</p> <p><strong>Sean Davis</strong> (06:01:27): > Thanks,<span class="citation" data-cites="Kevin">@Kevin</span> Rue-Albrechtand@Peter Hickeyfor working through this. GHActions is both convenient and free, but options to build docker containers and pkgdown websites exist.</p> <p><strong>Sean Davis</strong> (06:04:57): > Also note that there is no particular reason to actually include large datasets in the docker container. Those could be added as a step in the vignette and not included directly in the docker image itself.</p> <p><strong>Peter Hickey</strong> (06:50:44) (in thread): > I don’t think the datasets are being included in the image? Or at least that wasn’t my intention</p> <p><strong>Chris Vanderaa</strong> (18:25:16): > <span class="citation" data-cites="Chris">@Chris</span> Vanderaa has joined the channel</p> </section> <section id="section-130" class="level2"> <h2>2021-05-28</h2> <p><strong>Andres Wokaty</strong> (09:22:04): > <span class="citation" data-cites="Andres">@Andres</span> Wokaty has joined the channel</p> </section> <section id="section-131" class="level2"> <h2>2021-06-04</h2> <p><strong>Flavio Lombardo</strong> (05:51:25): > <span class="citation" data-cites="Flavio">@Flavio</span> Lombardo has joined the channel</p> </section> <section id="section-132" class="level2"> <h2>2021-06-08</h2> <p><strong>Peter Hickey</strong> (19:35:28): > <span class="citation" data-cites="Kevin">@Kevin</span> Rue-Albrechtre your (very helpful advice) in<a href="https://community-bioc.slack.com/archives/CJDMYKG2U/p1621943460014800">https://community-bioc.slack.com/archives/CJDMYKG2U/p1621943460014800</a> > > In your case, I would recommend remove that step from the github action workflow, and setting up an automated build on DockerHub that triggers on every push that you make to the master branch > I just received an email from Docker Hub that users on the free plan won’t have access to Docker Hub’s Autobuild feature from June 18 (<a href="https://goto.docker.com/index.php/email/emailWebview?md_id=19578">https://goto.docker.com/index.php/email/emailWebview?md_id=19578</a>) - Attachment: <a href="https://community-bioc.slack.com/archives/CJDMYKG2U/p1621943460014800">Attachment</a> > ahhhhh wait I just realised that it’s happening in the step that builds the Docker image. > I imagine that in this case, the <code>docker build</code> step is downloading again the EHub datasets (in addition to dowloading them already for the R CMD check and other steps. > On top of that add all the other layers that <code>docker</code> needs to download to build the image, and I can picture how that could escalate over the 12 GB limit. > > In your case, I would recommend remove that step from the github action workflow, and setting up an automated build on DockerHub that triggers on every push that you make to the <code>master</code> branch</p> <p><strong>Peter Hickey</strong> (19:38:48): > i’m hoping i’ll still be able to trigger manual builds but this may bite others preparing their workshops?</p> </section> <section id="section-133" class="level2"> <h2>2021-06-09</h2> <p><strong>Kevin Rue-Albrecht</strong> (04:25:24): > I saw that email too. It’s annoying how they keep restricting further and further (I also remember an earlier email about Docker images being available only 6 months after the are built) > I’m not 100% sure about their terminology, but I’d hope that autobuilds are different from those triggered by new push events. > I think most other workshop authors build the image in their GHA workflow, which - as far as DockerHub is concerned - counts as a manual build, which is simply pushed to DockerHub, so those shouldn’t be affected. > We’ll have to keep an eye out for workshops like yours, that need to be built on a machine with sufficient resources.</p> </section> <section id="section-134" class="level2"> <h2>2021-07-01</h2> <p><strong>Maria Doyle</strong> (06:54:00): > Hello, just wondering what the per-user resources are for running the workshops this year? Is it the same as last year - 7GB RAM and 1.5CPUs? (reposting twitter link as screenshot to make smaller) - File (PNG): <a href="https://community-bioc.slack.com/files/U34P8RS3B/F026T5Z0H99/screen_shot_2021-07-01_at_11.49.22_am.png">Screen Shot 2021-07-01 at 11.49.22 am.png</a></p> </section> <section id="section-135" class="level2"> <h2>2021-07-02</h2> <p><strong>Sean Davis</strong> (06:58:14) (in thread): > Hi, Maria. I customize each workshop based on needs, but the going “basic model” is 2GB RAM and 0.25 CPU. Bigger is fine. I’ve been letting these run for 8 hours. From a presenter/developer perspective, I just ask that we all spend a little time thinking about what resources are<strong><em>necessary</em></strong>. Also, note that Github actions is limited to 7GB RAM, so if you want something larger than that, you’ll need a different approach for building the materials.</p> <p><strong>Maria Doyle</strong> (07:31:31) (in thread): > Ok great, thanks for the info!</p> </section> <section id="section-136" class="level2"> <h2>2021-07-19</h2> <p><strong>Leo Lahti</strong> (17:01:01): > <span class="citation" data-cites="Leo">@Leo</span> Lahti has joined the channel</p> </section> <section id="section-137" class="level2"> <h2>2021-07-23</h2> <p><strong>Dario Righelli</strong> (06:15:55): > Hi, is it possible to use a development version of a package for the workshop?</p> <p><strong>Levi Waldron</strong> (08:19:39) (in thread): > Workshop authors are in control of their own Docker container, so they can really use any version they want.</p> <p><strong>Dario Righelli</strong> (09:15:51) (in thread): > Thanks</p> <p><strong>Batool Almarzouq</strong> (15:52:19): > <span class="citation" data-cites="Batool">@Batool</span> Almarzouq has joined the channel</p> </section> <section id="section-138" class="level2"> <h2>2021-07-30</h2> <p><strong>Sehyun Oh</strong> (21:55:33): > Hi, I want to make the workshop RStudio with a different filesystem :<code>/home/rstudio/workshop</code>with the writer permission at<code>/home/rstudio</code>level. I have a hard time to make this work. Can anyone help with this? Thanks!<span class="citation" data-cites="Sean">@Sean</span> Davis</p> </section> <section id="section-139" class="level2"> <h2>2021-07-31</h2> <p><strong>Sean Davis</strong> (05:02:30) (in thread): > Hi, sehyun. Can you clarify what you mean? Do you have a dockerfile that you are working with?</p> <p><strong>Sehyun Oh</strong> (09:32:31) (in thread): > Hi Sean, I’m trying to setup for AnVILPublish. So I added Google SDK and notedown python tool. The last thing I want is the writer permission to clone a package repo. It works the way I want when I locally build this image, but it behaves differently at orchestra. Here is the Dockerfile I’m using.</p> <p><strong>Sehyun Oh</strong> (09:32:34) (in thread): > <code>> FROM bioconductor/bioconductor_docker:devel > > WORKDIR /home/rstudio/TerraLiveDemo > > COPY --chown=rstudio:rstudio . /home/rstudio/TerraLiveDemo > RUN chown -R rstudio:rstudio /home > > # Add the Cloud SDK distribution URI as a package source > # Import the Google Cloud public key > # Update the package list and install the Cloud SDK > RUN echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg][http://packages.cloud.google.com/apt](http://packages.cloud.google.com/apt)cloud-sdk main" | tee -a /etc/apt/sources.list.d/google-cloud-sdk.list \ > && curl[https://packages.cloud.google.com/apt/doc/apt-key.gpg](https://packages.cloud.google.com/apt/doc/apt-key.gpg)| apt-key --keyring /usr/share/keyrings/cloud.google.gpg add - \ > && apt-get update \ > && apt-get -y --no-install-recommends install google-cloud-sdk \ > && rm -rf /var/lib/apt/lists/* > > RUN Rscript -e "BiocManager::install('AnVIL')" > RUN Rscript -e "options(repos = c(CRAN = '[https://cran.r-project.org](https://cran.r-project.org)')); AnVIL::install(ask=FALSE)" > > RUN Rscript -e "options(repos = c(CRAN = '[https://cran.r-project.org](https://cran.r-project.org)')); devtools::install('.', dependencies=TRUE, build_vignettes=TRUE, repos = BiocManager::repositories())" ></code></p> <p><strong>Sean Davis</strong> (13:56:25) (in thread): > Here is what I see in the running container on Orchestra. It does not look like the container on DockerHub corresponds to this dockerfile? - File (PNG): <a href="https://community-bioc.slack.com/files/U34P8RS3B/F029CLEHTHD/image.png">image.png</a></p> <p><strong>Sean Davis</strong> (13:57:10) (in thread): > The TerraLiveDemo directory doesn’t exist in this container.</p> <p><strong>Sean Davis</strong> (14:01:41) (in thread): > Have you pushed the container to dockerhub? The container name that is loading is shbrief/anvilworkshop. - File (PNG): <a href="https://community-bioc.slack.com/files/U34P8RS3B/F029QBAS2S1/image.png">image.png</a></p> <p><strong>Sehyun Oh</strong> (15:28:52) (in thread): > Oops… sorry I mixed up the Dockerfiles.</p> <p><strong>Sehyun Oh</strong> (15:29:11) (in thread): > This is what I’m using for workshop:</p> <p><strong>Sehyun Oh</strong> (15:29:15) (in thread): > <code>> FROM bioconductor/bioconductor_docker:devel > > WORKDIR /home/rstudio/AnVILWorkshop > > # Make the workshop repo under rstudio directory > COPY --chown=rstudio:rstudio . /home/rstudio/AnVILWorkshop > RUN chown -R rstudio:rstudio /home > > # Add the Cloud SDK distribution URI as a package source > # Import the Google Cloud public key > # Update the package list and install the Cloud SDK > RUN echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg][http://packages.cloud.google.com/apt](http://packages.cloud.google.com/apt)cloud-sdk main" | tee -a /etc/apt/sources.list.d/google-cloud-sdk.list \ > && curl[https://packages.cloud.google.com/apt/doc/apt-key.gpg](https://packages.cloud.google.com/apt/doc/apt-key.gpg)| apt-key --keyring /usr/share/keyrings/cloud.google.gpg add - \ > && apt-get update \ > && apt-get -y --no-install-recommends install google-cloud-sdk \ > && rm -rf /var/lib/apt/lists/* > > # Add notedown python package for AnVILPublish > RUN pip3 install notedown > ENV PATH $PATH:/home/rstudio/.local/bin > > RUN Rscript -e "options(repos = c(CRAN = '[https://cran.r-project.org](https://cran.r-project.org)')); BiocManager::install(ask=FALSE)" > # Install under the repo because working directory > RUN Rscript -e "options(repos = c(CRAN = '[https://cran.r-project.org](https://cran.r-project.org)')); devtools::install('.', dependencies=TRUE, build_vignettes=TRUE, repos = BiocManager::repositories())" ></code></p> <p><strong>Sehyun Oh</strong> (15:31:59) (in thread): > And this is the image I got when I spin it locally:</p> <p><strong>Sehyun Oh</strong> (15:32:12) (in thread): - File (PNG): <a href="https://community-bioc.slack.com/files/U34P8RS3B/F029QD9GZ9B/screen_shot_2021-07-31_at_3.31.10_pm.png">Screen Shot 2021-07-31 at 3.31.10 PM.png</a></p> <p><strong>Sehyun Oh</strong> (15:39:26) (in thread): > It seems like the new image wasn’t pushed to the Dockerhub last 2 days.:thinking_face:</p> <p><strong>Sean Davis</strong> (16:21:06) (in thread): > You’ll probably want to try to push it manually.</p> <p><strong>Sehyun Oh</strong> (18:37:28) (in thread): > Worked!:fast_parrot:</p> </section> <section id="section-140" class="level2"> <h2>2021-08-04</h2> <p><strong>Rene Welch</strong> (12:16:50): > <span class="citation" data-cites="Rene">@Rene</span> Welch has joined the channel</p> </section> <section id="section-141" class="level2"> <h2>2021-08-10</h2> <p><strong>Woo</strong> (08:19:02): > <span class="citation" data-cites="Woo">@Woo</span> has joined the channel</p> <p><strong>Chris Vanderaa</strong> (11:31:28): > I would like to promote our last workshops during a presentation I’m planning to give and suggest the (non-Bioc) audience to run the workshop in Orchestra to spare installation burden (probably most are not R users). I have 2 questions: > 1. Will the Orchestra server still be up and running for the coming weeks and accessible to anyone with the link? > 2. How should I cite/acknowledge the service provided by Orchestra?</p> <p><strong>Levi Waldron</strong> (11:38:50) (in thread): > 1. Yes (AFAIK Orchestra will be available for the foreseeable future)), 2. I think the closest thing to a citation now would be the GitHub source repo<a href="https://github.com/seandavi/Orchestra">https://github.com/seandavi/Orchestra</a>, unless@Sean Davishas a better idea.</p> <p><strong>Chris Vanderaa</strong> (11:39:34) (in thread): > Ok! thank you very much Levi!</p> </section> <section id="section-142" class="level2"> <h2>2021-08-12</h2> <p><strong>Laurent Gatto</strong> (08:55:42): > I am struggling with a recent<a href="https://github.com/lgatto/QFeaturesScpWorkshop2021/runs/3303017953?check_suite_focus=true#step:5:381">error</a>when building a recent workshop during the<strong>Query dependencies and update old packages</strong>step > <code>> Error: HTTP error 401. > Bad credentials > > Rate limit remaining: 59/60 > Rate limit reset at: 2021-08-11 17:24:10 UTC > > > Execution halted > Error: Process completed with exit code 1. ></code> > Re-running the action after the rate limit reset time isn’t helping, as it is simply changed to the most recent action running time. > > Do I need to set a personal access token? If so, why now?</p> <p><strong>Kevin Rue-Albrecht</strong> (09:11:40): > ah no Laurent, you don’t need a token > well, it’s an option, but@Charlotte Sonesonsolved that one for me: > It’s just about adding a line in your github action workflow yaml file, the “GITHUB_PAT” one below (i added the other lines for context) > <code>> env: > R_REMOTES_NO_ERRORS_FROM_WARNINGS: true > GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} ></code></p> <p><strong>Kevin Rue-Albrecht</strong> (09:11:47): > see an example here:<a href="https://github.com/kevinrue/Bioconductor20YearsSlides/blob/master/.github/workflows/render.yaml#L18">https://github.com/kevinrue/Bioconductor20YearsSlides/blob/master/.github/workflows/render.yaml#L18</a></p> <p><strong>Laurent Gatto</strong> (09:35:20) (in thread): > Thanks, Kevin, will test it right away. But why did is suddenly fail?(fortunately<strong><em>after</em></strong>the conference!)</p> <p><strong>Kevin Rue-Albrecht</strong> (09:35:53) (in thread): > yeah ..<strong>that</strong>I don’t know</p> <p><strong>Kevin Rue-Albrecht</strong> (09:37:54) (in thread): > from the message, it seems that the remotes includes a standard token… which sounds like<strong>everyone</strong>so far was using the same token</p> <p><strong>Kevin Rue-Albrecht</strong> (09:38:23) (in thread): > perhaps github reduced the limit per token</p> <p><strong>Kevin Rue-Albrecht</strong> (09:40:50) (in thread): > <a href="https://github.com/kevinrue/Bioconductor20YearsSlides/runs/3263063459?check_suite_focus=true#step:6:1">https://github.com/kevinrue/Bioconductor20YearsSlides/runs/3263063459?check_suite_focus=true#step:6:1</a></p> <p><strong>Kevin Rue-Albrecht</strong> (09:42:02) (in thread): > my message was a bit more explicit - File (PNG): <a href="https://community-bioc.slack.com/files/U34P8RS3B/F02B095N8N6/image.png">image.png</a></p> <p><strong>Laurent Gatto</strong> (09:44:20) (in thread): > Don’t I need to create my own token and call it<code>GITHUB_TOKEN</code>?</p> <p><strong>Charlotte Soneson</strong> (09:44:35) (in thread): > The unauthenticated limit is 60 requests per hour (<a href="https://docs.github.com/en/rest/overview/resources-in-the-rest-api#rate-limiting">https://docs.github.com/en/rest/overview/resources-in-the-rest-api#rate-limiting</a>) - I think that was the same before, not sure exactly where things changed recently to trigger this.</p> <p><strong>Kevin Rue-Albrecht</strong> (09:45:19) (in thread): > there’s a catch@Laurent Gatto, github doesn’t allow you to create “secrets” with name that start with “GITHUB_”</p> <p><strong>Kevin Rue-Albrecht</strong> (09:45:42) (in thread): > it seems that github automatically creates one for each workflow</p> <p><strong>Laurent Gatto</strong> (09:45:55) (in thread): > <span class="citation" data-cites="Kevin">@Kevin</span> Rue-Albrecht- ok, thanks!</p> <p><strong>Kevin Rue-Albrecht</strong> (09:46:19) (in thread): > it might be that “before” the environment variable was automatically set, while now it needs to be done manually</p> <p><strong>Charlotte Soneson</strong> (09:46:23) (in thread): > <a href="https://docs.github.com/en/actions/reference/authentication-in-a-workflow#about-the-github_token-secret">https://docs.github.com/en/actions/reference/authentication-in-a-workflow#about-the-github_token-secret</a></p> <p><strong>Kevin Rue-Albrecht</strong> (09:47:16) (in thread): > I talked about it with Charlotte at the conference, and a lot of people already had that<code>GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}</code>line in their github action workflow</p> <p><strong>Laurent Gatto</strong> (09:47:36) (in thread): > <span class="citation" data-cites="Charlotte">@Charlotte</span> Soneson- but where do these 59 come from? Neither@Chris Vanderaanor me have pushed to the repo.</p> <p><strong>Kevin Rue-Albrecht</strong> (09:48:15) (in thread): > I think the 59 are other connections/downloads made using that token earlier in your workflow</p> <p><strong>Charlotte Soneson</strong> (09:48:27) (in thread): > Yeah, I think so too - it clones the repo etc</p> <p><strong>Kevin Rue-Albrecht</strong> (09:48:47) (in thread): > it seems to fail on a package download/install, so I’m guessing that each of those counts too</p> <p><strong>Charlotte Soneson</strong> (09:49:13) (in thread): > I think it counts any interactions with the GitHub API</p> <p><strong>Laurent Gatto</strong> (09:50:22) (in thread): > So apparently, now, it counts all interactions, all of a sudden. There’s probably a good explanation that point to something I have done, but these actions remain weird magic to me.</p> <p><strong>Laurent Gatto</strong> (09:51:51) (in thread): > Anyway, you magic worked, and that all that counts for now. Thank you@Kevin Rue-Albrecht@Charlotte Soneson!:pray:</p> </section> <section id="section-143" class="level2"> <h2>2021-08-15</h2> <p><strong>KP</strong> (01:40:56): > <span class="citation" data-cites="KP">@KP</span> has joined the channel</p> </section> <section id="section-144" class="level2"> <h2>2021-09-13</h2> <p><strong>Sean Davis</strong> (19:16:12): > has renamed the channel from “biocworkshopbook” to “biocworkshops”</p> <p><strong>Sean Davis</strong> (19:16:38): > cleared channel description</p> <p><strong>Amy Guillaumet</strong> (19:21:40): > <span class="citation" data-cites="Amy">@Amy</span> Guillaumet has joined the channel</p> <p><strong>Kozo Nishida</strong> (19:22:39): > <span class="citation" data-cites="Sean">@Sean</span> DavisSome BioC Asia 2021 workshop speakers asked me “Can I use GPU in Orchestrata?” > Is it possible? > They are planning to use Deep Learning. > It seems that most Deep Learning software uses GPU. (Also, the calculation using the CPU seems to be very slow.)</p> <p><strong>Daniela Cassol</strong> (19:23:46): > <span class="citation" data-cites="Daniela">@Daniela</span> Cassol has joined the channel</p> <p><strong>Sean Davis</strong> (19:45:48): > <span class="citation" data-cites="Kozo">@Kozo</span> Nishida, we should be able to support that. I have to 1) request quota from Google, 2) make some changes to Orchestra to specify the appropriate resources for workshops. For workshop developers, the GPU will be NVIDIA A100s. If we can get a “test” image that has the GPU awareness, that will be helpful for testing.</p> <p><strong>Kozo Nishida</strong> (19:53:00) (in thread): > I understand. > So I will ask the speakers to show us the “test” image of the workshop.</p> <p><strong>Sean Davis</strong> (19:55:30) (in thread): > Perfect. Tracking here:<a href="https://github.com/seandavi/Orchestra/issues/21">https://github.com/seandavi/Orchestra/issues/21</a></p> </section> <section id="section-145" class="level2"> <h2>2021-09-16</h2> <p><strong>Henry Miller</strong> (18:35:26): > <span class="citation" data-cites="Henry">@Henry</span> Miller has joined the channel</p> </section> <section id="section-146" class="level2"> <h2>2021-09-17</h2> <p><strong>Mikie Phan</strong> (09:35:24): > <span class="citation" data-cites="Mikie">@Mikie</span> Phan has joined the channel</p> </section> <section id="section-147" class="level2"> <h2>2021-09-23</h2> <p><strong>Kozo Nishida</strong> (09:11:15): > <span class="citation" data-cites="Sean">@Sean</span> DavisI’m trying BuildABiocWorkshop for BioC Asia 2021<a href="https://github.com/kozo2/trybiocworkshop/runs/3687673177?check_suite_focus=true">https://github.com/kozo2/trybiocworkshop/runs/3687673177?check_suite_focus=true</a>I don’t know what this error indicates.<a href="https://github.com/kozo2/trybiocworkshop/runs/3687673177?check_suite_focus=true#step:7:20">https://github.com/kozo2/trybiocworkshop/runs/3687673177?check_suite_focus=true#step:7:20</a>Do you have any ideas? > I followed vignettes/HOWTO_BUILD_WORKSHOP.Rmd and just edited<code>_pkgdown.yml</code>and<code>basic_checks.yaml</code>like<a href="https://github.com/kozo2/trybiocworkshop/blame/master/_pkgdown.yml">https://github.com/kozo2/trybiocworkshop/blame/master/_pkgdown.yml</a><a href="https://github.com/kozo2/trybiocworkshop/blame/master/.github/workflows/basic_checks.yaml">https://github.com/kozo2/trybiocworkshop/blame/master/.github/workflows/basic_checks.yaml</a></p> <p><strong>Andres Wokaty</strong> (09:24:52) (in thread): > I think you need to define a<code>GITHUB_PAT</code>under the env section. See<a href="https://github.com/r-lib/remotes/issues/638">https://github.com/r-lib/remotes/issues/638</a></p> <p><strong>koki</strong> (09:49:29): > <span class="citation" data-cites="koki">@koki</span> has joined the channel</p> <p><strong>Kevin Rue-Albrecht</strong> (11:51:08) (in thread): > example here:<a href="https://github.com/kevinrue/Bioconductor20YearsSlides/blob/master/.github/workflows/render.yaml#L20">https://github.com/kevinrue/Bioconductor20YearsSlides/blob/master/.github/workflows/render.yaml#L20</a></p> <p><strong>Kozo Nishida</strong> (20:29:23) (in thread): > Thanks@Kevin Rue-Albrecht@Andres WokatySetting GITHUB_PAT no longer causes that error. > I sent<a href="https://github.com/seandavi/BuildABiocWorkshop/pull/24">https://github.com/seandavi/BuildABiocWorkshop/pull/24</a>to Sean.</p> </section> <section id="section-148" class="level2"> <h2>2021-09-24</h2> <p><strong>Kozo Nishida</strong> (07:06:31): > <span class="citation" data-cites="Sean">@Sean</span> DavisWhen is the Docker image pulled to the Orchestra? I’m wondering about the following limitation (of 100 pulls of “Image Pull Rate”) and its balance. (I’m using Docker Personal. [And most workshop proposers too.]) > * <a href="https://www.docker.com/pricing">https://www.docker.com/pricing</a> > * <a href="https://www.docker.com/increase-rate-limits">https://www.docker.com/increase-rate-limits</a> - Attachment (docker.com): <a href="https://www.docker.com/pricing">Docker Pricing & Monthly Plan Details</a> - Attachment (docker.com): <a href="https://www.docker.com/increase-rate-limits">Increase Rate Limits</a></p> <p><strong>Kozo Nishida</strong> (07:13:07): > <span class="citation" data-cites="Sean">@Sean</span> Davis(And) I was asked by a workshop proposer, “My workshop requires computational resources (CPU or memory). How much computational resources can the Orchestra environment use?”. > How should I answer this question? > Is it better to answer “Orchestra uses k8s, so you can use as much computational resources as you want with Auto Scaling”?</p> <p><strong>Sean Davis</strong> (09:07:13) (in thread): > <span class="citation" data-cites="Kozo">@Kozo</span> NishidaI don’t provision more than 1 CPU and I generally start with 2GB RAM. We can do more, but it costs more. So, in practice, using subsampled single-cell datasets or a couple of chromosomes worth of data can be very instructive without having HUGE memory requirements. I would ask authors using more than 2GB of RAM to provide some testing to ensure that the memory is necessary.</p> <p><strong>Sean Davis</strong> (09:13:33) (in thread): > This is a good point. For orchestra, the pulls are originating from different IP addresses, so it isn’t too much of an issue. However, we should consider using alternatives such as<a href="http://quay.io">quay.io</a>or others. Any docker repository that allows public pulls will work fine.</p> </section> <section id="section-149" class="level2"> <h2>2021-09-25</h2> <p><strong>Haichao Wang</strong> (07:20:24): > <span class="citation" data-cites="Haichao">@Haichao</span> Wang has joined the channel</p> <p><strong>Mikey C</strong> (19:04:44): > <span class="citation" data-cites="Mikey">@Mikey</span> C has joined the channel</p> </section> <section id="section-150" class="level2"> <h2>2021-09-30</h2> <p><strong>Kozo Nishida</strong> (09:16:08) (in thread): > <span class="citation" data-cites="Sean">@Sean</span> DavisCan I ask you to see if this “test” image could be used in Orchestra?<a href="https://hub.docker.com/r/skume/biocasia2021-workshop-ja-image/">https://hub.docker.com/r/skume/biocasia2021-workshop-ja-image/</a>By the way, when using this image with local Docker environment, the following command line option<code>--gpus all</code>is needed. > <code>> docker run --gpus all -e PASSWORD=rstudio -p 8787:8787 skume/biocasia2021-workshop-ja-image:latest ></code></p> <p><strong>Kozo Nishida</strong> (21:41:28): > <span class="citation" data-cites="Sean">@Sean</span> DavisI want to add columns of links to YouTube and GitHub to the Orchestra table. > Which file in<a href="https://github.com/seandavi/Orchestra">https://github.com/seandavi/Orchestra</a>should I change to do that? - File (PNG): <a href="https://community-bioc.slack.com/files/U34P8RS3B/F02G3KB8J5U/image.png">image.png</a></p> </section> <section id="section-151" class="level2"> <h2>2021-10-13</h2> <p><strong>Kozo Nishida</strong> (06:10:21): > <span class="citation" data-cites="Sean">@Sean</span> DavisDid you manually fill the title information for each Orchestra workshop? > Or is it automatically filled from some file in the workshop repository? > I have been asked by a workshop provider, “I want to change the title, what should I do?”</p> <p><strong>Sean Davis</strong> (11:16:05): > When supplying the workshop info, I’d like a > * title (one short line), > * a short description (a paragraph, for example), > * the URL for the workshop materials. > If I don’t get everything, I gather that as best I can from what I know.</p> </section> <section id="section-152" class="level2"> <h2>2021-10-14</h2> <p><strong>Kozo Nishida</strong> (01:24:56) (in thread): > Thank you for the information. > By the way, do you prefer to manage that information by email? > Or do you prefer to do it on<a href="https://github.com/seandavi/Orchestra/issues">https://github.com/seandavi/Orchestra/issues</a>or<a href="https://github.com/seandavi/BuildABiocWorkshop/issues">https://github.com/seandavi/BuildABiocWorkshop/issues</a>? > I have created several GitHub issue forms in the CAB working group. > (<a href="https://github.com/BioconductorBoards/CABWorkingGroups/issues/new/choose">https://github.com/BioconductorBoards/CABWorkingGroups/issues/new/choose</a>[you need to be signed in to GitHub]) > If you are interested, I would like to create a GitHub issue form for the Orchestra workshop application. > What do you think about the Orchestra application way?</p> <p><strong>Kozo Nishida</strong> (23:21:50): > Hi@Sean DavisI have been trying to launch workshop_id=84<a href="http://app.orchestra.cancerdatasci.org/instance?workshop_id=84">http://app.orchestra.cancerdatasci.org/instance?workshop_id=84</a>several times since yesterday, but I can’t go beyond the attached image. > Let me know if there is anything I can check. - File (PNG): <a href="https://community-bioc.slack.com/files/U34P8RS3B/F02HY7P30FN/image.png">image.png</a></p> </section> <section id="section-153" class="level2"> <h2>2021-10-15</h2> <p><strong>Sean Davis</strong> (09:19:44) (in thread): > should be fixed.</p> <p><strong>Wes W</strong> (11:00:52): > <span class="citation" data-cites="Wes">@Wes</span> W has joined the channel</p> <p><strong>Kozo Nishida</strong> (17:45:05) (in thread): > Thank you@Sean Davis! > The Orchestra now can launch the workshop_id=84 quickly.</p> </section> <section id="section-154" class="level2"> <h2>2021-10-16</h2> <p><strong>Kozo Nishida</strong> (03:44:40): > <span class="citation" data-cites="Sean">@Sean</span> Davis<a href="https://github.com/seandavi/Orchestra">https://github.com/seandavi/Orchestra</a>says that we can use not only RStudio but also Jupyter Notebook. > I’ve found that<a href="https://github.com/kozo2/cyautoworkshop">my workshop</a>doesn’t work well with RStudio and works well with Jupyter. > Is it possible to launch Jupyter instead of RStudio in Orchestra? > If possible, can I ask you to give me an example of the repo setting for Jupyter?</p> </section> <section id="section-155" class="level2"> <h2>2021-10-17</h2> <p><strong>Kozo Nishida</strong> (21:05:44): > If anyone has seen an example of “Orchestra workshops using Jupyter(+IRkernel) instead of RStudio”, please let me know.</p> </section> <section id="section-156" class="level2"> <h2>2021-10-18</h2> <p><strong>Kozo Nishida</strong> (07:04:56) (in thread): > The reason I asked for this RStudio to Jupyter migration is because I found it is necessary to use<a href="http://cytoscape.org/cytoscape-automation/for-scripters/R/notebooks/jupyter-bridge-rcy3.nb.html">http://cytoscape.org/cytoscape-automation/for-scripters/R/notebooks/jupyter-bridge-rcy3.nb.html</a>in my workshop.</p> <p><strong>Andres Wokaty</strong> (08:50:05) (in thread): > I used JupyterHub for<a href="https://github.com/waldronlab/curatedMetagenomicAnalyses">https://github.com/waldronlab/curatedMetagenomicAnalyses</a>.</p> <p><strong>Kozo Nishida</strong> (09:13:05) (in thread): > Thank you@Andres Wokaty! > I have confirmed that your workshop certainly launch the JupyterLab.</p> <p><strong>Sean Davis</strong> (09:42:00) (in thread): > <span class="citation" data-cites="Kozo">@Kozo</span> Nishidathe<code>Dockerfile</code>gives the recipe for creating such a workshop container.</p> <p><strong>Sean Davis</strong> (09:43:25) (in thread): > If@Andres Wokatyis amenable, we might want to create a<code>BuildAJupyterLabWorkshop</code>repo.:grin:</p> </section> <section id="section-157" class="level2"> <h2>2021-10-19</h2> <p><strong>Kozo Nishida</strong> (06:10:30) (in thread): > <span class="citation" data-cites="Sean">@Sean</span> DavisI updated<a href="https://github.com/kozo2/cyautoworkshop">https://github.com/kozo2/cyautoworkshop</a>like<a href="https://github.com/waldronlab/curatedMetagenomicAnalyses">https://github.com/waldronlab/curatedMetagenomicAnalyses</a>and also updated<a href="https://hub.docker.com/r/kozo2/cyautoworkshop">https://hub.docker.com/r/kozo2/cyautoworkshop</a>. > The updated<a href="https://hub.docker.com/r/kozo2/cyautoworkshop">https://hub.docker.com/r/kozo2/cyautoworkshop</a>works well in my local env (I checked it with > <code>> docker run -d -p 8888:8888 kozo2/cyautoworkshop ></code> > ). > But<a href="http://app.orchestra.cancerdatasci.org/instance?workshop_id=84">http://app.orchestra.cancerdatasci.org/instance?workshop_id=84</a>failed with the following message > <code>> upstream connect error or disconnect/reset before headers. reset reason: connection failure ></code> > What do you think about this?</p> <p><strong>Sean Davis</strong> (08:53:59) (in thread): > The one caveat to changing the docker image is that if the port changes, I have to change that manually. I switched from 8787 (Rstudio default) to 8888 (jupyterlab default). Should work now.</p> <p><strong>Kozo Nishida</strong> (08:59:08) (in thread): > Thanks@Sean Davis, now I can see my JupyterLab Orchestra environment.</p> <p><strong>Sean Davis</strong> (09:21:21) (in thread): > I took a quick look–very nice!</p> </section> <section id="section-158" class="level2"> <h2>2021-10-21</h2> <p><strong>koki</strong> (22:54:21): > <span class="citation" data-cites="Sean">@Sean</span> DavisI’m a speaker of a Japanese workshop in BioC Asia 2021. > Could you add my workshop materials on Orchestra? > These are the workshop info. > > - GitHub URL:<a href="https://github.com/kokitsuyuzaki/scTensor-workshop">https://github.com/kokitsuyuzaki/scTensor-workshop</a>- DockerHub URL:<a href="https://hub.docker.com/repository/docker/koki/sctensor-workshop">https://hub.docker.com/repository/docker/koki/sctensor-workshop</a>- title: 細胞間相互作用解析ワークショップ: Cell-cell Interaction Analysis Workshop > - a short description: In this workshop, I will introduce the analysis of cell-cell interaction (CCI) on the basis of ligand-receptor co-expression in single-cell RNA-Seq data. I will also explain how to use the R/Bioconductor package scTensor for comprehensive detection and visualization of CCIs. > - url:<a href="https://biocasia2021.bioconductor.org/workshops/">https://biocasia2021.bioconductor.org/workshops/</a> - Attachment (biocasia2021.bioconductor.org): <a href="https://biocasia2021.bioconductor.org/workshops/">Workshops</a> > Workshops</p> </section> <section id="section-159" class="level2"> <h2>2021-10-22</h2> <p><strong>Sean Davis</strong> (11:28:09) (in thread): > Added. Thanks for the contribution!</p> <p><strong>Kozo Nishida</strong> (18:37:19): > Hi@Sean Davis, > Does Orchestra restrict execution of Javascript? > My Jupyter Notebook does not work only on Orchestra. > (It works on ““a remote server”” with the ““Docker image”” of<a href="http://app.orchestra.cancerdatasci.org/instance?workshop_id=84">http://app.orchestra.cancerdatasci.org/instance?workshop_id=84</a>.) > My notebook requires a feature called jupyter-bridge as described in<a href="https://cytoscape.org/cytoscape-automation/for-scripters/R/notebooks/jupyter-bridge-rcy3.nb.html">https://cytoscape.org/cytoscape-automation/for-scripters/R/notebooks/jupyter-bridge-rcy3.nb.html</a>. > And the following cell does not work only on Orchestra. > <code>> IRdisplay::display_javascript(browserClientJs) ></code> > browserClientJs have a javascript string.</p> <p><strong>Kozo Nishida</strong> (18:41:56): > More pointedly, does it restrict the ability of Javascript to connect to localhost or 127.0.0.1 by using an XMLHttpRequest object (e.g., x = new XMLHttpRequest(); x.open(‘GET’, ‘<a href="http://localhost:1234/v1">http://localhost:1234/v1</a>’, true) ?</p> </section> <section id="section-160" class="level2"> <h2>2021-11-08</h2> <p><strong>Paula Nieto García</strong> (03:26:14): > <span class="citation" data-cites="Paula">@Paula</span> Nieto García has joined the channel</p> </section> <section id="section-161" class="level2"> <h2>2021-11-09</h2> <p><strong>Aedin Culhane</strong> (02:33:18) (in thread): > <span class="citation" data-cites="Sean">@Sean</span> Daviswould know</p> </section> <section id="section-162" class="level2"> <h2>2021-11-11</h2> <p><strong>Shilpa Garg</strong> (09:28:08): > <span class="citation" data-cites="Shilpa">@Shilpa</span> Garg has joined the channel</p> </section> <section id="section-163" class="level2"> <h2>2021-11-24</h2> <p><strong>Helge Hecht</strong> (13:16:05): > <span class="citation" data-cites="Helge">@Helge</span> Hecht has joined the channel</p> </section> <section id="section-164" class="level2"> <h2>2021-11-26</h2> <p><strong>Francesc Català</strong> (06:43:34): > <span class="citation" data-cites="Francesc">@Francesc</span> Català has left the channel</p> </section> <section id="section-165" class="level2"> <h2>2021-12-14</h2> <p><strong>Megha Lal</strong> (08:25:15): > <span class="citation" data-cites="Megha">@Megha</span> Lal has left the channel</p> </section> <section id="section-166" class="level2"> <h2>2022-01-04</h2> <p><strong>Sean Davis</strong> (12:28:43): > I’ve updated the Bioconductor Workshop Github template to use the Github Container Registry (rather than dockerhub), updated github actions in workflows, and modified docs. See:<a href="https://github.com/seandavi/BuildABiocWorkshop">https://github.com/seandavi/BuildABiocWorkshop</a></p> </section> <section id="section-167" class="level2"> <h2>2022-01-17</h2> <p><strong>Federico Marini</strong> (09:20:04): > <span class="citation" data-cites="Federico">@Federico</span> Marini has joined the channel</p> </section> <section id="section-168" class="level2"> <h2>2022-02-11</h2> <p><strong>Levi Waldron</strong> (15:10:44) (in thread): > Great improvement, Sean! This ghcr is SUPER easy to use. No Dockerhub account, no authentication issues, you put the default action in place without edits and it just works. The only difference from using Dockerhub is when you pull the image, ie<code>docker pull</code><a href="http://ghcr.io/username/reponame:latest">ghcr.io/username/reponame:latest</a>(or tags based on the branch name if you just use the default from Actions - New workflow - “Publish Docker Container” or<a href="https://github.com/username/reponame/actions/new">https://github.com/username/reponame/actions/new</a>). This action does have a Dockerhub option too, but why go to the trouble?</p> </section> <section id="section-169" class="level2"> <h2>2022-02-23</h2> <p><strong>Paulina Paiz</strong> (10:45:10): > <span class="citation" data-cites="Paulina">@Paulina</span> Paiz has joined the channel</p> </section> <section id="section-170" class="level2"> <h2>2022-04-12</h2> <p><strong>Vivian Chu</strong> (13:59:04): > <span class="citation" data-cites="Vivian">@Vivian</span> Chu has joined the channel</p> </section> <section id="section-171" class="level2"> <h2>2022-04-14</h2> <p><strong>Nicole Ortogero</strong> (19:19:32): > <span class="citation" data-cites="Nicole">@Nicole</span> Ortogero has joined the channel</p> </section> <section id="section-172" class="level2"> <h2>2022-05-05</h2> <p><strong>Daniel Adediran</strong> (15:53:20): > <span class="citation" data-cites="Daniel">@Daniel</span> Adediran has joined the channel</p> </section> <section id="section-173" class="level2"> <h2>2022-05-08</h2> <p><strong>Indrik Wijaya</strong> (21:09:41): > <span class="citation" data-cites="Indrik">@Indrik</span> Wijaya has joined the channel</p> </section> <section id="section-174" class="level2"> <h2>2022-05-27</h2> <p><strong>Aidan Lakshman</strong> (12:39:45): > <span class="citation" data-cites="Aidan">@Aidan</span> Lakshman has joined the channel</p> </section> <section id="section-175" class="level2"> <h2>2022-06-12</h2> <p><strong>Karat Sidhu</strong> (12:37:05): > <span class="citation" data-cites="Karat">@Karat</span> Sidhu has joined the channel</p> </section> <section id="section-176" class="level2"> <h2>2022-06-20</h2> <p><strong>Aidan Lakshman</strong> (12:12:35): > probably a stupid question, but does anyone know how to include images into our workshop builds? If I put the images into<code>inst/images</code>then<code>pkgdown</code>can’t find the images and they don’t show up on the page, but if I put them into<code>vignettes/...</code>the pre-deployment checks fail at the<code>r-cmd-check</code>step since<code>pkgdown</code>builds differently than<code>rcmdcheck</code>. It’s easy to fix by just disabling the<code>r-cmd-check</code>part of the workflow and putting images into<code>vignettes/...</code>, but I would prefer not to skip that step:sweat_smile:am I just being dumb, is there a simple way to do this that I’ve completely missed?</p> <p><strong>Kevin Rue-Albrecht</strong> (17:43:41) (in thread): > Fromthelooksof<a href="https://github.com/iSEE/iSEEWorkshop2020">https://github.com/iSEE/iSEEWorkshop2020</a><a href="https://github.com/iSEE/iSEEWorkshop2020"></a>weput images in subdirectoriesofthevignettes/directory</p> </section> <section id="section-177" class="level2"> <h2>2022-06-22</h2> <p><strong>Aidan Lakshman</strong> (09:27:49) (in thread): > Hmmmmalright,thanks!I’llgiveitanothergowhen Igetbackfromconferencetravel</p> </section> <section id="section-178" class="level2"> <h2>2022-07-07</h2> <p><strong>Clara Pereira</strong> (14:27:36): > <span class="citation" data-cites="Clara">@Clara</span> Pereira has joined the channel</p> </section> <section id="section-179" class="level2"> <h2>2022-07-22</h2> <p><strong>Aidan Lakshman</strong> (11:42:26) (in thread): > super late but update on this: worked perfectly, I appreciate the help!</p> <p><strong>Aidan Lakshman</strong> (12:36:45): > Is anyone else having trouble compiling their docker images for the workshop? Mine is failing due to not having enough memory at build time, which is an issue identified in the docker build-push gh action identified<a href="https://github.com/docker/build-push-action/issues/621">here</a>. > > I guess the only workaround is to build locally and upload? pandoc seems to be taking more than the default provisioned 2gb of ram immediately and crashing the build<strong>Edit:</strong>ended up just disabling<code>build-vignettes</code>and manually modifying the image after build</p> <p><strong>Gary Sieling</strong> (14:45:46): > <span class="citation" data-cites="Gary">@Gary</span> Sieling has joined the channel</p> </section> <section id="section-180" class="level2"> <h2>2022-07-28</h2> <p><strong>Krithika Bhuvanesh</strong> (13:50:16): > <span class="citation" data-cites="Krithika">@Krithika</span> Bhuvanesh has joined the channel</p> <p><strong>Mervin Fansler</strong> (17:19:10): > <span class="citation" data-cites="Mervin">@Mervin</span> Fansler has joined the channel</p> </section> <section id="section-181" class="level2"> <h2>2022-07-31</h2> <p><strong>Arda Keles</strong> (04:15:32): > <span class="citation" data-cites="Arda">@Arda</span> Keles has joined the channel</p> </section> <section id="section-182" class="level2"> <h2>2022-08-30</h2> <p><strong>Helen Lindsay</strong> (04:26:34): > <span class="citation" data-cites="Helen">@Helen</span> Lindsay has joined the channel</p> <p><strong>Lisa Breckels</strong> (07:20:44): > <span class="citation" data-cites="Lisa">@Lisa</span> Breckels has joined the channel</p> </section> <section id="section-183" class="level2"> <h2>2022-09-04</h2> <p><strong>Gurpreet Kaur</strong> (15:00:05): > <span class="citation" data-cites="Gurpreet">@Gurpreet</span> Kaur has joined the channel</p> </section> <section id="section-184" class="level2"> <h2>2022-09-07</h2> <p><strong>Charlotte Soneson</strong> (15:53:02): > :wave:I just created a new test repo from<a href="https://github.com/seandavi/BuildABiocWorkshop">https://github.com/seandavi/BuildABiocWorkshop</a>and I’m getting errors related to the signing of the docker image (see<a href="https://github.com/csoneson/BiocWorkshopExample/runs/8233836951?check_suite_focus=true">https://github.com/csoneson/BiocWorkshopExample/runs/8233836951?check_suite_focus=true</a>). The same issue appears in<a href="https://github.com/mcalgaro93/benchdamicWorkshop/runs/8228877535?check_suite_focus=true">https://github.com/mcalgaro93/benchdamicWorkshop/runs/8228877535?check_suite_focus=true</a>. I tried updating the<code>cosign</code>version, but that didn’t really help. Any ideas of what might be going on/needed to get this to pass? Thanks!</p> <p><strong>Matteo Calgaro</strong> (16:15:21): > <span class="citation" data-cites="Matteo">@Matteo</span> Calgaro has joined the channel</p> <p><strong>Sean Davis</strong> (21:28:51) (in thread): > The<code>cosign</code>stuff is to digitally sign the docker image. Disabling the signing should not impact the usability of the resulting image. You can remove these lines from the workflow yaml file:<a href="https://github.com/seandavi/BuildABiocWorkshop/blob/45827935dd767b31d1ac79efa00a82d5ba9640c2/.github/workflows/basic_checks.yaml#L143-L154">https://github.com/seandavi/BuildABiocWorkshop/blob/45827935dd767b31d1ac79efa00a82d5ba9640c2/.github/workflows/basic_checks.yaml#L143-L154</a>If you got that far in the workflow, you likely have an image that works already.</p> <p><strong>Sean Davis</strong> (21:29:08) (in thread): > I’ll look into the issue, though.</p> </section> <section id="section-185" class="level2"> <h2>2022-09-08</h2> <p><strong>Charlotte Soneson</strong> (02:54:53) (in thread): > Yes, you’re right - the image is generated and things seem to work (and I believe the workshop above was submitted to Orchestra yesterday). So indeed no urgent need to fix (not sure if having a signed image is required anywhere).</p> </section> <section id="section-186" class="level2"> <h2>2022-09-12</h2> <p><strong>Matteo Calgaro</strong> (07:18:15) (in thread): > I’ve removed the lines above and it works perfectly. > Now the only remaining issue is that on my macbook (with the arm chip), when I launch the docker image, the RStudio session in localhost doesn’t work (as mentioned in many online<a href="https://github.com/rstudio/rstudio/issues/8652">threads</a>). It works properly on Windows though. > I look forward to trying the workshop on the orchestra platform as soon as it is uploaded. The latter issue should not be present there. > Thank you Charlotte and Sean:slightly_smiling_face:</p> </section> <section id="section-187" class="level2"> <h2>2022-09-16</h2> <p><strong>Devika Agarwal</strong> (11:37:07): > <span class="citation" data-cites="Devika">@Devika</span> Agarwal has joined the channel</p> <p><strong>Devika Agarwal</strong> (11:37:23): > Hi, im interested in the workshop tutorials but i dint attend the EuroBioC 2022 in person. I was wondering if there are links available to the workshop vignette github pages for someone who dint attend to look at in their own time ? Thanks for live streaming the talks and a great conference as always:smile:(edited)</p> </section> <section id="section-188" class="level2"> <h2>2022-09-17</h2> <p><strong>Matteo Calgaro</strong> (10:15:09) (in thread): > Hi Devika.Hereyou can find the link for the workshop “<a href="https://mcalgaro93.github.io/benchdamicWorkshop">The benchdamic package: benchmarking of differential abundance methods on microbiome data</a>” which was on the first day of the conference. You can also search for “benchdamic” in the<a href="http://app.orchestra.cancerdatasci.org/">Orchestra</a>platform and launch the workshop itself.</p> <p><strong>Devika Agarwal</strong> (10:19:45) (in thread): > Thank you@Matteo Calgaro</p> <p><strong>Dario Righelli</strong> (16:22:36) (in thread): > hi@Devika Agarwalthe entire conference should be entirely available on the bioconductor youtube channel<a href="https://www.youtube.com/user/bioconductor">https://www.youtube.com/user/bioconductor</a> - Attachment (YouTube): <a href="https://www.youtube.com/user/bioconductor">Bioconductor</a> > Bioconductor provides tools for the analysis and comprehension of high-throughput genomic data. Bioconductor uses the R statistical programming language, and is open source and open development. It has two releases each year, 800+ software packages, and an active user community. Bioconductor is also available as an Amazon Machine Image (AMI). This channel contains short, single-topic videos as an interactive complement to traditional vignettes and workflows . The plan is to create a series of 5 minute videos that encapsulate a HOWTO skill or overview a project aspect.</p> </section> <section id="section-189" class="level2"> <h2>2022-09-20</h2> <p><strong>Devika Agarwal</strong> (04:32:27) (in thread): > <span class="citation" data-cites="Dario">@Dario</span> Righellithat is usually the case,, however i have been informed that for EuroBioC 2022 the workshopps werent recorded onlly talks were, thats why my question</p> <p><strong>Dario Righelli</strong> (05:15:28) (in thread): > <span class="citation" data-cites="Devika">@Devika</span> Agarwalmy workshop has been recorded for sure, so I think the same has been done for the others. Maybe you have to wait a little until all of them will be uploaded online.</p> <p><strong>Devika Agarwal</strong> (05:16:20) (in thread): > <span class="citation" data-cites="Dario">@Dario</span> Righelligreat thanks! i will keep an eye out</p> <p><strong>Dario Righelli</strong> (05:17:26) (in thread): > maybe we can give a reminder to the organizers like@Charlotte Soneson:slightly_smiling_face:just to have a feedback on that</p> <p><strong>Charlotte Soneson</strong> (05:54:36) (in thread): > The workshops were recorded, but not streamed. I think they should be uploaded once they are processed.</p> <p><strong>Dario Righelli</strong> (05:56:17) (in thread): > thanks@Charlotte Soneson</p> <p><strong>Devika Agarwal</strong> (06:41:57) (in thread): > awesome! thanks@Dario Righelliand@Charlotte Soneson</p> </section> <section id="section-190" class="level2"> <h2>2022-09-27</h2> <p><strong>Jennifer Holmes</strong> (16:15:00): > <span class="citation" data-cites="Jennifer">@Jennifer</span> Holmes has joined the channel</p> </section> <section id="section-191" class="level2"> <h2>2022-10-06</h2> <p><strong>Devika Agarwal</strong> (05:38:31): > <span class="citation" data-cites="Devika">@Devika</span> Agarwal has joined the channel</p> </section> <section id="section-192" class="level2"> <h2>2022-12-12</h2> <p><strong>Umran</strong> (17:57:32): > <span class="citation" data-cites="Umran">@Umran</span> has joined the channel</p> <p><strong>Nicolaj Hackert</strong> (18:02:23): > <span class="citation" data-cites="Nicolaj">@Nicolaj</span> Hackert has joined the channel</p> </section> <section id="section-193" class="level2"> <h2>2022-12-13</h2> <p><strong>Ana Cristina Guerra de Souza</strong> (08:58:50): > <span class="citation" data-cites="Ana">@Ana</span> Cristina Guerra de Souza has joined the channel</p> </section> <section id="section-194" class="level2"> <h2>2023-01-10</h2> <p><strong>Robert Shear</strong> (14:09:16): > <span class="citation" data-cites="Robert">@Robert</span> Shear has joined the channel</p> </section> <section id="section-195" class="level2"> <h2>2023-01-18</h2> <p><strong>José Basílio</strong> (13:09:19): > <span class="citation" data-cites="José">@José</span> Basílio has joined the channel</p> </section> <section id="section-196" class="level2"> <h2>2023-01-26</h2> <p><strong>Chenyue Lu</strong> (16:48:52): > <span class="citation" data-cites="Chenyue">@Chenyue</span> Lu has joined the channel</p> </section> <section id="section-197" class="level2"> <h2>2023-01-31</h2> <p><strong>Rebecca Butler</strong> (15:07:53): > <span class="citation" data-cites="Rebecca">@Rebecca</span> Butler has joined the channel</p> </section> <section id="section-198" class="level2"> <h2>2023-02-06</h2> <p><strong>Doug Joubert</strong> (18:39:56): > <span class="citation" data-cites="Doug">@Doug</span> Joubert has joined the channel</p> </section> <section id="section-199" class="level2"> <h2>2023-02-22</h2> <p><strong>michaelkleymn</strong> (01:44:36): > <span class="citation" data-cites="michaelkleymn">@michaelkleymn</span> has joined the channel</p> <p><strong>Sue McClatchy</strong> (19:33:32): > <span class="citation" data-cites="Sue">@Sue</span> McClatchy has joined the channel</p> </section> <section id="section-200" class="level2"> <h2>2023-03-10</h2> <p><strong>Edel Aron</strong> (15:28:04): > <span class="citation" data-cites="Edel">@Edel</span> Aron has joined the channel</p> </section> <section id="section-201" class="level2"> <h2>2023-04-04</h2> <p><strong>Jacques SERIZAY</strong> (05:02:45): > <span class="citation" data-cites="Jacques">@Jacques</span> SERIZAY has joined the channel</p> </section> <section id="section-202" class="level2"> <h2>2023-04-12</h2> <p><strong>Jianhong</strong> (10:09:46): > <span class="citation" data-cites="Jianhong">@Jianhong</span> has left the channel</p> </section> <section id="section-203" class="level2"> <h2>2023-04-18</h2> <p><strong>Leonardo Collado Torres</strong> (14:45:56): > looks like<a href="https://2i2c.org/">https://2i2c.org/</a>and<a href="https://cyverse.org/">https://cyverse.org/</a>can both deploy<code>rocker</code>-based docker images - Attachment (2i2c.org): <a href="https://2i2c.org/">2i2c</a> > The International Interactive Computing Collaboration.</p> <p><strong>Leonardo Collado Torres</strong> (14:46:19): > could be an alternative for developing courses / workshops to say<a href="http://app.orchestra.cancerdatasci.org/">http://app.orchestra.cancerdatasci.org/</a></p> <p><strong>Leonardo Collado Torres</strong> (14:47:00): > I didn’t know about them, but I just heard about them at<a href="https://twitter.com/search?q=%23CZILatAmMtg&src=typed_query">https://twitter.com/search?q=%23CZILatAmMtg&src=typed_query</a></p> <p><strong>Leonardo Collado Torres</strong> (14:47:14): > could be something to study a bit more</p> <p><strong>Frederick Tan</strong> (15:22:34): > Did they provide any information with regards to available resources/pricing? When we explored the related<a href="https://mybinder.org">https://mybinder.org</a>a year or more ago we weren’t able to get enough memory on the free tier to run basic single cell packages.</p> </section> <section id="section-204" class="level2"> <h2>2023-04-20</h2> <p><strong>Chris Vanderaa</strong> (04:34:40): > <span class="citation" data-cites="Chris">@Chris</span> Vanderaa has left the channel</p> <p><strong>Vince Carey</strong> (15:10:21) (in thread): > Thanks for the link@Leonardo Collado Torres. Poking around leads to<a href="https://www.codeforsociety.org/">https://www.codeforsociety.org/</a>– IOI looks interesting, along with the 2i2c … We should surface what we are doing in a similar way, and seek comparable support. - Attachment (codeforsociety.org): <a href="https://www.codeforsociety.org/">Code for Science & Society</a> > Advancing the power of data to improve the social and economic lives of all people.</p> </section> <section id="section-205" class="level2"> <h2>2023-05-11</h2> <p><strong>Monica Valecha</strong> (12:44:04): > <span class="citation" data-cites="Monica">@Monica</span> Valecha has joined the channel</p> </section> <section id="section-206" class="level2"> <h2>2023-05-15</h2> <p><strong>Jared Andrews</strong> (09:19:00): > <span class="citation" data-cites="Jared">@Jared</span> Andrews has joined the channel</p> <p><strong>Jared Andrews</strong> (09:23:48): > I’m trying to build a workshop via the template from:<a href="https://github.com/Bioconductor/BuildABiocWorkshop">https://github.com/Bioconductor/BuildABiocWorkshop</a>It worked fine until certain packages were added as imports, which are not being installed properly during the docker build, throwing: > <code>> Warning messages: > #10 719.7 1: packages 'GenomeInfoDbData', 'org.Hs.eg.db' are not available for this version of R ></code> > Any ideas? Github actions here:<a href="https://github.com/j-andrews7/ShinyForScientistsWorkshop/actions/runs/4978434678/jobs/8909278088">https://github.com/j-andrews7/ShinyForScientistsWorkshop/actions/runs/4978434678/jobs/8909278088</a></p> <p><strong>Lori Shepherd</strong> (09:36:28): > What version of R/Bioc are you using? – this seems like an issue with access to the annotation repository of Bioconductor specifically</p> <p><strong>Jared Andrews</strong> (09:46:12): > Ah, devel, I’ll give it a shot with 3.17</p> <p><strong>Lori Shepherd</strong> (09:48:06): > we are in the process now of moving annotations over for devel 3.18. We encountered an issue and are working on it. It should be resolved over the next few days</p> <p><strong>Lori Shepherd</strong> (09:48:27): > sorry for the inconvenience</p> <p><strong>Jared Andrews</strong> (09:49:26): > No worries, happy to get an answer so quickly!</p> </section> <section id="section-207" class="level2"> <h2>2023-05-17</h2> <p><strong>Hassan Kehinde Ajulo</strong> (12:16:27): > <span class="citation" data-cites="Hassan">@Hassan</span> Kehinde Ajulo has joined the channel</p> </section> <section id="section-208" class="level2"> <h2>2023-05-18</h2> <p><strong>Oluwafemi Oyedele</strong> (05:53:33): > <span class="citation" data-cites="Oluwafemi">@Oluwafemi</span> Oyedele has joined the channel</p> </section> <section id="section-209" class="level2"> <h2>2023-05-19</h2> <p><strong>Jenny Drnevich</strong> (09:02:33): > <span class="citation" data-cites="Jenny">@Jenny</span> Drnevich has joined the channel</p> </section> <section id="section-210" class="level2"> <h2>2023-05-30</h2> <p><strong>Dario Righelli</strong> (03:47:06): > Hi everyone, sorry to bother, but I’m having an error with GHA that I’m not able to understand. > I’m trying to create a template of a package, starting from the BuildABiocWorkshop template. > I followed all the indications from the README and from the vignette, but when installing system dependencies I’m having<a href="https://github.com/drighelli/packagetemplate/actions/runs/5113480590/jobs/9192732070#step:6:50">this error</a>even with Bioc3.17. > Does someone have any feedback on this? > Thanks!</p> <p><strong>Charlotte Soneson</strong> (05:29:33) (in thread): > Not a very good answer, but I’ve noticed in the past that when I see these long weird URLs with lots of comma-separated package names in them, usually waiting a little and relaunching the workflow it works (and doesn’t create these junk URLs). Not sure what is the reason though…</p> <p><strong>Maria Doyle</strong> (12:40:19) (in thread): > adding@Alex Mahmoudto this channel and thread in case they know any more, from setting up the workshop images for the recent Smorgasbord</p> </section> <section id="section-211" class="level2"> <h2>2023-05-31</h2> <p><strong>Alyssa Obermayer</strong> (14:14:07): > <span class="citation" data-cites="Alyssa">@Alyssa</span> Obermayer has joined the channel</p> </section> <section id="section-212" class="level2"> <h2>2023-06-01</h2> <p><strong>Alex Mahmoud</strong> (14:43:25): > <span class="citation" data-cites="Alex">@Alex</span> Mahmoud has joined the channel</p> </section> <section id="section-213" class="level2"> <h2>2023-06-02</h2> <p><strong>Leonardo Collado Torres</strong> (15:11:38): > <span class="citation" data-cites="Jenny">@Jenny</span> DrnevichI found out today from@Daianna Gonzalez-Padillaand@Renee Garcia Floresthat they have until June 7th to make a BioC package for their long#bioc-conference-everyoneworkshop. I was a bit surprised since other people in my team doing shorter workshops (package demos) didn’t know about this deadline. > > So actually, I’m a bit confused. Are package demo presenters not required to make packages for the workshops this year?</p> <p><strong>Daianna Gonzalez-Padilla</strong> (15:11:42): > <span class="citation" data-cites="Daianna">@Daianna</span> Gonzalez-Padilla has joined the channel</p> <p><strong>Renee Garcia Flores</strong> (15:11:42): > <span class="citation" data-cites="Renee">@Renee</span> Garcia Flores has joined the channel</p> <p><strong>Leonardo Collado Torres</strong> (15:14:25): > <span class="citation" data-cites="Hedia">@Hedia</span> Tnaniand@Louise Huukifrom my team are presenting package demos</p> <p><strong>Hedia Tnani</strong> (15:14:27): > <span class="citation" data-cites="Hedia">@Hedia</span> Tnani has joined the channel</p> <p><strong>Louise Huuki</strong> (15:14:28): > <span class="citation" data-cites="Louise">@Louise</span> Huuki has joined the channel</p> <p><strong>Nick Eagles</strong> (16:17:28): > <span class="citation" data-cites="Nick">@Nick</span> Eagles has joined the channel</p> </section> <section id="section-214" class="level2"> <h2>2023-06-04</h2> <p><strong>Alex Mahmoud</strong> (23:25:54): > I think repos for package demos are optional as packagedemos don’t<strong>have</strong>to have a “follow along” component. So if they want people to be able to use our platform to launch a container prepared for them, they can prepare a workshop-like package, but they can also just present the package without it which I think will be the majority</p> </section> <section id="section-215" class="level2"> <h2>2023-06-05</h2> <p><strong>Leonardo Collado Torres</strong> (10:29:00): > ok, thanks for the clarification Alex! I was telling@Louise Huukithat I thought it’d be something like this</p> <p><strong>Leonardo Collado Torres</strong> (10:29:47): > in any case, I’ll teach my team how to make these packages and get them all setup using<code>biocthis</code>this Wednesday (regardless of the workshop length) so they can all know how to do this if needed</p> <p><strong>Marcel Ramos Pérez</strong> (11:20:30) (in thread): > I can reproduce the error locally with > <code>> sysreqs::sysreq_commands("DESCRIPTION") > Error in utils::download.file(url, path, method = download_method(), quiet = quiet, : > cannot open URL '[https://sysreqs.r-hub.io/pkg/packagetemplate,Biobase,knitr,rmarkdown,pkgdown,evaluate,highr,xfun,yaml,bslib,fontawesome,htmltools,jquerylib,jsonlite,stringr,tinytex,sass,rlang,cachem,memoise,base64enc,mime,digest,fastmap,ellipsis,cli,glue,lifecycle,magrittr,stringi,vctrs,fs,R6,rappdirs,callr,desc,downlit,httr,purrr,ragg,tibble,whisker,withr,xml2,processx,rprojroot,brio,fansi,curl,openssl,systemfonts,textshaping,pillar,pkgconfig,askpass,utf8,ps,cpp11,sys/r-patched-linux-x86_64](https://sysreqs.r-hub.io/pkg/packagetemplate,Biobase,knitr,rmarkdown,pkgdown,evaluate,highr,xfun,yaml,bslib,fontawesome,htmltools,jquerylib,jsonlite,stringr,tinytex,sass,rlang,cachem,memoise,base64enc,mime,digest,fastmap,ellipsis,cli,glue,lifecycle,magrittr,stringi,vctrs,fs,R6,rappdirs,callr,desc,downlit,httr,purrr,ragg,tibble,whisker,withr,xml2,processx,rprojroot,brio,fansi,curl,openssl,systemfonts,textshaping,pillar,pkgconfig,askpass,utf8,ps,cpp11,sys/r-patched-linux-x86_64)' ></code> > It seems like<code>sysreqs</code>has fallen out of maintenance?</p> <p><strong>Eric Davis</strong> (12:26:28): > <span class="citation" data-cites="Eric">@Eric</span> Davis has joined the channel</p> </section> <section id="section-216" class="level2"> <h2>2023-06-06</h2> <p><strong>Charlotte Soneson</strong> (03:59:09) (in thread): > <span class="citation" data-cites="Dario">@Dario</span> RighelliIt looks like this step is working now?</p> <p><strong>Dario Righelli</strong> (06:47:56) (in thread): > yes thanks for letting me notice that!</p> <p><strong>Andrew McDavid</strong> (18:57:29): > Howdy, I’m confused about the “Additional bioconductor/R packages” field in the google form that is collecting “BuildABiocWorkshop” data from workshop presenters. When I run my docker image it seems like everything I listed in the DESCRIPTION file is already installed. What might someone list here?</p> </section> <section id="section-217" class="level2"> <h2>2023-06-07</h2> <p><strong>Vince Carey</strong> (09:30:06): > –I don’t understand the role of the June 7 deadline. I started my package today. What will happen?– ok, i found the email that describes link to google form and requirements to have vignette and registered docker image …</p> <p><strong>Vince Carey</strong> (12:23:31): > I failed to do something in using the template: > <code>> /usr/bin/git push --force *****github.com/vjcitn/BiocPyInterop.git github-pages-deploy-action/jcdph51ut:gh-pages > remote: Permission to vjcitn/BiocPyInterop.git denied to github-actions[bot]. ></code> > set a secret? activate pages?</p> <p><strong>Jared Andrews</strong> (12:32:14): > Check settings -> Actions -> General -> workflow permissions - Make sure it has read/write permissions.</p> <p><strong>Vince Carey</strong> (13:31:31): > Thank you! I hope that can get into the README.md for BuildABiocWorkshop@Sean Davis@Alex Mahmoud(if it is not there?) Or can the template set this?</p> <p><strong>Jiefei Wang</strong> (17:26:24): > <span class="citation" data-cites="Jiefei">@Jiefei</span> Wang has joined the channel</p> <p><strong>Alyssa Obermayer</strong> (18:28:35): > <span class="citation" data-cites="Alyssa">@Alyssa</span> Obermayer has joined the channel</p> </section> <section id="section-218" class="level2"> <h2>2023-06-08</h2> <p><strong>Michael Lynch</strong> (06:45:30): > <span class="citation" data-cites="Michael">@Michael</span> Lynch has joined the channel</p> <p><strong>Leonardo Collado Torres</strong> (12:11:09): > I have this on<code>biocthis</code>:<a href="https://github.com/lcolladotor/biocthis/blob/4c208b6385042c39f333c27a256ccd26eb67c26f/R/use_bioc_github_action.R#L141-L145">https://github.com/lcolladotor/biocthis/blob/4c208b6385042c39f333c27a256ccd26eb67c26f/R/use_bioc_github_action.R#L141-L145</a></p> <p><strong>Leonardo Collado Torres</strong> (12:11:54): > like I’ve been telling my team to use<code>biocthis::use_bioc_pkg_templates()</code>to make their workshop packages</p> <p><strong>Leonardo Collado Torres</strong> (12:12:50): > with just changing<code>biocthis::use_bioc_github_action(docker = TRUE)</code>at some point compared to default options<a href="https://github.com/lcolladotor/bioc2023example/blob/b245152878f74b7aa32641dce8764dc20f471c5e/dev/03_core_files.R#L78">https://github.com/lcolladotor/bioc2023example/blob/b245152878f74b7aa32641dce8764dc20f471c5e/dev/03_core_files.R#L78</a></p> </section> <section id="section-219" class="level2"> <h2>2023-06-12</h2> <p><strong>Michael Lynch</strong> (07:49:45): > Hi, for package demoers for bioc23 looking to build a workshop package, is there information available on deadlines etc.? Or have I missed out on this already with the Jun 7th deadline? I’m fine with building the package using the template, just unsure about what needs to be done to integrate this into the conference! Thanks.</p> <p><strong>Jenny Drnevich</strong> (08:34:04): > Hi@Michael Lynch. As package demos are not required to build a workshop package, we did not send out the information to you all. If you want to, you can, although the idea of the package demos vs. long workshops is that package demos are not expecting attendees to try to run the material during the demo like a long workshop. The June 7th deadline was mostly to get people to get working on it rather than leaving it to the last minute. The real hard deadline will be July 25, when the virtual conference machines will cache your Docker image. I will post the full details below.</p> <p><strong>Jenny Drnevich</strong> (08:34:26): > Dear BioC2023 Long Workshop presenter, > > [Note at bottom:<strong><em>deadlines of June 7 and July 7</em></strong>] > > In order to provide a seamless workshop experience for attendees, we will ask you to provide your workshop as an R package on a GitHub repo with an associated pkgdown site and Docker image. See<a href="http://www.github.com/Bioconductor/BuildABiocWorkshop">www.github.com/Bioconductor/BuildABiocWorkshop</a>(and<a href="https://bioconductor.github.io/BuildABiocWorkshop/articles/HOWTO_BUILD_WORKSHOP.html">https://bioconductor.github.io/BuildABiocWorkshop/articles/HOWTO_BUILD_WORKSHOP.html</a>) for instructions and a template. You are also welcome to use live demos and slides as you see fit, but we ask that any code you expect your participants to run be included in a vignette in this package. It is important that all dependencies/imports/suggests be declared in your DESCRIPTION file, and that your workshop vignette can be built without errors on the Docker image. > > We are here to help you accomplish this workshop preparation task by the deadline listed below, and recommend communicating through the#biocworkshopschannel in the community-bioc Slack workspace (<a href="https://community-bioc.slack.com/archives/CJDMYKG2U">https://community-bioc.slack.com/archives/CJDMYKG2U</a>) for help. > > Some other specific instructions: > * We strongly recommend using the release versions of R (4.3.0) and Bioconductor (3.17). Please contact Jenny Drnevich<a href="mailto:drnevich@illinois.edu">drnevich@illinois.edu</a>if there is a reason you cannot use these. > * For consistency across workshops, we recommend: > > * * including your syllabus at the start of the vignette > * * using the top-level heading (<code>#</code>) for the title of your workshop, and lower-level headings (<code>##</code>, <code>###</code>, etc) for all other sections and subsections > > * Although you can depend on packages from GitHub in your DESCRIPTION as remotes, we really recommend avoiding this practice because depending on software that is not part of the Bioconductor or CRAN continuous integration systems creates potential for problems for users. We’re not even going to tell you exactly how to do it :). We strongly recommend using packages available from CRAN or Bioconductor. > * Data should ideally come from existing Bioconductor packages or the Bioconductor ExperimentHub for speed, reliability, and local caching. If suitable data are not available via these options, additional data can be downloaded but we recommend you utilize BiocFileCache for the download process to preserve bandwidth from repeated downloading. > * Workshops should be interactive with workshop participants. Exercises and active discussion should be worked into the materials. > Please note the following deadlines to ensure a smooth experience for conference attendees, and to allow us to work out any technical issues with the provision of your workshop through conference virtual machines. > * <strong><em>Wednesday June 7</em></strong>: initial draft of workshop, as the vignette of a stand-alone R package in your own GitHub repo and a Docker image on GitHub Container Registry. This can be a shell of your workshop, but this deadline allows us to arrange your workshop in the conference programme and to work out technical challenges that might arise. Please fill out this form before this date:<a href="https://forms.gle/M4kr5VyZh77iCRST9">https://forms.gle/M4kr5VyZh77iCRST9</a>. > * <strong><em>Friday July 7</em></strong>: Complete draft of workshop. The conference virtual machines will automatically cache your Docker image one week before the first conference day, so you may continue making updates to your workshop up<strong>until one week before</strong>the conference. If you make changes after this date, please contact organizers ASAP to ensure your changes are reflected. We encourage you to minimize changes after this deadline, as it will allow adequate time for testing of your workshop on the conference platform to ensure its technical feasibility. > * <strong><em>August 2-4</em></strong>: BioC2023 > Thank you for your contribution, see you there! > > Sincerely, > The BioC2023 planning committee - Attachment (bioconductor.github.io): <a href="https://bioconductor.github.io/BuildABiocWorkshop/articles/HOWTO_BUILD_WORKSHOP.html">How To Build A Workshop Package</a> > BuildABiocWorkshop - Attachment (Google Docs): <a href="https://forms.gle/M4kr5VyZh77iCRST9">Bioc2023 Workshops</a></p> <p><strong>Michael Lynch</strong> (08:48:49) (in thread): > Many thanks@Jenny Drnevichfor providing the additional information. I’ll consider the pro’s and con’s of submitting in this format.</p> </section> <section id="section-220" class="level2"> <h2>2023-06-14</h2> <p><strong>Michael Lynch</strong> (11:19:06): > The GHA associated with the BuildABiocWorkshop template seems to have trouble with packages depending on reticulate, is this something that has been encountered and solved already but not incorporate into the template? Would appreciate any direction on this as I’m figuring out the actions still. Thanks.</p> </section> <section id="section-221" class="level2"> <h2>2023-06-15</h2> <p><strong>Vince Carey</strong> (03:22:52): > Please provide a link to the action events that are problematic.</p> <p><strong>Michael Lynch</strong> (08:28:37): > Hi Vince, I’ve created a MRE here:<a href="https://github.com/michaelplynch/biocws-retic-test/actions/runs/5278591333/jobs/9548135765">https://github.com/michaelplynch/biocws-retic-test/actions/runs/5278591333/jobs/9548135765</a>cloned from<a href="https://github.com/Bioconductor/BuildABiocWorkshop">https://github.com/Bioconductor/BuildABiocWorkshop</a>. Actions file is<a href="https://github.com/michaelplynch/biocws-retic-test/blob/devel/.github/workflows/basic_checks.yaml">https://github.com/michaelplynch/biocws-retic-test/blob/devel/.github/workflows/basic_checks.yaml</a>. I’ve updated DESCRIPTION to reflect my details (gha completes) then added reticulate to Imports (gha fails). > Error is as follows and occurs during Install system dependencies step: > “Package python is not available, but is referred to by another package. > This may mean that the package is missing, has been obsoleted, or > is only available from another source > However the following packages replace it: > 2to3 python2-minimal python2 dh-python python-is-python3 > E: Package ‘python’ has no installation candidate > Error: Process completed with exit code 100.” > > I’ve tried installing python-is-python3 as well as installing python directly as per<a href="https://github.com/actions/setup-python">https://github.com/actions/setup-python</a>prior to the Install system dependencies step, verified python could be called, but still fails with the same error. I’m currently trying to work out what exactly is being called in the “cat(sysreqs::sysreq_commands(‘DESCRIPTION’))” command. I’d appreciate any input!</p> <p><strong>Vince Carey</strong> (12:03:13) (in thread): > I confirm the problem in a verbatim fork. Have you seen<a href="https://rstudio.github.io/reticulate/articles/package.html#using-github-actions">https://rstudio.github.io/reticulate/articles/package.html#using-github-actions</a> - Attachment (rstudio.github.io): <a href="https://rstudio.github.io/reticulate/articles/package.html#using-github-actions">Using reticulate in an R Package</a> > reticulate</p> <p><strong>Vince Carey</strong> (17:47:00) (in thread): > Specifically, maybe > <code>> - uses: r-lib/actions/setup-r-dependencies@v2 > with: > extra-packages: rcmdcheck remotes reticulate > > - uses: actions/setup-python@v4 > with: > python-version: "3.x" ></code> > will help. In my action I get reticulate via basilisk.</p> </section> <section id="section-222" class="level2"> <h2>2023-06-17</h2> <p><strong>Michael Lynch</strong> (07:25:08) (in thread): > I had seen this, misapplied it first time round but got it working now. The setup-r-dependencies action replaces the sysreqs commands in the original workflow. Updated (and functioning) workflow is here:<a href="https://github.com/michaelplynch/biocws-retic-test/blob/devel/.github/workflows/basic_checks.yaml">https://github.com/michaelplynch/biocws-retic-test/blob/devel/.github/workflows/basic_checks.yaml</a>. Thanks for the suggestion!</p> </section> <section id="section-223" class="level2"> <h2>2023-06-19</h2> <p><strong>Pierre-Paul Axisa</strong> (05:09:38): > <span class="citation" data-cites="Pierre-Paul">@Pierre-Paul</span> Axisa has joined the channel</p> </section> <section id="section-224" class="level2"> <h2>2023-06-22</h2> <p><strong>Ludwig Geistlinger</strong> (06:27:58) (in thread): > Had the same problem when trying to import<code>Seurat</code>, did the trick for me as well. Nice work@Michael Lynch!</p> </section> <section id="section-225" class="level2"> <h2>2023-06-26</h2> <p><strong>Giulio Benedetti</strong> (16:06:13): > <span class="citation" data-cites="Giulio">@Giulio</span> Benedetti has joined the channel</p> <p><strong>Tuomas Borman</strong> (16:06:13): > <span class="citation" data-cites="Tuomas">@Tuomas</span> Borman has joined the channel</p> </section> <section id="section-226" class="level2"> <h2>2023-06-27</h2> <p><strong>Rory Stark</strong> (06:35:47): > Not sure the best place to ask this but I have a question regarding EuroBioc2023. Will it be available on zoom/online or only in person?</p> <p><strong>Laurent Gatto</strong> (11:48:27): > The conference as such is only in person, but the plan is to stream the talks and to post them on Youtube after the conference.</p> </section> <section id="section-227" class="level2"> <h2>2023-07-05</h2> <p><strong>Eric Davis</strong> (15:25:11): > What is the recommended way to make large (~100Mb) files available for these workshops? I need to use 12 files that are about 100Mb each to demonstrate an analysis. I’ve tried packaging them as a docker image (with the relevant R packages pre-installed) which works interactively, but doesn’t pass the GitHub actions checks.</p> <p><strong>Sean Davis</strong> (15:28:44) (in thread): > You can host the files elsewhere and just load them as needed.</p> <p><strong>Eric Davis</strong> (15:33:52) (in thread): > Thanks! How should I point to these files in the vignette so that it doesn’t throw an error during checks?</p> </section> <section id="section-228" class="level2"> <h2>2023-07-06</h2> <p><strong>Sean Davis</strong> (11:18:07): > <span class="citation" data-cites="Alex">@Alex</span> MahmoudI’ve had a few folks ask about getting workshop materials into the new Galaxy-based workshop runner. I know you have developed an approach and perhaps instructions for folks to ask for inclusion. Could you link that here? Perhaps we can PIN it here.</p> <p><strong>Sean Davis</strong> (11:18:18) (in thread): > cc@Jared Andrews</p> <p><strong>Jared Andrews</strong> (11:18:36) (in thread): > Yes, certainly interested!</p> <p><strong>Marcel Ramos Pérez</strong> (11:19:01) (in thread): > Me three:slightly_smiling_face:</p> <p><strong>Alex Mahmoud</strong> (11:53:43) (in thread): > The internal way is via issues with the bot in<a href="https://github.com/Bioconductor/workshop-contributions/issues">https://github.com/Bioconductor/workshop-contributions/issues</a>which you and Marcel could try out (it requires Bioconductor write access). Beyond internally, I am keeping the bot interaction out of public hands until it gets more mature and bugs are better handled, so for the conference, there is this form that people can fill out to request their workshop/demo being added<a href="https://docs.google.com/forms/d/1OCCpDTW2KosvFelvgeKk9P0ImNGkUoExCeZuJL6RKQg/edit">https://docs.google.com/forms/d/1OCCpDTW2KosvFelvgeKk9P0ImNGkUoExCeZuJL6RKQg/edit</a></p> <p><strong>Jared Andrews</strong> (11:54:56) (in thread): > Is this platform intended only for the conference workshops?</p> <p><strong>Alex Mahmoud</strong> (11:57:50) (in thread): > We haven’t made any “official” decision or announcement. It’s been mostly on a case-by-case basis as things come up. We used it first about a month ago for Smorgasbord 2023, and have used it for a few one-off smaller events since. Happy to add workshops beyond a conference, but can’t guarantee concurrent launch capacity unless I know roughly the number of launches and timeframe</p> <p><strong>Alex Mahmoud</strong> (11:58:11) (in thread): > I am traveling, slowly catching up with work today, will be fully back tomorrow</p> <p><strong>Jared Andrews</strong> (12:01:07) (in thread): > No worries, I am just trying to determine whether to host our own setup or if these (very convenient) platforms are a reasonable option for small workshops that are a single day with < 50 users. > > More specifically, I had a Shiny workshop I gave at an internal symposium and wanted to make publicly available:<a href="https://github.com/j-andrews7/ShinyForResearchersWorkshop">https://github.com/j-andrews7/ShinyForResearchersWorkshop</a></p> <p><strong>Alex Mahmoud</strong> (12:01:41) (in thread): > Single day ~50 users is definitely doable</p> <p><strong>Jared Andrews</strong> (12:07:19) (in thread): > Good to know. I don’t have bioconductor write access, but I am also in no rush. I will keep an eye out for public access since I’m sure you’re busy getting them together for the conference:wink:</p> </section> <section id="section-229" class="level2"> <h2>2023-07-12</h2> <p><strong>Jiefei Wang</strong> (01:08:30): > Hi, I have a simple question for the conference presentation. Do we have to use the vignettes built in the Github repository to do the presentation or we can use slides to do it?</p> <p><strong>Jenny Drnevich</strong> (12:25:09) (in thread): > You can use whatever you want for the presentation. However, if you want to use your own computer, you will also need to be logged in to Hopin (the remote platform) and screen share through there. Otherwise, if the slides are on-line, you can access them from the room computer (if you are in-person)</p> <p><strong>Jiefei Wang</strong> (18:46:18) (in thread): > Great, thanks for the information</p> </section> <section id="section-230" class="level2"> <h2>2023-07-13</h2> <p><strong>Jiefei Wang</strong> (00:05:29): > I ran into a package installation problem in GitHub action <code>[docker-build-and-push](https://github.com/Jiefei-Wang/Bioc2023-parallel-computing/actions/runs/5538424450/jobs/10108344395#logs)</code>, but I have no clue why it happens. The error message tells me it cannot install the package<code>SharedObject</code>, but the same code successfully installed the package in my local environment. Local<code>docker build</code>also gives error. Any suggestions to debug it? > <code>> #10 [5/5] RUN Rscript -e "options(repos = c(CRAN = '[https://cran.r-project.org](https://cran.r-project.org)')); devtools::install('.', dependencies=TRUE, build_vignettes=TRUE, repos = BiocManager::repositories())" > #10 7.454 Skipping 1 packages not available: SharedObject > #10 7.456 Installing 13 packages: formatR, futile.options, lambda.r, storr, BH, snow, futile.logger, redux, BiocParallel, BiocGenerics, SharedObject, RedisParam, Biobase > #10 7.458 Installing packages into '/usr/local/lib/R/site-library' ></code></p> <p><strong>Jiefei Wang</strong> (00:51:29) (in thread): > Not sure what’s the issue, but a quick fix is that I replaced<code>devtools::install</code>with<code>BiocManager::install</code>in dockerfile and manually install all the dependences. I guess devtools can only install binary file.</p> </section> <section id="section-231" class="level2"> <h2>2023-07-17</h2> <p><strong>Leonardo Collado Torres</strong> (15:15:10): > <a href="https://twitter.com/lcolladotor/status/1681018703289417728">https://twitter.com/lcolladotor/status/1681018703289417728</a> - Attachment (Twitter): <a href="https://twitter.com/lcolladotor/status/1681018703289417728">:flag-mx: Leonardo Collado-Torres on Twitter</a> > Continuing with the 2023 <span class="citation" data-cites="LIBDrstats">@LIBDrstats</span> videos, we have 2023-03-03 “Making an R/<span class="citation" data-cites="Bioconductor">@Bioconductor</span> workshop package for BioC’s annual conference” w/ #usethis #biocthis :package:#rstats <span class="citation" data-cites="LieberInstitute">@LieberInstitute</span> > > :spiral_note_pad: <a href="https://t.co/yQjTObYcd6">https://t.co/yQjTObYcd6</a> > Live example: <a href="https://t.co/KTeClFn6Lr">https://t.co/KTeClFn6Lr</a> > :video_camera: <a href="https://t.co/dgiKE4FCHa">https://t.co/dgiKE4FCHa</a></p> <p><strong>Leonardo Collado Torres</strong> (15:25:55): > <a href="https://twitter.com/lcolladotor/status/1681022301587017728">https://twitter.com/lcolladotor/status/1681022301587017728</a> - Attachment (Twitter): <a href="https://twitter.com/lcolladotor/status/1681022301587017728">:flag-mx: Leonardo Collado-Torres on Twitter</a> > From 2023-06-09 “Live debugging a R/<span class="citation" data-cites="Bioconductor">@Bioconductor</span> package :package:with a <span class="citation" data-cites="docker">@docker</span> image” > > With <span class="citation" data-cites="daianna_glez">@daianna_glez</span> <span class="citation" data-cites="SubmarineGene">@SubmarineGene</span> Nick-Eagles > > #biocthis #usethis <span class="citation" data-cites="LIBDrstats">@LIBDrstats</span> <span class="citation" data-cites="LieberInstitute">@LieberInstitute</span> #rstats > > :computer: <a href="https://t.co/0CT4ZROWL8">https://t.co/0CT4ZROWL8</a> > :video_camera: <a href="https://t.co/mb2LNAe2C8">https://t.co/mb2LNAe2C8</a></p> </section> <section id="section-232" class="level2"> <h2>2023-07-25</h2> <p><strong>Michael Love</strong> (11:59:31): > A note for workshop presenters: > > if you want to populate columns 1 and 2 here…<a href="https://bioc2023.bioconductor.org/workshops/">https://bioc2023.bioconductor.org/workshops/</a>…you can fork the<code>Bioc2023</code>repo, and edit your abstract yaml file here:<a href="https://github.com/Bioconductor/BioC2023/tree/devel/data/abstracts">https://github.com/Bioconductor/BioC2023/tree/devel/data/abstracts</a>you just need to add<code>details</code>and<code>github</code>entries. And then send a PR. This correct@Mikhail Dozmorov? > > e.g. I added > <code>> github: "[https://github.com/tidybiology/tidyomicsWorkshopBioc2023/](https://github.com/tidybiology/tidyomicsWorkshopBioc2023/)" > details: "[https://tidybiology.github.io/tidyomicsWorkshopBioc2023/](https://tidybiology.github.io/tidyomicsWorkshopBioc2023/)" ></code> - Attachment (bioc2023.bioconductor.org): <a href="https://bioc2023.bioconductor.org/workshops/">Workshops & package demos</a> > Workshops & package demos</p> <p><strong>Mikhail Dozmorov</strong> (14:23:20): > Yes, and everyone presenting a workshop or a package demo are encouraged to do it. Also, please, add this data to the “details” and “github” columns in the 2023<a href="https://docs.google.com/spreadsheets/d/1tGtGffcbCRxQFjE3ej42IcWlN4FJCsuQeZvETt9g0oA/edit#gid=1567094615">schedule spreadsheet</a>, and any other updates you want to make. To get the spreadsheet’s data to the website, run the commands explained in the<a href="https://github.com/Bioconductor/Bioc2023#schedule-generation">README</a>or reply here.</p> <p><strong>Jenny Drnevich</strong> (15:35:09): > <span class="citation" data-cites="Nick">@Nick</span> Eagles:arrow_up:</p> </section> <section id="section-233" class="level2"> <h2>2023-07-26</h2> <p><strong>Vince Carey</strong> (07:53:51): > Thanks for this information. Somehow a<a href="http://ghcr.io">ghcr.io</a>reference got put in the github field for my workshop. I revised it, added details entry, made PR. I seem to have permission to merge but am not doing so.</p> <p><strong>Mikhail Dozmorov</strong> (13:34:13) (in thread): > Hmm, the PR didn’t show up. And yes, I cannot recall exactly where it came from but remember checking<a href="http://ghcr.io/vjcitn/biocpyinterop">http://ghcr.io/vjcitn/biocpyinterop</a>- it redirects to the seemingly correct Github repo.</p> </section> <section id="section-234" class="level2"> <h2>2023-07-28</h2> <p><strong>Konstantinos Daniilidis</strong> (13:47:17): > <span class="citation" data-cites="Konstantinos">@Konstantinos</span> Daniilidis has joined the channel</p> </section> <section id="section-235" class="level2"> <h2>2023-07-31</h2> <p><strong>Qian Liu</strong> (13:43:20): > Hi@Alex MahmoudIs it still possible to add one package demo to the platform? Thanks!</p> <p><strong>Alex Mahmoud</strong> (15:01:08): > Hi@Qian Liu. Unfortunately, it’s too late for getting on the platform. Please plan to present from your laptop instead</p> <p><strong>Alex Mahmoud</strong> (15:04:21): > I will follow up on your email with more details but if you’re starting from scratch it’s a bit too complicated to start now</p> <p><strong>Qian Liu</strong> (15:26:37) (in thread): > very sorry for the last minute request… but the github action is building now and hopefully it will work soon.</p> <p><strong>Alex Mahmoud</strong> (16:22:44) (in thread): > Sounds good. Could you please make the GHCR repo (packages) public so that I don’t have to rebuild it? (<a href="https://docs.github.com/en/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility#configuring-access-to-packages-for-an-organization">https://docs.github.com/en/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility#configuring-acces[…]r-an-organization</a>)</p> <p><strong>Qian Liu</strong> (19:32:32) (in thread): > Hi@Alex Mahmoud, it has been changed to public. Thx!</p> <p><strong>Alex Mahmoud</strong> (20:54:16) (in thread): > Your package demo is live on the instance, please try it out asap</p> </section> <section id="section-236" class="level2"> <h2>2023-08-01</h2> <p><strong>Qian Liu</strong> (08:44:59) (in thread): > Thank you so much for your quick assistance! I’ve tested them out and they work great!</p> <p><strong>Nikhil Mane</strong> (09:12:42): > <span class="citation" data-cites="Nikhil">@Nikhil</span> Mane has joined the channel</p> </section> <section id="section-237" class="level2"> <h2>2023-08-02</h2> <p><strong>Beth Cimini</strong> (08:20:18): > <span class="citation" data-cites="Beth">@Beth</span> Cimini has joined the channel</p> </section> <section id="section-238" class="level2"> <h2>2023-08-03</h2> <p><strong>Abiud Cantu</strong> (10:59:19): > <span class="citation" data-cites="Abiud">@Abiud</span> Cantu has joined the channel</p> </section> <section id="section-239" class="level2"> <h2>2023-08-04</h2> <p><strong>Trisha Timpug</strong> (09:34:56): > <span class="citation" data-cites="Trisha">@Trisha</span> Timpug has joined the channel</p> <p><strong>Sowmya Parthiban</strong> (10:05:04): > <span class="citation" data-cites="Sowmya">@Sowmya</span> Parthiban has joined the channel</p> <p><strong>Frank Rühle</strong> (10:53:19): > <span class="citation" data-cites="Frank">@Frank</span> Rühle has joined the channel</p> <p><strong>Jennifer Foltz</strong> (13:02:26): > <span class="citation" data-cites="Jennifer">@Jennifer</span> Foltz has joined the channel</p> </section> <section id="section-240" class="level2"> <h2>2023-08-20</h2> <p><strong>Federica Gazzelloni</strong> (10:38:27): > <span class="citation" data-cites="Federica">@Federica</span> Gazzelloni has joined the channel</p> </section> <section id="section-241" class="level2"> <h2>2023-09-15</h2> <p><strong>Leo Lahti</strong> (04:53:43): > <span class="citation" data-cites="Leo">@Leo</span> Lahti has joined the channel</p> </section> <section id="section-242" class="level2"> <h2>2023-09-20</h2> <p><strong>Jaykishan</strong> (05:29:30): > <span class="citation" data-cites="Jaykishan">@Jaykishan</span> has joined the channel</p> </section> <section id="section-243" class="level2"> <h2>2024-03-01</h2> <p><strong>Lambda Moses</strong> (03:11:39): > <span class="citation" data-cites="Lambda">@Lambda</span> Moses has joined the channel</p> <p><strong>Lambda Moses</strong> (03:13:56): > I’m trying to make a Galaxy instance on my lab’s server to do a workshop out of an RStudio docker container just like the Bioc conference workshop on<a href="https://workshop.bioconductor.org/">https://workshop.bioconductor.org/</a>. I’ve been searching and trying for a while and still have no idea how to get the workshop container into Galaxy. Please help! What’s the setting used for Bioc conference workshops to get those workshop docker containers in? Anyway, if anything, I’ll just make temporary accounts for the workshop attendees and tell them to ssh and run the workshop from singularity but that’s scarier to beginners compared to a nice website like<a href="https://workshop.bioconductor.org/">https://workshop.bioconductor.org/</a>. Thank you so much!</p> <p><strong>Lambda Moses</strong> (03:34:56): > Or is it possible to add my workshop to<a href="http://workshop.bioconductor.org/">workshop.bioconductor.org/</a>? I saw this repo which added my Bioc2023 workshop:<a href="https://github.com/Bioconductor/workshop-contributions">https://github.com/Bioconductor/workshop-contributions</a>. This is not for a conference. I’m doing a local day long workshop for spatial -omics Voyager followed by a hackathon through the Caltech Bioinformatics Resource Center, basically a longer version of my Bioc2023 workshop and using some new devel features. Most people are from either Caltech or Cedars Sinai but there are some from out of town. Am I allowed to host my workshop on<a href="http://workshop.bioconductor.org">workshop.bioconductor.org</a>? If so how long does it take to deploy? There will be around 30 people running the workshop.</p> <p><strong>Lambda Moses</strong> (03:35:19): > Yeah, super last minute. The workshop is next Monday.</p> <p><strong>Sean Davis</strong> (08:58:21) (in thread): > ping@Alex Mahmoud</p> <p><strong>Alex Mahmoud</strong> (10:21:41) (in thread): > Thanks for the ping Sean!<span class="citation" data-cites="Lambda">@Lambda</span> Mosesyes, but could you try to submit the request via the first app in the drop down on<a href="http://workshop.bioconductor.org">workshop.bioconductor.org</a>(BiocWorkshopSubmit)? It’s still somewhat experimental, so please do not hesitate to ask any questions or report any issues/concern. Re time, if you already have a BuildABiocWorkshop repo and a a built container, it should be very fast to add. If you only have vignettes, the building process might take a few hours, but barring any errors, should not be more than a day to get your workshop in the drop down</p> <p><strong>Alex Mahmoud</strong> (10:47:22) (in thread): > Nvm, I just noticed you already started an issue, i’ll take it from there</p> <p><strong>Vince Carey</strong> (13:04:33): > This sounds very exciting. When you have the content up I would be happy to put some time into testing it on our workshop platform. Keep me posted. I have to say that doing this on such short notice is not something we want to encourage, but we are willing to take this opportunity to see how the systems – both the prep and deployment parts – function under some stress. All parties need to be aware that there are no guarantees, and instructors need to have good contingency plans in case of system malfunction.</p> <p><strong>Jared Andrews</strong> (13:59:20) (in thread): > Is this system generally usable for people doing small local workshops for a day or two (that are happy to have them publicly available and usable by others)?</p> <p><strong>Lambda Moses</strong> (14:02:17) (in thread): > How long does it take for the workshop to update? Is it as soon as I push a new docker container</p> <p><strong>Alex Mahmoud</strong> (14:03:18) (in thread): > <span class="citation" data-cites="Jared">@Jared</span> AndrewsYes, that is the intention, but as it’s running on academic infrastructure, there are no guarantees of availability, so we do our best but encourage people to have backup plans as well. Ideally having a week or two before the event ensures we have time for appropriate testing and notifying the academic cloud provider to avoid downtimes during workshop times</p> <p><strong>Alex Mahmoud</strong> (14:04:21) (in thread): > <span class="citation" data-cites="Lambda">@Lambda</span> Mosessee DM from me. Your docker container in GHCR is not currently public, so I have to rebuild it on my end. If you make it public, then yes we can link to the live version and it will pull latest version on startup. If caching is desired, the version that is cached on the nodes will be the final version as that will stop updates from being pulled, but that might not be desirable/possible given the short notice</p> <p><strong>Jared Andrews</strong> (14:05:03) (in thread): > Thanks, this is a super useful platform.</p> <p><strong>Lambda Moses</strong> (15:02:02): > Thank you very much!</p> </section> <section id="section-244" class="level2"> <h2>2024-03-05</h2> <p><strong>Pratibha Panwar</strong> (01:33:09): > <span class="citation" data-cites="Pratibha">@Pratibha</span> Panwar has joined the channel</p> <p><strong>Vamika Mendiratta</strong> (02:08:36): > <span class="citation" data-cites="Vamika">@Vamika</span> Mendiratta has joined the channel</p> <p><strong>Blessing Ene Anyebe</strong> (14:22:54): > <span class="citation" data-cites="Blessing">@Blessing</span> Ene Anyebe has joined the channel</p> <p><strong>Benedicta Imelda</strong> (17:48:21): > <span class="citation" data-cites="Benedicta">@Benedicta</span> Imelda has joined the channel</p> </section> <section id="section-245" class="level2"> <h2>2024-03-06</h2> <p><strong>Vince Carey</strong> (05:30:51) (in thread): > how did this go?</p> <p><strong>Lambda Moses</strong> (12:58:54) (in thread): > It went well. Many people who RSVPed didn’t show up so we had a lot of food left which we gave away to people in the building where I had the event, but those who did show up ha a good time.</p> <p><strong>Lambda Moses</strong> (12:59:03) (in thread): > No technical difficulties related to the workshop website</p> </section> <section id="section-246" class="level2"> <h2>2024-03-08</h2> <p><strong>DataWithPrecision</strong> (00:13:49): > <span class="citation" data-cites="DataWithPrecision">@DataWithPrecision</span> has joined the channel</p> <p><strong>Ikeh Darlington Ikeh</strong> (01:58:23): > <span class="citation" data-cites="Ikeh">@Ikeh</span> Darlington Ikeh has joined the channel</p> </section> <section id="section-247" class="level2"> <h2>2024-03-09</h2> <p><strong>Josué Sandoval</strong> (16:09:15): > <span class="citation" data-cites="Josué">@Josué</span> Sandoval has joined the channel</p> <p><strong>Dorcas Oladele</strong> (20:24:33): > <span class="citation" data-cites="Dorcas">@Dorcas</span> Oladele has joined the channel</p> </section> <section id="section-248" class="level2"> <h2>2024-03-11</h2> <p><strong>Melysssa Minto</strong> (10:14:00): > <span class="citation" data-cites="Melysssa">@Melysssa</span> Minto has joined the channel</p> </section> <section id="section-249" class="level2"> <h2>2024-03-17</h2> <p><strong>Raihanat Adewuyi</strong> (20:42:44): > <span class="citation" data-cites="Raihanat">@Raihanat</span> Adewuyi has joined the channel</p> </section> <section id="section-250" class="level2"> <h2>2024-03-27</h2> <p><strong>abhich</strong> (05:46:06): > <span class="citation" data-cites="abhich">@abhich</span> has joined the channel</p> </section> <section id="section-251" class="level2"> <h2>2024-03-30</h2> <p><strong>Lambda Moses</strong> (00:44:26): > Question about disk space on the<a href="http://workshop.bioconductor.org">workshop.bioconductor.org</a>platform: I want to do a workshop at Bioc2024 involving Xenium data, which can take up a lot of disk space. I’m not using the large Zarr files from Xenium, but the images do take a lot of disk space. Each Xenium output bundle from the 10X website is at least several GB, and often over 10 GB. The size of the data can be drastically reduced by removing the Zarr files and only keeping lower resolution images for demonstration purposes. Is there a size limit to the workshop Docker container or how much data can be downloaded into the workshop instance? A related question: is there a size limit to the data uploaded to Bioconductor Data Lake for ExperimentHub packages?</p> <p><strong>Alex Mahmoud</strong> (12:29:49) (in thread): > <span class="citation" data-cites="Lori">@Lori</span> Shepherdprobably has the answer for the EHub question. Re workshop, we can scale up to a few hundred Gbs per workshop, assuming there are only a few dozen participants. We can also have a single copy of the input data and mount it read only for everyone, assumingitdoesn’tneed to be manipulated in place, that might be an easier way to scale it up and leave all the disk space for output</p> </section> <section id="section-252" class="level2"> <h2>2024-04-04</h2> <p><strong>Tung Trinh</strong> (23:38:42): > <span class="citation" data-cites="Tung">@Tung</span> Trinh has joined the channel</p> </section> <section id="section-253" class="level2"> <h2>2024-04-13</h2> <p><strong>Ankitha Ramaiyer</strong> (20:47:47): > <span class="citation" data-cites="Ankitha">@Ankitha</span> Ramaiyer has joined the channel</p> </section> <section id="section-254" class="level2"> <h2>2024-04-18</h2> <p><strong>Philipp Sergeev</strong> (03:02:18): > <span class="citation" data-cites="Philipp">@Philipp</span> Sergeev has joined the channel</p> <p><strong>Weston Elison</strong> (15:53:43): > <span class="citation" data-cites="Weston">@Weston</span> Elison has joined the channel</p> </section> <section id="section-255" class="level2"> <h2>2024-04-25</h2> <p><strong>Mercedes Guerrero</strong> (05:02:19): > <span class="citation" data-cites="Mercedes">@Mercedes</span> Guerrero has joined the channel</p> </section> <section id="section-256" class="level2"> <h2>2024-05-06</h2> <p><strong>Michal Kolář</strong> (11:56:28): > <span class="citation" data-cites="Michal">@Michal</span> Kolář has joined the channel</p> </section> <section id="section-257" class="level2"> <h2>2024-05-07</h2> <p><strong>Carlo Pecoraro</strong> (12:11:04): > <span class="citation" data-cites="Carlo">@Carlo</span> Pecoraro has joined the channel</p> </section> <section id="section-258" class="level2"> <h2>2024-06-03</h2> <p><strong>Sean Davis</strong> (08:54:20): > Just a reminder that conference and workshop presenters (or anyone at anytime) are welcome to submit workshops, posters, software, slides, data resources, etc. to the Zenodo Bioconductor community:<a href="https://zenodo.org/communities/bioconductor">https://zenodo.org/communities/bioconductor</a>.</p> <p><strong>Jenny Drnevich</strong> (09:26:14) (in thread): > Thanks for pointing this out! Although I did a double take on the publishing date on this one - It’s Monday morning (for me) and I thought I had somehow missed the last two weeks?!:grin: - File (PNG): <a href="https://community-bioc.slack.com/files/U34P8RS3B/F076A2720GJ/image.png">image.png</a></p> <p><strong>Tram Nguyen</strong> (14:52:56): > <span class="citation" data-cites="Tram">@Tram</span> Nguyen has joined the channel</p> </section> <section id="section-259" class="level2"> <h2>2024-06-11</h2> <p><strong>Ziru Chen</strong> (04:36:35): > <span class="citation" data-cites="Ziru">@Ziru</span> Chen has joined the channel</p> </section> <section id="section-260" class="level2"> <h2>2024-06-30</h2> <p><strong>Nicolas Peterson</strong> (13:09:14): > <span class="citation" data-cites="Nicolas">@Nicolas</span> Peterson has joined the channel</p> </section> <section id="section-261" class="level2"> <h2>2024-07-02</h2> <p><strong>Diána Pejtsik</strong> (10:58:58): > <span class="citation" data-cites="Diána">@Diána</span> Pejtsik has joined the channel</p> </section> <section id="section-262" class="level2"> <h2>2024-07-03</h2> <p><strong>Bishoy Wadie</strong> (07:37:32): > <span class="citation" data-cites="Bishoy">@Bishoy</span> Wadie has joined the channel</p> </section> <section id="section-263" class="level2"> <h2>2024-07-05</h2> <p><strong>Stevie Pederson</strong> (09:23:23): > <span class="citation" data-cites="Stevie">@Stevie</span> Pederson has joined the channel</p> <p><strong>Margherita</strong> (12:29:04): > <span class="citation" data-cites="Margherita">@Margherita</span> has joined the channel</p> </section> <section id="section-264" class="level2"> <h2>2024-07-11</h2> <p><strong>Sathish Kumar</strong> (06:07:16): > <span class="citation" data-cites="Sathish">@Sathish</span> Kumar has joined the channel</p> <p><strong>Hothri Moka</strong> (07:20:16): > <span class="citation" data-cites="Hothri">@Hothri</span> Moka has joined the channel</p> </section> <section id="section-265" class="level2"> <h2>2024-07-15</h2> <p><strong>Erick Navarro</strong> (16:19:51): > <span class="citation" data-cites="Erick">@Erick</span> Navarro has joined the channel</p> </section> <section id="section-266" class="level2"> <h2>2024-07-29</h2> <p><strong>Hiba Ben Aribi</strong> (15:19:40): > <span class="citation" data-cites="Hiba">@Hiba</span> Ben Aribi has joined the channel</p> </section> <section id="section-267" class="level2"> <h2>2024-07-31</h2> <p><strong>Zahraa W Alsafwani</strong> (17:21:29): > <span class="citation" data-cites="Zahraa">@Zahraa</span> W Alsafwani has joined the channel</p> </section> <section id="section-268" class="level2"> <h2>2024-08-19</h2> <p><strong>Rema Gesaka</strong> (09:38:56): > <span class="citation" data-cites="Rema">@Rema</span> Gesaka has joined the channel</p> </section> <section id="section-269" class="level2"> <h2>2024-09-10</h2> <p><strong>Alex Qin</strong> (03:46:52): > <span class="citation" data-cites="Alex">@Alex</span> Qin has joined the channel</p> </section> <section id="section-270" class="level2"> <h2>2024-09-13</h2> <p><strong>Gobi Dasu</strong> (18:16:50): > <span class="citation" data-cites="Gobi">@Gobi</span> Dasu has joined the channel</p> </section> <section id="section-271" class="level2"> <h2>2024-09-20</h2> <p><strong>Camille Guillermin</strong> (09:30:41): > <span class="citation" data-cites="Camille">@Camille</span> Guillermin has joined the channel</p> </section> <section id="section-272" class="level2"> <h2>2024-09-24</h2> <p><strong>Jasmine Baker</strong> (22:01:58): > <span class="citation" data-cites="Jasmine">@Jasmine</span> Baker has joined the channel</p> </section> <section id="section-273" class="level2"> <h2>2024-10-01</h2> <p><strong>Caroline Schreiber</strong> (04:09:49): > <span class="citation" data-cites="Caroline">@Caroline</span> Schreiber has joined the channel</p> </section> <section id="section-274" class="level2"> <h2>2024-10-18</h2> <p><strong>Oluwaseyi Ashaka</strong> (16:54:13): > <span class="citation" data-cites="Oluwaseyi">@Oluwaseyi</span> Ashaka has joined the channel</p> </section> <section id="section-275" class="level2"> <h2>2024-10-23</h2> <p><strong>Hong Qin</strong> (17:46:50): > <span class="citation" data-cites="Hong">@Hong</span> Qin has joined the channel</p> </section> <section id="section-276" class="level2"> <h2>2024-10-30</h2> <p><strong>Shila Ghazanfar</strong> (20:32:11): > <span class="citation" data-cites="Shila">@Shila</span> Ghazanfar has joined the channel</p> </section> <section id="section-277" class="level2"> <h2>2024-11-21</h2> <p><strong>Tehniyat zahra</strong> (05:11:08): > <span class="citation" data-cites="Tehniyat">@Tehniyat</span> zahra has joined the channel</p> <p><strong>Tehniyat zahra</strong> (05:11:09): > <span class="citation" data-cites="Tehniyat">@Tehniyat</span> zahra has left the channel</p> <p><strong>Tehniyat zahra</strong> (05:11:11): > <span class="citation" data-cites="Tehniyat">@Tehniyat</span> zahra has joined the channel</p> <p><strong>Tehniyat zahra</strong> (05:11:12): > <span class="citation" data-cites="Tehniyat">@Tehniyat</span> zahra has left the channel</p> <p><strong>Tehniyat zahra</strong> (05:11:12): > <span class="citation" data-cites="Tehniyat">@Tehniyat</span> zahra has joined the channel</p> </section> <section id="section-278" class="level2"> <h2>2024-12-28</h2> <p><strong>Atoni Evans</strong> (07:27:47): > <span class="citation" data-cites="Atoni">@Atoni</span> Evans has joined the channel</p> <p><strong>Pascal-Onaho</strong> (07:55:19): > <span class="citation" data-cites="Pascal-Onaho">@Pascal-Onaho</span> has joined the channel</p> </section> <section id="section-279" class="level2"> <h2>2025-01-02</h2> <p><strong>Najuma Najeem</strong> (11:01:25): > <span class="citation" data-cites="Najuma">@Najuma</span> Najeem has joined the channel</p> </section> <section id="section-280" class="level2"> <h2>2025-01-09</h2> <p><strong>Ammar Sabir Cheema</strong> (11:30:24): > <span class="citation" data-cites="Ammar">@Ammar</span> Sabir Cheema has joined the channel</p> </section> <section id="section-281" class="level2"> <h2>2025-02-03</h2> <p><strong>Chris Thomas</strong> (17:25:41): > <span class="citation" data-cites="Chris">@Chris</span> Thomas has joined the channel</p> </section> <section id="section-282" class="level2"> <h2>2025-02-13</h2> <p><strong>JP Flores</strong> (13:54:39): > <span class="citation" data-cites="JP">@JP</span> Flores has joined the channel</p> </section> <section id="section-283" class="level2"> <h2>2025-03-05</h2> <p><strong>Karima Diafi</strong> (06:46:10): > <span class="citation" data-cites="Karima">@Karima</span> Diafi has joined the channel</p> </section> <section id="section-284" class="level2"> <h2>2025-04-14</h2> <p><strong>Saad Farooq</strong> (07:09:53): > <span class="citation" data-cites="Saad">@Saad</span> Farooq has joined the channel</p> <div id="quarto-navigation-envelope" class="hidden"> <p><span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1zaWRlYmFyLXRpdGxl">Bioconductor Slack Export</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXItdGl0bGU=">Bioconductor Slack Export</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6SG9tZQ==">Home</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2luZGV4Lmh0bWw=">/index.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6R2VuZXJhbA==">General</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2dlbmVyYWwuaHRtbA==">/general.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6UmFuZG9t">Random</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L3JhbmRvbS5odG1s">/random.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6SW50cm9kdWN0aW9ucw==">Introductions</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2ludHJvZHVjdGlvbnMuaHRtbA==">/introductions.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6Sm9icw==">Jobs</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2pvYnMuaHRtbA==">/jobs.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6UGFwZXJzICYgUHJlcHJpbnRz">Papers & Preprints</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L3BhcGVyc2FuZHByZXByaW50cy5odG1s">/papersandpreprints.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6V2VsY29tZSBNYXRlcmlhbA==">Welcome Material</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L0ZDRjA1VVJKMFAwMjFXZWxjb21lX21hdGVyaWFsLmh0bWw=">/FCF05URJ0P021Welcome_material.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6RGV2ZWxvcG1lbnQ=">Development</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6RGV2ZWxvcGVycyBGb3J1bQ==">Developers Forum</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2RldmVsb3BlcnMtZm9ydW0uaHRtbA==">/developers-forum.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6QmlvYyBHaXQ=">Bioc Git</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2Jpb2NfZ2l0Lmh0bWw=">/bioc_git.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6QmlvYyBCdWlsZHM=">Bioc Builds</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2Jpb2MtYnVpbGRzLmh0bWw=">/bioc-builds.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6UGFja2FnZSBTdWJtaXNzaW9ucw==">Package Submissions</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L3BhY2thZ2Vfc3VibWlzc2lvbnMuaHRtbA==">/package_submissions.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6UjcgT2JqZWN0IFN5c3RlbQ==">R7 Object System</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L3I3Lmh0bWw=">/r7.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6R2l0SHViIEFjdGlvbnM=">GitHub Actions</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2dpdGh1Yi1hY3Rpb25zLmh0bWw=">/github-actions.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6V0FTTQ==">WASM</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L3dhc20uaHRtbA==">/wasm.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6Q1BQ">CPP</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2NwcC5odG1s">/cpp.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6R1BVcw==">GPUs</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2dwdXMuaHRtbA==">/gpus.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6Q2xvdWQgV0c=">Cloud WG</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2Nsb3VkLXdvcmtpbmctZ3JvdXAuaHRtbA==">/cloud-working-group.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6Q2xvdWQgR2l0SHViIEFjdGlvbnMgU3ViZ3JvdXA=">Cloud GitHub Actions Subgroup</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2Nsb3VkLWdpdGh1Yi1hY3Rpb25zLXN1Ymdyb3VwLmh0bWw=">/cloud-github-actions-subgroup.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6Q29udGFpbmVycw==">Containers</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2NvbnRhaW5lcnMuaHRtbA==">/containers.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6U2luZ3VsYXJpdHk=">Singularity</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L3Npbmd1bGFyaXR5Lmh0bWw=">/singularity.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6QVJNIExpbnV4">ARM Linux</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2FybS1saW51eC5odG1s">/arm-linux.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6QmlvY0NoZWNrLWEtdGhvbg==">BiocCheck-a-thon</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2Jpb2NjaGVjay1hLXRob24uaHRtbA==">/bioccheck-a-thon.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6QmlvY1ZlcnNl">BiocVerse</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2Jpb2N2ZXJzZS5odG1s">/biocverse.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6QmlvYzJ1">Bioc2u</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2Jpb2MydS5odG1s">/bioc2u.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6R2l0RGV2VGVzdA==">GitDevTest</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2dpdGRldnRlc3QuaHRtbA==">/gitdevtest.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6TmV3IFBhY2thZ2VzIChBcmNoaXZlZD8p">New Packages (Archived?)</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L25ld19wYWNrYWdlcy5odG1s">/new_packages.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6TnVsbCBSYW5nZXM=">Null Ranges</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L251bGxyYW5nZXMuaHRtbA==">/nullranges.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6T01BIERldmVsb3BlcnM=">OMA Developers</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L29tYS1kZXZlbG9wZXJzLmh0bWw=">/oma-developers.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6T3RoZXIgRGlzdHJvcw==">Other Distros</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L290aGVyLWRpc3Ryb3MuaHRtbA==">/other-distros.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6UGFja2FnZSBTdWJtaXNzaW9uIChPbGQ/KQ==">Package Submission (Old?)</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L3BhY2thZ2Utc3VibWlzc2lvbi5odG1s">/package-submission.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6UGFsbSBUcmVl">Palm Tree</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L3BhbG10cmVlLmh0bWw=">/palmtree.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6UkNXTA==">RCWL</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L3Jjd2wuaHRtbA==">/rcwl.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6UkhERjUgQ2xpZW50">RHDF5 Client</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L3JoZGY1Y2xpZW50Lmh0bWw=">/rhdf5client.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6Um93RGF0YUZpeA==">RowDataFix</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L3Jvd2RhdGFmaXguaHRtbA==">/rowdatafix.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6Q29uZmVyZW5jZXMgJiBFdmVudHM=">Conferences & Events</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6QmlvQyBXb3Jrc2hvcHM=">BioC Workshops</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2Jpb2N3b3Jrc2hvcHMuaHRtbA==">/biocworkshops.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6QmlvQyAyMDE4">BioC 2018</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2Jpb2MyMDE4Lmh0bWw=">/bioc2018.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6QmlvQyAyMDE4IFdvcmtzaG9wcw==">BioC 2018 Workshops</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2Jpb2MyMDE4LXdvcmtzaG9wcy5odG1s">/bioc2018-workshops.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6QmlvQyAyMDE5">BioC 2019</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2Jpb2MyMDE5Lmh0bWw=">/bioc2019.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6QmlvQyAyMDIw">BioC 2020</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2Jpb2MyMDIwLmh0bWw=">/bioc2020.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6QmlvQyAyMDIwIEFubm90YXRpb24gV2tzaA==">BioC 2020 Annotation Wksh</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2Jpb2MyMDIwLWJpb2NvbmR1Y3Rvci0xMDBfaW50cm9kdWN0aW9uLXRvLWJpb2NvbmR1Y3Rvci1hbm5vdGF0aW9uLXJlc291cmNlcy5odG1s">/bioc2020-bioconductor-100_introduction-to-bioconductor-annotation-resources.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6QmlvQyAyMDIwIEJvRiAxMHNy">BioC 2020 BoF 10sr</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2Jpb2MyMDIwLWJvZi0xMHNyLmh0bWw=">/bioc2020-bof-10sr.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6QmlvQyAyMDIwIFdvcmtzaG9wcw==">BioC 2020 Workshops</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2Jpb2MyMDIwLXdvcmtzaG9wcy5odG1s">/bioc2020-workshops.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6QmlvQyAyMDIx">BioC 2021</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2Jpb2MyMDIxLmh0bWw=">/bioc2021.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6QmlvQyAyMDIxIE1pY3JvYmlvbWUgV2tzaA==">BioC 2021 Microbiome Wksh</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L21pY3JvYmlvbWVfZXhwZXJpbWVudF9iaW9jMjAyMS5odG1s">/microbiome_experiment_bioc2021.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6QmlvQyAyMDIy">BioC 2022</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2Jpb2MyMDIyLmh0bWw=">/bioc2022.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6QmlvQyAyMDI0">BioC 2024</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2Jpb2MyMDI0Lmh0bWw=">/bioc2024.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6QmlvQyBDb25mIEV2ZXJ5b25l">BioC Conf Everyone</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2Jpb2MtY29uZmVyZW5jZS1ldmVyeW9uZS5odG1s">/bioc-conference-everyone.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6QmlvQyBDb25mIE5vbi1Db21wZXRpbmc=">BioC Conf Non-Competing</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2Jpb2MtY29uZmVyZW5jZS1ub25jb21wZXRpbmcuaHRtbA==">/bioc-conference-noncompeting.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6QmlvQyBDb25mIFNwb25zb3JzaGlw">BioC Conf Sponsorship</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2Jpb2MtY29uZmVyZW5jZS1zcG9uc29yc2hpcC5odG1s">/bioc-conference-sponsorship.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6QmlvQyBDb25mIFdlYg==">BioC Conf Web</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2Jpb2MtY29uZmVyZW5jZS13ZWIuaHRtbA==">/bioc-conference-web.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6QmlvQ0FzaWE=">BioCAsia</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2Jpb2Nhc2lhLmh0bWw=">/biocasia.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6QmlvQ0FzaWEgMjAyMA==">BioCAsia 2020</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2Jpb2Nhc2lhMjAyMC5odG1s">/biocasia2020.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6QmlvQ0FzaWEgMjAyMQ==">BioCAsia 2021</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2Jpb2Nhc2lhMjAyMS5odG1s">/biocasia2021.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6QmlvQ0FzaWEgMjAyMg==">BioCAsia 2022</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2Jpb2Nhc2lhMjAyMi5odG1s">/biocasia2022.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6QmlvQ0FzaWEgMjAyMw==">BioCAsia 2023</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2Jpb2Nhc2lhMjAyMy5odG1s">/biocasia2023.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6Q2FsZW5kYXIgRXZlbnRz">Calendar Events</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2NhbGVuZGFyLWV2ZW50cy5odG1s">/calendar-events.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6Q1NBTUEgMjAyMw==">CSAMA 2023</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2NzYW1hMjAyMy5odG1s">/csama2023.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6RXVyb0Jpb0MgMjAxOQ==">EuroBioC 2019</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2V1cm9iaW9jMjAxOS5odG1s">/eurobioc2019.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6RXVyb0Jpb0MgMjAyMA==">EuroBioC 2020</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2V1cm9iaW9jMjAyMC5odG1s">/eurobioc2020.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6RXVyb0Jpb0MgMjAyMCBDaGFpcnM=">EuroBioC 2020 Chairs</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2V1cm9iaW9jMjAyMC1jaGFpcnMuaHRtbA==">/eurobioc2020-chairs.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6RXVyb0Jpb0MgMjAyMCBpU0VFIFRyYW5zY3JpcHRz">EuroBioC 2020 iSEE Transcripts</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2V1cm9iaW9jMjAyMC1pc2VlLXRyYW5zY3JpcHRzLmh0bWw=">/eurobioc2020-isee-transcripts.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6RXVyb0Jpb0MgRXZlcnlvbmU=">EuroBioC Everyone</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2V1cm9iaW9jLWNvbmZlcmVuY2UtZXZlcnlvbmUuaHRtbA==">/eurobioc-conference-everyone.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6RXZlbnRz">Events</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2V2ZW50cy5odG1s">/events.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6SGFja3RvYmVyZmVzdA==">Hacktoberfest</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2hhY2t0b2JlcmZlc3QuaHRtbA==">/hacktoberfest.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6SUJUMjAyNSBLdXNoQ2VudHJlR3JvdXAx">IBT2025 KushCentreGroup1</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2lidDIwMjUta3VzaGNlbnRyZWdyb3VwMS5odG1s">/ibt2025-kushcentregroup1.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6SVNNQiBPU0NB">ISMB OSCA</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2lzbWItb3NjYS5odG1s">/ismb-osca.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6TWVldHVwcw==">Meetups</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L21lZXR1cHMuaHRtbA==">/meetups.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6Q29tbXVuaXR5ICYgT3V0cmVhY2g=">Community & Outreach</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6QWNjZXNzaWJsZSBWaXM=">Accessible Vis</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2FjY2Vzc2libGUtdmlzLmh0bWw=">/accessible-vis.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6QmVnaW5uZXJzICYgU2Nob29scw==">Beginners & Schools</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2JlZ2lubmVyc19hbmRfc2Nob29scy5odG1s">/beginners_and_schools.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6QmlvYyBBZnJpY2E=">Bioc Africa</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2Jpb2NfYWZyaWNhLmh0bWw=">/bioc_africa.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6Q2FycGVudHJpZXM=">Carpentries</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2NhcnBlbnRyaWVzLmh0bWw=">/carpentries.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6Q29tbXVuaXR5IEFkdmlzb3J5IEJvYXJk">Community Advisory Board</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2NvbW11bml0eS1hZHZpc29yeS1ib2FyZC5odG1s">/community-advisory-board.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6RGV2ZWxvcGVycyBNZW50b3JzaGlw">Developers Mentorship</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2RldmVsb3BlcnMtbWVudG9yc2hpcC5odG1s">/developers-mentorship.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6RGl2ZXJzZUJpb2M=">DiverseBioc</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2RpdmVyc2ViaW9jLmh0bWw=">/diversebioc.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6RWR1Y2F0aW9uICYgVHJhaW5pbmc=">Education & Training</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2VkdWNhdGlvbi1hbmQtdHJhaW5pbmcuaHRtbA==">/education-and-training.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6SHVtYmxlIEJyYWc=">Humble Brag</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2h1bWJsZS1icmFnLmh0bWw=">/humble-brag.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6TWVudG9yc2hpcCBQcm9ncmFtIE1pY3Jvc3Rhc2lz">Mentorship Program Microstasis</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L21lbnRvcnNoaXBfcHJvZ3JhbV9taWNyb3N0YXNpcy5odG1s">/mentorship_program_microstasis.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6T3V0cmVhY2h5">Outreachy</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L291dHJlYWNoeS5odG1s">/outreachy.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6UXVlZXIgQmlvYw==">Queer Bioc</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L3F1ZWVyLWJpb2MuaHRtbA==">/queer-bioc.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6Ui1MYWRpZXM=">R-Ladies</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L3ItbGFkaWVzLmh0bWw=">/r-ladies.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6U29jaWFsIE1lZGlh">Social Media</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L3NvY2lhbC1tZWRpYS5odG1s">/social-media.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6U3VwcG9ydCBTaXRl">Support Site</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L3N1cHBvcnQtc2l0ZS5odG1s">/support-site.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6VGVjaG5pY2FsIEFkdmlzb3J5IEJvYXJk">Technical Advisory Board</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L3RlY2gtYWR2aXNvcnktYm9hcmQuaHRtbA==">/tech-advisory-board.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6UHJvamVjdHMgJiBUb3BpY3M=">Projects & Topics</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6QWxwaGEgTWlzc2Vuc2U=">Alpha Missense</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2FscGhhLW1pc3NlbnNlLmh0bWw=">/alpha-missense.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6QW5ub3RhdGlvbiBSb2FkbWFw">Annotation Roadmap</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2Fubm90YXRpb24tcm9hZG1hcC5odG1s">/annotation-roadmap.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6QW52aWw=">Anvil</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2FudmlsLmh0bWw=">/anvil.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6QXJ0aWZhY3REQg==">ArtifactDB</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2FydGlmYWN0ZGIuaHRtbA==">/artifactdb.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6QmlnIERhdGEgUmVw">Big Data Rep</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2JpZ2RhdGEtcmVwLmh0bWw=">/bigdata-rep.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6QmlvQyBCb29rcw==">BioC Books</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2Jpb2Nib29rcy5odG1s">/biocbooks.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6QmlvQyBDaGFsbGVuZ2Vz">BioC Challenges</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2Jpb2NjaGFsbGVuZ2VzLmh0bWw=">/biocchallenges.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6QmlvQyBDbGFzc2Vz">BioC Classes</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2Jpb2NjbGFzc2VzLmh0bWw=">/biocclasses.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6QmlvQyBDb25uZWN0">BioC Connect</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2Jpb2MtY29ubmVjdC5odG1s">/bioc-connect.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6QmlvQyBIdWJz">BioC Hubs</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2Jpb2NodWJzLmh0bWw=">/biochubs.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6QmlvQyBQeXRob24=">BioC Python</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2Jpb2NweXRob24uaHRtbA==">/biocpython.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6QmlvQyBXZWJzaXRl">BioC Website</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2Jpb2N3ZWJzaXRlLmh0bWw=">/biocwebsite.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6QnVnU2lnREI=">BugSigDB</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2J1Z3NpZ2RiLmh0bWw=">/bugsigdb.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6Q2FuY2VyIERhdGE=">Cancer Data</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2NhbmNlcmRhdGEuaHRtbA==">/cancerdata.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6Q2FuY2VyIFJlbGF0ZWQ=">Cancer Related</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2NhbmNlci1yZWxhdGVkLmh0bWw=">/cancer-related.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6Y0Jpb1BvcnRhbCBEYXRhIFI=">cBioPortal Data R</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2NiaW9wb3J0YWwtZGF0YS1yLmh0bWw=">/cbioportal-data-r.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6Q2hhbm5lbCBSZXF1ZXN0cw==">Channel Requests</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2NoYW5uZWwtcmVxdWVzdHMuaHRtbA==">/channel-requests.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6Q2xpbmljYWw=">Clinical</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2NsaW5pY2FsLmh0bWw=">/clinical.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6Q29vbCBWaXM=">Cool Vis</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2Nvb2wtdmlzLmh0bWw=">/cool-vis.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6Q3l0byBTcGVjIEJvb2s=">Cyto Spec Book</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2N5dG8tc3BlYy1ib29rLmh0bWw=">/cyto-spec-book.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6RGF0YWJhc2U=">Database</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2RhdGFiYXNlLmh0bWw=">/database.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6RGVsYXllZCBBcnJheQ==">Delayed Array</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2RlbGF5ZWRfYXJyYXkuaHRtbA==">/delayed_array.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6RG9jIFRyYW5zbGF0aW9u">Doc Translation</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2RvY3VtZW50YXRpb24tdHJhbnNsYXRpb24uaHRtbA==">/documentation-translation.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6RWFzeUxpZnQ=">EasyLift</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2Vhc3lsaWZ0Lmh0bWw=">/easylift.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6RWFzeVBsb3Q=">EasyPlot</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2Vhc3lwbG90Lmh0bWw=">/easyplot.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6RURBTSBDb2xsYWJvcmF0aW9u">EDAM Collaboration</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2VkYW0tY29sbGFib3JhdGlvbi5odG1s">/edam-collaboration.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6RWxpeGly">Elixir</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2VsaXhpci5odG1s">/elixir.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6RnVuZGluZw==">Funding</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2Z1bmRpbmcuaHRtbA==">/funding.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6R2VuQUkgQmlvYw==">GenAI Bioc</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2dlbmFpLWJpb2MuaHRtbA==">/genai-bioc.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6R1NFQUJhc2U=">GSEABase</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2dzZWFiYXNlLmh0bWw=">/gseabase.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6R1dBUyBEYXRh">GWAS Data</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2d3YXMtZGF0YS5odG1s">/gwas-data.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6SGFzaCBNdWx0aSBTcGVjaWVz">Hash Multi Species</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2hhc2gtbXVsdGktc3BlY2llcy5odG1s">/hash-multi-species.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6SENBIENsdXN0ZXJpbmc=">HCA Clustering</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2hjYV9jbHVzdGVyaW5nLmh0bWw=">/hca_clustering.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6SENBIERhdGEgSW5zaWdodHM=">HCA Data Insights</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2hjYS1kYXRhLWluc2lnaHRzLmh0bWw=">/hca-data-insights.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6SENBIFJGQQ==">HCA RFA</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2hjYV9yZmEuaHRtbA==">/hca_rfa.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6SGlzdG9wYXRob2xvZ3kgSW1hZ2UgQW5hbHlzaXM=">Histopathology Image Analysis</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2hpc3RvcGF0aG9sb2d5LWltYWdlLWFuYWx5c2lzLmh0bWw=">/histopathology-image-analysis.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6SHVCTUFQcg==">HuBMAPr</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2h1Ym1hcHIuaHRtbA==">/hubmapr.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6SW1hZ2UgQW5hbHlzaXM=">Image Analysis</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2ltYWdlLWFuYWx5c2lzLmh0bWw=">/image-analysis.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6SW5kdXN0cnk=">Industry</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2luZHVzdHJ5Lmh0bWw=">/industry.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6aVNFRQ==">iSEE</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2lzZWUuaHRtbA==">/isee.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6TExNcyBmb3IgQmlvYw==">LLMs for Bioc</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2xsbXMtZm9yLWJpb2MuaHRtbA==">/llms-for-bioc.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6TG9uZyBSZWFkIFN0dWR5IEdyb3Vw">Long Read Study Group</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2xvbmctcmVhZC1zdHVkeS1ncm91cC5odG1s">/long-read-study-group.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6TG9uZ3JlYWQ=">Longread</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L2xvbmdyZWFkLmh0bWw=">/longread.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6TWFjaGluZSBMZWFybmluZw==">Machine Learning</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L21hY2hpbmUtbGVhcm5pbmcuaHRtbA==">/machine-learning.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6TUFFIERpc2N1c3Npb24=">MAE Discussion</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L21hZS1kaXNjdXNzaW9uLmh0bWw=">/mae-discussion.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6TUFFIFVwZGF0ZXM=">MAE Updates</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L21hZS11cGRhdGVzLmh0bWw=">/mae-updates.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6TWFzcyBTcGVjdHJvbWV0cnk=">Mass Spectrometry</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L21hc3Mtc3BlY3Ryb21ldHJ5Lmh0bWw=">/mass-spectrometry.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6TWV0YWJvbG9taWNz">Metabolomics</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L21ldGFib2xvbWljcy5odG1s">/metabolomics.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6TWlhVmVyc2U=">MiaVerse</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L21pYXZlcnNlLmh0bWw=">/miaverse.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6TWlhVmVyc2UgQWRtaW5z">MiaVerse Admins</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L21pYXZlcnNlLWFkbWlucy5odG1s">/miaverse-admins.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6TWljcm9iaW9tZS9NZXRhZ2Vub21l">Microbiome/Metagenome</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L21pY3JvYmlvbWVfbWV0YWdlbm9tZS5odG1s">/microbiome_metagenome.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6TWljcm9zb2Z0IEF6dXJlIENvbGxhYm9yYXRpb24=">Microsoft Azure Collaboration</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L21pY3Jvc29mdC1henVyZS1jb2xsYWJvcmF0aW9uLmh0bWw=">/microsoft-azure-collaboration.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6TW9sRXZvbHZS">MolEvolvR</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L21vbGV2b2x2ci5odG1s">/molevolvr.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6TXVsdGlvbWljcw==">Multiomics</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L211bHRpb21pY3MuaHRtbA==">/multiomics.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6T21pY0lkeA==">OmicIdx</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L29taWNpZHguaHRtbA==">/omicidx.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6T1NDQSBCb29r">OSCA Book</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L29zY2EtYm9vay5odG1s">/osca-book.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6T1NDQSBCb29rIENsdWI=">OSCA Book Club</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L29zY2EtYm9vay1jbHViLmh0bWw=">/osca-book-club.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6UGFuZ2Vub21l">Pangenome</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L3Bhbmdlbm9tZS5odG1s">/pangenome.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6UGhhcm1hY29nZW5vbWljcw==">Pharmacogenomics</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L3BoYXJtYWNvZ2Vub21pY3MuaHRtbA==">/pharmacogenomics.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6UHJvdGVvbWljcw==">Proteomics</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L3Byb3Rlb21pY3MuaHRtbA==">/proteomics.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6UmFnZ2VkIEV4cGVyaW1lbnQ=">Ragged Experiment</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L3JhZ2dlZGV4cGVyaW1lbnQuaHRtbA==">/raggedexperiment.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6UmVwcm9kdWNpYmlsaXR5">Reproducibility</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L3JlcHJvZHVjaWJpbGl0eS5odG1s">/reproducibility.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6U2FsbW9uMkJpb2M=">Salmon2Bioc</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L3NhbG1vbjJiaW9jLmh0bWw=">/salmon2bioc.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6U2NhbGFiaWxpdHk=">Scalability</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L3NjYWxhYmlsaXR5Lmh0bWw=">/scalability.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6U0MgQmF0Y2ggQ29ycmVjdGlvbg==">SC Batch Correction</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L3NjLWJhdGNoLWNvcnJlY3Rpb24uaHRtbA==">/sc-batch-correction.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6U0MgUmVwZXJ0b2lyZXM=">SC Repertoires</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L3NjLXJlcGVydG9pcmVzLmh0bWw=">/sc-repertoires.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6U0MgU2lnbmF0dXJl">SC Signature</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L3NjLXNpZ25hdHVyZS5odG1s">/sc-signature.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6U0MgVmVsb2NpdHk=">SC Velocity</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L3NjLXZlbG9jaXR5Lmh0bWw=">/sc-velocity.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6U2hpbnk=">Shiny</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L3NoaW55Lmh0bWw=">/shiny.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6U2luZ2xlIENlbGwgRXhwZXJpbWVudA==">Single Cell Experiment</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L3NpbmdsZWNlbGxleHBlcmltZW50Lmh0bWw=">/singlecellexperiment.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6U2luZ2xlIENlbGwgUXVlcmllcw==">Single Cell Queries</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L3NpbmdsZWNlbGwtcXVlcmllcy5odG1s">/singlecell-queries.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6U3BhdGlhbA==">Spatial</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L3NwYXRpYWwuaHRtbA==">/spatial.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6U3BhdGlhbCBEYXRhIERldmVs">Spatial Data Devel</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L3NwYXRpYWxkYXRhLWRldmVsLmh0bWw=">/spatialdata-devel.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6U3BhdGlhbCBFeHBlcmltZW50">Spatial Experiment</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L3NwYXRpYWxleHBlcmltZW50Lmh0bWw=">/spatialexperiment.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6U3BhdGlhbCBFeHBlcmltZW50IERldmVs">Spatial Experiment Devel</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L3NwYXRpYWxleHBlcmltZW50LWRldmVsLmh0bWw=">/spatialexperiment-devel.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6U3BhdGlhbCBJbnRlcm9wZXJhYmlsaXR5">Spatial Interoperability</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L3NwYXRpYWwtaW50ZXJvcGVyYWJpbGl0eS5odG1s">/spatial-interoperability.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6U3dlYXZlMlJtZA==">Sweave2Rmd</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L3N3ZWF2ZTJybWQuaHRtbA==">/sweave2rmd.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6VGVycmE=">Terra</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L3RlcnJhLmh0bWw=">/terra.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6VGVTUyBJbnRlZ3JhdGlvbg==">TeSS Integration</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L3Rlc3MtaW50ZWdyYXRpb24uaHRtbA==">/tess-integration.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6VGlkaW5lc3MgaW4gQmlvYw==">Tidiness in Bioc</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L3RpZGluZXNzX2luX2Jpb2MuaHRtbA==">/tidiness_in_bioc.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6VHJhbnNsYXRpb24gRlI=">Translation FR</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L3RyYW5zbGF0aW9uLWZyLmh0bWw=">/translation-fr.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6VHJlZS1saWtlIFNF">Tree-like SE</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L3RyZWUtbGlrZS1zZS5odG1s">/tree-like-se.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6Vm95YWdlcg==">Voyager</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L3ZveWFnZXIuaHRtbA==">/voyager.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6V29ya2Zsb3dz">Workflows</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L3dvcmtmbG93cy5odG1s">/workflows.html</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6WmFycg==">Zarr</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLWludC1uYXZiYXI6L3phcnIuaHRtbA==">/zarr.html</span></p> </div> <div id="quarto-meta-markdown" class="hidden"> <p><span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLW1ldGF0aXRsZQ==">#biocworkshops – Bioconductor Slack Export</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLXR3aXR0ZXJjYXJkdGl0bGU=">#biocworkshops – Bioconductor Slack Export</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLW9nY2FyZHRpdGxl">#biocworkshops – Bioconductor Slack Export</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLW1ldGFzaXRlbmFtZQ==">Bioconductor Slack Export</span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLXR3aXR0ZXJjYXJkZGVzYw=="></span> <span class="hidden quarto-markdown-envelope-contents" data-render-id="cXVhcnRvLW9nY2FyZGRkZXNj"></span></p> </div> </section> </main> <!-- /main --> <script id = "quarto-html-after-body" type="application/javascript"> window.document.addEventListener("DOMContentLoaded", function (event) { const icon = ""; const anchorJS = new window.AnchorJS(); anchorJS.options = { placement: 'right', icon: icon }; anchorJS.add('.anchored'); const isCodeAnnotation = (el) => { for (const clz of el.classList) { if (clz.startsWith('code-annotation-')) { return true; } } return false; } const onCopySuccess = function(e) { // button target const button = e.trigger; // don't keep focus button.blur(); // flash "checked" button.classList.add('code-copy-button-checked'); var currentTitle = button.getAttribute("title"); button.setAttribute("title", "Copied!"); let tooltip; if (window.bootstrap) { button.setAttribute("data-bs-toggle", "tooltip"); button.setAttribute("data-bs-placement", "left"); button.setAttribute("data-bs-title", "Copied!"); tooltip = new bootstrap.Tooltip(button, { trigger: "manual", customClass: "code-copy-button-tooltip", offset: [0, -8]}); tooltip.show(); } setTimeout(function() { if (tooltip) { tooltip.hide(); button.removeAttribute("data-bs-title"); button.removeAttribute("data-bs-toggle"); button.removeAttribute("data-bs-placement"); } button.setAttribute("title", currentTitle); button.classList.remove('code-copy-button-checked'); }, 1000); // clear code selection e.clearSelection(); } const getTextToCopy = function(trigger) { const codeEl = trigger.previousElementSibling.cloneNode(true); for (const childEl of codeEl.children) { if (isCodeAnnotation(childEl)) { childEl.remove(); } } return codeEl.innerText; } const clipboard = new window.ClipboardJS('.code-copy-button:not([data-in-quarto-modal])', { text: getTextToCopy }); clipboard.on('success', onCopySuccess); if (window.document.getElementById('quarto-embedded-source-code-modal')) { const clipboardModal = new window.ClipboardJS('.code-copy-button[data-in-quarto-modal]', { text: getTextToCopy, container: window.document.getElementById('quarto-embedded-source-code-modal') }); clipboardModal.on('success', onCopySuccess); } var localhostRegex = new RegExp(/^(?:http|https):\/\/localhost\:?[0-9]*\//); var mailtoRegex = new RegExp(/^mailto:/); var filterRegex = new RegExp('/' + window.location.host + '/'); var isInternal = (href) => { return filterRegex.test(href) || localhostRegex.test(href) || mailtoRegex.test(href); } // Inspect non-navigation links and adorn them if external var links = window.document.querySelectorAll('a[href]:not(.nav-link):not(.navbar-brand):not(.toc-action):not(.sidebar-link):not(.sidebar-item-toggle):not(.pagination-link):not(.no-external):not([aria-hidden]):not(.dropdown-item):not(.quarto-navigation-tool):not(.about-link)'); for (var i=0; i<links.length; i++) { const link = links[i]; if (!isInternal(link.href)) { // undo the damage that might have been done by quarto-nav.js in the case of // links that we want to consider external if (link.dataset.originalHref !== undefined) { link.href = link.dataset.originalHref; } } } function tippyHover(el, contentFn, onTriggerFn, onUntriggerFn) { const config = { allowHTML: true, maxWidth: 500, delay: 100, arrow: false, appendTo: function(el) { return el.parentElement; }, interactive: true, interactiveBorder: 10, theme: 'quarto', placement: 'bottom-start', }; if (contentFn) { config.content = contentFn; } if (onTriggerFn) { config.onTrigger = onTriggerFn; } if (onUntriggerFn) { config.onUntrigger = onUntriggerFn; } window.tippy(el, config); } const noterefs = window.document.querySelectorAll('a[role="doc-noteref"]'); for (var i=0; i<noterefs.length; i++) { const ref = noterefs[i]; tippyHover(ref, function() { // use id or data attribute instead here let href = ref.getAttribute('data-footnote-href') || ref.getAttribute('href'); try { href = new URL(href).hash; } catch {} const id = href.replace(/^#\/?/, ""); const note = window.document.getElementById(id); if (note) { return note.innerHTML; } else { return ""; } }); } const xrefs = window.document.querySelectorAll('a.quarto-xref'); const processXRef = (id, note) => { // Strip column container classes const stripColumnClz = (el) => { el.classList.remove("page-full", "page-columns"); if (el.children) { for (const child of el.children) { stripColumnClz(child); } } } stripColumnClz(note) if (id === null || id.startsWith('sec-')) { // Special case sections, only their first couple elements const container = document.createElement("div"); if (note.children && note.children.length > 2) { container.appendChild(note.children[0].cloneNode(true)); for (let i = 1; i < note.children.length; i++) { const child = note.children[i]; if (child.tagName === "P" && child.innerText === "") { continue; } else { container.appendChild(child.cloneNode(true)); break; } } if (window.Quarto?.typesetMath) { window.Quarto.typesetMath(container); } return container.innerHTML } else { if (window.Quarto?.typesetMath) { window.Quarto.typesetMath(note); } return note.innerHTML; } } else { // Remove any anchor links if they are present const anchorLink = note.querySelector('a.anchorjs-link'); if (anchorLink) { anchorLink.remove(); } if (window.Quarto?.typesetMath) { window.Quarto.typesetMath(note); } if (note.classList.contains("callout")) { return note.outerHTML; } else { return note.innerHTML; } } } for (var i=0; i<xrefs.length; i++) { const xref = xrefs[i]; tippyHover(xref, undefined, function(instance) { instance.disable(); let url = xref.getAttribute('href'); let hash = undefined; if (url.startsWith('#')) { hash = url; } else { try { hash = new URL(url).hash; } catch {} } if (hash) { const id = hash.replace(/^#\/?/, ""); const note = window.document.getElementById(id); if (note !== null) { try { const html = processXRef(id, note.cloneNode(true)); instance.setContent(html); } finally { instance.enable(); instance.show(); } } else { // See if we can fetch this fetch(url.split('#')[0]) .then(res => res.text()) .then(html => { const parser = new DOMParser(); const htmlDoc = parser.parseFromString(html, "text/html"); const note = htmlDoc.getElementById(id); if (note !== null) { const html = processXRef(id, note); instance.setContent(html); } }).finally(() => { instance.enable(); instance.show(); }); } } else { // See if we can fetch a full url (with no hash to target) // This is a special case and we should probably do some content thinning / targeting fetch(url) .then(res => res.text()) .then(html => { const parser = new DOMParser(); const htmlDoc = parser.parseFromString(html, "text/html"); const note = htmlDoc.querySelector('main.content'); if (note !== null) { // This should only happen for chapter cross references // (since there is no id in the URL) // remove the first header if (note.children.length > 0 && note.children[0].tagName === "HEADER") { note.children[0].remove(); } const html = processXRef(null, note); instance.setContent(html); } }).finally(() => { instance.enable(); instance.show(); }); } }, function(instance) { }); } let selectedAnnoteEl; const selectorForAnnotation = ( cell, annotation) => { let cellAttr = 'data-code-cell="' + cell + '"'; let lineAttr = 'data-code-annotation="' + annotation + '"'; const selector = 'span[' + cellAttr + '][' + lineAttr + ']'; return selector; } const selectCodeLines = (annoteEl) => { const doc = window.document; const targetCell = annoteEl.getAttribute("data-target-cell"); const targetAnnotation = annoteEl.getAttribute("data-target-annotation"); const annoteSpan = window.document.querySelector(selectorForAnnotation(targetCell, targetAnnotation)); const lines = annoteSpan.getAttribute("data-code-lines").split(","); const lineIds = lines.map((line) => { return targetCell + "-" + line; }) let top = null; let height = null; let parent = null; if (lineIds.length > 0) { //compute the position of the single el (top and bottom and make a div) const el = window.document.getElementById(lineIds[0]); top = el.offsetTop; height = el.offsetHeight; parent = el.parentElement.parentElement; if (lineIds.length > 1) { const lastEl = window.document.getElementById(lineIds[lineIds.length - 1]); const bottom = lastEl.offsetTop + lastEl.offsetHeight; height = bottom - top; } if (top !== null && height !== null && parent !== null) { // cook up a div (if necessary) and position it let div = window.document.getElementById("code-annotation-line-highlight"); if (div === null) { div = window.document.createElement("div"); div.setAttribute("id", "code-annotation-line-highlight"); div.style.position = 'absolute'; parent.appendChild(div); } div.style.top = top - 2 + "px"; div.style.height = height + 4 + "px"; div.style.left = 0; let gutterDiv = window.document.getElementById("code-annotation-line-highlight-gutter"); if (gutterDiv === null) { gutterDiv = window.document.createElement("div"); gutterDiv.setAttribute("id", "code-annotation-line-highlight-gutter"); gutterDiv.style.position = 'absolute'; const codeCell = window.document.getElementById(targetCell); const gutter = codeCell.querySelector('.code-annotation-gutter'); gutter.appendChild(gutterDiv); } gutterDiv.style.top = top - 2 + "px"; gutterDiv.style.height = height + 4 + "px"; } selectedAnnoteEl = annoteEl; } }; const unselectCodeLines = () => { const elementsIds = ["code-annotation-line-highlight", "code-annotation-line-highlight-gutter"]; elementsIds.forEach((elId) => { const div = window.document.getElementById(elId); if (div) { div.remove(); } }); selectedAnnoteEl = undefined; }; // Handle positioning of the toggle window.addEventListener( "resize", throttle(() => { elRect = undefined; if (selectedAnnoteEl) { selectCodeLines(selectedAnnoteEl); } }, 10) ); function throttle(fn, ms) { let throttle = false; let timer; return (...args) => { if(!throttle) { // first call gets through fn.apply(this, args); throttle = true; } else { // all the others get throttled if(timer) clearTimeout(timer); // cancel #2 timer = setTimeout(() => { fn.apply(this, args); timer = throttle = false; }, ms); } }; } // Attach click handler to the DT const annoteDls = window.document.querySelectorAll('dt[data-target-cell]'); for (const annoteDlNode of annoteDls) { annoteDlNode.addEventListener('click', (event) => { const clickedEl = event.target; if (clickedEl !== selectedAnnoteEl) { unselectCodeLines(); const activeEl = window.document.querySelector('dt[data-target-cell].code-annotation-active'); if (activeEl) { activeEl.classList.remove('code-annotation-active'); } selectCodeLines(clickedEl); clickedEl.classList.add('code-annotation-active'); } else { // Unselect the line unselectCodeLines(); clickedEl.classList.remove('code-annotation-active'); } }); } const findCites = (el) => { const parentEl = el.parentElement; if (parentEl) { const cites = parentEl.dataset.cites; if (cites) { return { el, cites: cites.split(' ') }; } else { return findCites(el.parentElement) } } else { return undefined; } }; var bibliorefs = window.document.querySelectorAll('a[role="doc-biblioref"]'); for (var i=0; i<bibliorefs.length; i++) { const ref = bibliorefs[i]; const citeInfo = findCites(ref); if (citeInfo) { tippyHover(citeInfo.el, function() { var popup = window.document.createElement('div'); citeInfo.cites.forEach(function(cite) { var citeDiv = window.document.createElement('div'); citeDiv.classList.add('hanging-indent'); citeDiv.classList.add('csl-entry'); var biblioDiv = window.document.getElementById('ref-' + cite); if (biblioDiv) { citeDiv.innerHTML = biblioDiv.innerHTML; } popup.appendChild(citeDiv); }); return popup.innerHTML; }); } } }); </script> </div> <!-- /content --> </body> </html>