Linux环境:可变剪切分析软件rMATS安装、使用与解读

这篇具有很好参考价值的文章主要介绍了Linux环境:可变剪切分析软件rMATS安装、使用与解读。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

安装前准备

一、安装背景

  1. 操作系统:Linux(Linux version 5.13.0-52-generic (buildd@lcy02-amd64-046) (gcc (Ubuntu 11.2.0-7ubuntu2) 11.2.0, GNU ld (GNU Binutils for Ubuntu) 2.37))
  2. 已安装依赖项:
    GCC、gfortran(gcc version 11.2.0 (Ubuntu 11.2.0-7ubuntu2))
    CMake(cmake version 3.18.4)

二、其他依赖项安装

  1. BLAS,LAP ACK 安装
    参考:linux关于blas、lapack的安装和使用

  2. GNU Scientific Library (GSL 2.5) 安装
    参考: Linux 安装GSL库
    gsl2.5下载指路:Gsl-2.5

  3. python环境配置
    强烈建议下载Anaconda安装包管理虚拟环境,后续也能直接使用–conda命令完成软件的安装。
    参考:Linux环境下的Anaconda安装及使用

    安装完成后添加下载源镜像:

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2

conda config --set show_channel_urls yes

rMATS安装

一、安装

根据Documentation中的指示,直接下载rMATS安装包,解压之后进入安装包当前路径,在base环境中运行即可自动安装:

./build_rmats --conda

可能遇到的报错:
(1)conda环境设置出错,具体表现为:

CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'.
To initialize your shell, run

    $ conda init <SHELL_NAME>

Currently supported shells are:
   - bash
   - fish
   - tcsh
   - xonsh
   - zsh
   - powershell

See 'conda init --help' for more information and options.

IMPORTANT: You may need to close and restart your shell after running 'conda init'.

为解决这个问题,需要打开build_rmats文件,在function create_and_activate_conda_env()中conda执行之前,加入以下内容:

function create_and_activate_conda_env() {
  
  ### 添加的脚本
  if [ -f "[Anaconda路径]/Anaconda3/etc/profile.d/conda.sh" ]; then
    . "[Anaconda路径]/Anaconda3/etc/profile.d/conda.sh"
  else
     export PATH="[Anaconda路径]/Anaconda3/bin:$PATH"
  fi
  ### 添加的脚本
  
  local CONDA_ENV_PATH="${SCRIPT_DIR}/conda_envs/rmats"

  conda create --prefix "${CONDA_ENV_PATH}" || return 1
  conda activate "${CONDA_ENV_PATH}" || return 1
}

保存更新之后,接着运行

./build_rmats --conda

即可成功安装。

(2)PAIRADISE下载失败
服务器联网原因,可能无法直接从github上下载PAIRADISE包:

###build_rmats 文件中:

function install_pairadise() {
  if [[ ! -d PAIRADISE ]]; then
    git clone https://github.com/Xinglab/PAIRADISE.git || return 1
  fi

  Rscript install_r_deps.R || return 1
}

可以直接本地进行下载:
PAIRADISE
将zip上传到服务器中rMATS所在目录下,解压后将文件夹更名为PAIRADISE,重新运行

./build_rmats --conda

若暂时不使用配对模型(paired model),则在安装的时候可以直接运行:

./build_rmats --conda --no-paired-model

二、运行测试

在rMATS解压路径下,直接运行

./test_rmats

检验是否安装成功。
可能接着出现conda设置的问题:
Linux环境:可变剪切分析软件rMATS安装、使用与解读

同样地,打开test_rmats文件,在如下位置加上脚本:

function create_and_activate_conda_env() {

  ### 添加的脚本
  if [ -f "[Anaconda路径]/Anaconda3/etc/profile.d/conda.sh" ]; then
    . "[Anaconda路径]/Anaconda3/etc/profile.d/conda.sh"
  else
     export PATH="[Anaconda路径]/Anaconda3/bin:$PATH"
  fi
  ### 添加的脚本

  local CONDA_ENV_PATH="${SCRIPT_DIR}/conda_envs/test_rmats"

  conda create --prefix "${CONDA_ENV_PATH}" || return 1
  conda activate "${CONDA_ENV_PATH}" || return 1
}

