服务器从零部署环境进行测序

linux基础使用

Linux的基本命令
流程

安装conda环境

Conda是一个开源的软件包管理系统和环境管理系统,用于构建、分享和管理软件环境。它最初是为Python开发的,但现在已经扩展到其他编程语言和工具。
Conda的核心功能是创建和管理虚拟环境。虚拟环境是一个独立的、隔离的环境,其中包含特定版本的软件包和依赖项。这使得不同项目之间的软件包和依赖项可以相互独立地存在,而不会产生冲突。使用虚拟环境可以帮助您在不同的项目之间轻松地切换,并确保每个项目都使用正确的软件版本。
Conda还提供了一个强大的软件包管理系统。它拥有一个广泛的软件包仓库,您可以从中选择和安装各种开源软件包。Conda可以自动解决依赖项,确保您安装的软件包与其所需的依赖项兼容。此外,Conda还可以管理软件包的更新、升级和删除。
除了软件包管理和环境管理外,Conda还提供了其他一些有用的功能,例如创建交叉平台的可执行文件、共享环境和软件包、创建可重复的分析工作流等。
Conda有两个主要的分发版本:Anaconda和Miniconda。Anaconda是一个完整的数据科学平台,包含了大量的数据科学工具和库。而Miniconda则是一个精简的版本,只包含Conda和一些基本的依赖项,可以根据需要进行定制安装。

打开终端 -> 下载软件包 -> 安装,指定安装位置 -> 配置镜像

  1. 切换到工作目录下(打开终端)
  2. 使用下面的命令(下载安装包)
  • 在当前文件夹下创建software文件夹用于存储下载的软件。
  • 国内镜像参考,选取适合的国内镜像选取需要下载的软件包,并进入archive文件夹下选取适合的版本复制链接,在服务器上使用wget命令下载
mkdir ./software && cd ./software/
wget -c https://mirrors.aliyun.com/anaconda/archive/Anaconda3-2023.07-1-Linux-x86_64.sh

下载conda
3. 安装,指定安装位置

  • 使用bash命令安装下载好的conda软件包
 bash Anaconda3-2023.07-1-Linux-x86_64.sh

安装conda
一路回车,yes下去吧。如果想把conda安装到指定目录,当系统问你想把conda安装到哪个时,直接输入路径即可。

  • 测试一下conda是否安装好,激活conda,调出conda 帮助信息
source ~/.bashrc
conda --help
  • 配置镜像
    因为在国内,从conda默认的软件源下载速度非常慢。所以需要国内的镜像软件资源加到conda的配置中。一般就用清华的镜像(其实就是把链接地址写到某个指定的文本中的过程)。
conda config --add channels https://mirrors.aliyun.com/anaconda/pkgs/free
conda config --add channels https://mirrors.aliyun.com/anaconda/cloud/conda-forge
conda config --add channels https://mirrors.aliyun.com/anaconda/cloud/bioconda
conda config --set show_channel_urls yes     #设置搜索时显示通道地址
conda create --name myenv python=3.6  //创建虚拟环境
conda activate myenv   //激活虚拟环境
conda deactivate  //退出虚拟环境

安装数据处理所需的分析软件

数据解压

  • SRAtoolkit工具下载
    SRA Toolkit是由美国国家生物技术信息中心(NCBI)开发的一组工具,用于处理和分析SRA(Sequence Read Archive)数据。SRA Toolkit提供了一系列命令行工具,可以从NCBI的SRA数据库中下载、转换、处理和分析高通量测序数据。
conda install -c bioconda sra-tools

数据质控

  • FastQC下载
    FastQC是一款基于Java的软件,一般都是在linux环境下使用命令行运行,它可以快速多线程地对测序数据进行质量评估。
conda install fastqc

数据过滤

