将ucsc的编码元数据转换为pandas数据帧

encode-dataframe的Python项目详细描述


我想要一种更好的方法来探索和下载编码中的原始数据 项目。

例如,我想获取在 未导入的MEL单元(来自MM9程序集)。

一种策略是单独通过每个轨道枢纽(如组蛋白 来自licr的mods,http://genome.cit.nih.gov/cgi-bin/hgFileUi?db=mm9&g=wgEncodeLicrHistone),分别过滤数据和下载文件。

另一个策略是直接进入下载页面 (http://hgdownload.cse.ucsc.edu/goldenPath/mm9/encodeDCC/wgEncodeLicrHistone/) 并提取以.bam结尾的文件。

这个小软件包利用了files.txt文件(这里有一个example) 它描述了下载页面上的所有元数据。

files.txt文件从程序集中的每个编码磁道集线器下载 感兴趣的。然后这些文件被解析并连接成一个 bigpandas.dataframe可用于查找您关心的数据。

安装

pip install encode-dataframe

用法

镜像文件。这可能需要一分钟左右。如果你克隆了Git repo,你已经有mm9文件的副本了。

>>> import encode_dataframe as edf
>>> edf.mirror_metadata_files('mm9')

创建大数据帧:

>>> df = edf.encode_dataframe('mm9')
>>> len(df)
5865

有了数据帧,我们现在可以切片和骰子得到我们关心的数据 关于。最后我想对mel细胞进行chromhmm分割,但是 我需要先得到数据…

选择单元格类型

>>> interesting = df.cell == 'MEL'

只有BAM文件

>>> interesting &= df.type == 'bam'

只有芯片或数据序列

>>> interesting &= df.dataType.isin(['ChipSeq', 'DnaseSeq'])

只有未经治疗(在本例中,未经诱导)的细胞:

>>> interesting &= df.treatment != 'DMSO_2.0pct'

只有一个复制(有些有2个或3个)

>>> interesting &= df.replicate == '1'

只有那些没有问题的(看起来像老版本 在objstatus字段中输入一些文本:

>>> interesting &= df.objStatus.isnull()

我们要和多少人一起工作?

>>> m = df[interesting]
>>> len(m)
60

其中有些是控件(input或igg),有些是重复的(looks 就像h3k4me3芯片seq使用了两个不同的对照;ctcf是由不同的 小组)。有多少独特的抗体?

>>> len(m.antibody.unique())
46

下面是我应该下载的文件:

>>> urls = m.url.values

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

推荐PyPI第三方库


热门话题
java Android:在ListView上使用setOnItemClickListener   使用Netbeans 7.0连接到SQL Server的java正在挂起   java Spring3依赖项注入不适用于mule   java Flink SQL结果字段与LocalDateTime上请求的类型错误不匹配   java找不到文件的结尾   考虑到NamingStrategy,java有没有办法将字符串转换为JsonNode?   使用Netbeans/ant部署java(命令行)应用程序   java如何修复Spring引导多部分上载中的“所需请求部分不存在”   java在应用程序启动时通过引用获取映射未知目标实体属性异常   java形状旋转问题Java2d   Weblogic服务器上的java ExecuteAndWaitInterceptor问题   JavaSpringBoot:project将图像保存在错误的路径中,并且在使用IDEIntellji打开时不显示图像   类向java接口添加方法   Swing组件上的Java 7泛型   sql server如何从java获取用户名。sql。联系   java如何检查该行是否与正则表达式(regex)冲突?   java如何在spring引导安全中为计数失败登录设置验证登录为false   图像如何在Java中使PNG的白色透明?