保存更新之后再次运行

./test_rmats 

成功。


rMATS使用

一、基本操作

在rMATS解压路径,运行

./run_rmats {arguments}

All arguments注释:

-h,--help: 输出帮助信息
--version: 输出版本信息
--gtf GTF: 基因和转录本注释gtf文件
--b1 B1: 文本文件,包含sample_1的bam文件的逗号分隔列表(只有使用bam时)
--b2 B2: 文本文件,包含sample_2的bam文件的逗号分隔列表(只有使用bam时)
--s1 S1: 文本文件,其中包含sample_1的FASTQ文件的逗号分隔列表。如果使用配对read(paired reads),使用":"来分隔对,","来分隔重复(replicates)。(仅当使用fastq时)
--s2 S2: 文本文件,其中包含sample_2的FASTQ文件的逗号分隔列表。如果使用配对read(paired reads),使用":"来分隔对,","来分隔重复。(仅当使用fastq时)
--od OD: post步骤的最终输出目录
--tmp TMP: 中间输出的目录,例如准备步骤(prep step)中的".rmats"文件
-t {paired,single}: read类型,双端测序则为paired,单端测序则为single;默认为paired
--libType {fr-unstranded,fr-firststrand,fr-secondstrand}: 库类型,对特定于链的数据使用fr-firststrand或fr-secondstrand;默认fr-unstranded
--readLength READLENGTH: 每一条read的长度,根据转录结果指定
--anchorLength ANCHORLENGTH: 锚(anchor)的长度;默认1
--tophatAnchor TOPHATANCHOR: aligner中使用的"anchor length"或"overhang length",至少"anchor length"NT必须映射到给定连接的每一端。默认值为6。(仅当使用fastq时)
--bi BINDEX: STAR二进制索引的目录名称(包含SA文件的目录名称)(仅当使用fastq时)
--nthread NTHREAD: 线程数,最佳线程数应等于CPU内核数。(默认1)
    CPU内核数查看:cat /proc/cpuinfo | grep "processor" |wc -l
--tstat TSTAT: 统计模型的线程数,如果未设置,则使用--nthread的值
--cstat CSTAT: 剪切差异cutoff,用于差异剪接的零假设检验的截止值。默认值0.0001,表示0.01%的差异。valid范围: 0 <= cutoff < 1。不适用于配对统计模型
--task {prep,post,both,inte,stat}: 指定要运行的rMATS步骤。默认值both(prep+post)
       prep: 预处理BAM并生成.rmats文件
       post: 将.rmats文件加载到内存中,检测和统计可变剪接事件并计算P值(如果不是--statoff)
       inte(完整性): 检查准备任务记录的BAM文件名是否与当前命令行的BAM文件名匹配
       stat:对现有输出文件运行统计测试
--statoff: 跳过统计分析
--paired-stats: 使用配对统计模型
--novelSS: 启用新剪接位点(未注释的剪接位点)的检测,默认是不检测新的剪接位点
--mil MIL: 最小内含子长度,仅影响--novelSS行为。默认值:50
--mel MEL: 最大外显子长度,仅影响--novelSS行为。默认值:500
--allow-clipping: 允许使用软(soft)或硬(hard)剪切的比对方式
--fixed-event-set FIXED_EVENT_SET: 包含fromGTF.[AS].txt文件的目录,用于代替检测一组新事件               

二、 从fastq文件开始分析

1、基因组注释文件
测序得到的是几百bp的短read, 相当于是打散的拼图,因此需要参考基因组将测得的序列mapping回去,可以去UCSC下载hg19参考基因组(Downloads-Genome Data-Human-Dec. 2013 (GRCh38/hg38)-Genome sequence files and select annotations (2bit, GTF, GC-content, etc)-Standard genome sequence files and select annotations (2bit, GTF, GC-content, etc)-hg38.Fa.gz)。