下载顺序: Python -> fastqc -> Cutadapt ->TrimGalore

  • TrimGalore下载
    TrimGalore是一个用于对测序数据进行质量控制和修剪的工具,它基于Cutadapt和FastQC,并提供了简化的接口和流程。
    1.质量控制:TrimGalore首先使用FastQC对输入的测序数据进行质量评估,生成质量报告。这可以帮助用户了解数据的质量情况。
    2.适配序列剔除:TrimGalore使用Cutadapt来检测和删除测序数据中可能存在的适配序列(adapter sequences),这些序列通常来自于测序反应或文库构建过程中引入的引物或连接器。
    3.质量修剪:TrimGalore根据用户指定的阈值,对测序reads进行质量修剪。它会根据碱基质量分数进行判断,以删除低质量的碱基。
    4.截断和过滤:TrimGalore还可以根据用户的需求对测序reads进行截断和过滤。例如,可以截断太短或太长的reads,或者过滤掉含有N的reads。
    5.质量控制再次评估:修剪后,TrimGalore会再次使用FastQC对处理后的数据进行质量评估,生成修剪后的质量报告,以便用户评估修剪效果和数据质量。
  • cutadapt 的安装与使用
    cutadapt 是一款质量过滤的软件, 它可以删除adapter, primer. polyA尾等序列;也可以用来去除低质量序列
conda install -c bioconda cutadapt   ##注意Python版本是否匹配
conda install trim-galore

数据比对

  • TopHat
    TopHat是一种高效的读取映射算法,旨在将RNA-Seq实验的读取与参考基因组对齐,而无需依赖已知的剪接位点。
安装
wget http://ccb.jhu.edu/software/tophat/downloads/tophat-2.1.0.Linux_x86_64.tar.gz
解压
tar -zxvf tophat-2.1.0.Linux_x86_64.tar.gz
  • STAR(Spliced Transcripts Alignment to a Reference)
    STAR是一个剪接转录本比对到参考的RNA-Seq数据比对软件。
conda install -c bioconda star
  • HISAT(hierarchical indexing for spliced alignment of transcripts) / HISAT2
    HISAT/HISAT2高效的、用于RNA-Seq数据比对的生物信息工具。采用两种类型的索引进行比对:全基因组索引来锚定每个比对,以及许多局部索引,用于非常快速地扩展这些比对。
conda install -c bioconda hisat2

表达定量计算

  • subread
    featureCount是subread软件包里的一个命令,所以安装subread即可
conda install -c bioconda subread

数据下载

参考基因组及注释信息
SRA下载数据
参考教程:RNA-Seq白利合子酵母菌

数据格式

生信常用数据格式: FASTA 格式

  • Fasta
    Fasta(.fa)格式是用于记录核酸序列或肽序列的文本格式,其中的核酸或氨基酸均以单个字母编码呈现。该格式同时还允许在序列之前定义名称和编写注释。
  • Fastq格式
    Fastq(.fq)格式是一种基于文本的存储生物序列和对应碱基(或氨基酸)质量的文件格式。最初由桑格研究所(Wellcome Trust Sanger Institute)开发出来,现已成为存储高通量测序数据的事实标准。
  • sra格式
    SRA数据库: Sequence Read Archive,隶属NCBI (National Center for Biotechnology Information),它是一个保存大规模平行测序原始数据以及比对信息和元数据 (metadata) 的数据库,所有已发表的文献中高通量测序数据基本都上传至此,方便其他研究者下载及再研究。其中的数据则是通过压缩后以.sra文件格式来保存的,SRA数据库可以用于搜索和展示SRA项目数据。
    .sra数据格式是一种用于存储高通量测序数据的标准格式,数据压缩格式,需转换成fastq文件以后才能查看。

GTF与GFF文件
基因组注释文件(GFF,GTF)下载的五种方法

  • GTF格式
    GTF(Gene Transfer Format)文件是一种用于基因注释和基因组注释的标准文件格式。它通常用于记录基因的转录本结构、外显子和内含子的边界、基因位置以及其他相关的注释信息。
    GTF文件的每一行表示一个特定的基因元素(如转录本、外显子、CDS等),并包含多个字段,使用制表符或空格进行分隔。
  • GFF3格式
    GFF3(General Feature Format version 3)文件是一种常用的基因组注释文件格式,用于记录和描述基因组中的基因、转录本及其相关的注释信息。它是GFF(General Feature Format)文件的第三个版本。
  • sam格式
    SAM(Sequence Alignment/Map)文件用于存储和表示序列比对结果。它包含了测序数据中的序列信息以及其对应的比对位置、质量值和其他相关标记。
  • bam格式
    BAM就是SAM的二进制文件,具有更小的存储空间,与SAM文件具有相同的字段结构,并且许多下游分析工具使用的是BAM格式。文件可以进行排序和建立索引,以缩短下游分析所需时间。

