最近关注了一下RiboSeq的分析方法,方法挺多的,但是无论哪种软件,都会存在或多或少的问题,一点问题不存在的软件不存在,问题的原因出在,1.有的脚本是用python2编写的,目前python2已经不能用了 2.有的没有安装权限 3.有的package过于老旧已经和python3不兼容了
1.RiboTaper
按照官方流程分析
1.1 直接运行:create_annotations_files.bash
1.2 直接运行:create_metaplots.bash
1.3 直接运行:Ribotaper.sh
这一步脚本的步骤比较多,并且中途会报错,接下来就需要自己调整脚本运行了:
3.1
nohup /datapool/life-zhanghk/liji/01software/miniconda3/envs/py3.8/libexec/tracks_analysis_multiprocessing.R nonccds 10 /datapool/life-zhanghk/liji/01software/miniconda3/envs/py3.8/libexec &
nohup /datapool/life-zhanghk/liji/01software/miniconda3/envs/py3.8/libexec/annotate_exons.R ../annotation/ 10 &
#这个因为后面报错太多,无法解决直接给放弃了
2.RiboCode
Ribosome profiling技术有两个不同的应用方向:翻译速率的定量比较与翻译事件的系统鉴定。此前,杨雪瑞课题组开发了ribosome profiling数据分析工具Xtail,用于基因翻译速率的定量比较,文章发表于Nature Communications(文章链接)。此次发表的RiboCode工具则针对第二个应用方向:鉴定RNA翻译活性并构建翻译组。
由于这个软件是18年发表的,虽然中间经过小的维护,但是里面仍然有大部分package是过期了,如果现在使用,需要做大量的调整,但是这个调整也是值得的,因为这个软件总体来说还是比较好用的,因为相对于其他software,这个是属于操作流程很详细了,我把大致步骤放在下面,有需要可以去作者github看详细操作流程
1.fastp过滤接头即可,比较简单(和作者给出的方法不同,但是都能达到相同的目的)
2.去除rRNA和tRNA的干扰,建议使用bowtie建立索引和比对,注意不是bowtie2,因为RiboSeq的片段大都是30nt左右,bowtie在短序列比对方面有更大的优势
3.使用上一步的unaligned.fastq作为输入文件,这一步继续使用bowtie进行mapping
4.prepare_transcripts
参数解读:
你运行的命令显示了 prepare_transcripts
脚本的帮助信息。这些参数用于准备转录本注释文件。以下是每个参数的详细解读:
命令行参数说明
基本参数
-
-h, --help
- 描述: 显示帮助信息并退出。
- 用法:
prepare_transcripts -h
-
-V, --version
- 描述: 显示程序的版本号并退出。
- 用法:
prepare_transcripts -V
必需参数
-
-g GTFFILE, --gtf GTFFILE
- 描述: 默认情况下,适用于 GENCODE 和 ENSEMBL 的 GTF 文件,请参阅 GENCODE 维基百科,或者使用 GTFupdate 命令更新您的 GTF 文件。
- 用法:
-g /path/to/gtf_file.gtf
-
-f GENOMEFASTA, --fasta GENOMEFASTA
- 描述: 基因组序列文件,格式为 FASTA。
- 用法:
-f /path/to/genome.fasta
-
-o OUT_DIR, --out_dir OUT_DIR
- 描述: 注释目录名称。
- 用法:
-o /path/to/output_directory
示例用法
以下是一些命令行示例,展示如何使用这些参数:
prepare_transcripts -g /path/to/gtf_file.gtf -f /path/to/genome.fasta -o /path/to/output_directory
这个命令将使用指定的 GTF 文件和基因组序列文件运行 prepare_transcripts
,并将结果输出到指定的目录中。
总结
该脚本主要用于准备转录本注释文件,生成的注释文件将用于后续的转录组数据分析。你需要提供 GTF 文件和基因组序列文件,并指定输出目录。确保这些文件存在且路径正确,然后运行命令生成注释文件。
5.metaplot
参数解读:
你运行的命令显示了 metaplots
脚本的帮助信息。这些参数用于生成 metaplot 文件并预测 P-site 位置。以下是每个参数的详细解读:
命令行参数说明
基本参数
-
-h, --help
- 描述: 显示帮助信息并退出。
- 用法:
metaplots -h
-
-V, --version
- 描述: 显示程序的版本号并退出。
- 用法:
metaplots -V
必需参数
-a ANNOT_DIR, --annot_dir ANNOT_DIR
- 描述: 转录本注释目录,由
prepare_transcripts
生成。 - 用法:
-a /path/to/annotation_directory
- 描述: 转录本注释目录,由
选择性必需参数(需选择其一)
-
-r RPF_MAPPING_FILE, --rpf_mapping_file RPF_MAPPING_FILE
- 描述: 转录组对齐的 ribo-seq BAM/SAM 文件。
- 用法:
-r /path/to/rpf_mapping_file.bam
-
-i RPF_MAPPING_FILE, --input_file RPF_MAPPING_FILE
- 描述: 列出转录组对齐的 ribo-seq BAM/SAM 文件的文件。
- 用法:
-i /path/to/rpf_file_list.txt
可选参数
-
-s {yes,reverse,no}, --stranded {yes,reverse,no}
- 描述: 数据是否为链特异性,
reverse
表示反向链解释。(默认值:yes
) - 用法:
-s yes
- 描述: 数据是否为链特异性,
-
-m MINLENGTH, --minimum-length MINLENGTH
- 描述: 输出的读取的最小长度,默认值为
24
。 - 用法:
-m 24
- 描述: 输出的读取的最小长度,默认值为
-
-M MAXLENGTH, --maximum-length MAXLENGTH
- 描述: 输出的读取的最大长度,默认值为
36
。 - 用法:
-M 36
- 描述: 输出的读取的最大长度,默认值为
-
-pv1 PVALUE1_CUTOFF, --pvalue1_cutoff PVALUE1_CUTOFF
- 描述: 用于自动预测 P-site 位置的 frame0 > frame2 的 p 值截断值,默认值为
0.05
。 - 用法:
-pv1 0.05
- 描述: 用于自动预测 P-site 位置的 frame0 > frame2 的 p 值截断值,默认值为
-
-pv2 PVALUE2_CUTOFF, --pvalue2_cutoff PVALUE2_CUTOFF
- 描述: 用于自动预测 P-site 位置的 frame0 > frame2 的 p 值截断值,默认值为
0.05
。 - 用法:
-pv2 0.05
- 描述: 用于自动预测 P-site 位置的 frame0 > frame2 的 p 值截断值,默认值为
-
-f0_percent FRAME0_PERCENT, --frame0_percent FRAME0_PERCENT
- 描述: frame0 中读取数量的比例阈值,定义为
f0/(f0+f1+f2)
,默认值为0.2
。 - 用法:
-f0_percent 0.2
- 描述: frame0 中读取数量的比例阈值,定义为
-
-o OUTNAME, --outname OUTNAME
- 描述: 输出 PDF 文件的名称(默认值:
metaplots
)。 - 用法:
-o metaplots
- 描述: 输出 PDF 文件的名称(默认值:
示例用法
以下是一些命令行示例,展示如何使用这些参数:
metaplots -a /path/to/annotation_directory -r /path/to/rpf_mapping_file.bam -o my_metaplots
metaplots -a /path/to/annotation_directory -i /path/to/rpf_file_list.txt -s reverse -m 20 -M 30 -pv1 0.01 -pv2 0.01 -f0_percent 0.25 -o my_metaplots
这些命令将使用指定的注释目录和 BAM/SAM 文件运行 metaplots
,并将结果输出到指定的文件名。根据需要启用或禁用特定选项以适应不同的分析需求。
6.Ribocode
参数解读:
你在 RiboCode
命令行下运行 -h
选项,已经成功显示了帮助信息。以下是每个参数的详细解读:
命令行参数说明
基本参数
-
-h, --help
- 描述: 显示帮助信息并退出。
- 用法:
RiboCode -h
-
-V, --version
- 描述: 显示程序的版本号并退出。
- 用法:
RiboCode -V
必需参数
-
-a ANNOT_DIR, --annot_dir ANNOT_DIR
- 描述: 转录本注释目录,由
prepare_transcripts
生成。 - 用法:
-a /path/to/annotation_directory
- 描述: 转录本注释目录,由
-
-c CONFIG_FILE, --config_file CONFIG_FILE
- 描述: 列出 BAM 文件和 P-位点信息的配置文件,请参阅数据文件夹中的示例文件。
- 用法:
-c /path/to/config_file
可选参数
-
-l {yes,no}, --longest-orf {yes,no}
- 描述: 默认值为
yes
,从最远的 AUG 到终止的区域被定义为 ORF。如果设置为no
,起始密码子的位置将由程序自动确定。 - 用法:
-l yes
- 描述: 默认值为
-
-s START_CODON, --start_codon START_CODON
- 描述: 规范的起始密码子。默认值为
ATG
。 - 用法:
-s ATG
- 描述: 规范的起始密码子。默认值为
-
-A ALTERNATIVE_START_CODONS, --alt_start_codons ALTERNATIVE_START_CODONS
- 描述: 替代的起始密码子,如
CTG, GTG
,默认值为None
。多个密码子应以逗号分隔。 - 用法:
-A CTG,GTG
- 描述: 替代的起始密码子,如
-
-S STOP_CODON, --stop_codon STOP_CODON
- 描述: 终止密码子,默认值为
TAA,TAG,TGA
。 - 用法:
-S TAA,TAG,TGA
- 描述: 终止密码子,默认值为
-
-t TRANSL_TABLE, --transl_table TRANSL_TABLE
- 描述: ORF 翻译表(默认值:1)。根据你的生物体指定正确的遗传代码。
- 用法:
-t 1
-
-m MIN_AA_LENGTH, --min-AA-length MIN_AA_LENGTH
- 描述: 预测的多肽的最小长度,默认值为
5
。 - 用法:
-m 5
- 描述: 预测的多肽的最小长度,默认值为
-
--dependence_test {none,mic,pcc}
- 描述: 用于测量框架1和框架2之间依赖性的方法。此测试可以帮助确定组合 p 值是否应调整以考虑两个测试之间的依赖性。
mic
: 最大信息系数;pcc
: 皮尔逊相关系数。 - 用法:
--dependence_test mic
- 描述: 用于测量框架1和框架2之间依赖性的方法。此测试可以帮助确定组合 p 值是否应调整以考虑两个测试之间的依赖性。
-
--stouffer_adj {none,nyholt,liji,gao,galwey}
- 描述: 调整组合 p 值以考虑两个测试之间依赖性的方法。详情请参阅:Stouffer 方法调整。
- 用法:
--stouffer_adj nyholt
-
-p PVAL_CUTOFF, --pval-cutoff PVAL_CUTOFF
- 描述: ORF 过滤的 p 值截断值,默认值为
0.05
。 - 用法:
-p 0.05
- 描述: ORF 过滤的 p 值截断值,默认值为
-
--pval_adj {fdr_bh,bonferroni,sidak,holm-sidak,holm,simes-hochberg,hommel,fdr_by,fdr_tsbh,fdr_tsbky}
- 描述: 用于校正多重测试 p 值的方法。默认值:
Benjamini/Hochberg
方法。详情请参阅:多重测试 p 值校正。 - 用法:
--pval_adj fdr_bh
- 描述: 用于校正多重测试 p 值的方法。默认值:
-
-g, --output-gtf
- 描述: 输出预测的 ORF 的 GTF 文件。
- 用法:
-g
-
-b, --output-bed
- 描述: 输出预测的 ORF 的 BED 文件。
- 用法:
-b
-
-o OUTPUT_NAME, --output-name OUTPUT_NAME
- 描述: 输出文件名称,默认值为
final_result
。 - 用法:
-o final_result
- 描述: 输出文件名称,默认值为
示例用法
以下是一些命令行示例,展示如何使用这些参数:
RiboCode -a /path/to/annotation_directory -c /path/to/config_file -o my_output
RiboCode -a /path/to/annotation_directory -c /path/to/config_file -l no -s ATG -A CTG,GTG -S TAA,TAG,TGA -t 1 -m 10 --dependence_test mic --stouffer_adj nyholt -p 0.01 --pval_adj bonferroni -g -b -o my_output
这些命令将使用指定的注释目录和配置文件运行 RiboCode,并将结果输出到指定的文件名。根据需要启用或禁用特定选项以适应不同的分析需求。
7.plot_orf_density
参数解读:
plot_orf_density
脚本的用途是绘制指定 ORF 的 P-site 图谱。以下是每个参数的详细解读:
命令行参数说明
基本参数
-
-h, --help
- 描述: 显示帮助信息并退出。
- 用法:
plot_orf_density -h
-
-V, --version
- 描述: 显示程序的版本号并退出。
- 用法:
plot_orf_density -V
必需参数
-
-a ANNOT_DIR, --annot_dir ANNOT_DIR
- 描述: 转录本注释目录,由
prepare_transcripts
生成。 - 用法:
-a /path/to/annotation_directory
- 描述: 转录本注释目录,由
-
-c CONFIG_FILE, --config_file CONFIG_FILE
- 描述: 定义 BAM 文件信息的配置文件,请参阅数据文件中的示例文件。
- 用法:
-c /path/to/config_file
-
-t TRANSCRIPT_ID, --transcript_id TRANSCRIPT_ID
- 描述: 转录本的 ID。
- 用法:
-t transcript_id
-
-s ORF_TSTART, --orf_tstart ORF_TSTART
- 描述: ORF 的起始位置(转录本水平坐标)。
- 用法:
-s orf_start_position
-
-e ORF_TSTOP, --orf_tstop ORF_TSTOP
- 描述: ORF 的结束位置(转录本水平坐标)。
- 用法:
-e orf_stop_position
-
--start-codon STARTCODON
- 描述: 预测 ORF 的起始密码子。
- 用法:
--start-codon ATG
可选参数
-
-o OUTNAME, --outname OUTNAME
- 描述: 输出文件名,默认为
transcriptid_tstart_tstop.pdf
。 - 用法:
-o output_file_name
- 描述: 输出文件名,默认为
-
--plot-annotated-orf PLOTANNOTATEDORF
- 描述: 是否绘制注释的 ORF (
yes
或no
)。 - 用法:
--plot-annotated-orf yes
- 描述: 是否绘制注释的 ORF (
示例用法
以下是一些命令行示例,展示如何使用这些参数:
plot_orf_density -a /path/to/annotation_directory -c /path/to/config_file -t transcript_id -s 100 -e 500 --start-codon ATG --plot-annotated-orf yes -o output_file.pdf
这个命令将使用指定的转录本注释目录和配置文件,以及提供的转录本 ID、ORF 起始位置和结束位置,生成 ORF 的 P-site 图谱,并保存为 output_file.pdf
。
8.ORFcount
参数解读:
ORFcount
脚本用于计算与 ORF 对齐的 SAM/BAM 格式的比对文件中的读取数量,以及使用 GTF 格式的特征文件。以下是每个参数的详细解读:
命令行参数说明
基本参数
-
-h, --help
- 描述: 显示帮助信息并退出。
- 用法:
ORFcount -h
-
-V, --version
- 描述: 显示程序的版本号并退出。
- 用法:
ORFcount -V
主要参数
-
-s {yes,reverse,no}, --stranded {yes,reverse,no}
- 描述: 指定数据是否为链特异性,
yes
表示正链,reverse
表示反链,no
表示非链特异性。(默认:yes) - 用法:
-s yes
- 描述: 指定数据是否为链特异性,
-
-a MIN_QUALITY, --minaqual MIN_QUALITY
- 描述: 跳过比对质量低于给定最小值的所有读取。(默认:10)
- 用法:
-a 10
-
-c {union,intersection-strict}, --count_mode {union,intersection-strict}
- 描述: 处理与多个 ORF 重叠的读取的模式,选项包括
union
和intersection-strict
。(默认:intersection-strict) - 用法:
-c intersection-strict
- 描述: 处理与多个 ORF 重叠的读取的模式,选项包括
-
-g GTF_FILE, --gtf GTF_FILE
- 描述: 由 RiboCode 生成的 ORF GTF 文件。(默认:final_result)
- 用法:
-g final_result.gtf
-
-r RPF_MAPPING_FILE, --rpf_mapping_file RPF_MAPPING_FILE
- 描述: 对齐到基因组的 ribo-seq BAM/SAM 文件,多个文件应以逗号分隔。
- 用法:
-r file1.bam,file2.bam
可选参数
-
-f FIRST_EXCLUDE_CODONS, --first_exclude_codons FIRST_EXCLUDE_CODONS
- 描述: 排除与 ORF 的前几个密码子对齐的读取。(默认:15)
- 用法:
-f 15
-
-l LAST_EXCLUDE_CODONS, --last_exclude_codons LAST_EXCLUDE_CODONS
- 描述: 排除与 ORF 的最后几个密码子对齐的读取。(默认:5)
- 用法:
-l 5
-
-e EXCLUDE_MIN_ORF, --exclude_min_ORF EXCLUDE_MIN_ORF
- 描述: 排除与 ORF 前后几个密码子对齐的读取的 ORF 的最小长度(nt)。(默认:100)
- 用法:
-e 100
-
-m MIN_READ, --min_read MIN_READ
- 描述: 计数 RPF 的最小读取长度。(默认:26)
- 用法:
-m 26
-
-M MAX_READ, --max_read MAX_READ
- 描述: 计数 RPF 的最大读取长度。(默认:34)
- 用法:
-M 34
-
-o OUTPUT_FILE, --output OUTPUT_FILE
- 描述: 将所有 ORF 计数写入文件,默认是写入标准输出。
- 用法:
-o output_file.txt
示例用法
以下是一些命令行示例,展示如何使用这些参数:
ORFcount -s yes -a 10 -c intersection-strict -g final_result.gtf -r sample1.bam,sample2.bam -f 15 -l 5 -e 100 -m 26 -M 34 -o orf_counts.txt
这个命令将使用指定的链特异性、最小比对质量、计数模式、GTF 文件和 BAM 文件,并排除指定位置的读取,最终将 ORF 计数结果保存到 orf_counts.txt
文件中。