ShortStack的安装与运行

安装

ShortStack依赖的软件包括perl、samtools、bowtie、bowtie-build、gzip、RNAfold,检查了一下,服务器中都符合要求,不需要额外安装或更新了。

版本要求:This release of ShortStack (3.8.4) tested on Mac OSX (10.10.5), perl
5.18.2, samtools 1.3.1, bowtie 1.2.0, RNAfold 2.3.2. It is known that
samtools 1.x and higher is critical (no old 0.x samtools allowed).

pwd
echo 'export PATH=/mnt/data/hezi/biosoft/ShortStack-3.8.5:$PATH' >>~/.bashrc   #注意>>是向文件中追加内容,>是覆盖原有内容
source ~/.bashrc

参数说明

ShortStack [参数] {readfile {bamfile cramfile}} genomefile
#bamfile和cramfile都是比对文件
  • 一般参数
    --help
    --version
    --genomefile [string字符串] 给出基因组数据所在路径
    --outdir [string] 给出输出文件所在路径
  • 比对参数
    --readfile [string] 需要比对的reads文件路径
    --adapter [string] 接头文件,若不指定即默认已经去过接头
    --bowtie_cores [integer] 传递给bowtie -p(线程数)的参数。设定处理器核数,默认为1。核与线程的关系:1个核对应2个线程。
    --sort_mem [string] 传递给samtools的sort -m(内存数)的参数,即用sort对文件排序时使用的物理内存空间。samtools中默认是768M。
    --mismatches [integer] 比对中容忍的错配数,只能为0,1或2。默认为1。如果有多个reads匹配上了,只保留错配数最低的reads。
    --cquals [string] 给出color-space类型测序数据的质量值文件。color-space是一类特殊的测序数据,用颜色代表核苷酸,是Solid平台产出数据的原始格式。
    --cram 默认输出sam格式,加上此参数可将比对结果输出为cram格式。CRAM和BAM都是压缩性质的比对文件,CRAM在继承了BAM优点的基础上,可对数据进一步压缩。
    --mmap [string] 处理multi-mapping reads的流程。可选n (none), r (random), u (unique- seeded guide), or f(fractional-seeded guide). default: u
    --bowtie_m [string] max,指定最大比对到基因组的次数。超过50个alignments被标记为unmapped。
    --ranmax [string] 当--mmap指定u或f时,仍然可能出现多个权重最大的位置,这时候比对工具还是只能选择随机分配位置,但可能的位置数不能超过ranmax值。默认为3。
    --align_only 出现此参数时,ShortStack只会执行到比对这一步,不再进行后续分析。
    --show_secondaries 出现此参数时,比对文件中除了有primary alignments,还有secondary alignments信息。
    --keep_quals 出现此参数时,会保留比对质量值信息。
  • 分析参数
    --bamfile sRNA的比对文件,和readfile、cramfile选一个作为输入文件就行。
    --cramfile 同上。
    --dicermin Dicer酶切割后的sRNA的最小size。一般大于15,默认为20.
    --dicermax Dicer酶切割后的sRNA的最大size。一般大于15,默认为24.
    --foldsize 提取参考基因组序列进行RNA二级结构预测的长度。范围:200-1000.默认为300.增加数值后运行时间将大大增加,但也可能找到更多MIRNAs.这里指的应该是miRNA的前体,一般认为miRNA的前体长度不超过300nt。
    --locifile 包含特定的intervals信息的文本文件。和--locus互斥。
    loci文件示例

    --locus 同上
    --nohp 禁用miRNA search。
    --pad 如果sRNA clusters之间的距离小于等于pad值,sRNA clusters就会被合并。默认值:75.
    --mincov sRNA clusters表达量的最低值。默认值:0.5rpm
    --strand_cutoff strand的临界值。默认为0.8 At default of 0.8, a locus must have 80% of more of its reads on the top strand to be called a + strand locus, or 20% or less on the top strand to be a - strand locus. All others receive no strand call(e.g. '.').+strand指的是参考基因组中的那条链,-strand也就是与其互补的另一条链。注意与正义链、反义链的区分。

--total_primaries 直接告诉ShortStack bam文件中的primary alignments的数目,减少计算时间,包括没有比对上的。

作者最后给出了一些运行建议:比如bowtie -m和 --ranmax参数设置对文件size影响很大。

比对方法说明

ShortStack可以把比对过的文件作为输入文件,也可以使用其内置的比对方法:Improved Placement of Multi-mapping Small RNAs(doi:10.1534/g3.116.030452)
主要解决multi-mapping reads 如何放到合适位置的问题。

拓展01:multi-mapping reads在sRNA-seq里很常见,一是因为sRNA reads很短,二是sRNA倾向于从多拷贝区域起源。以前的序列比对工具要么准确性低(随机选取一个匹配分数高的位置),要么敏感性低(搞不清楚干脆就不要了,忽略掉所有multi-mapping reads),bowtie就是代表,它默认随机选择,也可以设置主动忽略。
拓展02:比对方法的基本原理——1)用bowtie找出每条read的best-scoring alignments,每条read最多允许有50个alignments;2)采用local-weighting为每个alignment计算概率;3)将概率作为权重,权重大的作为primary alignments,其余的作为secondary alignments;4)比对模式选择,讲了这么多就是告诉你选U最好。
拓展03:这里比对指的是比对到sRNA转录起源的地方,而非target sites。靶位点的预测一般会有一些species-specific parameters以及只考虑基因组的部分区域(如成熟转录区)。


ShortStack比对方法说明

基因组预处理