注,hg19、GRCH37、 ensembl 75这3种基因组版本应该是见得比较多的国际通用的人类参考基因组,其实他们储存的是同样的fasta序列,只是分别对应着三种国际生物信息学数据库资源收集存储单位,即NCBI,UCSC及ENSEMBL各自发布的基因组信息而已。

然而参考基因组是一部无字天书,要想解读书中的内容,需要额外的注释信息协助。因此还需要去gencode数据库下载基因组注释文件。

附ENSEMBL基因序列文件及数据文件下载:转录组分析数据准备

2、安装STAR并比对参考基因组
一是为了生成基因组索引文件;二是为了比对从fastq文件生成bam文件。
如果直接使用rMATS从fastq输入文件到结果输出文件,中间的bam文件会保留在tmpout文件夹中。同时由于rmats2sashimiplot可视化则需要bam文件作为输入,所以可以尝试先用STAR比对得到bam文件,再用rMATS做差异可变剪切分析。

使用conda命令安装

conda install -c bioconda star

构建基因组索引

STAR --runThreadN  50 --runMode genomeGenerate --genomeDir ./testData/STAR_hg38_index --genomeFastaFiles hg38.fa --sjdbGTFfile gencode.v42.annotation.gtf 

#############################
runThreadN ##构建时使用的线程数
runMode genomeGenerate ##让STAR执行基因组索引的生成工作
genomeDir ##构建好的参考基因组存放的位置,最好是单独建立的一个文件夹
genomeFastaFiles ##参考基因组序列文件
sjdbGTFfile ##基因注释文件

此时得到的./testData/STAR_hg38_index文件夹中即包含着STAR binary indices。

接着进行比对,生成bam文件

STAR 
--runThreadN 50 --genomeDir ./testData/STAR_hg38_bam --readFilesIn ./testData/fastq/231ESRP.25K.rep-1.R1.fastq ./testData/fastq/231ESRP.25K.rep-1.R2.fastq --outSAMtype BAM SortedByCoordinate --outFileNamePrefix ./testData/STAR_hg38_bam/231ESRP.25K.rep-1 --chimSegmentMin 2 --outFilterMismatchNmax 3 --outSAMstrandField intronMotif --alignEndsType EndToEnd --alignSJDBoverhangMin 6 --alignIntronMax 299999

################################
readFilesIn  ##输入文件的位置,对于双末端测序文件,用空格分隔开
outSAMtype 默认输出的是sam文件,我们这里的BAM SortedByCoordinate是让他输出为bam文件,并排序
outFileNamePrefix 表示的是输出文件的位置和前缀(需要将文件位置也写上)

--chimSegmentMin 2 --outFilterMismatchNmax: 比对时允许的最大错配数 --outSAMstrandField intronMotif --alignEndsType EndToEnd --alignSJDBoverhangMin 6 --alignIntronMax: 最长的内含子长度(根据GTF文件计算) ## rMATS软件调用STAR时所用参数多添加的默认参数

若是gz压缩的fastq文件,加上

--readFilesCommand gunzip -c

输出文件位置中,.bam文件即为我们需要的。

3、 认识fastq文件
在illumina的测序文件中,采用双端测序(paired-end),一个样本得到的是seq_1.fastq.gz和seq_2.fastq.gz两个文件,每个文件存放一段测序文件。
在illumina公司测得的序列文件经过处理以fastq文件协议存储为*.fastq格式文件。在fastq文件中每4行存储一个read
第一行:以@开头,接ReadID和其他信息; 第二行:read测序信息; 第三行:规定必须以“+”开头,后面跟着可选的ID标识符和可选的描述内容,如果“+”后面有内容,该内容必须与第一行“@”后的内容相同; 第四行:每个碱基的质量得分。记分方法是利用ERROR P经过对数和运算分为40个级别分别,与ASCII码的第33号 ! 和第73号 I 对应。用ASCII码表示碱基质量是为了减少文件空间占据和防止移码导致的数据损失。fastq文件预览如下:
Linux环境:可变剪切分析软件rMATS安装、使用与解读
4、rMATS运行
(1)从fastq文件开始进行rMATS分析