数据获取

  • SRA数据库
    Sequence Read Archive,隶属NCBI (National Center for Biotechnology Information),它是一个保存大规模平行测序原始数据以及比对信息和元数据 (metadata) 的数据库,所有已发表的文献中高通量测序数据基本都上传至此,方便其他研究者下载及再研究。其中的数据则是通过压缩后以.sra文件格式来保存的,SRA数据库可以用于搜索和展示SRA项目数据

SRA和GEO数据库的区别:

  1. 数据类型不同: SRA数据库主要包含原始测序数据,而GEO数据库包含的是已经进行过数据处理和分析的基因表达谱和芯片数据;
  2. 存储方式不同: SRA数据库采用二进制格式存储数据,而GEO数据库采用文本格式存储数据;
  3. 面向用户不同: SRA数据库主要面向生物信息学研究人员和开发人员,GEO数据库则主要面向生命科学研究人员;
  4. 数据来源不同: SRA数据库包含来自各种测序平台的数据,而GEO数据库则包含不同实验室的基因表达谱和芯片数据。

Sra数据下载
https://www.ncbi.nlm.nih.gov/

wget -c https://sra-downloadb.be-md.ncbi.nlm.nih.gov/sos5/sra-pub-zq-16/SRR025/25158/SRR25158735/SRR25158735.lite.1   //Mus musculus; RNA-Seq (SRR25158735)

参考基因组下载
https://hgdownload.soe.ucsc.edu/

wget -c https://hgdownload.soe.ucsc.edu/goldenPath/mm39/bigZips/mm39.fa.gz
gzip -d mm39.fa.gz     //解压文件

基因注释文件下载
https://www.gencodegenes.org/

wget -c https://ftp.ebi.ac.uk/pub/databases/gencode/Gencode_mouse/release_M33/gencode.vM33.annotation.gff3.gz
gzip -d gencode.vM33.annotation.gff3.gz

数据处理

数据解压

# fasterq-dump --split-files SRR25158735.lite.1
/home/zhujiang/anaconda3/pkgs/sra-tools-2.11.0-pl5262h314213e_1/bin/fasterq-dump --split-files SRR25158735.lite.1  //通过路径调用函数

数据质控

fastqc -o /datastore10/data/ -t 6 SRR25158735.lite.1.fastq

结果图
前几步成功的截图

数据过滤

trim_galore -q 20 --phred33  --length 20  SRR25158735.lite.1.fastq   --gzip -o /datastore10/data/trim/

参数说明:
–quality(-q):设定Phred quality score阈值,默认为20。
–phred33::选择-phred33或者-phred64,表示测序平台使用的Phred quality score。
–length:设定输出reads长度阈值,小于设定值会被抛弃。
–paired:对于双端测序结果,一对reads中,如果有一个被剔除,那么另一个会被同样抛弃,而不管是否达到标准。
–gzip和–dont_gzip:清洗后的数据zip打包或者不打包。
–output_dir (-o):输入目录。需要提前建立目录,否则运行会报错。

结果展示
结果展示

数据比对

hisat2-build mm39.fa genome    //建立索引
hisat2 -q -x /datastore10/data/genome/genome -U SRR25158735.lite.1.fastq -S SRR25158735.lite.1.sam

#-x 索引存储位置

使用 -U 参数指定单个单末端数据文件:如果你有单末端的测序数据文件,你可以使用 -U 参数指定该文件。例如,-U SRR25158735.lite.1.fastq。
使用 -1 和 -2 参数指定双末端数据文件:如果你有双末端的测序数据文件,你可以使用 -1 和 -2 参数指定这两个文件的路径。例如,-1 SRR25158735.lite.1.fastq 和 -2 SRR25158735.lite.2.fastq。

结果

#sam转bam
conda install -c bioconda samtools openssl=1.0

samtools view -b -S SRR25158735.lite.1.sam > SRR25158735.lite.1.bam
samtools sort SRR25158735.lite.1.bam > SRR25158735.lite.1_sort.bam
samtools index SRR25158735.lite.1_sort.bam

Samtool的下载及使用
解决libcrypto.so.1.0.0 动态库找不到的问题

表达定量