基因组文件需为fasta格式;
染色体名最好不要有空格,否则只保留空格前面的部分;
如果基因组拥有>50chromosomes/scaffolds/contigs,且N50<1Mb,ShortStack会默认拼接短的染色体。但在3.8之后的版本中,报告的搜索结果仍然是基于原始基因组的。

Reads预处理

sRNA文件可以为压缩格式;
同时将多个文件作为输入文件,之间用逗号隔开;
不支持双端文件;
No condensation?
所有reads必须有唯一名;
ShortStack也可以通过指定--adapter去接头,不过可能比较简陋,精细的去接头要求可以考虑cutadapt或trimmomatic。

用户指定的cluster

通过指定--locifile或--locus可以提供cluster的信息。

De novo cluster 鉴定

越写越觉得翻译只是过程,理解才是目的。很多术语翻译过来有点奇怪的。(废话.gif)
ShortStack中识别sRNA cluster的标准:1. 找到包含至少一个primary alignment的所有区域,alignment的两端之间最大距离<=option --pad(default:75); 2. cluster中符合1的alignment的数目应当>=option --mincov(default:0.5rpm)

分析方法说明

不管是指定还是de novo,针对sRNA clusters的分析方法都是一样的。

特定Read group的counts

测序时:
样本建一个库在同一条lane上完成测序产生reads sets可定义为一个Read group;
样本建成分开独立的库测序得到的reads sets也就分属于不同的Read groups;
引自:# GATK - Read groups

结果文件说明

1.Counts.txt

Locus:sRNA cluster的坐标;
Name:sRNA cluster的名称;
main:所有Read groups的reads总数;

2.Results.txt

  1. Locus:同上;
  2. Name:同上;
  3. Length:cluster的长度,单位是nt;
  4. Reads:primary alignments(权重大)的总数目;
  5. RPM:上一列reads的标准化值;
  6. UniqueReads:unique reads的数目;

Uniquely mapped reads map to exactly one location within the reference genome.
引自:ENCODE

  1. FracTop:比对到前导链(top strand)的primary alignments的分数(fraction),对应分析参数--strand_cutoff,高于0.8被识别为+链,低于0.2被认为是-链;
  2. Strand: +/-链识别的结果;
  3. MajorRNA:cluster中reads数最多的RNA,如果第一不止一个,那就随机选择一个;
  4. MajorRNAReads:MajorRNA的primary alignments数目;
  5. Complexity: 计算公式为(n_distinct_read_sequences) / (abundance of all reads),区间为(0,1]。数值越小说明该cluster中sRNA类型越少,反之亦同;
  6. DicerCall:cluster中占主导地位的sRNA长度(20-24nt),但如果超过80%的都不在此范围内,则被标记为N,这类RNA很有可能是降解产物;
  7. MIRNA: ShortStack 在排除假阳性这一点上太狠了,15条标准逐步筛选都通过了才能被认定为Y(是miRNA),不然哪一步失败了就会标记为N+失败步骤;

搜索标准如下:

标记 拒绝标准
N0 添加了--nohp参数就不会执行miRNA search
N1 比对上的reads为0
N2 在DicerCall范围内的reads不超过80%
N3 MajorRNAReads数目<2
N4 MajorRNA的长度不在DicerCall范围内
N5 locus size的长度>--foldsize
N6 locus比对不上任何一条链,即0.2<--strand_cutoff<0.8
N7 RNA folding attempt failed at locus
N8 可能的成熟miRNA所在链与locus相反,即为miRNA*
N9 Retrieval of possible mature miRNA position failed
N10 无法计算miRNA* 的一般性错误
N11 可能的成熟miRNA在预测的前体二级结构中具有> 5个未配对碱基
N12 单个预测的hairpin结构中未包含可能的成熟miRNA
N13 可能的miRNA/miRNA-star包含超过2个budges,且/或buldge>3nts
N14 Reads for possible miRNA, miRNA-star, and their 3p variants added up to less than 50% of the total reads at the locus
N15 如果miRNA* 没有被找到,一样是拒绝

通过所有筛选后,得到de novo annotation的new miRNA family.

14.PhaseScore:

A score of ~30 or more indicates a well-phased locus. Not all loci are subject to phasing analysis. Loci with no reads at all aligned, a DicerCall of anything except 21 or 24, a Locus Size of < 3*DicerCall, and stranded loci (>= 80% of reads on top strand OR <= 20% of reads on top strand) are not analyzed. These are assigned a PhaseScore of -1.

15.Short:primary alignments<--dicermin的reads数目;
16.Long:primary alignments>--dicermax的reads数目;
17结束:不同RNA size对应的primary alignments数目;

3.MIRNAs/

Original Location和Displayed Location的区别是什么?
里面有一些小写字母表示sRNA序列不同于参考序列的碱基。
l: length of RNA, a: number of alignments.

Below this top line, all other small RNAs aligned to the locus are shown. Those aligned to the opposite strand have '<' as delimiters instead of '.'.

4.ShortStack_All.gff3

所有的locus信息:ShortStack_D.gff3+ShortStack_N.gff3

5.ShortStack_D.gff3

Dicercall不为N的locus信息;

6.ShortStack_N.gff3

Dicercall为N的locus信息;

7.Unplaced.txt

未确定位置的sRNA有2种情况:1)归一化后的表达量低于--mincov的sRNA; 2)multi-mapping中无法指定位置的sRNA.

8.ErrorLogs.txt

9. Log.txt

运行记录,和打印到屏幕上的信息一样。

参考资料

https://github.com/MikeAxtell/ShortStack

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

推荐阅读更多精彩内容