s1.txt / s2.txt文件整理:

# s1.txt为例

/path/to/1_1.R1.fastq:/path/to/1_1.R2.fastq,/path/to/1_2.R1.fastq:/path/to/1_2.R2.fastq

表明SAMPLE 1组中,有2组配对read(R1,R2)的fastq文件;“:”用于分离配对read,“,”分离replicates。
若数据为fast.gz文件,用法与fastq类似,只需把 .fastq 改为 .fastq.gz 即可。

示例命令行运行

./run_rmats --s1 /path/to/s1.txt --s2 /path/to/s2.txt --gtf /path/to/the.gtf --bi /path/to/STAR_binary_index -t paired --readLength 50 --nthread 4 --od /path/to/output --tmp /path/to/tmp_output

其中–bi 索引文件夹位置即为上述得到的基因组索引文件位置。
若出现报错:

error in mapping sample_0, 231ESRP.25K.rep-1.R1.fastq 231ESRP.25K.rep-1.R2.fastq: 127
error detail: /bin/sh: 1: STAR: not found

首先找到STAR安装位置:

whereis STAR

接着在.bashrc中加上环境变量:

export PATH=$PATH:[STAR安装路径(到STAR所在文件夹即可)]

即可解决。

(2)从bam文件开始进行rMATS分析
较为简单,参考Documentation即可。


rMATS结果解读

一、结果文件解读

rMATS的结果文件是以各个可变剪切事件的分布的,主要有
[AS_Event].MATS.JC.txt(Final output),
[AS_Event].MATS.JCEC.txt(Final output),
fromGTF.[AS_Event].txt(所有已识别的源自GTF和RNA的可变剪接 (AS) 事件),
fromGTF.novelJunction.[AS_Event].txt(选择性剪接 (AS) 事件,仅在考虑RNA后才被识别(而不是单独分析GTF),其不包括具有未注释剪接位点的事件),
fromGTF.novelSpliceSite.[AS_Event].txt(仅包含那些包含未注释拼接位点的事件。仅在使用–novelSS 时相关),
JC.raw.input.[AS_Event].txt(Event counts),
JCEC.raw.input.[AS_Event].txt(Event counts) 。

JC:Junction Counts,把那些会全部比对到 alternatively spliced exon(ASE) 的 reads 进行剔除;
ICEC:Junction Counts+Exon Counts,不仅考虑前者的reads还考虑到全部mapping到剪切exon的reads,Junction counts 是指有mapping到ASE以外部分的 reads count,也就是这些 reads 整体只比对到 ASE 区域的某个部分,而exon counts是指全部mapping到ASE区域的reads数;

为了理解junction count与exon count的具体含义,需要从测序原理来看。测序时选择的readlength是固定的,那么如何从reads结果得到可变剪切事件呢?
Linux环境:可变剪切分析软件rMATS安装、使用与解读
以skipping exon类型为例,上图左侧表示exon inclusion isoform,右侧表示exon skipping isoform,短线表示不同位置的reads,对于黑色的reads来说,是无法区分来自左侧还是右侧的转录本,而绿色和红色的reads则部分或者全部比对到可能skipping的exon上,因此是可以确定来自左侧事件;同样地,紫色reads同时包含来自可能skipping exon的左右连接的片段,因此可以确定是来自右侧事件。
对于exon inclusion isoform来说,绿色的reads数量对应的即是junction counts,而红色的reads数量即为exon counts。

[AS_Event]:可以替换为[SE(skipped exon)、MXE(mutually exclusive exons)、A3SS(alternative 3’ splice site)、A5SS(alternative 5’ splice site)、RI(retained intron)]
Linux环境:可变剪切分析软件rMATS安装、使用与解读

如果只是单纯的比较两组样品间可变剪切的差异的话,一般使用 JC.raw.input.[AS_Event].txt的结果就够了。

这几类文件中比较重要的要数[AS_Event].MATS.JC.txt,因为其他文件的信息差不多最终都整合在这个文件里面。
以SE.MATS.JC.txt为例,不同的列包含的信息为:

