Pacbio 三代全长转录组IsoSeq3数据分析

pacbio三代全长转录组数据分析isoseq3
1 参考官方文档及其他教程,包括原理、流程等

https://github.com/PacificBiosciences/IsoSeq/blob/master/README.md  #isoseq3 
https://github.com/PacificBiosciences/pbbioconda  #PacBio Secondary Analysis Tools on Bioconda
https://github.com/PacificBiosciences/IsoSeq/blob/master/isoseq-clustering.md #见下图,Iso-Seq clustering 即无barcode无umi的分析流程
https://databeauty.com/blog/tutorial/2020/12/08/PacBio-Iso-Seq-Data-Analysis.html 
image.png

2 软件安装
主要参考pbbioconda
pbbioconda提示需要安装python 2.7的环境;用conda新建一个python2.7的环境,这个在这就不说明了,有很多教程


image.png

在pbbioconda主页中,查看可用的分析软件及详细信息,点击对应的软件即可跳转到该软件的主页,点击Release Notes可查看软件版本更新等;需要安装的有:isoseq3 pbccs lima pbmm2


image.png

以pbccs为例,可点击Release Notes查看更新版本等相信信息,也可用conda search 查看可用的版本

conda search pbccs # conda search 查看可安装版本,search 结果如下,相应的也可在
# Loading channels: done
# Name                       Version           Build  Channel
pbccs                          3.1.0               0  bioconda
pbccs                          3.1.0               1  bioconda
pbccs                          3.1.0               2  bioconda
pbccs                          3.1.0               3  bioconda
pbccs                          3.3.0               0  bioconda
pbccs                          3.4.0               0  bioconda
pbccs                          3.4.1               0  bioconda
pbccs                          4.0.0               0  bioconda
pbccs                          4.1.0               0  bioconda
pbccs                          4.2.0               0  bioconda
pbccs                          4.2.0               1  bioconda
pbccs                          5.0.0               0  bioconda
pbccs                          6.0.0               0  bioconda
pbccs                          6.0.0               1  bioconda
pbccs                          6.0.0      h9ee0642_2  bioconda
pbccs                          6.2.0      h9ee0642_0  bioconda
pbccs                          6.3.0      h9ee0642_0  bioconda
pbccs                          6.4.0      h9ee0642_0  bioconda ##可见最新版本为6.4.0
conda install -c bioconda pbccs=6.4.0 ##安装
ccs ##安装成功,键入ccs 出现以下提示信息
ccs - Generate circular consensus sequences (ccs) from subreads.

Usage:
  ccs [options] <IN.subreads.bam|xml> <OUT.ccs.bam|fastq.gz|xml>

  IN.subreads.bam|xml       FILE   Subreads (.subreads.bam or .subreadset.xml).
  OUT.ccs.bam|fastq.gz|xml  FILE   Consensus reads (.bam, .fastq.gz, or
                                   .consensusreadset.xml).


Input Filter Options:
  --min-passes              INT    Minimum number of full-length subreads
                                   required to generate CCS for a ZMW. [3]
  --min-snr                 FLOAT  Minimum SNR of subreads to use for
                                   generating CCS [2.5]
  --top-passes              INT    Pick at maximum the top N passes for each
                                   ZMW. [60]

Draft Filter Options:
  --min-length              INT    Minimum draft length before polishing. [10]
  --max-length              INT    Maximum draft length before polishing.
                                   [50000]

Chunking Options:
  --chunk                   STR    Operate on a single chunk. Format i/N, where
                                   i in [1,N]. Examples: 3/24 or 9/9
  --max-chunks                     Determine maximum number of chunks.

Model Override Options:
  --model-path              STR    Path to a chemistry model file or directory
                                   containing model files.
  --model-spec              STR    Name of chemistry or model to use,
                                   overriding default selection.

Processing Options:
  --by-strand                      Generate a consensus for each strand.
  --hd-finder                      Enable heteroduplex finder and splitting
  --skip-polish                    Only output the initial draft template
                                   (faster, less accurate).
  --all                            Emit all ZMWs.
  --subread-fallback               Emit a representative subread, instead of
                                   the draft consensus, if polishing failed.
  --all-kinetics                   Calculate mean pulse widths (PW) and
                                   interpulse durations (IPD) for every ZMW.
  --hifi-kinetics                  Calculate mean pulse widths (PW) and
                                   interpulse durations (IPD) for every HiFi
                                   read.

Output Filter Options:
  --min-rq                  FLOAT  Minimum predicted accuracy in [0, 1]. [0.99]

Output Files Options:
  --report-file             FILE   Where to write the results report.
  --report-json             FILE   Where to write the results report as json.
  --metrics-json            FILE   Where to write the zmw metrics as json.
  --suppress-reports               Do not generate report or metric files per
                                   default, only those requested.

  -h,--help                        Show this help and exit.
  --version                        Show application version and exit.
  -j,--num-threads          INT    Number of threads to use, 0 means
                                   autodetection. [0]
  --log-level               STR    Set log level. Valid choices: (TRACE, DEBUG,
                                   INFO, WARN, FATAL). [WARN]
  --log-file                FILE   Log to a file, instead of stderr.

