Contributions
Contributions copied to clipboard
rifiComparative
Update the following URL to point to the GitHub repository of the package you wish to submit to Bioconductor
- Repository: https://github.com/CyanolabFreiburg/rifiComparative
Confirm the following by editing each check box to '[x]'
-
[x] I understand that by submitting my package to Bioconductor, the package source and all review commentary are visible to the general public.
-
[x] I have read the Bioconductor Package Submission instructions. My package is consistent with the Bioconductor Package Guidelines.
-
[x] I understand Bioconductor Package Naming Policy and acknowledge Bioconductor may retain use of package name.
-
[x] I understand that a minimum requirement for package acceptance is to pass R CMD check and R CMD BiocCheck with no ERROR or WARNINGS. Passing these checks does not result in automatic acceptance. The package will then undergo a formal review and recommendations for acceptance regarding other Bioconductor standards will be addressed.
-
[x] My package addresses statistical or bioinformatic issues related to the analysis and comprehension of high throughput genomic data.
-
[x] I am committed to the long-term maintenance of my package. This includes monitoring the support site for issues that users may have, subscribing to the bioc-devel mailing list to stay aware of developments in the Bioconductor community, responding promptly to requests for updates from the Core team in response to changes in R or underlying software.
-
[x] I am familiar with the Bioconductor code of conduct and agree to abide by it.
I am familiar with the essential aspects of Bioconductor software management, including:
- [x] The 'devel' branch for new packages and features.
- [x] The stable 'release' branch, made available every six months, for bug fixes.
- [x] Bioconductor version control using Git (optionally via GitHub).
For questions/help about the submission process, including questions about the output of the automatic reports generated by the SPB (Single Package Builder), please use the #package-submission channel of our Community Slack. Follow the link on the home page of the Bioconductor website to sign up.
Hi @lyoussar
Thanks for submitting your package. We are taking a quick look at it and you will hear back from us soon.
The DESCRIPTION file for this package is:
Package: rifiComparative
Title: 'rifiComparative' compares the output of rifi from 2 different conditions
Version: 0.99.0
Authors@R: c(person("Loubna", "Youssar",
email = "[email protected]",
role = c("aut", "cre")),
person("Jens", "Georg",
email = "[email protected]",
role = "aut", "cre"))
Description: 'rifiComparative' is a continuation of rifi package. It compares two conditions output of rifi using half-life and mRNA at time 0 segments. As an input for the segmentation, the difference between half-life of both condtions and log2FC of the mRNA at time 0 are used. The segmentation 'rifiComparative' provides segmentation, statistics, summary table, fragments visualization and some additional useful plots for further anaylsis.
Depends:
R (>= 4.1)
Imports:
cowplot,
doMC,
parallel,
dplyr,
egg,
foreach,
ggplot2,
ggrepel,
graphics,
grDevices,
grid,
methods,
nnet,
rlang,
S4Vectors,
scales,
stats,
stringr,
tibble,
rtracklayer,
utils,
writexl,
DTA,
LSD,
reshape2,
SummarizedExperiment
Suggests:
DescTools,
ggrepel,
knitr,
rmarkdown,
BiocStyle
VignetteBuilder: knitr
biocViews: RNASeq, DifferentialExpression, GeneRegulation, Transcriptomics, Microarray, Software
BugReports: https://github.com/CyanolabFreiburg/rifiComparative
License: GPL-3 + file LICENSE
Encoding: UTF-8
Roxygen: list(markdown = TRUE)
RoxygenNote: 7.1.12
Language: en-US
pre-check is passed but think about user effort to do
df_comb_minimal[,"distance_int"] <- df_comb_minimal[,"logFC_int"]
pen_int <- make_pen(
probe = df_comb_minimal,
FUN = rifiComparative:::fragment_inty_pen,
cores = 60,
logs = as.numeric(rep(NA, 8)),
dpt = 1,
smpl_min = 10,
smpl_max = 50,
sta_pen = 0.5,
end_pen = 4.5,
rez_pen = 9,
sta_pen_out = 0.5,
end_pen_out = 3.5,
rez_pen_out = 7
)
from vignette. are the defaults good enough?
So far the defaults parameters were used in several organisms without any need for adjustment. Nevertheless I made the vignette simpler and I changed the cores number.
A reviewer has been assigned to your package. Learn what to expect during the review process.
IMPORTANT: Please read this documentation for setting up remotes to push to git.bioconductor.org. It is required to push a version bump to git.bioconductor.org to trigger a new build.
Bioconductor utilized your github ssh-keys for git.bioconductor.org access. To manage keys and future access you may want to active your Bioconductor Git Credentials Account
Dear Package contributor,
This is the automated single package builder at bioconductor.org.
Your package has been built on Linux, Mac, and Windows.
On one or more platforms, the build results were: "ERROR". This may mean there is a problem with the package that you need to fix. Or it may mean that there is a problem with the build system itself.
Please see the build report for more details. This link will be active for 21 days.
Remember: if you submitted your package after July 7th, 2020,
when making changes to your repository push to
[email protected]:packages/rifiComparative
to trigger a new build.
A quick tutorial for setting up remotes and pushing to upstream can be found here.
The package could not be built in Windows. I added a file called .BBSoptions Thanks
Please also correct the ERROR in the build report and trigger a new report
Get Outlook for iOShttps://aka.ms/o0ukef
From: Loubna Youssar @.> Sent: Friday, July 22, 2022 2:34:20 PM To: Bioconductor/Contributions @.> Cc: Subscribed @.***> Subject: Re: [Bioconductor/Contributions] rifiComparative (Issue #2718)
The package could not be built in Windows. I added a file called .BBSoptions Thanks
— Reply to this email directly, view it on GitHubhttps://secure-web.cisco.com/1i5Qb0HBWgnxB6AHqOr6aM7TgXq36TUV-RtcDpdIYkhmJZHfQleHaFFsnvXHPH0ZtN10bl5_oCnC-WoAGBwhuspP0iaXAtIE1E8iKbyeVgpz65VUStMecfon1OtVBJqZk76Xq3aK2tqItT9sBpES1-02Dd2OyFmzJzZIhNN-ys31O3_K1fjHEO4S-ia8mprTXC8dgK297V75MhLTYufnknOZo-NxwoEHZtOaP5fyiFjeoMLObu-19oMfeZpZIvhYBQP4bNUtAfNwhbkeompwjixtGmxe9IZRV2r74lnq4BwlQXGasinchW6hzUsGXMHrZ/https%3A%2F%2Fgithub.com%2FBioconductor%2FContributions%2Fissues%2F2718%23issuecomment-1192838276, or unsubscribehttps://secure-web.cisco.com/11El2001sxMIcvYarqELvfpZVbSvksaJxsWQwqip3liSQOk4HytFAQ6Qjbgx8qsrB2BXD0EWcyFSFszE026J55PGP_Fw_SyHEk6MFUp_zitkLATBC7Q70yGC2j5_g0fH3SUSzHYg2Iuhm65e1IDRJiK1s9tdsxWU0oIxy0HSz-QVML7Uq-oj7bUt4j5t_2TIY-gVyUYnYUUHfaOYCDRH1RP9x5qBIzeWogVSPk4BWsqjAoZ-lajDoxoo1x2YdRONAATCFXcs55BjQxQLBeBGcjaIxnx_Sf1-P76Wzz9znAyMC9s-1SE5AyN-aWCYsKJbz/https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAEO3MHHH2MJVORQQYIZTIMTVVLSSZANCNFSM53UXKVJQ. You are receiving this because you are subscribed to this thread.Message ID: @.***>
This email message may contain legally privileged and/or confidential information. If you are not the intended recipient(s), or the employee or agent responsible for the delivery of this message to the intended recipient(s), you are hereby notified that any disclosure, copying, distribution, or use of this email message is prohibited. If you have received this message in error, please notify the sender immediately by e-mail and delete this email message from your computer. Thank you.
I am subscribed to both lists: https://support.bioconductor.org/accounts/signup/ https://stat.ethz.ch/mailman/listinfo/bioc-devel I wonder why do I get these errors!? I tried to subscribe again just in case of and I ve got the email below confirming my subscription. An attempt was made to subscribe your address to the mailing list [email protected]. You are already subscribed to this mailing list.
PS: all package developer should be subscribed? I guess only the maintenair right? My email address as maintenair appears as last line in READ.ME
Its solved, no errors neither warnings so far.
First round of comments below! Note that many are suggestions and not strictly
required (e.g., "consider..."). Please comment back here with what has/not been
addressed how/why not, or any comments regarding any needed clarification or
questions you might have; happy to help/discuss. Cheers!
documentation
- [ ] Typo in make_pen.r line 47: vetor -> vector
- [ ] Also in make_pen.r: Documentation says default of
dpt
is 2, but it's 1. - [ ] Generally, @importFrom is encouraged over importing an entire package
with @import. If there are many functions from a single package,
@import can be acceptable. However, you are currently importing all of
dplyr,ggplot2,SummarizedExperiment,scales,writexl,DRA,ggrepel,LSD
,
which would definitely be worth reconsidering to avoid namespace conflicts. - [ ] The elements and data structure of example data is well described,
which is appreciated! However, please also include details on the
source information, or how the example data was generated. - [ ] Regarding function .man (help) pages, I think there's lots of ill formatting
due to wrong usage ofroxygen2
. To pick just one example?penalties
has
the function description as a header. Instead, this should go in @description
or under @details with a short, descriptive title under @title (see here for details);
here's one example (but all help pages I checked looked somewhat off):
#' @rdname make_pen
#' @title Penalty assignment
#' @description
#' `make_pen` automatically assigns a penalties.
#' `make_pen` calls one of four available penalty functions
#' to automatically assign penalties for the dynamic programming.
#' The two functions to be called are: ...
vignette
- [ ] Please use a less generic name (i.e., not vignette.Rmd)
to make less ambiguous to locate with, e.g.,vignette()
- [ ] line 55: resultinf -> resulting
- [ ] Throughout the vignette, I'd suggest
data frame and dataframe -> `data.frame` - [ ] To highlight / distinguish code from normal text,
I'd recommend consistently using back-ticks. - [ ] Similarly, to direct users to relevant external packages
and highlight/make them distinguishable from general code,
you can hyperlink them viaBiocStyle::CRANpkg("package_name")
(orGithubpkg
orBiocpkg
, depending on where the package sits). - [ ] Code chunks "make_pen HL" and "make_pen int" have
eval = FALSE
but fail because argumentlogs
does not have a default value (see below).
# make_pen() fails with:
Error in logs[...:
object of type 'symbol' is not subsettable
# because of this (where logs is undefined):
logs[c(
paste0(names(tmp)[1], "_penalty"),
paste0(names(tmp)[1], "_outlier_penalty")
)] <- c(res1[1], res1[2])
code
- [ ] In plot_histogram.r, avoid
sapply()
and usevapply()
instead. - [ ] In empty_data_negative.r, avoid
print()
and usemessage()
instead,
ideally with averbose = FALSE/TRUE
function argument, so that users have
control over whether or not additional information is printed to the console. - [ ]
figures_fun()
currently writes all output plots to the current
working directory, with fixed files names (specified internally). Instead,
I'd encourage exposing adir
(directory) argument so that users can specify
where plots should be saved to. In addition, it would be nice having an option
dir = NULL
where plots are returned as R objects (ggplot
s) that can be
saved to a variable, modified further, and saved in a custom way. - [ ] Related to the above, it would also be nice to export the different
plotting functions (with separate examples) such that users can generate
plots of interest rather than having to generate all of themfigure_fun()
. - [ ] In plot_scatter.r,
geom_smooth()
gives a message
that can be avoided by specifyingformula = y ~ x
. - [ ] In plot_histogram.r,
reshape2::melt()
gives a message
that can be avoided by specifyingid = "category"
. - [ ] Some function examples are quite costly to run (2min+ on my laptop).
Not sure if the example data size could be decreased, but in any case,
it might be mostly due to inefficient implementation.
I'd highly recommend reading up on Robust and Efficient R Code.
E.g., there's a 3-level nestedfor
-loop inmake_pen()
that seams worth
re-implementing, especially as its called repeatedly by other functions.
other
- [ ] Consider adding a NEWS file to track package updates;
these will also be included in Bioconductor release announcements. - [ ] Consider adding unit tests; we strongly encourage them!
See https://contributions.bioconductor.org/tests.html - [ ] Consider adding a package .man page (i.e.,
?rifiComparative
)
so users would be directed to the main functions of the package. - [ ] The raw package directory should not contain unnecessary files, system
files, or hidden files such as *.Rproj. These files may be present in your
local directory but should not be commited to git (e.g., using .gitignore).
First round of comments below! Note that many are suggestions and not strictly required (e.g., "consider..."). Please comment back here with what has/not been addressed how/why not, or any comments regarding any needed clarification or questions you might have; happy to help/discuss. Cheers!
Thanks for your comments, many of them are very helpful. I tried to address all questions/suggestions including or correcting issues. [x] means solved/corrected.
Best, Loubna
documentation
- [x] Typo in make_pen.r line 47: vetor -> vector
- [x] Also in make_pen.r: Documentation says default of
dpt
is 2, but it's 1.- [x] Generally, @importFrom is encouraged over importing an entire package with @import. If there are many functions from a single package, @import can be acceptable. However, you are currently importing all of
dplyr,ggplot2,SummarizedExperiment,scales,writexl,DRA,ggrepel,LSD
, which would definitely be worth reconsidering to avoid namespace conflicts.
You are right, once many functions are from the same package, they are imported as importFrom e.g. “utils write.table read.delim2 capture.output” but the imported packages are individuals.
*[x] The elements and data structure of example data is well described, which is appreciated! However, please also include details on the source information, or how the example data was generated.
**Thanks for this comment. The source information is indicated in ReadMe and on the vignette with the corresponding link of the package where the data was generated
“RifiComparative is a workflow for a comparative data, output of Rifi framework (https://www.bioconductor.org/packages/release/bioc/html/rifi.html”).
Now I changed the link of github to bioconductor.**
- [x] Regarding function .man (help) pages, I think there's lots of ill formatting due to wrong usage of
roxygen2
. To pick just one example?penalties
has the function description as a header. Instead, this should go in @description or under @details with a short, descriptive title under @title (see here for details); here's one example (but all help pages I checked looked somewhat off):#' @rdname make_pen #' @title Penalty assignment #' @description #' `make_pen` automatically assigns a penalties. #' `make_pen` calls one of four available penalty functions #' to automatically assign penalties for the dynamic programming. #' The two functions to be called are: ...
Yes, you are right. There were some odd documentations. I revised and set all of them making a convenient structure for the user.
vignette
- [ ] Please use a less generic name (i.e., not vignette.Rmd) to make less ambiguous to locate with, e.g.,
vignette()
I did not get this point, sorry!- [x] line 55: resultinf -> resulting
- [x] Throughout the vignette, I'd suggest data frame and dataframe ->
data.frame
I used the...
to indicate functions and it might be confusing if I use it somewhere else. However I make data frame all homogeneous with space in the middle.
- [x] To highlight / distinguish code from normal text, I'd recommend consistently using back-ticks. Do you refer to the vignette? All codes are between the 3 back-ticks or do you mean something else?
- [ ] Similarly, to direct users to relevant external packages and highlight/make them distinguishable from general code, you can hyperlink them via
BiocStyle::CRANpkg("package_name")
(orGithubpkg
orBiocpkg
, depending on where the package sits). Could you please specify where the changes should be applied?
- [x] Code chunks "make_pen HL" and "make_pen int" have
eval = FALSE
but fail because argumentlogs
does not have a default value (see below).# make_pen() fails with: Error in logs[...: object of type 'symbol' is not subsettable # because of this (where logs is undefined): logs[c( paste0(names(tmp)[1], "_penalty"), paste0(names(tmp)[1], "_outlier_penalty") )] <- c(res1[1], res1[2])
That true, I added now and it runs like a charm.
code
- [x] In plot_histogram.r, avoid
sapply()
and usevapply()
instead. Vapply does not provide the output I need after many tries, sapply in this case is saver
- [x] In empty_data_negative.r, avoid
print()
and usemessage()
instead, ideally with averbose = FALSE/TRUE
function argument, so that users have control over whether or not additional information is printed to the console.
- []
figures_fun()
currently writes all output plots to the current working directory, with fixed files names (specified internally). Instead, I'd encourage exposing adir
(directory) argument so that users can specify where plots should be saved to. In addition, it would be nice having an optiondir = NULL
where plots are returned as R objects (ggplot
s) that can be saved to a variable, modified further, and saved in a custom way.- [x] Related to the above, it would also be nice to export the different plotting functions (with separate examples) such that users can generate plots of interest rather than having to generate all of them
figure_fun()
. The user can always run each plot separately just by reading the documentation of figure_fun(). He can still select at the end the plots he need, they are not computationally expensive and generated in less than a minutes independently how big are the data.
- [x] In plot_scatter.r,
geom_smooth()
gives a message that can be avoided by specifyingformula = y ~ x
. They are suppressed by now.
- [x] In plot_histogram.r,
reshape2::melt()
gives a message that can be avoided by specifyingid = "category"
. I tried it before submitting and did not work
- [x] Some function examples are quite costly to run (2min+ on my laptop). Not sure if the example data size could be decreased, but in any case, it might be mostly due to inefficient implementation. I'd highly recommend reading up on Robust and Efficient R Code. E.g., there's a 3-level nested
for
-loop inmake_pen()
that seams worth re-implementing, especially as its called repeatedly by other functions. There are two functions which are computationally expensive. Penalties and fragmentation. These two functions make many iterations to find the best model so it would be impossible to make a smaller example as it will not show a reasonable output.
other
- [x] Consider adding a NEWS file to track package updates; these will also be included in Bioconductor release announcements.
- [ ] Consider adding unit tests; we strongly encourage them! See https://contributions.bioconductor.org/tests.html
- [x] Consider adding a package .man page (i.e.,
?rifiComparative
) so users would be directed to the main functions of the package. I added this file but so far I can not make it functional!?- [x] The raw package directory should not contain unnecessary files, system files, or hidden files such as *.Rproj. These files may be present in your local directory but should not be committed to git (e.g., using .gitignore).
Thanks for the speedy action. I can see changes have been made in the package's GH repo, however, in order for these to go through to Bioc, you need to bump the package version in the DESCRIPTION file (i.e., from 0.99.1 to 0.99.2); thanks!
Thanks and done!
Again, I can see this on your GH. However, if a build has been triggered, you'd see a message here from the bioc-issue-bot, which is not the case. You also need to push these changes upstream to the upstream Bioc remote (not only your personal GH remote). See here for a quick tutorial on setting up remotes and pushing to upstream.
I followed the instructions. I forked from the home repository (CyanolabFreiburg) to mine (lyoussar) and added a remote named upstream to my package.
origin https://github.com/CyanolabFreiburg/rifi_comparative_data.git (fetch) origin https://github.com/CyanolabFreiburg/rifi_comparative_data.git (push) upstream [email protected]:packages/[email protected]:lyoussar/rifiComparative.git (fetch) upstream [email protected]:packages/[email protected]:lyoussar/rifiComparative.git (push)
Please let me know if that is enough/correct.
Thanks!
Yes, that all looks correct. Now, when you want to make changes, you should push to both the origin and upstream remote. I.e., commit -m “…” — push origin — push master.
Great, Thanks!
Did you try doing this? The package being built here is still v0.99.0 whereas your Github repo DESCRIPTION has v0.99.2.
I just built the package again with the last version and I get 0 errors, 0 warnings and few notes. Is that what you referring to?
Hm. I can only see a single build report from 21 days ago here. Did you push upstream as explained here? I.e., something like
git add ...
git commit -m "..."
git push origin # push to your Github repo
git push upstream # push to the Bioc server
I have being struggling the last 2 hours to find a solution to that:
git fetch --all Fetching origin Fetching upstream [email protected]: Permission denied (publickey). fatal: Could not read from remote repository.
Please make sure you have the correct access rights and the repository exists. error: Could not fetch upstream
This is the remote:
git remote -v origin https://github.com/CyanolabFreiburg/rifi_comparative_data.git (fetch) origin https://github.com/CyanolabFreiburg/rifi_comparative_data.git (push) upstream [email protected]:packages/[email protected]:lyoussar/rifiComparative.git (fetch) upstream [email protected]:packages/[email protected]:lyoussar/rifiComparative.git (push)
Reading somewhere on the email list, I found out this answer from a reviewer: @nturaga I think this is because I changed the contents of https://github.com/kozo2.keys after creating this issue. Could you please check the SSH public key registration again?
Could u help me please? is it related to bioconductor? me?
Thanks
Keys should update automatically once changed.
It looks like your upstream is set incorrectly.
Yours is currently set: [email protected]:packages/[email protected]:lyoussar/rifiComparative.git
Where it has an extra [email protected]:lyoussar
Please do
git remote remove upstream
git remote add upstream [email protected]:packages/rifiComparative.git git remote fetch --all
and try again.
If you still have trouble please remember to activate your GitCredentials account and perhaps update with a new ssh-key.
I set a new key and activate the GitCredentials, I built again the package and I am still not getting access, I wonder what I do miss.
git remote -v origin [email protected]:lyoussar/rifiComparative.git (fetch) origin [email protected]:lyoussar/rifiComparative.git (push) upstream [email protected]:packages/rifiComparative.git (fetch) upstream [email protected]:packages/rifiComparative.git (push)
git fetch --all Fetching origin ECDSA host key for IP address '140.82.121.36' not in list of known hosts. Fetching upstream [email protected]: Permission denied (publickey). fatal: Could not read from remote repository.
Please make sure you have the correct access rights and the repository exists. error: Could not fetch upstream
What are the results of ssh -T [email protected]
Please also check out numbers 13, 14, and 15 of http://contributions.bioconductor.org/git-version-control.html#faq
ssh -T [email protected] [email protected]: Permission denied (publickey).
Check out 14/15 of the faqs link above -- did you call the file with your key a different name?
Thanks again for your support.
I went through all these faqs, changing the config file of ssh ect.. and I get the same answer from ssh -T git... Then I wanted to check my BiocCredentials to see what SSH key I registered. I was unable to access my account, I tried to generate a new password but so far I did not receive any email neither in the spam box. Checking in Internet I found this issue very frequent and sometimes the account is reactivated by the same reviewer like in this case (https://www.mail-archive.com/[email protected]&q=subject:%22Re%5C%3A+%5C%5BBioc%5C-devel%5C%5D+Problems+with+BiocCredentials%22&o=newest&f=1)
May I ask u to activate it for me? I am still did not receive any email yet.
Thank you again
Hi @lyoussar
Just stepping in here to add my 2 cents.
You have already activated your BiocCredentials account. Once it is active, the activation does NOT work.
You need to now log in with the password you set, or say "reset password". If that did not work, it's possible you are using the wrong email? The email attached your id is [email protected].
The other thing I notice is your account has 3 keys. I'm pretty confident that you are not matching the correct key to what is available on the Bioconductor server. The key's work as a public <-> private key pair. You have to match the private key (which only lives on your local machine), to the public key which you gave to Bioconductor.
It's possible to match keys using something like this, that generates a public key from the private key you have locally.
ssh-keygen -y -f ~/.ssh/id_rsa
Best,
Another note, sometimes when users don't get the email from BiocCredentials, it is because their "institute" has firewalls. This is a problem we are unable to get around and is very institute specific. A way to go around it is to use an email address that is not administered by an institute. But you should do this based on what the best option is for you.