ID(rMATS事件ID),
GeneID(可变剪切事件所在基因编号),
geneSymbol(可变剪切事件所在基因名称),
chr(可变剪切事件所在染色体),
strand(可变剪切事件所在染色体链);

exonStart_0base,exonEnd,upstreamES,upstreamEE,downstreamES,downstreamEE,6列分别为外显子的位置信息,下图可以很好地解释:
Linux环境:可变剪切分析软件rMATS安装、使用与解读

IJC_SAMPLE_1,SJC_SAMPLE_1,IJC_SAMPLE_2,SJC_SAMPLE_2,展示两组样品在inclusion junction(IJC)和skipping junction(SJC)下的count数,重复样本的结果以逗号分隔,可以从下图来理解:
Linux环境:可变剪切分析软件rMATS安装、使用与解读

IncFormLen: 可变剪切事件Exon Inclusion Isoform的有效长度,用于归一化,计算:IncFormLen = 2 * (Junction_length - read_length + 1);
SkipFormLen:可变剪切事件Exon Skipping Isoform的有效长度,用于归一化,计算:SkipFormLen = Junction_length - read_length + 1;
其中 Junction_length = 2 * (read_length - anchor), anchor = 8 bp(default)
PValue: 可变剪切事件差异表达显著性p值,仅在使用统计模型时可用;
FDR: 可变剪切事件差异表达显著性FDR值,仅在使用统计模型时可用;
IncLevel1: sample 1中的exon inclusion level(ψ),是Exon Inclusion Isoform在总(Exon Inclusion Isoform + Exon Skipping Isoform)所占比例,计算公式如下:
Linux环境:可变剪切分析软件rMATS安装、使用与解读
I 是指mapping到exon inclusion isoform上的reads数,对应结果表格中的IJC_SAMPLE_1
S 是指mapping到exon skipping isoform上的reads数,对应结果表格中的SJC_SAMPLE_1
lI 是指effective length of the exon inclusion isoform,对应结果表格中的IncFormLen,
lS 是指effective length of the exon skipping isoform,对应结果表格中的SkipFormLen。
组中重复样本的结果以逗号分隔。

IncLevel2: sample 2中的exon inclusion level(ψ)。组中重复样本的结果以逗号分隔。
IncLevelDifference: IncLevel1与IncLevel2的差值(average(IncLevel1) - average(IncLevel2)),rMATS采用的是Likelihood-ratio test来比较两组样本可变剪切是否有差异。跟参数**–cstat**设置有关(默认是0.0001),基于marginal distribution(在零假设前提下,近似χ2 distribution),备择假设是|ψi1 −ψi2|> c,因此粗略的理解就是,ψi1和ψi2差异比c越大,P值就越小。

二、结果可视化

rmats2sashimiplot软件专门用来对rMATS分析结果做可视化。
1、软件下载与安装
尝试了github上的软件下载与setup.py安装,没有成功。于是直接在base环境下conda安装:

conda install -c bioconda rmats2sashimiplot

成功。
2、可视化
(1)所有样本可视化
数据来源可以是fastq文件做rmats分析之后得到的中间文件.bam,也可以是STAR比对生成的.bam文件,这里尝试利用fastq文件做rmats分析得到的.bam中间文件:

rmats2sashimiplot --b1 ./fastq_tmpout/2022-11-12-01_05_44_876200_bam1_1/Aligned.sortedByCoord.out.bam,./fastq_tmpout/2022-11-12-01_05_44_876200_bam1_2/Aligned.sortedByCoord.out.bam --b2 ./fastq_tmpout/2022-11-12-01_05_44_876200_bam2_1/Aligned.sortedByCoord.out.bam,./fastq_tmpout/2022-11-12-01_05_44_876200_bam2_2/Aligned.sortedByCoord.out.bam -t SE -e ./fastq_output/SE.MATS.JC.txt --l1 SAMPLE_1 --l2 SAMPLE_2 -o sashimiplot_output

##############################
--b1  ##第一组bam,replicates逗号分隔
--b2  ##第二组bam
-t SE -e ./output/SE.MATS.JC.txt  #这里选择SE event来可视化
--l1  --l2   #标记可视化结果中每个组样本名字前缀
-o  #输出目录