3 分析流程
主要参考isoseq-clustering
3.1 Input 即下机数据的subreads

image.png

3.2 Circular Consensus Sequence calling
用ccs 从subreads获取ccs

ccs movieX.subreads.bam movieX.ccs.bam --min-rq 0.9 
# movieX.subreads.bam 为输入的subreads bam文件
# movieX.ccs.bam 为输出的ccs bam文件
# --min-rq  Minimum predicted accuracy in [0, 1]   0-1 
#还要另外一个参数 --min-passes 需要注意,即最少full passes数的reads默认值为3;如果有很长的转录本测序完成都可能达不到full pass ,可以改成1 --min-passes 1 ;我自己试了一下,1跟3好像没什么区别 
#另外一个重要参数为 --skip-polish  Only output the initial draft template (faster, less accurate) ccs中默认进行polish,添加这个参数则不进行polish,运算快一些但精确度下降;如果已经进行了polish则后面不需要再进行polish

3.3 Primer removal and demultiplexing
用limma去除引物序列
测序公司交付的数据中会有一个以.primer.fasta结尾的文件,是5' 3'的引物序列;去除引物序列前需要查看这个文件里面有多少对或者多少条引物序列

lima movieX.ccs.bam barcoded_primers.fasta movieX.fl.bam --isoseq --peek-guess 
# movieX.ccs.bam为输入的ccs bam文件
# barcoded_primers.fasta 为测序下机提供的.premer.fasta结尾 提供primer的文件
# movieX.fl.bam为输出文件
# --iso-seq  Activate specialized IsoSeq mode 用这个参数激活isoseq模式
# --peek-guess  如果在.primer.fasta文件中不止一对或多个5' 和3' 的引物序列,则需要用--peek-guess;如果只有一对5' 和3' 的引物序列则不需要添加这个参数

输出文件将会加上成对的引物名称,如下:

[movie].fl.NEB_5p--NEB_Clontech_3p.bam

3.4 Remove PolyA Tail and Artificial Concatemers 去除引物序列后,需要用isoseq3 refine 去polyA尾和人工引物的多聚体

isoseq3 refine --require-polya movieX.NEB_5p--NEB_Clontech_3p.fl.bam primers.fasta movieX.flnc.bam
#movieX.NEB_5p--NEB_Clontech_3p.fl.bam 为输入文件
# movieX.flnc.bam 为输出文件
#primers.fasta 
#--require-polya  # If your sample has poly(A) tails, use --require-polya. This filters for FL reads that have a poly(A) tail with at least 20 base pairs (--min-polya-length) and removes identified tail 

得到输出文件:

<movie>.flnc.bam
<movie>.flnc.transcriptset.xml

3.5 Clustering

isoseq3 cluster [movie].flnc.bam [movie].polished.bam --verbose --use-qvs
# [movie].flnc.bam 输入文件夹
# [movie].flnc.bam 输出文件
# --verbose Use verbose output 
# --use-qvs  Use CCS QVs, sets --poa-cov 100 

输出结果:

<prefix>.bam
<prefix>.hq.fasta.gz with predicted accuracy ≥ 0.99
<prefix>.lq.fasta.gz with predicted accuracy < 0.99
<prefix>.bam.pbi
<prefix>.transcriptset.xml

3.6 用pbmm2 align到基因组
pbmm2 index 构建index
pbmm2 align 进行比对

pbmm2
pbmm2 - minimap2 with native PacBio BAM support

Usage:
  pbmm2 <tool>

  -h,--help    Show this help and exit.
  --version    Show application version and exit.

Tools:
  index      Index reference and store as .mmi file
  align      Align PacBio reads to reference sequences

Examples:
  pbmm2 index ref.referenceset.xml ref.mmi
  pbmm2 align ref.referenceset.xml movie.subreadset.xml ref.movie.alignmentset.xml

Typical workflows:
  A. Generate index file for reference and reuse it to align reads
     $ pbmm2 index ref.fasta ref.mmi
     $ pbmm2 align ref.mmi movie.subreads.bam ref.movie.bam

  B. Align reads and sort on-the-fly, with 4 alignment and 2 sort threads
     $ pbmm2 align ref.fasta movie.subreads.bam ref.movie.bam --sort -j 4 -J 2

  C. Align reads, sort on-the-fly, and create PBI
     $ pbmm2 align ref.fasta movie.subreadset.xml ref.movie.alignmentset.xml --sort

  D. Omit output file and stream BAM output to stdout
     $ pbmm2 align hg38.mmi movie1.subreadset.xml | samtools sort > hg38.movie1.sorted.bam

  E. Align CCS fastq input and sort on-the-fly
     $ pbmm2 align ref.fasta movie.Q20.fastq ref.movie.bam --preset CCS --sort --rg '@RG\tID:myid\tSM:mysample'

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