表达定量工具

  • featureCounts:
    适用于计数从RNA或基因组DNA测序实验生成的读取,需要的计算机内存要少得多。它适用于单端或配对端读取,并提供适用于不同测序应用的广泛选项。
  • StringTie
    StringTie可以产生更完整,更准确的基因重建以及更好的表达水平估计。
  • Cufflinks
    Cufflinks是一个RNA-seq分析工具套件,其中包含多个工具,如Cuffquant用于定量,Cuffnorm用于归一化等。
  • RSEM
    RSEM是一种准确且用户友好的软件工具,用于从RNA-Seq数据中量化转录本丰度。

表达量计算

featureCounts  -g gene_id -a gencode.vM33.annotation.gff3  -o file_counts.txt 
SRR25158735.lite.1_sort.bam 

对于 featureCounts 命令的具体选项和参数,下面是一些相关的说明:
-g gene_id:使用基因 ID 进行计数。你可以根据需要选择适当的注释标识符。
-a gencode.v43lift37.basic.annotation.gtf:指定注释文件,这是一个 GTF 格式的文件,其中包含了基因和转录本的注释信息。
-p:如果你的数据是双末端测序数据,使用该选项进行配对计数。如果是单末端测序数据,则不需要该选项。
-o file_counts.txt:将计数结果输出到 file_counts.txt 文件。
file1_sort.bam file2_sort.bam filex_sort.bam:这些是你要进行计数的 BAM 文件的路径。根据你的需要,可以提供一个或多个文件。

定量数据格式

  • Count
    Count表示每个基因或转录本在RNA-seq数据中的read计数。它直接表示样本中与该基因或转录本对应的序列的数量,通常是通过特定的比对工具(如HTSeq-count或featureCounts)计算得出。是一个整数。
  • FPKM
    FPKM(Fragments Per Kilobase of transcript per Million mapped reads),每千个碱基的转录每百万映射读取的fragments。通过将每个基因或转录本的读数归一化为其长度和总read数来衡量其相对表达水平。它考虑了基因长度的因素,适用于比较不同基因或转录本之间的表达水平。主要用来对双端测序进行定量的方法。
  • RPKM
    RPKM(Reads Per Kilobase per Million mapped reads),每千个碱基的转录每百万映射读取的reads。是一种用于衡量基因表达丰度的指标,常用于RNA-seq(转录组测序)数据的定量分析。它结合了基因长度、读数计数和总映射读取数,以便比较不同基因或不同样本之间的相对表达水平。主要用来对单端测序进行定量的方法。
  • TPM
    TPM(Transcripts Per Million)是一种用于衡量基因或转录本相对表达水平的指标,可以纠正基因长度和测序深度对表达量的影响。与FPKM不同,TPM将读数进行归一化,以每百万个转录本为单位。

工具总结

比对工具
定量工具
定量数据格式

用R语言合并表达定量文件

rm(list = ls())
setwd("D:/R/LAML/CHOL/nc/demo")

count<-read.table("file_counts.txt",header = T,sep = "\t")
# 加载所需的包
library(dplyr)
library(readr)


#生成随机数据,以一个表达定量文件为基础,生成随机数列来替换其中的样本表达量这一列,从而得到多个表达定量文件用于后边合成表达谱
# 循环20次
for (i in 1:20) {
  # 读取原始数据表
  original_data <- count
  
  # 将第七列替换为随机数列
  original_data[, 7] <- runif(nrow(original_data))
  colnames(original_data)[7]<-paste0("sample_",i)
  # 导出新表
  write.csv(original_data, paste0("新表_", i, ".csv"), row.names = FALSE)
}

#将生成的随机数据读入,合成表达谱
# 获取当前文件夹下所有的CSV文件
csv_files <- list.files(pattern = "\\.csv")

# 创建一个空的数据框用于存储合并后的结果
merged_data <- count

# 循环读取、提取指定列并合并每个CSV文件
for (file in csv_files) {
  # 读取CSV文件
  data <- read_csv(file)
  
  # 保留第一列和第七列
  data_subset <- data %>% select(1, 7)
  
  # 合并数据
  merged_data <- merge(merged_data, data_subset,by="Geneid",all = F)
}

# 将合并后的数据保存为新的CSV文件
write_csv(merged_data, "合并后的数据.csv")


  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值