From cfaf915daee6e3a6f6bc67441531b4616f1de51a Mon Sep 17 00:00:00 2001 From: Gregory Jefferis Date: Tue, 26 Jan 2021 16:58:51 +0000 Subject: [PATCH] batch rootid lookup when partners=="both" --- R/autosyn.R | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/R/autosyn.R b/R/autosyn.R index 47fdfaac..6afcc359 100644 --- a/R/autosyn.R +++ b/R/autosyn.R @@ -197,8 +197,14 @@ flywire_partners <- function(rootid, partners=c("outputs", "inputs", "both"), resdf$pre_id=flywire_rootid(resdf$pre_svid, integer64 = T, cloudvolume.url=cloudvolume.url) resdf$post_id=as.integer64(rootid) } else { - resdf$pre_id=flywire_rootid(resdf$pre_svid, integer64 = T, cloudvolume.url=cloudvolume.url) - resdf$post_id=flywire_rootid(resdf$post_svid, integer64 = T, cloudvolume.url=cloudvolume.url) + nrows=nrow(resdf) + combined_svids=c(resdf$pre_svid, resdf$post_svid) + stopifnot(length(combined_svids)==nrows*2) + combined_rootids=flywire_rootid(combined_svids, integer64 = T, + cloudvolume.url=cloudvolume.url) + + resdf$pre_id=combined_rootids[seq_len(nrows)] + resdf$post_id=combined_rootids[seq_len(nrows)+nrows] resdf$prepost = ifelse(as.character(resdf$pre_id)%in%rootid,0,1) } }