##other arguments
-c COORDINATE 格式:-c {chromosome}:{strand}:{start}:{end}:{/path/to/gff3}
                  ##在输入文件为.bam时使用,注意annotation文件为.gff3。(可以采用以下命令将gtf转换为gff3: gffread --keep-genes ./some_file.gtf -o ./some_file.gff3)
--exon_s EXON_S   ## 外显子缩放比例,Default: 1
--intron_s INTRON_S   ## 内含子缩放比例。 Default: 1(如实际长度为100,--introns 5表示显示为100/5=20长度)                     

查看得到的结果

cd ./sashimiplot_output/Sashimi_plot ##在该文件夹中

(2)分组可视化
首先创建一个grouping.gf文件,包含分组信息:

group1name: 1-3
group2name: 4-6

接着

rmats2sashimiplot --b1 ./fastq_tmpout/2022-11-12-01_05_44_876200_bam1_1/Aligned.sortedByCoord.out.bam,./fastq_tmpout/2022-11-12-01_05_44_876200_bam1_2/Aligned.sortedByCoord.out.bam --b2 ./fastq_tmpout/2022-11-12-01_05_44_876200_bam2_1/Aligned.sortedByCoord.out.bam,./fastq_tmpout/2022-11-12-01_05_44_876200_bam2_2/Aligned.sortedByCoord.out.bam -t SE -e ./fastq_output/SE.MATS.JC.txt --l1 SAMPLE_1 --l2 SAMPLE_2 -o sashimiplot_output_group --group-info grouping.gf

同样地,进入

cd ./sashimiplot_output_group/Sashimi_plot ##在该文件夹中

查看结果。
Linux环境:可变剪切分析软件rMATS安装、使用与解读

3、可视化结果解读
Linux环境:可变剪切分析软件rMATS安装、使用与解读
RPKM的值表示,将特定gene的计数均匀地分布在坐标上。例如,如果读取长度为50,则在这50长度中,每个单独的坐标将显示1/50的计数值。同时还将该值进行归一化。

注意,sashimiplot中得到的junction count与rMATS中得到的不太一致。

此外,sashimiplot运行时间过长,为了减少计算时间,可以将

-e ./output/SE.MATS.JC.txt

中txt文件先过滤一遍,筛出感兴趣的event进行plot。

参考:
rMATS这款差异可变剪切分析软件的使用体验
可变剪切 rMATS和rmats2sashimiplot
差异剪接分析软件rMATS结果文件解读(v4.1.2)
笔记:rmats绘图结果怎么看文章来源地址https://www.toymoban.com/news/detail-426093.html

