Closed michaeldshapiro closed 1 month ago
Dear Package contributor,
This is the automated single package builder at bioconductor.org.
Your package has been built on the Bioconductor Single Package Builder.
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.
The following are build products from R CMD build on the Single Package Builder: Linux (Ubuntu 22.04.3 LTS): CatsCradle_0.99.13.tar.gz
Links above active for 21 days.
Remember: if you submitted your package after July 7th, 2020,
when making changes to your repository push to
git@git.bioconductor.org:packages/CatsCradle
to trigger a new build.
A quick tutorial for setting up remotes and pushing to upstream can be found here.
The error concerns registering an email on the support site. Not critical at this juncture but it wouldn't hurt to get this out of the way. I want to put a little material in for contemplation. I used as.SingleCellExperiment from Seurat on the example data used in the quick start vignette and added a metadata component.
> pach
class: SingleCellExperiment
dim: 2000 540
metadata(1): comment
assays(1): logcounts
rownames(2000): Ctsb H2-Ab1 ... Phkg1 Gm9530
rowData names(0):
colnames(540): AAAGAACTCATCGCTC-1_1 AACAAAGTCGTAGGGA-1_1 ...
TTCTTGATCTGAACGT-1_8 TTTCAGTAGCGTCTCG-1_8
colData names(8): orig.ident nCount_RNA ... seurat_clusters ident
reducedDimNames(1): UMAP
mainExpName: RNA
altExpNames(0):
> exSeuratObj
An object of class Seurat
2000 features across 540 samples within 1 assay
Active assay: RNA (2000 features, 0 variable features)
1 layer present: data
1 dimensional reduction calculated: umap
> metadata(pach)
$comment
[1] "based on https://www.nature.com/articles/s41586-021-04006-z"
I find the SingleCellExperiment print method to be more informative to the user. There are other capabilities that I don't know about for Seurat instances. I can't write more now, it is first day of school and there is a major meeting of NumFOCUS I need to attend. But I will be spending some more time motivating adoption of Bioconductor approaches in continuing this review, and we can discuss which changes would be really advantageous.
I'm late to the conversation, but I just wanted to chime in some context about interoperability from my perspective as a Bioconductor contributor since 2010. I think interoperability is important and has broad support among Bioconductor users and developers, and actually something that has been important to Bioconductor's growth in developers and users of 2000+ software packages over the past 20+ years. This thread seems to highlight tension between two different kinds of operability:
I am in favor of both (and in fact, Aim 1 of Sean Davis's and my recent grant is all about interoperability with Python tools for image analysis), but I do think intra-Bioconductor interoperability is the first priority because it simplifies workflows spanning multiple Bioconductor packages (e.g. OSCA and the workflow packages), and Bioconductor users get to use familiar, related data classes across different applications (e.g. SummarizedExperiment, RangedSummarizedExperiment, DESeqDataSet, MultiAssayExperiment, RaggedExperiment...). So while yes Seurat is very popular for single-cell RNA-seq, Bioconductor has a much broader overall user base that benefits from this intra-Bioconductor interoperability.
What does it mean? In my opinion, Bioconductor packages should support input/output of the common Bioconductor objects even if they also support alternative inputs/outputs, unless there just is no good or widely-used Bioconductor data class for the application. A Seurat -> Bioconductor converter is within-scope for the Bioconductor core team to make sure it works efficiently. A Bioconductor -> Seurat converter seems more like the responsibility of Seurat's developers, as they do when Seurat makes use of Bioconductor packages.
My own experience is that Bioconductor data classes are generally well-designed objects with methods that have a bit of a learning curve but then help greatly in developing packages and getting work done, but if they have shortcomings that actually introduce obstacles to doing some kinds of work, we need to hear that and discuss what to do. I'm interested in and grateful for this conversation.
When I review packages with vignettes that include voluminous output I generally ask for reduction. The vignette, especially a quick start, should be relatively pleasing to read. But early on in the current instance we find
STranspose = getExample('STranspose')
#> Centering and scaling data matrix
#> Finding variable features for layer counts
#> PC_ 1
#> Positive: GCCTGTTAGAACCGCA-1-3, TGCATGACAGTGTATC-1-6, AGTGTTGAGCTGTTCA-1-7, GCCCGAATCGCTCCTA-1-2, TATCTGTCATCGATGT-1-2, GTGCACGGTACCTAGT-1-2, GTGACGCAGCTTGTTG-1-4, GAACTGTCAACGGGTA-1-2, TGCACGGGTAGGACCA-1-4, CAATACGCACACCGAC-1-4
#> AGGGAGTAGCAAATCA-1-2, CTCGAGGCATCGATGT-1-2, ACTTCCGGTGGATCAG-1-4, CCATAAGTCGCAATTG-1-3, GAGTTTGAGAAGTCAT-1-2, CTGCATCAGGACAACC-1-7, AGAAATGGTGGGCTTC-1-4, TATTCCAGTTCTCCAC-1-1, CCCGAAGTCCTTCAGC-1-3, GTTCTATTCGCGCCAA-1-3
#> CGATGGCTCAATCCGA-1-4, CTGCCATCATCCTATT-1-3, GAGGCAAAGATTAGAC-1-4, ATGGGAGTCGTTATCT-1-2, CAGCACGCATCCTTCG-1-3, CTCATTAGTAGCTGCC-1-3, TGATCAGTCAAACCTG-1-3, TCTATCATCAGCTAGT-1-2, ATCGTGATCTCATGCC-1-2, ACATGCAAGATAACGT-1-2
#> Negative: GCTTTCGCAAATCGGG-1-4, CCTACGTCATCCTGTC-1-1, CGGACACTCGAGAAGC-1-1, CCTACGTTCACCTACC-1-6, GATGCTACAGACATCT-1-6, TCAAGTGTCACCCATC-1-1, TCGAACAGTCCAATCA-1-1, TTGATGGTCTAACGCA-1-5, CATTGTTTCTAGTCAG-1-1, TTTACTGTCGAGCCTG-1-1
#> AGCATCACAGATTTCG-1-1, ACTACGACATGAAGGC-1-1, ATTTACCCAACCAACT-1-6, CCGAACGGTATGTCTG-1-4, GGTAATCAGTCCCGGT-1-1, GCGTTTCAGGATAATC-1-6, ATTTCACAGACCCGCT-1-1, GCACGGTTCAGGACAG-1-1, CTCAATTGTCGTAATC-1-6, ATCGCCTGTTAATGAG-1-4
#> TAATTCCCATATCTGG-1-1, CGAGAAGAGTCTAGAA-1-6, CTGTGAAAGTCAAGCG-1-1, TTCGATTTCATGGTAC-1-6, GAACGTTAGCCAAGGT-1-4, TCAAGCAAGTACAGCG-1-5, GCCAGGTAGGGAGGCA-1-1, GCAGCCACACTACCCT-1-1, TGTAACGCAATTAGGA-1-1, GGGACCTCAGTTCACA-1-1
#> PC_ 2
#> Positive: CTAAGTGTCTTACCAT-1-2, GTAGATCAGTTCTCTT-1-2, CACCAAATCGCGGTAC-1-3, GCCAGTGGTCCGGTGT-1-3, GTGCAGCGTTTAGTCG-1-2, GCATTAGCAGCCTATA-1-1, GGTTAACTCTCTTAAC-1-3, ACATCGAGTGTCTTAG-1-1, ACACGCGCACTGGCCA-1-2, TTTCACAAGATTCGCT-1-3
#> GTTACCCGTTCTAACG-1-3, CGTCCATTCACACCGG-1-3, GTCACTCAGGTAGCCA-1-3, TTTGACTGTCGACTTA-1-3, CCTCTAGCAATTGAAG-1-3, AGGAGGTTCGGACTTA-1-2, CCGTTCAGTGCACAAG-1-3, TAACTTCCAATCACGT-1-3, CACGTGGAGTGCACCC-1-3, GTGTAACGTTTATGCG-1-3
#> TGACGCGCACACGTGC-1-3, TAAGCCAGTGATGGCA-1-2, TTGGATGCAGCCCACA-1-3, CCACACTAGCCAAGCA-1-1, TGCGGGTTCTGCGGAC-1-3, CTCAGAAAGACCTCAT-1-3, TGTAAGCAGGTCCAGA-1-3, TGACAGTAGTCACTAC-1-3, TTTAGTCGTCTCTCTG-1-3, TGGGTTAAGTTAGTGA-1-3
#> Negative: GATGCTACAGACATCT-1-6, CCTACGTTCACCTACC-1-6, TTGATGGTCTAACGCA-1-5, CTGCCATCATCAGCGC-1-5, CCGGACACACCAACAT-1-5, GCACGTGAGCTTGTTG-1-5, TCAAGCAAGTACAGCG-1-5, TCGAACAGTCCAATCA-1-1, ATGGGTTGTTAGAGTA-1-5, GTGGGAAGTTCGAACT-1-5
#> CGGAGAAAGACGTCGA-1-5, CATCGTCTCTACGGTA-1-5, GCGTTTCAGGATAATC-1-6, CTTCCTTCACTGTCCT-1-4, AGAACCTTCCTACCAC-1-5, ATTTACCCAACCAACT-1-6, ACTATGGTCAAGGACG-1-5, CAACGGCAGGACTTCT-1-5, CCGAACGGTATGTCTG-1-4, CTCAATTGTCGTAATC-1-6
#> AGACTCAAGTCTAGAA-1-5, GAACGTTAGCACCTGC-1-4, GGGACCTAGGCTCCCA-1-5, GCTTTCGCAAATCGGG-1-4, CATACCCGTCCGGTCA-1-4, TCTTGCGCAAGCAGGT-1-5, GGGACCTCAGTTCACA-1-1, GTCCACTCACGCTGTG-1-4, GTCTGTCCACGCAGTC-1-5, GACTTCCGTGTTAAAG-1-6
#> PC_ 3
#> Positive: TCAGCCTGTTGCAACT-1-2, GCAGCCAAGGCTTAGG-1-2, TCTAACTAGCTTACGT-1-2, ACCCAAATCTTACCAT-1-2, CTGAATGCACCGTGAC-1-3, AGGGTTTGTCATGACT-1-2, GGGCTCATCTGCGGCA-1-2, CTCCAACCAACGCATT-1-2, GGGCTACCACCAGACC-1-3, CTGCCATCACGTAGTT-1-3
#> ACTCTCGCAAGCCCAC-1-3, CTCATCGAGGAACGAA-1-3, GGTCTGGAGAGAGGGC-1-2, TCCTTCTAGTAGTCTC-1-7, CTCCATGTCGCAGTCG-1-3, GCGTTTCCAGACGGAT-1-2, TTTGTTGCAGCATACT-1-2, TGTCCCAAGCTCGCAC-1-7, CCCTCTCAGAGGATCC-1-3, GTGATGTAGTAGATCA-1-2
#> GTTGTAGTCGGCCAAC-1-7, GGGATCCTCAAGCCGC-1-2, TCGAACAAGCTCTATG-1-7, GTTGAACCATACACCA-1-3, TTTGGTTTCACACCGG-1-2, ACGGGTCTCATTTGGG-1-3, AACAAAGGTTAAGGAT-1-8, AATTTCCAGCTGAAGC-1-7, ACGTAACCAAGATGGC-1-7, GAACGTTTCCTCACTG-1-2
#> Negative: TGCGATATCGAATCCA-1-4, ACGTTCCCACTGGAAG-1-4, TTAGGGTAGCACCGTC-1-4, ACGGAAGTCCCTCTCC-1-4, TGCACGGGTAGGACCA-1-4, TGTTCTAAGGGAGGCA-1-4, TATTCCAGTTCTCCAC-1-1, GTACAGTAGAATCGCG-1-6, CCTTTGGTCGCCAGAC-1-4, ATCCATTTCACGGGCT-1-6
#> ATTACCTTCATTCGGA-1-4, TACACCCCAGTTTCAG-1-4, CAATACGCACACCGAC-1-4, GTAGGAGGTCATCCCT-1-5, AGTCTCCTCTTACTGT-1-4, GCCAGTGTCCATCTCG-1-4, GTAATGCAGATACAGT-1-4, TTAATCCAGTGGCAGT-1-4, CTCCCAATCCACAGGC-1-1, GACTCTCGTAAGTCAA-1-5
#> TGAGTCAAGCGACATG-1-7, TAGACTGTCCCGAAAT-1-4, AAGCGAGTCTTAATCC-1-1, AACCCAAGTTAAGCAA-1-4, TGATCAGTCAAACCTG-1-3, ACCCTCACAACCACAT-1-1, GAGTGAGTCTTCACGC-1-4, TGTAACGCAAGTAGTA-1-1, AGGGAGTGTAGGCTGA-1-5, ATGGAGGAGTAGTCCT-1-1
#> PC_ 4
and so on. I don't know whether a print method could help here, I will look. But I think it is important to confine voluminous outputs almost always ... let the user opt in to seeing the gory details, but the default would be to have a very concise presentation of the associated information.
Let me look into suppressing this output. Thanks.
-----Original Message----- From: Bioconductor/Contributions @.> Sent: Sep 6, 2024 3:18 AM To: Bioconductor/Contributions @.> Cc: michaeldshapiro @.>, Mention @.> Subject: Re: [Bioconductor/Contributions] submitting new package CatsCradle (Issue #3452)
When I review packages with vignettes that include voluminous output I generally ask for reduction. The vignette, especially a quick start, should be relatively pleasing to read. But early on in the current instance we find STranspose = getExample('STranspose')#> Centering and scaling data matrix#> Finding variable features for layer counts#> PC 1 #> Positive: GCCTGTTAGAACCGCA-1-3, TGCATGACAGTGTATC-1-6, AGTGTTGAGCTGTTCA-1-7, GCCCGAATCGCTCCTA-1-2, TATCTGTCATCGATGT-1-2, GTGCACGGTACCTAGT-1-2, GTGACGCAGCTTGTTG-1-4, GAACTGTCAACGGGTA-1-2, TGCACGGGTAGGACCA-1-4, CAATACGCACACCGAC-1-4 #> AGGGAGTAGCAAATCA-1-2, CTCGAGGCATCGATGT-1-2, ACTTCCGGTGGATCAG-1-4, CCATAAGTCGCAATTG-1-3, GAGTTTGAGAAGTCAT-1-2, CTGCATCAGGACAACC-1-7, AGAAATGGTGGGCTTC-1-4, TATTCCAGTTCTCCAC-1-1, CCCGAAGTCCTTCAGC-1-3, GTTCTATTCGCGCCAA-1-3 #> CGATGGCTCAATCCGA-1-4, CTGCCATCATCCTATT-1-3, GAGGCAAAGATTAGAC-1-4, ATGGGAGTCGTTATCT-1-2, CAGCACGCATCCTTCG-1-3, CTCATTAGTAGCTGCC-1-3, TGATCAGTCAAACCTG-1-3, TCTATCATCAGCTAGT-1-2, ATCGTGATCTCATGCC-1-2, ACATGCAAGATAACGT-1-2 #> Negative: GCTTTCGCAAATCGGG-1-4, CCTACGTCATCCTGTC-1-1, CGGACACTCGAGAAGC-1-1, CCTACGTTCACCTACC-1-6, GATGCTACAGACATCT-1-6, TCAAGTGTCACCCATC-1-1, TCGAACAGTCCAATCA-1-1, TTGATGGTCTAACGCA-1-5, CATTGTTTCTAGTCAG-1-1, TTTACTGTCGAGCCTG-1-1 #> AGCATCACAGATTTCG-1-1, ACTACGACATGAAGGC-1-1, ATTTACCCAACCAACT-1-6, CCGAACGGTATGTCTG-1-4, GGTAATCAGTCCCGGT-1-1, GCGTTTCAGGATAATC-1-6, ATTTCACAGACCCGCT-1-1, GCACGGTTCAGGACAG-1-1, CTCAATTGTCGTAATC-1-6, ATCGCCTGTTAATGAG-1-4 #> TAATTCCCATATCTGG-1-1, CGAGAAGAGTCTAGAA-1-6, CTGTGAAAGTCAAGCG-1-1, TTCGATTTCATGGTAC-1-6, GAACGTTAGCCAAGGT-1-4, TCAAGCAAGTACAGCG-1-5, GCCAGGTAGGGAGGCA-1-1, GCAGCCACACTACCCT-1-1, TGTAACGCAATTAGGA-1-1, GGGACCTCAGTTCACA-1-1 #> PC 2 #> Positive: CTAAGTGTCTTACCAT-1-2, GTAGATCAGTTCTCTT-1-2, CACCAAATCGCGGTAC-1-3, GCCAGTGGTCCGGTGT-1-3, GTGCAGCGTTTAGTCG-1-2, GCATTAGCAGCCTATA-1-1, GGTTAACTCTCTTAAC-1-3, ACATCGAGTGTCTTAG-1-1, ACACGCGCACTGGCCA-1-2, TTTCACAAGATTCGCT-1-3 #> GTTACCCGTTCTAACG-1-3, CGTCCATTCACACCGG-1-3, GTCACTCAGGTAGCCA-1-3, TTTGACTGTCGACTTA-1-3, CCTCTAGCAATTGAAG-1-3, AGGAGGTTCGGACTTA-1-2, CCGTTCAGTGCACAAG-1-3, TAACTTCCAATCACGT-1-3, CACGTGGAGTGCACCC-1-3, GTGTAACGTTTATGCG-1-3 #> TGACGCGCACACGTGC-1-3, TAAGCCAGTGATGGCA-1-2, TTGGATGCAGCCCACA-1-3, CCACACTAGCCAAGCA-1-1, TGCGGGTTCTGCGGAC-1-3, CTCAGAAAGACCTCAT-1-3, TGTAAGCAGGTCCAGA-1-3, TGACAGTAGTCACTAC-1-3, TTTAGTCGTCTCTCTG-1-3, TGGGTTAAGTTAGTGA-1-3 #> Negative: GATGCTACAGACATCT-1-6, CCTACGTTCACCTACC-1-6, TTGATGGTCTAACGCA-1-5, CTGCCATCATCAGCGC-1-5, CCGGACACACCAACAT-1-5, GCACGTGAGCTTGTTG-1-5, TCAAGCAAGTACAGCG-1-5, TCGAACAGTCCAATCA-1-1, ATGGGTTGTTAGAGTA-1-5, GTGGGAAGTTCGAACT-1-5 #> CGGAGAAAGACGTCGA-1-5, CATCGTCTCTACGGTA-1-5, GCGTTTCAGGATAATC-1-6, CTTCCTTCACTGTCCT-1-4, AGAACCTTCCTACCAC-1-5, ATTTACCCAACCAACT-1-6, ACTATGGTCAAGGACG-1-5, CAACGGCAGGACTTCT-1-5, CCGAACGGTATGTCTG-1-4, CTCAATTGTCGTAATC-1-6 #> AGACTCAAGTCTAGAA-1-5, GAACGTTAGCACCTGC-1-4, GGGACCTAGGCTCCCA-1-5, GCTTTCGCAAATCGGG-1-4, CATACCCGTCCGGTCA-1-4, TCTTGCGCAAGCAGGT-1-5, GGGACCTCAGTTCACA-1-1, GTCCACTCACGCTGTG-1-4, GTCTGTCCACGCAGTC-1-5, GACTTCCGTGTTAAAG-1-6 #> PC 3 #> Positive: TCAGCCTGTTGCAACT-1-2, GCAGCCAAGGCTTAGG-1-2, TCTAACTAGCTTACGT-1-2, ACCCAAATCTTACCAT-1-2, CTGAATGCACCGTGAC-1-3, AGGGTTTGTCATGACT-1-2, GGGCTCATCTGCGGCA-1-2, CTCCAACCAACGCATT-1-2, GGGCTACCACCAGACC-1-3, CTGCCATCACGTAGTT-1-3 #> ACTCTCGCAAGCCCAC-1-3, CTCATCGAGGAACGAA-1-3, GGTCTGGAGAGAGGGC-1-2, TCCTTCTAGTAGTCTC-1-7, CTCCATGTCGCAGTCG-1-3, GCGTTTCCAGACGGAT-1-2, TTTGTTGCAGCATACT-1-2, TGTCCCAAGCTCGCAC-1-7, CCCTCTCAGAGGATCC-1-3, GTGATGTAGTAGATCA-1-2 #> GTTGTAGTCGGCCAAC-1-7, GGGATCCTCAAGCCGC-1-2, TCGAACAAGCTCTATG-1-7, GTTGAACCATACACCA-1-3, TTTGGTTTCACACCGG-1-2, ACGGGTCTCATTTGGG-1-3, AACAAAGGTTAAGGAT-1-8, AATTTCCAGCTGAAGC-1-7, ACGTAACCAAGATGGC-1-7, GAACGTTTCCTCACTG-1-2 #> Negative: TGCGATATCGAATCCA-1-4, ACGTTCCCACTGGAAG-1-4, TTAGGGTAGCACCGTC-1-4, ACGGAAGTCCCTCTCC-1-4, TGCACGGGTAGGACCA-1-4, TGTTCTAAGGGAGGCA-1-4, TATTCCAGTTCTCCAC-1-1, GTACAGTAGAATCGCG-1-6, CCTTTGGTCGCCAGAC-1-4, ATCCATTTCACGGGCT-1-6 #> ATTACCTTCATTCGGA-1-4, TACACCCCAGTTTCAG-1-4, CAATACGCACACCGAC-1-4, GTAGGAGGTCATCCCT-1-5, AGTCTCCTCTTACTGT-1-4, GCCAGTGTCCATCTCG-1-4, GTAATGCAGATACAGT-1-4, TTAATCCAGTGGCAGT-1-4, CTCCCAATCCACAGGC-1-1, GACTCTCGTAAGTCAA-1-5 #> TGAGTCAAGCGACATG-1-7, TAGACTGTCCCGAAAT-1-4, AAGCGAGTCTTAATCC-1-1, AACCCAAGTTAAGCAA-1-4, TGATCAGTCAAACCTG-1-3, ACCCTCACAACCACAT-1-1, GAGTGAGTCTTCACGC-1-4, TGTAACGCAAGTAGTA-1-1, AGGGAGTGTAGGCTGA-1-5, ATGGAGGAGTAGTCCT-1-1 #> PC 4 and so on. I don't know whether a print method could help here, I will look. But I think it is important to confine voluminous outputs almost always ... let the user opt in to seeing the gory details, but the default would be to have a very concise presentation of the associated information. — Reply to this email directly, view it on GitHub (https://github.com/Bioconductor/Contributions/issues/3452#issuecomment-2333058476), or unsubscribe (https://github.com/notifications/unsubscribe-auth/AL4ZXLBMF7RQHU3ZSGTEKETZVEGG3AVCNFSM6AAAAABIYAYED6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMZTGA2TQNBXGY). You are receiving this because you were mentioned.Message ID: @.***>
Greetings Levi Waldron and thank you for your comment on Bioconductor & Seurat. I think this deserves its own discussion where it won't get lost in the nitty gritty of CatsCradle. Am I right that the way to do this is to ask a question at https://support.bioconductor.org/ ? If so, can I start that by reposting your comment?
Current push significantly reduces running time for the code examples and for the longest running code chunks in the vignettes, and suppresses some of the excessive trace in the vignettes.
Received a valid push on git.bioconductor.org; starting a build for commit id: 6822805920b3990d08a0513bf114eee0cab32b9f
Dear Package contributor,
This is the automated single package builder at bioconductor.org.
Your package has been built on the Bioconductor Single Package Builder.
Congratulations! The package built without errors or warnings on all platforms.
Please see the build report for more details.
The following are build products from R CMD build on the Single Package Builder: Linux (Ubuntu 22.04.3 LTS): CatsCradle_0.99.14.tar.gz
Links above active for 21 days.
Remember: if you submitted your package after July 7th, 2020,
when making changes to your repository push to
git@git.bioconductor.org:packages/CatsCradle
to trigger a new build.
A quick tutorial for setting up remotes and pushing to upstream can be found here.
One unlovely quirk of this package is the need to run getExample = make.getExample() in order to get the example server. This results from the fact that getExample() needs what amounts to a static variable. If someone knows how to do this in a function that we could export, that would be boffo.
Greetings Levi Waldron and thank you for your comment on Bioconductor & Seurat. I think this deserves its own discussion where it won't get lost in the nitty gritty of CatsCradle. Am I right that the way to do this is to ask a question at https://support.bioconductor.org/ ? If so, can I start that by reposting your comment?
Sure!
I don't really understand why we need make.getExample. The documentation says
Using the value 'list' causes it to return the list of
all objects found so far.
and I don't understand what is meant by 'Using the value'.
Why wouldn't you use the data function? It is somewhat peculiar to R but
> data(smallXenium)
> smallXenium
An object of class Seurat
248 features across 4261 samples within 1 assay
Active assay: SCT (248 features, 0 variable features)
2 layers present: counts, data
1 dimensional reduction calculated: umap
1 spatial field of view present: fov
is typical. The code to produce the "toy" subset could be made explicit in any use.
I would recommend eliminating make.getExample, it is a very long function that can be replaced with calls to data() and more explicit operations on the results of data().
I noticed you have your own list of hallmark gene sets. These should be obtained using the msigdb package.
> msigdb.mm = getMsigdb(org = 'mm', id = 'SYM', version = '7.4')
snapshotDate(): 2024-04-29
see ?msigdb and browseVignettes('msigdb') for documentation
downloading 1 resources
retrieving 1 resource
|======================================================================| 100%
loading from cache
> msigdb.mm
GeneSetCollection
names: 10qA1, 10qA2, ..., ZZZ3_TARGET_GENES (44688 total)
unique identifiers: Epm2a, Esr1, ..., Gm52481 (53805 total)
types in collection:
geneIdType: SymbolIdentifier (1 total)
collectionType: BroadCollection (1 total)
> nn = subsetCollection(msigdb.mm, "h")
> nn
GeneSetCollection
names: HALLMARK_ADIPOGENESIS, HALLMARK_ALLOGRAFT_REJECTION, ..., HALLMARK_XENOBIOTIC_METABOLISM (50 total)
unique identifiers: Abca1, Abca4, ..., Upb1 (5435 total)
types in collection:
geneIdType: SymbolIdentifier (1 total)
collectionType: BroadCollection (1 total)
This gives us self-documenting representations and programmatic conversion between identifier types.
We're certainly open to an alternative to make.getExample() and getExample(), but we introduced them to solve a problem. There are a lot of things that the package computes for spatial data, and there are chains of computations - Z is computed from Y which is computed from X which is computed from W which is computed from the spatial Seurat object data smallXenium. Originally, we had all of these as example data and this badly exceeded our space allotment. The solution was to keep the objects at the beginning of these chains together with some relatively small things that require long computations and to create the others as requested. Hence, getExample(). Each object which is not in data/ knows how to compute itself from its antecedents, and voila!
However, we wanted to avoid the time sink of recreating each antecedent each time it was needed. Hence the "static variable" alreadyFound = list() and the more recently added toysFound, and accordingly getExample = make.getExample().
We're all ears if there's a better way to solve these problems.
-----Original Message----- From: Bioconductor/Contributions @.> Sent: Sep 8, 2024 12:06 PM To: Bioconductor/Contributions @.> Cc: michaeldshapiro @.>, Mention @.> Subject: Re: [Bioconductor/Contributions] submitting new package CatsCradle (Issue #3452)
I noticed you have your own list of hallmark gene sets. These should be obtained using the msigdb package.
msigdb.mm = getMsigdb(org = 'mm', id = 'SYM', version = '7.4')snapshotDate(): 2024-04-29see ?msigdb and browseVignettes('msigdb') for documentationdownloading 1 resourcesretrieving 1 resource |======================================================================| 100%loading from cache> msigdb.mmGeneSetCollection names: 10qA1, 10qA2, ..., ZZZ3_TARGET_GENES (44688 total) unique identifiers: Epm2a, Esr1, ..., Gm52481 (53805 total) types in collection: geneIdType: SymbolIdentifier (1 total) collectionType: BroadCollection (1 total)> nn = subsetCollection(msigdb.mm, "h")> nnGeneSetCollection names: HALLMARK_ADIPOGENESIS, HALLMARK_ALLOGRAFT_REJECTION, ..., HALLMARK_XENOBIOTIC_METABOLISM (50 total) unique identifiers: Abca1, Abca4, ..., Upb1 (5435 total) types in collection: geneIdType: SymbolIdentifier (1 total) collectionType: BroadCollection (1 total)This gives us self-documenting representations and programmatic conversion between identifier types. — Reply to this email directly, view it on GitHub (https://github.com/Bioconductor/Contributions/issues/3452#issuecomment-2336643282), or unsubscribe (https://github.com/notifications/unsubscribe-auth/AL4ZXLD3KKGKZM7RXH4DJZDZVQVU3AVCNFSM6AAAAABIYAYED6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMZWGY2DGMRYGI). You are receiving this because you were mentioned.Message ID: @.***>
OK, I drop the point about make.getExample. We will discuss internally whether alternate arrangements are worthwhile and will advise if needed.
In the quick start for SingleCellExperiment (and other places), please use message=FALSE in your chunk declarations for chunks that do library(), so the additional load/attach messages are suppressed. Also it is a good idea to name the code chunks with unique labels, makes it easier to track down errors.
```{r [unique label], message=FALSE}
would be the typical initiation of a code chunk
Received a valid push on git.bioconductor.org; starting a build for commit id: 352bda5c4c82552e51eead9077bee05d792cfda3
In this update:
On another front, I wanted to follow up on Levi's comments about interoperability by opening a separate discussion for this, but wasn't sure where is the optimal place to do that.
Dear Package contributor,
This is the automated single package builder at bioconductor.org.
Your package has been built on the Bioconductor Single Package Builder.
Congratulations! The package built without errors or warnings on all platforms.
Please see the build report for more details.
The following are build products from R CMD build on the Single Package Builder: Linux (Ubuntu 22.04.3 LTS): CatsCradle_0.99.15.tar.gz
Links above active for 21 days.
Remember: if you submitted your package after July 7th, 2020,
when making changes to your repository push to
git@git.bioconductor.org:packages/CatsCradle
to trigger a new build.
A quick tutorial for setting up remotes and pushing to upstream can be found here.
Good morning! (Your time zone may vary.) We updated the package last week in response to the latest round of suggestions.
Thought I would check in and see how things are progressing. Cheers.
Thanks, trying to get back to it soon.
Hi. I can guess. You're swamped. But I wanted to check in and see if we can get back to this. Michael doesn't have that much longer in the current position and it would be nice to get things done and dusted before handing things off to Anna. Please let us know if there's anything we can do at this end.
I think we are in good shape, just one more sweep and I will likely accept. Hold steady.
Your package has been accepted. It will be added to the Bioconductor nightly builds.
Thank you for contributing to Bioconductor!
Reviewers for Bioconductor packages are volunteers from the Bioconductor community. If you are interested in becoming a Bioconductor package reviewer, please see Reviewers Expectations.
Many thanks for rescuing this project (not to mention my state of mind) and thanks again for a thorough and helpful review.
The default branch of your GitHub repository has been added to Bioconductor's git repository as branch devel.
To use the git.bioconductor.org repository, we need an 'ssh' key to associate with your github user name. If your GitHub account already has ssh public keys (https://github.com/michaeldshapiro.keys is not empty), then no further steps are required. Otherwise, do the following:
See further instructions at
https://bioconductor.org/developers/how-to/git/
for working with this repository. See especially
https://bioconductor.org/developers/how-to/git/new-package-workflow/ https://bioconductor.org/developers/how-to/git/sync-existing-repositories/
to keep your GitHub and Bioconductor repositories in sync.
Your package will be included in the next nigthly 'devel' build (check-out from git at about 6 pm Eastern; build completion around 2pm Eastern the next day) at
https://bioconductor.org/checkResults/
(Builds sometimes fail, so ensure that the date stamps on the main landing page are consistent with the addition of your package). Once the package builds successfully, you package will be available for download in the 'Devel' version of Bioconductor using BiocManager::install("CatsCradle")
. The package 'landing page' will be created at
https://bioconductor.org/packages/CatsCradle
If you have any questions, please contact the bioc-devel mailing list (https://stat.ethz.ch/mailman/listinfo/bioc-devel); this issue will not be monitored further.
Update the following URL to point to the GitHub repository of the package you wish to submit to Bioconductor
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:
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.