🎨
booknote
  • Zpliu'Booknote
  • ggplot2
    • 不继承原有数据
    • Untitled Folder 1
      • 直方图绘制
    • 02基于Github笔记实现
    • 回归分析
    • 饼图
    • Theme函数
    • 直方图
    • 分面
    • pheatmap
    • 折线图
    • 桑基图
    • GO富集分析图
    • jupyter内使用R
    • 维恩图
    • 自定义图例
    • ggridges 山峦图
    • GO气泡图
    • 散点图
    • 从数据框中计算频率
    • 箱型图
  • 前端操作
    • 实例练习
      • 动态搜索网页
        • 后端
          • Node 服务框架
          • primer数据表的增删改查
          • 前端post请求
          • login 验证
          • Vue模板
            • Vue-router前端渲染
            • main.vue
          • 基于cookie登录验证
          • 使用mysql包进行数据库的交互
          • 数据库表
            • 学生信息表
            • 用户登录表
            • mysql 事务
            • 教师表
            • 引物表
          • mysql服务
          • html模板页面
            • 错误模板页
          • 08文件上传与下载
        • 解决webpack打包后文件过大问题
        • 前端
          • vue
            • 基于element-ui框架
            • 06 个人主页
            • 08上传组件el-upload
            • element-ui
            • Vue 构建前端框架
            • login登录界面
            • 07表格多选
            • show-data页面
          • vue-cookie
          • vue-router
            • 路由组件传参
        • Appach代理服务转发node
      • pie-progress
        • 01
      • 登录界面
      • Untitled
    • JavaScript
      • fasta文件校验
      • codewar中的练习题
      • 6kyu
      • chapter03
        • 数据类型
      • tweenjs
    • css
      • CSS布局
      • 02定位
    • 前端使用ajax进行异步请求
    • gitbook
    • html
      • 03表格
      • Vue星空
    • Log for study
  • 可变剪切
    • 第六次分析
      • 设计引物
      • 多倍化过程中的变化3
      • 不同棉种间AS的差异
      • At与Dt中不存在保守转录本的基因
      • AS调控基因表达
      • 多倍化过程中变化2
      • 可变剪切统计
      • 可变剪切的进化分析
      • 保守AS模式的鉴定
      • 提纲
      • 可变剪切的翻译分析
      • 多倍化过程中isoform的变化
      • 表观遗传在AS中的作用
      • 全长转录本数据的统计
      • 表观遗传在AS中的作用2
    • 03表观遗传与可变剪切
    • 数据处理流程
      • 计算同源基因间AS的保守程度
      • 重新开始鉴定AS.md
      • 统计IR保守性比例
      • 基因分类
      • 20200111可变剪切数目统计
      • 完全保守的基因对
      • 20200315
      • 20200214
      • 第三个结果
      • 20191230对AS类型进行定义
      • AS保守程度的统计
      • 20200219合并IR
      • 20200320
      • IR事件保守的长度
      • 分析同源基因中发生IR事件的频率
      • 保守的IR的长度统计
      • 筛选基因用于GO富集分析
      • 2020102把没有发生剪切事件的位置找出来
      • 对剪切事件进行分类
      • 06比较不同棉种中isform的差异
      • 甲基化数据处理
      • 寻找motif
      • 根据IR的保守程度对基因进行GO富集分析
      • 分析同源基因间可变剪切的差异
      • 基于前面已经分好的类进行统计
      • 寻找同源基因对应的位点
      • 对同源基因的剪切事件进行分类.md
      • 分析染色体上各种特征
      • HIN1下游调控基因的分析
      • intron 分布
      • 20200102GO富集分析
      • 01全长转录组数据处理
      • 甲基化重复间的处理
    • 文献理解
      • 10核小体定位决定外显子识别
      • 22
      • 09梨树中两个亚基因组经历unbiased 进化
      • 11RNA介导的局部染色质修饰对可变剪切的调控
      • 19讨论染色质开放程度与IR的关系
      • 03植物中的表观遗传
      • 06甲基化在拟南芥开花过程中的研究
      • 20可变剪切的进化
      • 14干旱积累对HIN1蛋白剪切效率的影响
      • 18内含子保留事件中不断变化的范式和调控方式
      • 04从RNA-seq研究可变剪切
      • 16多种RNA-seq策略揭示棉花中高精度的转录态势
      • 07ChIp-seq测序原理 chromatin immunoprecipitation
      • 05甲基化测序数据比对原理
      • 13使用iso-seq分析高粱转录本数据
      • 15POWERDRESS与HDA9相互作用促进去乙酰化
      • 12通过转录与染色质结构的耦合调控可变剪切
      • 英语句子
      • paper list
      • 01多组学数据揭示表观遗传
      • 02A global survey of alternative splicing in allopolyploid cotton: landscape, complexity and regulat
      • 17可变剪切与表观遗传导致白血病
      • 21smallRNA与DNA甲基化
    • 文章提纲
    • AS多倍化过程中的变化
    • 软件使用
      • 01三代测序Iso-seq
      • Bedtools
      • iso-seq测序2.0版本
      • 02Chip-seq操作流程
      • EMBOSS
      • 05鉴定duplicate gene
      • 07kobas本地进行注释
      • MEME本地化
      • DNA甲基化分析流程
      • stringtie
    • 第7个结果
    • 原始数据处理
      • 01三代测序数据原理
      • 02测序read数目统计
    • 第8个结果
    • 第五次分析
      • isoform水平分析
      • rmats2sashimiplot
      • 可变剪切的鉴定
      • 使用单个样本的数据进行AS分析
    • 表观遗传
    • 保守AS的鉴定
    • 第四次分析了
      • 甲基化计算
      • AS统计
      • 分析IR在各个基因组的保守性
    • 第三次对AS进行统计
      • 鉴定DRMs区域
      • 04
      • 重新下载原始数据进行比对
      • 02
      • 01
    • 第三个结果
    • 原始read的分类
    • 表观数据分析
    • 从RNA-seq研究可变剪切
  • 文献
    • 表观遗传
      • 植物中甲基化机制以及靶向操纵工具
    • 陈增建老师
      • 文章
    • 可变剪切
      • Post-transcriptional splicing of nascent RNA contributes to widespread intron retention in plants
      • Variant phasing and haplotypic expression from long-read sequencing in maize
      • 02
      • 01
      • 可变剪接的研究进展及展望
      • 06
      • Co-expression networks reveal the tissue-specific regulation of transcription and splicing
    • panGenome
      • 番茄中广泛的结构变异对基因表达和性状改良中的作用
    • TWAS
      • TWAS解读
    • 数量遗传older
      • Reinventing quantitative genetics for plant breeding: something old, something new, something borrow
    • Untitled 1
    • 多倍化
      • Measuring and interpreting transposable element expression
      • Homoeolog expression bias and expression level dominance (ELD) in four tissues of natural allotetrap
    • 转录调控
      • 指导植物RNA聚合酶II转录的‘GPS’
      • 02综述
    • 3D基因组
      • Methods for mapping 3D chromosome architecture
      • 由粘连蛋白介导的人类基因组中染色体loop图谱
      • 经典Hi-C文献
      • 小麦染色质被组装成基因组疆域和转录工厂
      • Lamina-associated domains: peripheral matters and internal affairs
      • Three-dimensional chromatin landscapes in T cell acute lymphoblastic leukemia
      • Disruption of chromatin folding domains by somatic genomic rearrangements in human cancer
      • Evolutionary dynamics of 3D genome architecture following polyploidization in cotton
      • On the existence and functionality of topologically associating domains
    • Untitled
    • GWAS
      • Population Genomic Analysis and De Novo Assembly Reveal the Origin of Weedy Rice as an Evolutionary
  • CRISP Case9
    • sgRNA设计
    • 01编辑效率检测
    • Hi-TOM
    • 02检查单株覆盖度
  • python
    • matplotlib
      • 图片的基本设置
      • 韦恩图
      • 折线图
      • 堆积直方图
      • 散点图
      • imshow绘制热图
    • 爬虫
      • 根据关键字获取对应的基因
      • TE
    • 多进程
    • 基于模块化编程
    • pybedtools
      • 01API
    • 高级特性
      • 列表操作
      • pickle
    • SOS
      • Script of scripts (SOS)
    • python 解析命令行参数
    • 简单实现python多进程
    • gffutils
      • gffutils
    • 多线程读取文件
    • rpy2
      • 在jupyter中调用R代码
    • pandas
      • 取数据
    • pysam
      • 01API接口
  • cottonWeb
    • 初始化项目
    • views
      • login
      • 404页面
      • register页面
    • 后端
      • Hi-C
      • 错误代码合集
      • SequenceServer搭建网页服务
      • 手把手教你搭建JBrowse-初始化应用
      • 优化JBrowse
    • Vue中使用Echarts
    • 2配置axios请求
    • 07搜索框实时推荐
    • 动画效果
    • layout布局
    • mysql
      • 基因操作
    • 路由配置
  • Vue
    • vue-route
      • 路由
    • Vue中发起ajax请求
    • 计算属性和侦听器
    • provide inject
    • 列表渲染
    • 自定义指令
    • 事件处理
    • Vue项目
      • 九宫格实现
      • 使用vue-resource进行ajax请求
      • 在项目中使用v-router
      • 新闻页面
      • 项目迁移
      • 使用Mint UI组件库
    • 案例操作
      • 02基于Github笔记实现
      • 实现购物车功能
      • Vue组建化
      • todomvc实现日程安排
    • 页面组件化
    • Vue 实例化操作
    • vue
    • 动画的渲染
    • 模板语法
    • class & style
    • 13 动画和过渡效果
    • 02guide
    • 深入了解组件化
    • 表单输入绑定
    • 条件渲染v-if
    • vue-chartjs
      • 起步
  • 并行计算
    • 实验室考试
    • 计算圆周率PI
    • 04.forthClass
    • 使用python3中的threading模块进行简单的并行计算
    • test
      • lastTest
      • 111
    • 第三节课作业
    • 05 test
    • 04test
    • 05homework
    • 04homework
    • OpenMP
    • 集群结构
    • CPU核、多线程、多进程
    • 05Class
    • 06class
    • 07class
    • 08class
  • WebPack
    • 打包css文件
    • 基于Webpack进行Vue开发
    • 处理url 图片
    • webpack 打包Vue
    • 基于webpack的路由操作
    • webpack
  • VueCLI
    • 03组件批量注册
    • 04拖拽插件
    • 05axios跨域问题
    • 07时间轴
    • Blast+ 网页实现
    • VueCLI 安装
    • axios请求
  • Script
    • 转录因子结合位点预测
    • BinomTest
  • mysql
    • 常见函数
      • 常见函数
      • 函数
    • 查询
      • 排序查询
      • 联合查询
      • 基本查询语句
    • 字段约束条件
    • SQLyog
    • 修改
      • 修改
    • powerdesigner数据库模型设计
    • 插入
      • 插入数据
    • 事务
      • 事务
    • 添加新用户
    • 视图
      • 视图
  • 文本编辑器
    • vscode 连接数据库
    • Vue模板补齐
    • visual Studio Code
  • source_code
    • Untitled
    • 并行计算
      • 04test
    • 公众号
      • RNA-seq
    • Untitled 1
  • GWAS
    • QQ-plot
  • RNA-seq
    • 01AnalysisFlow
    • 02脚本批量提交
    • 差异表达基因
    • 文献
      • 01SPL1赋予植物热忍受能力
    • 02 建库方式
  • Linux
    • LSF
    • 02诺和致源下载数据
    • 配置阿里yum源
    • linux三剑客
    • 云梯
    • 取文件相同列
    • root基本命令
    • 服务器网站数据搬迁
    • shell脚本激活Conda环境
    • 使用vscode与服务端R交互
    • 如何使用Conda
    • vim常见使用方法
    • oh-my-zsh
    • bash中的字典与数组
  • SNP分子标记
    • vcf文件处理
  • 生信软件
    • samtools
    • bedtools
    • annovar注释SNP
    • HiC-Pro安装
    • Untitled
    • bwa使用
  • Hi-C
    • 软件
      • HiCPlotter安装
      • pre程序
    • 20200102计算共线性区间保守的boundary
    • 20200108保守的TAD
    • PanGenome
      • PanGenome与各个元件进行注释
      • Pan-Genome数据比对
      • 鉴定两个基因组之间重排
  • node
    • mysql
      • 使用Promise封装
      • 基本的SQL语句
      • mysql的增删改查
      • 在node中使用mysql
    • session与cookie保留用户登录状态
    • MongoDB
      • MongoDB中的SQL语句
      • MongoDB 数据库
      • mongoose中一些常用的查询语句
      • :pig_nose: node中使用MongoDB的实例
      • MongoDB关联查询
      • 设计数据模型
    • 保持数据库处于连接状态
    • npm
    • node中路由设计
    • express中中间件的概念
    • art-template模块的用法
    • curd增删改查的使用
    • Promise 异步编程
    • 关于express框架的学习
    • express-session
    • 配置log4js
  • Cell-Ranger
    • count输出文件夹
      • ANALYSIS
      • feature_bc_matrix文件夹
      • Analysis 结果
      • BARcoded BAM
    • CellRanger aggr
    • 10X genomics测序中用到的术语
    • single sample Analysis
    • Cell Ranger count使用手册
  • HOX3
    • 03共表达分析
    • 01RNA-seq
    • 02基因差异表达分析
  • vue-admin
    • 项目目录结构
  • R
    • dplyr
      • dpylr
      • 过滤数据框
  • 系统遗传学
    • 翻译综述
    • 从脊椎动物的视角解析衰老的遗传机制
    • 01
  • eQTL
    • PEER
      • PEER方法
      • 软件使用
    • 群体结构
      • bcftools
  • sQTL
    • HISAT2比对
    • 02数据处理
  • 资源
    • hexo服务搭建
    • 转录因子数据库
    • 前端资源
    • 01 优雅的PPT设计
    • 文章书写规范
  • SVG
    • 01起步
  • 王悦瑾
    • Bash练习题
    • Bash脚本
    • 9_28起步
  • ES6
    • 模板字符串
    • promise源码解析
    • 01
  • scRNAseq
    • 干细胞不对称分裂
      • Root stem cell niche organizer specification by molecular convergence of PLETHORA and SCARECROW tran
    • 茉莉酸代谢
    • 老年痴呆
  • 多倍体进化
    • 棉花进化
    • 棉属A基因组的起源与进化
  • Vuex
    • 解构前端登录请求
    • VueX
  • ElementUI
    • 源码学习
      • 01drawer
    • Element UI:rocket:
  • reference周记
    • 第一期
    • test
  • 苏柃
    • Bash练习
