imagemagick。
示例
下载并规范GM12878和K562单元类型的示例数据:
/test.sh
打开python控制台并运行以下命令
frommultimdsimportmultimdsstruct1,struct2=multimds.full_mds("hic_data/GM12878_combined_21_100kb.bed","hic_data/K562_21_100kb.bed")frommultimdsimportplottingplotting.plot_structures_interactive((struct1,struct2))
输入文件
multimds使用染色体内床文件作为输入。在使用之前,必须对数据进行规范化(例如,使用HIC Pro)。
格式:
< Buff行情>chrom bin1_start bin1_end chrom bin2_start bin2_end normalized_contact_frequency
示例-分辨率为10 kbp的chr21数据:
< Buff行情>chr21 16050000 16060000 chr21 16050000 16060000 12441.5189291
…
重要提示:床文件必须是相同的物种、染色体和分辨率!
输出文件
重新定位
每个轨迹的重新定位被写入bed文件,格式为[prefix1][prefix2]\u relocalization.bed
例如
的输出
multimds.full_mds("hic_data/GM12878_combined_21_100kb.bed","hic_data/K562_21_100kb.bed")
GM12878_21_100kb_k562_21_100kb_重新定位。床
结构文件
对齐的结构保存到TSV文件中,可用于打印(见下文)。标题包含染色体的名称、分辨率和起始基因组坐标。文件中的每一行都包含基因组箱号,后跟3d坐标(缺少数据时用"nan"。
示例-分辨率为10 kb的chr21:
< Buff行情>ChR21
10000<P>
16050000
0.589878298045 0.200029092421 0.182515056542
1 0.592088232028 0.213915817254 0.186657230841
2南-南-南
…
0对应料仓16050000-16060000,1对应料仓16060000-16070000等。
差额罚款
差异惩罚控制输出结构的相似程度。较高的值意味着该算法对差异的惩罚更大。默认设置为0.05,但建议对此进行更改。
struct1,struct2=multimds.full_mds("hic_data/GM12878_combined_21_100kb.bed","hic_data/K562_21_100kb.bed",penalty=0.02)
建议达到再现性的最低惩罚。脚本reproducibility.py(在scripts目录中)以该参数的不同值绘制可再现性。选择再现性水平增加停止的参数。
例如运行
frommultimdsimportreproducibilityreproducibility.plot_reproducibility("hic_data/GM12878_combined_21_100kb.bed","hic_data/K562_21_100kb.bed")
输出:
在本例中,0.05的惩罚效果最好。
绘图
加载结构:
frommultimdsimportdata_toolsstructure=data_tools.structure_from_file("GM12878_combined_21_100kb_structure.tsv")
在Mayavi中创建交互式三维绘图。(mayavi允许您旋转图像并保存视图。)
frommultimdsimportplottingplotting.plot_structure_interactive(structure,color=(0,0.5,0.7),radius=0.01,enrichments=range(len(structure.getPoints())))
如果未选择"半径",则使用异染色质半径。
enrichments是一个向量,对于结构中的每个bin(即没有nan坐标的bin)都有一个数值。例如,这可以表示每个bin的chip seq enrichment。此选项覆盖颜色并将使用彩虹颜色映射,蓝色表示低值,红色表示高值。
可以同时绘制多个结构:
chroms=(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,21,X)structures=[data_tools.structure_from_file("GM12878_combined_{}_100kb_structure.tsv".format(chrom)forchrominchroms)]plotting.plot_structures_interactive(structures)
绘图模块有23种内置颜色,设计最大程度地不同于人眼。默认情况下,打印多个结构时使用这些颜色。您还可以指定颜色列表:
chroms=(1,2)structures=[data_tools.structure_from_file("GM12878_combined_{}_100kb_structure.tsv".format(chrom)forchrominchroms)]plotting.plot_structures_interactive(structures,colors=[(1,0,0),(0,0,1)])
所有富集元素都是富集元素的列表,例如
plotting.plot_structures_interactive(structures,all_enrichments=[enrichments1,enrichments2])
也可以如上所述指定半径。
选项"剪切"创建绘图的横截面。例如,这对于查看细胞核的内部非常有用。
frommultimdsimportmultimdsstruct1,struct2=multimds.full_mds("hic_data/GM12878_combined_21_100kb.bed","hic_data/K562_21_100kb.bed")frommultimdsimportplottingplotting.plot_structures_interactive((struct1,struct2))
0
绘图可以保存为gif:
frommultimdsimportmultimdsstruct1,struct2=multimds.full_mds("hic_data/GM12878_combined_21_100kb.bed","hic_data/K562_21_100kb.bed")frommultimdsimportplottingplotting.plot_structures_interactive((struct1,struct2))
1
将创建struct.gif
值越小,增量越小,gif越平滑。增量必须是360的系数。
在一个gif中也可以绘制多个结构:
frommultimdsimportmultimdsstruct1,struct2=multimds.full_mds("hic_data/GM12878_combined_21_100kb.bed","hic_data/K562_21_100kb.bed")frommultimdsimportplottingplotting.plot_structures_interactive((struct1,struct2))
2
选项
输出前缀
您可以为输出文件使用自定义前缀。例如
frommultimdsimportmultimdsstruct1,struct2=multimds.full_mds("hic_data/GM12878_combined_21_100kb.bed","hic_data/K562_21_100kb.bed")frommultimdsimportplottingplotting.plot_structures_interactive((struct1,struct2))
3
将输出test_gm12878_21_10kb_结构.tsv,test_k562_21_10kb_结构.tsv,test_gm12878_21_10kb_k562_21_10kb_重新定位.bed
之前的
接触频率指数衰减与基因组分离是hi-c数据的一个特征。为了降低噪声,minimds先用距离衰减校正接触频率。默认前权重为0.05。
frommultimdsimportmultimdsstruct1,struct2=multimds.full_mds("hic_data/GM12878_combined_21_100kb.bed","hic_data/K562_21_100kb.bed")frommultimdsimportplottingplotting.plot_structures_interactive((struct1,struct2))
4
w可以是介于0和1之间的任意值,包括0和1。
分区MDS
分区MDS对于非常大的数据集更有效。
frommultimdsimportmultimdsstruct1,struct2=multimds.full_mds("hic_data/GM12878_combined_21_100kb.bed","hic_data/K562_21_100kb.bed")frommultimdsimportplottingplotting.plot_structures_interactive((struct1,struct2))
5
分区数
为了提高效率和准确性,在结构推理步骤中使用了分区。默认情况下使用4个分区。分区数必须是偶数。
frommultimdsimportmultimdsstruct1,struct2=multimds.full_mds("hic_data/GM12878_combined_21_100kb.bed","hic_data/K562_21_100kb.bed")frommultimdsimportplottingplotting.plot_structures_interactive((struct1,struct2))
6
限制任何给定分区使用的最大RAM(以KB为单位)(默认值:32000000):
frommultimdsimportmultimdsstruct1,struct2=multimds.full_mds("hic_data/GM12878_combined_21_100kb.bed","hic_data/K562_21_100kb.bed")frommultimdsimportplottingplotting.plot_structures_interactive((struct1,struct2))
7
分辨率
分块mds首先在低分辨率下推断出一个全局的染色体内结构,作为高分辨率推断的支架。默认情况下,使用10的分辨率。因此,如果输入文件的分辨率为100 KB,则将使用1 MB的结构进行近似。
frommultimdsimportmultimdsstruct1,struct2=multimds.full_mds("hic_data/GM12878_combined_21_100kb.bed","hic_data/K562_21_100kb.bed")frommultimdsimportplottingplotting.plot_structures_interactive((struct1,struct2))
8
您选择的值取决于您在速度和精度之间的权衡(但必须是整数)。较低的分辨率(即较高的比率)更快,但精确度较低。
线程数
multimds使用多线程来获得更高的速度。默认情况下,请求3个线程,因为这对于标准的4核桌面计算机是安全的。但是,无论请求什么,使用的线程数都不会超过处理器数或分区数。
frommultimdsimportmultimdsstruct1,struct2=multimds.full_mds("hic_data/GM12878_combined_21_100kb.bed","hic_data/K562_21_100kb.bed")frommultimdsimportplottingplotting.plot_structures_interactive((struct1,struct2))
9
比例因子
比例因子a描述了接触频率和物理距离之间的假定关系:距离=接触频率^(-1/a)。默认值是4,基于Wang等人的2016年。
multimds.full_mds("hic_data/GM12878_combined_21_100kb.bed","hic_data/K562_21_100kb.bed")
0
再现图形
可以在scripts目录中找到从纸张复制图形的shell脚本。
要求:
欢迎加入QQ群-->: 979659372
推荐PyPI第三方库