各种癌症基因组数据集的预处理

cancer-data的Python项目详细描述


癌症数据

这个软件包提供了访问癌症研究中常用数据集的统一方法。在

Full documentation

安装

pip install cancer_data

系统要求

原始下载的文件大约占用15gb,处理过的hdf占用大约10gb。在一个相对较新的机器上,下载后处理所有文件需要3-4个小时。建议使用至少16GB的RAM来处理大型拼接表。在

数据集

数据集的完整描述可以在schema.csv中找到。在

CollectionDatasetsPortal
Cancer Cell Line Encyclopedia (CCLE)Many (see portal)https://portals.broadinstitute.org/ccle/data (registration required)
Cancer Dependency Map (DepMap)Genome-wide CRISPR-cas9 and RNAi screens, gene expression, mutations, and copy numberhttps://depmap.org/portal/download/
The Cancer Genome Atlas (TCGA)Mutations, RNAseq expression and splicing, and copy numberhttps://xenabrowser.net/datapages/?cohort=TCGA%20Pan-Cancer%20(PANCAN)&removeHub=https%3A%2F%2Fxena.treehouse.gi.ucsc.edu%3A443
The Genotype-Tissue Expression (GTEx) ProjectRNAseq expression and splicinghttps://gtexportal.org/home/datasets

特点

这个软件包的目标是使这些数据集的统计分析和协调更加容易。最后,它提供了以下功能:

  1. 协调:集合中的数据集将样本ID缩减为相同的格式。例如,所有CCLE+DepMap数据集都被修改为使用Achilles/Arxspan id,而不是细胞系名称。在
  2. 速度:处理过的数据集都存储在高性能的HDF5 format中,允许加载大表的速度比使用CSV或TSV格式快几个数量级。在
  3. 空间:纯数值表(如基因表达、甲基化、药物敏感性)以半精度格式存储。压缩用于所有表,导致稀疏矩阵(如突变表)的大小减少10倍以上,而高度冗余的表(如基因水平的拷贝数估计)的大小缩减超过50倍。在

工作原理

schema用作所使用的所有数据集的参考点。每个数据集由一个唯一的id列标识,该列也用作其访问标识符。在

download_url中指定的位置下载数据集,然后根据提供的downloaded_md5哈希检查它们。在

接下来的步骤取决于数据集的type

  • reference数据集,如hg19 FASTA文件,保持原样。在
  • primary_dataset对象被预处理并转换为HDF5格式。在
  • secondary_dataset对象定义为由primary_dataset对象构成。这些文件也会被处理并转换成HDF5格式。在

为了跟踪生成另一个数据集所需的数据集,dependencies列指定生成另一个数据集所需的数据集id。例如,ccle_proteomics数据集依赖于ccle_annotations数据集,用于将细胞系名称转换为致命弱点。如果发现不符合依赖项,则会在发现依赖项时自动引发处理错误。在

注释

有些数据集已应用筛选以减小其大小。具体如下:

  • 对CCLE、GTEx和TCGA剪接数据集进行了过滤,去除了许多缺失值和低标准差的剪接事件。在
  • 当构造二元突变矩阵(depmap_damagingdepmap_hotspot)时,使用最小突变频率来消除特别罕见(少于四个样本)的突变。在
  • tcgamx拼接数据集非常大(大约10000行×900000列),因此它被按列划分为8个块。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
使用Scala对Java进行单元测试?   java无法将应用程序部署到Tomcat   java如何在IntelliJ IDEA中创建补丁?   java如何在安卓中编程设置列表视图高度   java如何使用charAt检查字符串是否以AZ或AZ开头?   java在SQL查询中使用非限制值   java函数在不同的Android版本中返回不同的datetime值   java方法应该在实现动作的类中,还是在实现的类中?   java从另一个线程的类访问线程类的公共静态arrayList   java是否像重新引发相同的异常?   java如何从localhost访问本地文件   javaurl。openStream非常慢   java数组越界和空指针异常   java我只是在某种程度上破坏了Netbeans,我不知道如何修复它   java是否可以延迟类的加载,而这些类可能在以后动态加载?   java断开外壳输出到文件   从blob服务回调时出现java Google应用程序引擎错误   java将SparseArray存储在JSON中并使用它   使用IText for Java进行pdf文本定位   java如何更改SearchView的样式?