Powered by GitBook
On this page
  • 给TAD赋编号
  • 取交集
  • 将D5基因坐标与D5的TAD取交集
  • Test 2
  • Test3
  • D5的chr02与A2的chr01
  • 使用基因的共线性block进行矫正
  • 挑出异常区域
  • 批量提交任务
  • Test4
  • 提取上下游150KB进行Blast
  • Blast建库方式可以单独每条染色体进行建库

Was this helpful?

  1. Hi-C

20200102计算共线性区间保守的boundary

给TAD赋编号

## A2
awk '$1<10{print "Chr"0$1,$2,$3,"A2_TAD_Chr"0$1"_"$2"_"$3"_"NR}$1>=10{print "Chr"$1,$2,$3,"A2_TAD_Chr"$1"_"$2"_"$3"_"NR}' OFS="\t" ../A2-HindIII-AllChrs_TAD.level0-level1-uniq_300K-3M.txt >A2_TAD.txt
## D5 
awk '$1<10{print "Chr"0$1,$2,$3,"D5_TAD_Chr"0$1"_"$2"_"$3"_"NR}$1>=10{print "Chr"$1,$2,$3,"D5_TAD_Chr"$1"_"$2"_"$3"_"NR}' OFS="\t" ../D5-Rep1-HindIII-AllChrs_TAD.level0-level1-uniq_300K-3M.txt >D5_TAD.txt 
## K

