Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

未来开发计划 #44

Closed
9 tasks
ShixiangWang opened this issue Oct 20, 2019 · 11 comments
Closed
9 tasks

未来开发计划 #44

ShixiangWang opened this issue Oct 20, 2019 · 11 comments

Comments

@ShixiangWang
Copy link
Member

ShixiangWang commented Oct 20, 2019

这个项目很久没有活动了,之前想要依赖大家轮流主持进行开发也未能成行。不过,我们之前的成果是可见的,这个包有1000多次的下载。借此项目的交流我也初步了解了大家的Shiny开发水平,都比我更有经验~

接下来,我们项目将以重构为契机,以”简约、实用、持续可拓展“为核心,推进 XenaShiny 的更新换代。

接下来的任务主要有以下几个方面:

  • 整个 Shiny 界面框架的设计。这个大家都比我有经验得多,希望能够大家讨论并有人举爪实现它,最近赵飞有说过一个很火的框架?。 主要将有以下几个页面:
    • Repository
    • General analysis toolkit
    • Functional Modules
    • Help
    • Developers

每个页面需要支持折叠,这样可以节省空间。上面只要设计大体的框架就可以了。我记得之前看过李胤设计的几个Shiny,里面有很多不错的界面特性。

下面是具体的内容开发:

  • Repository,也可以命名为 Home,在现在的 Repository 上进行修改,增补一个搜索栏。各组件位置的排布和功能的衔接可以讨论下怎么改进。
  • General analysis toolkit,通用数据分析箱,用于数据结构级别的处理、转换、可视化。有空请大家阅读 https://shixiangwang.github.io/home/en/tools/ucscxenatools-api/,了解下 Xena Shiny 的结构和已有的一些操作函数。我把最重要的信息拷贝下来:

Data rows are associated with “sample” IDs.
Sample IDs are unique within a “cohort”. s A “dataset” is a particular assay of a cohort, e.g. gene expression.
Datasets have associated metadata, specifying their data type and cohort.
There are three primary data types: dense matrix (samples by probes), sparse (sample, position, variant), and segmented (sample, position, value).
Dense matrices can be genotypic or phenotypic. Phenotypic matrices have associated field metadata (descriptive names, codes, etc.). Genotypic matricies may have an associated probeMap, which maps probes to genomic locations. If a matrix has hugo probeMap, the probes themselves are gene names. Otherwise, a probeMap is used to map a gene location to a set of probes.

  • Functional Modules,功能性数据分析模块,用于放置带生物学目的的分析功能和流程,有多少可以加多少
  • Help:用于版本更新说明和使用文档
  • Developers 开发者信息展示

目前最重要的任务:

  • 设计和使用框架
  • Repository 页面的功能讨论(更好的组织和表现形式)和修改实现,以及相关RStudio插件,用于支持选择数据后往 RStudio 插入相应的下载代码,以帮助提高分析可重复性
  • General analysis toolkit: 3类数据结构处理功能的讨论与实现
    • dense matrix (samples by probes)
    • sparse (sample, position, variant)
    • segmented (sample, position, value)

其他暂时不用管。

接下来进行一个星期的讨论,然后分配和认领任务。

@ShixiangWang ShixiangWang added this to To do in xenashiny via automation Oct 20, 2019
@ShixiangWang ShixiangWang added this to the 2019-10-27 milestone Oct 20, 2019
@fei0810
Copy link
Contributor

fei0810 commented Oct 20, 2019

https://thinkr-open.github.io/building-shiny-apps-workflow/

@fei0810
Copy link
Contributor

fei0810 commented Oct 20, 2019

最近在看这个书,对应的就是上次提到的golem这个shiny开发工具包。要不大家看看考虑下可不可以用这个?我个人觉得还行

@ShixiangWang
Copy link
Member Author

@fei0810 大概看了下,很棒的书和包。大家有空都可以快速看看,然后发表下看法。 目前 repository 页面感官和使用体验并不好,而其他功能的开发也没什么进展,所以我用了“重构”一词,希望大家能够以全新的想法来看待这个项目和充分思考,以及投入热情。

@ShixiangWang
Copy link
Member Author

另外,以后我可能会把项目的相关讨论放到组织的论坛中,大家也可以在论坛上分享与项目相关的学习和开发知识。

@yinlisssss
Copy link
Contributor

shiny是一个功能一个功能的叠加上去的。。一下搞所有框架好像比较难,可以一个功能一个功能往上加,最后设计界面[Smirk]

@ShixiangWang
Copy link
Member Author

@yinlisssss 这个想法也不错👍

@kaigu1990
Copy link
Contributor

kaigu1990 commented Oct 21, 2019

听着不错!是指先做一个个功能的小demo,然后再用框架合起来的一起吗?我框架这类的之前没用过~啥时候大家一起来讨论下呗。。。话说这样会造成重复工作吗

@ShixiangWang
Copy link
Member Author

这几天是工作日,大家可以先热身思考下,或者找找资料学习。周末大家抽一个小时集中讨论下

@ShixiangWang
Copy link
Member Author

钉钉可能要被组织弃用了,大家发下微信号,我拉个群。

@longfei8533
Copy link
Contributor

钉钉可能要被组织弃用了,大家发下微信号,我拉个群。
longfei8533

@ShixiangWang
Copy link
Member Author

ShixiangWang commented Oct 28, 2019

根据之前的讨论内容,接下来一个星期请大家讨论下可以开发的功能,如果时间比较空余,可以选择进行一些开发工作。

开发目前有3个方面的事情需要进行讨论:

  1. 我对目前的 Repository 页面感觉并不是很好,有时候点击有Bug,大家是否有更好地组织形式和实现方式?另外这个我想引入一个 RStudio 的插件功能,以方便用户选择数据后往 RStudio 插入相应下载代码,提高数据的可重复性。
  2. 通用功能开发,大家根据 Xena 数据集的数据结构提一些常用的数据处理、转换和可视化功能
  3. 分析功能开发,大家根据 Xena 数据集提供的生物信息提出一些常用的处理、分析和可视化功能

对于上述的讨论之后总结为一些需要实现的点,先分别进行相关的实现,然后组织成新的XenaShiny包。

关于开发的框架我们将使用赵飞推荐的{golem},相关资料如下,请大家抽空进行阅读和学习。我们现在的任务是讨论最需要开发的内容,然后先分别实现它们(遵循一定的一致性逻辑),同时学习新的框架工具,再将它们组织起来。

Resources

The Book :

Blog posts :

Building Big Shiny Apps

Slide decks

Video

Cheatsheet

xenashiny automation moved this from To do to Done Nov 30, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
xenashiny
  
Done
Development

No branches or pull requests

5 participants