Ah, ok great, thanks.

So I added:
toroot<-.Call(seq_root2tip, nt$edge, length(nt$tip.label), nt$Nnode, PACKAGE = 
'ape')

But check() is still throwing up a note:

basic_branch: no visible binding for global variable ‘seq_root2tip’
  shade_branch: no visible binding for global variable ‘seq_root2tip’
  Undefined global functions or variables:
    seq_root2tip

Any thoughts?
Sharon

From: Josiah Parry <[email protected]>
Date: Thursday, July 3, 2025 at 4:46 PM
To: Sharon Bewick <[email protected]>
Cc: Michael Chirico <[email protected]>, R Package Development 
<[email protected]>
Subject: Re: [R-pkg-devel] Two errors

This Message Is From An External Sender: Use caution when opening links or 
attachments if you do not recognize the sender.
I believe they mean as an argument to .Call
https://stat.ethz.ch/R-manual/R-devel/library/base/html/CallExternal.html

On Thu, Jul 3, 2025 at 15:41 Sharon Bewick 
<[email protected]<mailto:[email protected]>> wrote:
Thanks so much for the tips!

I think I’ve fixed #2. But I’m not sure what you mean by #1. Where should the 
"seq_root2tip" with PACKAGE="ape" go? In the NAMESPACE file? In the Description 
file? Somewhere in the code?

So sorry for not understanding!

Thanks!
Sharon

From: Michael Chirico 
<[email protected]<mailto:[email protected]>>
Date: Thursday, July 3, 2025 at 4:13 PM
To: Sharon Bewick <[email protected]<mailto:[email protected]>>
Cc: R Package Development 
<[email protected]<mailto:[email protected]>>
Subject: Re: [R-pkg-devel] Two errors

This Message Is From An External Sender: Use caution when opening links or 
attachments if you do not recognize the sender.
1. all functions in R are variables. You can "trick" code tools by writing 
seq_root2tip=NULL in the same scope but consider (a) C routines are typically 
part of a package's private interface (b) it might be preferable to use the 
string "seq_root2tip" with PACKAGE="ape"

2. phytree is not the same as phytree<- : importFrom(phyloseq, "phytree<-") is 
what you want assuming it's exported)

(c.f. `x = phyteee(...)` vs. `phytree(x) <- ...`)

Mike C
On Thu, Jul 3, 2025, 2:57 PM Sharon Bewick 
<[email protected]<mailto:[email protected]><mailto:[email protected]<mailto:[email protected]>>>
 wrote:
1. I’m trying to upload my R package. However, I use the ape function 
seq_root2tip but for the sake of speed am calling it using .Call:

toroot<-.Call(seq_root2tip, nt$edge, length(nt$tip.label), nt$Nnode)

How do I get R to recognize the seq_root2tip function from ape in this C call? 
It is throwing up a NOTE that is getting my package rejected:

shade_branch: no visible binding for global variable ‘seq_root2tip’

but seq_root2tip is a function, not a global variable.

2. I’m also getting a NOTE about: no visible global function definition for 
‘phy_tree<-’

I have declared phy_tree in the NAMESPACE file: importFrom(phyloseq,phy_tree)

I don’t know what the problem is…

Thanks!
Sharon

        [[alternative HTML version deleted]]

______________________________________________
[email protected]<mailto:[email protected]><mailto:[email protected]<mailto:[email protected]>>
 mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel

        [[alternative HTML version deleted]]

______________________________________________
[email protected]<mailto:[email protected]> mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel

        [[alternative HTML version deleted]]

______________________________________________
[email protected] mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel

Reply via email to