######################
Chr01    0    2300000    A2_TAD_Chr01_1
Chr01    2300000    3950000    A2_TAD_Chr01_2
Chr01    3950000    4600000    A2_TAD_Chr01_3
Chr01    4600000    5900000    A2_TAD_Chr01_4
Chr01    5900000    6350000    A2_TAD_Chr01_5

取交集

以A2的TAD出发,获得对应的D5的共线性区域

将共线性文件做成 A2开始的bed坐标文件

  • 共线性文件存在倒位现象,把它翻转过来

cat  ../*coords.txt|awk '$8>=$7{print $6,$7,$8,$1"_"$2"_"$4"_"$5}$8<$7{print $6,$8,$7,$1"_"$2"_"$4"_"$5}' OFS="\t" |sort -k1,2n >A2_D5_cord.bed
####A2 坐标和D5坐标
Chr01    29416    30542    D5_Chr01_4139_5266
Chr01    123390792    123397958    D5_Chr01_28156_35367
Chr01    123393355    123390642    D5_Chr01_35364_38044
## Bedtools 取交集
~/software/bedtools2-2.29.0/bin/intersectBed  -a A2_TAD.txt  -b A2_D5_cord.bed  -loj  -nonamecheck  >A2TAD_coord.txt

得到的结果

Chr01   0       2300000 A2_TAD_Chr01_1  Chr01   2213    2430    D5_Chr01_52415615_52415832
Chr01   0       2300000 A2_TAD_Chr01_1  Chr01   29416   30542   D5_Chr01_4139_5266
Chr01   0       2300000 A2_TAD_Chr01_1  Chr01   112396  112814  D5_Chr01_20806218_20806636
Chr01   0       2300000 A2_TAD_Chr01_1  Chr01   1617320 1619583 D5_Chr01_21845491_21847770
Chr01   0       2300000 A2_TAD_Chr01_1  Chr01   2000204 2003301 D5_Chr01_20914167_20917268
Chr01   0       2300000 A2_TAD_Chr01_1  Chr01   589678  591118  D5_Chr01_10813400_10814848
Chr01   2300000 3950000 A2_TAD_Chr01_2  Chr01   2526431 2527455 D5_Chr01_35407230_35408251

将D5基因坐标与D5的TAD取交集

## 将D5 TAD向右延伸150kb boundary
awk '{print $1,$2,$3+150000,$4}' OFS="\t" D5_TAD.txt >D5_boundary.bed
## 将上一步取的交集的结果,换成以D5开头的bed文件
awk '$5!="."{print $5,$6,$7,$4}' OFS="\t"  A2TAD_coord.txt  >D5.bed
## 同样的取两个文件的交集
 ~/software/bedtools2-2.29.0/bin/intersectBed -a D5.bed  -b D5_boundary.bed -loj -nonamecheck >A2_D5_boundary.txt

## 提取保守的boundary
cut -f4,8 A2_D5_boundary.txt |sort |uniq|awk '$2!="."{print $0}'

输出结果

####################
A2_TAD_Chr01_0_2300000_1    D5_TAD_Chr01_0_1000000_1
A2_TAD_Chr01_0_2300000_1    D5_TAD_Chr01_1650000_2500000_3

Test 2

获取D5和A2两个基因组的boundary坐标,从第3列左右各延伸150kb

## D5 boundary坐标
awk '$1<10{print "Chr"0$1,$3-150000,$3+150000,"D5_TAD_Chr"0$1"_"$2"_"$3"_"NR}$1>=10{print "Chr"$1,$3-150000,$3+150000,"D5_TAD_Chr"$1"_"$2"_"$3"_"NR}' OFS="\t" ../D5-Rep1-HindIII-AllChrs_TAD.level0-level1-uniq_300K-3M.txt >D5_boundary.txt 
## A2 boundary坐标
awk '$1<10{print "Chr"0$1,$3-150000,$3+150000,"A2_TAD_Chr"0$1"_"$2"_"$3"_"NR}$1>=10{print "Chr"$1,$3-150000,$3+150000,"A2_TAD_Chr"$1"_"$2"_"$3"_"NR}' OFS="\t" ../A2-HindIII-AllChrs_TAD.level0-level1-uniq_300K-3M.txt >A2_boundary.txt

将共线性区块做成bed文件

## 防止存在到位现象
cat  ../*coords.txt|awk '$8>=$7{print $2,$4,$5,"A2_"$6"_"$7"_"$8}$8<$7{print $2,$4,$5,"A2_"$6"_"$8"_"$7}' OFS="\t" |sort -k1,2n >A2_D5_coords.bed
## 使用D5 boundary与共线性文件取交集 
~/software/bedtools2-2.29.0/bin/intersectBed  -a D5_boundary.txt -b A2_D5_coords.bed -loj  -nonamecheck >D5_boundary_corrds.txt
###结果
Chr01   850000  1150000 D5_TAD_Chr01_0_1000000_1        Chr01   857844  860674  A2_Chr01_122554434_122557272
Chr01   850000  1150000 D5_TAD_Chr01_0_1000000_1        Chr01   861384  864893  A2_Chr01_122547219_122550714

将A2的共线性区域与A2的boundary文件取交集

## 
awk '$5!="."{split($8,a,"_");print a[2]"\t"a[3]"\t"a[4] "\t"$4}' D5_boundary_corrds.txt >A2_coords_boundary.bed
####得到结果
Chr01    122554434    122557272    D5_TAD_Chr01_0_1000000_1
Chr01    122547219    122550714    D5_TAD_Chr01_0_1000000_1
Chr01    122539009    122540323    D5_TAD_Chr01_0_1000000_1
### 与A2 boundary文件取交集
~/software/bedtools2-2.29.0/bin/intersectBed  -a A2_coords_boundary.bed  -b A2_boundary.txt  -loj -nonamecheck >11
### 提取最终结果
cut -f4,8 11|sort |uniq >tmp
awk '$2=="."{a[$1]+=0}$2!="."{a[$1]+=1}END{for(i in a){if(a[i]==0){print i}}}' tmp|xargs  -I {} grep {} tmp|awk '{print $1"\tNone"}' >none
## 没有共线性的片段与D5的TAD有交集
awk '$5=="."{print $4"\tNone"}' D5_boundary_corrds.txt  >>none
awk '$2=="."{a[$1]+=0}$2!="."{a[$1]+=1}END{for(i in a){if(a[i]!=0){print i}}}' tmp|xargs  -I {} grep {} tmp|awk '$2!="."{print $0}' >yes
## 按照boundary序号排序
cat yes none |awk '{split($1,a,"_");print a[1]"\t"a[2]"\t"a[3]"\t"a[4]"\t"a[5]"\t"a[6]"\t"$2}'|sort -k3,3 -k4,5n|awk '{print $1"_"$2"_"$3"_"$4"_"$5"_"$6"\t"$7}' >D5_A2_converseBoundary.txt
## 统计数目
cut -f1 D5_A2_converseBoundary.txt |sort |uniq -c |awk '$1>=3{print $0}'|wc -l
cut -f1 D5_A2_converseBoundary.txt |sort |uniq -c |awk '$1==2{print $0}'|wc -l
cut -f1 D5_A2_converseBoundary.txt |sort |uniq -c |awk '$1==1{print $0}'|wc -l
grep "None" D5_A2_converseBoundary.txt |wc -l

Test3

将K基因组的TAD染色体名字对应起来

## K12 TAD文件
awk '$1==1{print "Chr05\t"$2,$3,"K12_TAD_Chr05_"$2"_"$3"_"NR}$1==2{print "Chr03\t"$2,$3,"K12_TAD_Chr03_"$2"_"$3"_"NR}$1==3{print "Chr08\t"$2,$3,"K12_TAD_Chr08_"$2"_"$3"_"NR}$1==4{print "Chr10\t"$2,$3,"K12_TAD_Chr10_"$2"_"$3"_"NR}$1==5{print "Chr06\t"$2,$3,"K12_TAD_Chr06_"$2"_"$3"_"NR}$1==6{print "Chr13\t"$2,$3,"K12_TAD_Chr13_"$2"_"$3"_"NR}$1==7{print "Chr12\t"$2,$3,"K12_TAD_Chr12_"$2"_"$3"_"NR}$1==8{print "Chr07\t"$2,$3,"K12_TAD_Chr07_"$2"_"$3"_"NR}$1==9{print "Chr01\t"$2,$3,"K12_TAD_Chr01_"$2"_"$3"_"NR}$1==10{print "Chr04\t"$2,$3,"K12_TAD_Chr04_"$2"_"$3"_"NR}$1==11{print "Chr09\t"$2,$3,"K12_TAD_Chr09_"$2"_"$3"_"NR}$1==12{print "Chr02\t"$2,$3,"K12_TAD_Chr02_"$2"_"$3"_"NR}$1==13{print "Chr11\t"$2,$3,"K12_TAD_Chr11_"$2"_"$3"_"NR}' OFS="\t"  K-HindIII-AllChrs_TAD.level0-level1-uniq_300K-3M.txt >test/K12_TAD.txt
## D5与K12的共线性文件

python ../converse_boundary.py D5_K12_collinearity.txt  D5_TAD.txt  K12_TAD.txt  D5_K12_conserve_boundarit.txt >err
## 对结果进行排序
awk '{split($1,a,"_");print a[1]"\t"a[2]"\t"a[3]"\t"a[4]"\t"a[5]"\t"a[6]"\t"$2}'|sort -k3,3 -k4,5n D5_K12_conserve_boundarit.txt >1
mv 1 D5_K12_conserve_boundarit.txt
awk '{split($1,a,"_");print a[1]"\t"a[2]"\t"a[3]"\t"a[4]"\t"a[5]"\t"a[6]"\t"$2}'|sort -k3,3 -k4,5n D5_A2_conserve_boundarit.txt >1
mv 1 D5_A2_conserve_boundarit.txt

D5的chr02与A2的chr01

使用基因的共线性block进行矫正

基因共线性区域文件

Chr01    33390691    37852369    4461679    Chr02    28159874    48601001    20441128
Chr01    38236062    39789170    1553109    Chr02    16544466    21159835    4615370
Chr01    40078980    41572241    1493262    Chr02    48835312    52514427    3679116
Chr01    41723036    52363387    10640352    Chr02    21351    17683543    17662193
## D5Chr01 && A2Chr02
awk -F "|" '{print $5,$1,$2}' D5Chr01_vs_A2_filter.delta.coords|awk '$1~/D5Chr01/&&$2~/Chr02/{print substr($1,3),$3,$4,$2,$5,$6}' OFS="\t" |sort -k1,1 -k2,3n|awk '{array[NR]=$0}END{
print array[1];
for(i=2;i<=NR-1;i++){
split(array[i-1],tmp1,"\t");
split(array[i],tmp,"\t");
split(array[i+1],tmp2,"\t");
if((tmp2[5]-tmp1[5]<2000000||tmp2[5]-tmp1[5]>-2000000)&&(tmp[5]-tmp1[5]>2000000||tmp[5]-tmp1[5]<-2000000)&&(tmp[5]-tmp2[5]>2000000||tmp[5]-tmp2[5]<-2000000)){
print "#"array[i]
}else if((tmp2[5]-tmp1[5]>2000000||tmp2[5]-tmp1[5]<-2000000)&&((tmp[5]-tmp1[5]>2000000||tmp[5]-tmp1[5]<-2000000)&&(tmp[5]-tmp2[5]>2000000||tmp[5]-tmp2[5]<-2000000))){
print "#"array[i]
}else{
print array[i]
}}
print array[NR]
}'
## D5Chr02 $$ A2Chr01
awk -F "|" '{print $5,$1,$2}' D5Chr02_vs_A2_filter.delta.coords|awk '$1~/D5Chr02/&&$2~/Chr01/{print substr($1,3),$3,$4,$2,$5,$6}' OFS="\t" |sort -k1,1 -k2,3n|awk '{array[NR]=$0}END{
print array[1];
for(i=2;i<=NR-1;i++){
split(array[i-1],tmp1,"\t");
split(array[i],tmp,"\t");
split(array[i+1],tmp2,"\t");
if((tmp2[5]-tmp1[5]<2000000||tmp2[5]-tmp1[5]>-2000000)&&(tmp[5]-tmp1[5]>2000000||tmp[5]-tmp1[5]<-2000000)&&(tmp[5]-tmp2[5]>2000000||tmp[5]-tmp2[5]<-2000000)){
print "#"array[i]
}else if((tmp2[5]-tmp1[5]>2000000||tmp2[5]-tmp1[5]<-2000000)&&((tmp[5]-tmp1[5]>2000000||tmp[5]-tmp1[5]<-2000000)&&(tmp[5]-tmp2[5]>2000000||tmp[5]-tmp2[5]<-2000000))){
print "#"array[i]
}else{
print array[i]
}}
print array[NR]
}'

挑出异常区域

## 共线性文件,假如D5与A2中染色体不一一对应的地方
cat D5_A2_collinearity.txt|awk '{array[NR]=$0}END{
print array[1];
for(i=2;i<=NR-1;i++){
split(array[i-1],tmp1,"\t");
split(array[i],tmp,"\t");
split(array[i+1],tmp2,"\t");
if((tmp2[5]-tmp1[5]<2000000||tmp2[5]-tmp1[5]>-2000000)&&(tmp[5]-tmp1[5]>2000000||tmp[5]-tmp1[5]<-2000000)&&(tmp[5]-tmp2[5]>2000000||tmp[5]-tmp2[5]<-2000000)){
print "#"array[i]
}else if((tmp2[5]-tmp1[5]>2000000||tmp2[5]-tmp1[5]<-2000000)&&((tmp[5]-tmp1[5]>2000000||tmp[5]-tmp1[5]<-2000000)&&(tmp[5]-tmp2[5]>2000000||tmp[5]-tmp2[5]<-2000000))){
print "#"array[i]
}else{
print array[i]
}}
print array[NR]
}'

批量提交任务

for i in 50000 75000 100000 150000; do bsub  -J D5_A2 -n 1 -o test2/%J.${index}.out -e test2/%J.${index}.err -R span[hosts=1] python  ../converse_boundary4.py Block/D5_A2_collinearitEnd.txt  TAD/D5_TAD.txt  TAD/A2_TAD.txt test2/D5_A2_${i}_conserve.txt ${i} ; bsub  -J D5_K12 -n 1 -o test2/%J.${index}.out -e test2/%J.${index}.err -R span[hosts=1] python ../converse_boundary4.py Block/D5_K12_collinearityEnd.txt  TAD/D5_TAD.txt  TAD/K12_TAD.txt test2/D5_K12_${i}_conserve.txt ${i} ; bsub  -J A2_K12 -n 1 -o test2/%J.${index}.out -e test2/%J.${index}.err -R span[hosts=1] python ../converse_boundary4.py Block/A2_K12_collinearitEnd.txt  TAD/A2_TAD.txt TAD/K12_TAD.txt test2/A2_K12_${i}_conserve.txt ${i} ; sleep 5; done

间隔距离

conserve

None

percentage

150Kb D5 vs A2

1029

172

85%

D5 vs K12

834

367

69%

100Kb D5 vs A2

939

262

78%

D5 vs K12

681

520

56%

75Kb D5 vs A2

880

321

73%

D5 vs K12

547

654

45%

50KB D5 vs A2

750

451

62%

D5 vs K12

381

820

31%

有重组的染色体之间保守的TAD的数目

类型

保守

不保守

D5Chr01 vs A2Chr02

28

0

D5Chr02 vs A2Chr01

25

A2Chr01 vs K12Chr02

21

A2Chr02 vs K12Chr01

21

Test4

将染色体编号相同的文件合并

## 合并A和K基因组
 cat *coords.txt|awk '$1~/#/{print "#"$2,$4,$5,$6,$7,$8}$1!~/#/{print $2,$4,$5,$6,$7,$8}' OFS="\t" |cat - AChr01_KChr02_collineriat.txt AChr02_KChr01_collineriat.txt >../test/Block/A2_K12_collinearitEnd.txt
## 合并D和A基因组

提取上下游150KB进行Blast

## 提取上下游各150kb的boundarit bed文件
windowSize=150000
awk '{a[NR]=$0}END{split(a[1],tmp0,"\t");print tmp0[1]"\t"tmp0[2]"\t"tmp0[2]+"'$windowSize'""\t"tmp0[4]"_left";print tmp0[1]"\t"tmp0[3]-"'$windowSize'""\t"tmp0[3]+"'$windowSize'""\t"tmp0[4];for(i=2;i<=NR;i++){split(a[i-1],tmp1,"\t");split(a[i],tmp2,"\t");if(tmp2[2]==0){print tmp2[1]"\t"tmp2[2]"\t"tmp2[2]+"'$windowSize'""\t"tmp2[4]"_left";}else if(tmp2[2]!=tmp1[3]){print tmp2[1]"\t"tmp2[2]-"'$windowSize'""\t"tmp2[2]+"'$windowSize'""\t"tmp2[4]"_left";} print tmp2[1]"\t"tmp2[3]-"'$windowSize'""\t"tmp2[3]+"'$windowSize'""\t"tmp2[4]; }}' ../test/TAD/D5_TAD.txt

Blast建库方式可以单独每条染色体进行建库

单个染色体进行建库

## 单个染色体序列进行建库
grep ">Chr03" -A1 /public/home/cotton/public_data/Three_Genomes/A_assembly_changed.fa >A2Chr03.fa
## makeblast
makeblastdb -in A2Chr03.fa  -dbtype "nucl" -parse_seqids -out A2Chr03
## 使用blast比对
bsub -J blast -n 10 -o %J.out -e %J.err -R span[hosts=1] blastn -query D5_Chr03TAD.fasta  -db blastDB/A2Chr03  -outfmt "6  qseqid sseqid qstart qend sstart send nident pident qcovs evalue bitscore" -evalue 1e-5 -out DChr03_A2.blast_out -num_threads 10"

使用染色体坐标去筛选匹配度最高的区域

## 将染色体分成150000片段
~/software/bedtools2-2.29.0/bin/windowMaker -b A2_Chr03.bed -w 150000 >1
## 提取一个TAD的比对bed文件
grep D5_TAD_Chr03_0_750000_151_left  DChr03_A2.blast_out|sort -k5,6n|awk '$5<=$6{print $2,$5,$6}$5>$6{print $2,$6,$5}' OFS="\t"  >oneTAD.bed
## 取交集统计数目

查看对应TAD附近的共线性区域

## TAD Boundrit 为 Chr01 7825000 7975000
awk '$1=="Chr01"{print $0}' D5_A2_collinearitEnd.txt|awk '{if($2>7975000 ||$3<7825000){}else{print $0}}'|sort -k5,6 -n |less
Previouspre程序Next20200108保守的TAD

Last updated 5 years ago

Was this helpful?