cDNA_Cupcake处理Iso-Seq

该工具用于处理三代转录组(CCS)结果

具体请关注:

如何获取高质量的转录本暂且跳过。。

1. 安装

  • python 3.7
  • BioPython
  • bx-python
  • Cupcake
## 创建一个环境
conda create -n cupcake
condo activate cupcake

## 安装所需工具
conda install -c bioconda Biopython bx-pyton cython -y

## 安装cupcake
git clone https://github.com/Magdoll/cDNA_Cupcake.git
cd cDNA_Cupcake
python setup.py build
python setup.py install
## 可以将cupcake中的脚本复制过来使用即可。

2. Collapse 冗余 isoforms (基于基因组)

在test_data中有测试数据,即

  • 转录本数据hq_isoforms.fa
  • ref.fa
    ===========================================================
  • 比对(可以选用minimap2(v2.9)或者gamp都可以,这里以minimap2为例子)
## 比对 
minimap2 -ax splice -t 20 -uf --secondary=no -C5 \
  ref.fa hq_isoforms.fa >hq_isoforms.sam 
## sort
sort -k3,3 -k4,4n hq_isoforms.sam  >hq_isoforms.sorted.sam 
  • 利用cupcake中的脚本collapse_isoforms_by_sam.py 合并isoform

主要目的将冗余isoform以及未比对到ref上的isoform去掉。

基本用法

./collapse_isoforms_by_sam.py
usage: collapse_isoforms_by_sam.py [-h] [--input INPUT] [--fq] [-s SAM]
                                   [-b BAM] -o PREFIX [-c MIN_ALN_COVERAGE]
                                   [-I MIN_ALN_IDENTITY]
                                   [--max_fuzzy_junction MAX_FUZZY_JUNCTION]
                                   [--max_5_diff MAX_5_DIFF]
                                   [--max_3_diff MAX_3_DIFF]
                                   [--flnc_coverage FLNC_COVERAGE]
                                   [--gen_mol_count] [--dun-merge-5-shorter]
                                   [--cpus CPUS]
collapse_isoforms_by_sam.py: error: the following arguments are required: -o/--prefix

参数说明:
-i:默认0.95,相似度;
-c:默认0.99,coverage;
--max_5_diff: 5‘段外显子最大差异,默认100bp;
--max_3_diff: 3‘段外显子最大差异,默认100bp;
--dun-merge-5-shorter:不对5’端进行折叠,默认是进行折叠的

collapse_isoforms_by_sam.py   --input hq_isoforms.fa \
  -s hq_isoforms.sorted.sam -c 0.9 -i 0.9 \
  --dun-merge-5-shorter  --max_3_diff 500  \
  -o hq_isoforms.sorted

结果主要得到4个文件:
(1)hq_isoforms.sorted.collapsed.gff
(2)hq_isoforms.sorted.collapsed.rep.fq
(3)hq_isoforms.sorted.collapsed.group.txt

PB.1.1  transcript/3049
PB.1.2  transcript/19325
PB.2.1  transcript/2250,transcript/2632

uniq的PB.2.1是合并了两个isoform;
PB.1.1,PB.1.2表示这个位点有两个isoforms

(4)hq_isoforms.sorted.collapsed.ids.txt (剔除的序列,由于没有比对到ref或者具有较低的coverage和identity,对此可以适当调整-c和-I参数)

3. 对唯一的isoform进行定量

获得唯一的isoform后,可以基于之前cluster步骤中得到的cluster_report.csv,可以检测比对到isoform中的FL数量。

get_abundance_post_collapse.py hq_isoforms.sorted.collapsed cluster_report.csv

共获得2个结果文件

  • hq_isoforms.sorted.collapsed.read_stat.txt
id      is_fl   stat    pbid
m64306_220512_094212/53741524/ccs       Y       unique  PB.6356.1
m64306_220512_094212/101909358/ccs      Y       unique  PB.6356.1
m64306_220512_094212/135922154/ccs      Y       unique  PB.5419.1
m64306_220512_094212/26542671/ccs       Y       unique  PB.5419.1
m64306_220512_094212/52037659/ccs       Y       unmapped        NA

包括FL read(id)以及对应的isoform(pbid)。

  • hq_isoforms.sorted.collapsed.abundance.txt
# Field explanation
# -----------------
# count_fl: Number of associated FL reads
# norm_fl: count_fl / total number of FL reads, mapped or unmapped
# Total Number of FL reads: 153557
#
pbid    count_fl        norm_fl
PB.1.1  2       1.3024e-05
PB.1.2  2       1.3024e-05
PB.2.1  4       2.6049e-05

该文件,第二列就是唯一的isoform所对应的FL数量。(默认唯一isoform最低有2个FL支持,当然也可以进行过滤,基于filter_by_count.py脚本,详见官方文档)。

4. 过滤掉降解的5’ isoform

基于脚本./filter_away_subset.py

在反转录获得cDNA时,容易出现5‘端降解的情况,这就导致存在多条isoform,其余序列均类似,只是5‘端降解,因此得以保留,该目的就是去除5’端降解的isoform。

例如下图中,isoforms PB10.1, PB10.2, PB10.3,PB10.4,PB10.5, PB10.6中,PB10.3,PB10.4,PB10.5, PB10.6均出现5‘端降解的情况,而经过过滤后,则只保留PB10.1, PB10.2。

过滤5'端降解的isoform
filter_away_subset.py hq_isoforms.sorted.collapsed 

主要获得3个结果
(1)hq_isoforms.sorted.collapsed.filtered.gff
(2)hq_isoforms.sorted.collapsed.filtered.rep.fq
(3)hq_isoforms.sorted.collapsed.filtered.abundance.txt

参考

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,214评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,307评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,543评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,221评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,224评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,007评论 1 284
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,313评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,956评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,441评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,925评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,018评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,685评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,234评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,240评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,464评论 1 261
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,467评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,762评论 2 345

推荐阅读更多精彩内容