到了这里,关于Linux环境:可变剪切分析软件rMATS安装、使用与解读的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 软考:软件工程:软件开发方法,软件可行性分析,需求分析,ER实体图,数据流图,状态转换图,数据字典

    软考:软件工程:软件开发方法,软件可行性分析,需求分析,ER实体图,数据流图,状态转换图,数据字典

    提示:系列被面试官问的问题,我自己当时不会,所以下来自己复盘一下,认真学习和总结,以应对未来更多的可能性 关于互联网大厂的笔试面试,都是需要细心准备的 (1)自己的科研经历, 科研内容 ,学习的相关领域知识,要熟悉熟透了 (2)自己的实习经历,做了 什

    2024年02月11日
    浏览(11)
  • LDRA Testbed软件静态分析_软件质量度量

    LDRA Testbed软件静态分析_软件质量度量

    LDRA Testbed软件静态分析_操作指南 LDRA Testbed软件静态分析_自动提取静态分析数据生成文档 LDRA Testbed软件静态分析_Jenkins持续集成_(1)自动进行静态分析的环境搭建 LDRA Testbed软件静态分析_Jenkins持续集成_(2)配置邮件自动发送静态分析结果 LDRA Testbed软件静态分析_软件质量度量 L

    2024年02月22日
    浏览(6)
  • 网站日志分析软件--让网站日志分析工作变得更简单

    网站日志分析软件--让网站日志分析工作变得更简单

    网站的日志分析,是seo优化不可忽视的一门功课,但网站越大,每天产生的日志就越大,大站一天都可以产生几个G的网站日志,如果光靠肉眼去分析,那可能看到猴年马月都看不完,因此借助网站日志分析工具去分析网站日志,那将会使网站日志分析工作变得更简单。下面推

    2024年02月04日
    浏览(6)
  • HMMER-序列分析软件介绍

    HMMER是一个软件包,它提供了制作蛋白质和DNA序列域家族概率模型的工具,称为轮廓隐马尔可夫模型、轮廓HMM或仅轮廓,并使用这些轮廓来注释新序列、搜索序列数据库以寻找其他同源物,以及进行深度多重序列比对。HMMER是已知蛋白质和DNA序列域家族的几种综合比对和图谱的

    2024年02月13日
    浏览(5)
  • C++常用软件分析工具案例分析集锦汇总

    本文是 C++常用软件分析工具从入门到精通案例集锦 专栏的导航贴( 点击链接,跳转到专栏主页,欢迎订阅,持续更新… )。 专栏介绍 :根据近几年C++软件异常排查的项目实践,详细地讲述如何使用PE工具、Dependency Walker、GDIView、Process Explorer、Process Monitor、API Monitor、Clum

    2024年02月11日
    浏览(8)
  • C++ 软件常用分析工具及项目实战问题分析案例集锦

    C++ 软件常用分析工具及项目实战问题分析案例集锦

    目录 1、库依赖关系查看工具Dependency Walker 2、GDI对象查看工具GDIview 3、PE信息查看工具PeViewer/MiTeC EXE Explorer 4、进程信息查看工具Process Explorer 5、进程监控工具Process Monitor 6、API函数调用监测工具API Monitor C++软件异常排查从入门到精通系列教程(专栏文章列表,欢迎订阅,持续

    2024年02月03日
    浏览(11)
  • SOFAStack软件供应链安全产品解析——SCA软件成分分析

    SOFAStack软件供应链安全产品解析——SCA软件成分分析

    近年来,软件供应链安全相关攻击事件呈快速增长态势,造成的危害也越来越严重,为了保障软件供应链安全,各行业主管单位也出台了诸多政策及技术标准。基于内部多年的实践,蚂蚁数科金融级云原生PaaS平台SOFAStack发布完整的软件供应链安全产品及解决方案,包括静态代

    2024年02月04日
    浏览(13)
  • 【某软件网络协议分析】

    【某软件网络协议分析】

    由于网站无法上传附件,本帖子完整内容请点击此处 首先,从coco.apk提取dex文件,利用dex2jar将dex转化为jar,拖到jd-gui中,发现有如下几个可疑点: com.azus.android.tcplogin.CryptUtil.rsaEncrypt com.azus.android.tcplogin.CryptUtil.aesDecrypt com.azus.android.tcplogin.CryptUtil.aesEncrypt com.azus.android.tcplogin

    2024年02月02日
    浏览(6)
  • 软件测试需求分析

    软件测试需求分析

    1.1、必要性 如果把测试活动比作软件生命周期,测试需求分析就相当于软件的需求规格说明,测试策略相当于软件的架构设计,测试用例相当于软件的详细设计,测试执行相当于软件的编码过程。所以整个测试活动的依据来源于测试需求,测试需求分析是整个测试活动环节必

    2023年04月26日
    浏览(5)
  • 2. 软件需求 & 面向对象分析

    2. 软件需求 & 面向对象分析

    目录 1. 软件需求 1.1 需求分类 1.2 需求获取 1.3 需求分析 2. 面向对象分析(OOA) 2.1 统一建模语言 UML 2.2 用例模型 2.2.1 用例图的元素  2.2.2 识别参与者 2.2.3 合并需求获得用例 2.2.4 细化用例描述 2.3 分析模型 2.3.1 定义概念类 2.3.2 确定类之间的关系 2.3.3 为类添加职责 1. 软件需求

    2024年02月13日
    浏览(6)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包