美文网首页
从序列到表达矩阵

从序列到表达矩阵

作者: 蕊汐_rich | 来源:发表于2022-10-21 18:27 被阅读0次

平台:Linux 服务器、Rstudio
数据:NCBI数据库(SRR2932830)

1.下载序列

参考 菜鸟自学之——SRA Toolkit 的下载和使用https://blog.csdn.net/guguaihezi/article/details/81240916
可以从https://ftp-trace.ncbi.nlm.nih.gov/sra/sdk/找不同的版本,复制链接,使用wget 链接 在服务器上下载。

wget  https://ftp-trace.ncbi.nlm.nih.gov/sra/sdk/2.9.2/sratoolkit.2.9.2-centos_linux64.tar.gz
tar xzvf sratoolkit.2.9.2-centos_linux64.tar.gz
mv sratoolkit.2.9.2-centos_linux64 ~/local/app/  #移动到指定文件夹
cd ~/local/app/  #进入本地程序安装路径
mv sratoolkit.2.9.2-centos_linux64 sratoolkit #去掉版本号是为了避免因升级而需要修改

配置文件(方法一)

vi ~/.bashrc  #用vi/vim编辑器修改bashrc文件
i  #由command line进入insertion line
 export PATH=$PATH:/home/urname/local/app/sratoolkit/bin #改成自己的地址
ESC, :wq  #退出vi编辑器并保存文件
source ~/.bashrc  #让配置生效

配置文件(方法二)

echo 'export PATH=/home/urname/local/app/sratoolkit/bin:$PATH' >> ~/.bashrc #改成自己的地址
source ~/.bashrc

从NCBI的SRA库里下载数据

prefetch SRR2932830
##或者
nohup prefetch SRR2932830 &   #不中断

2.数据质控

(1)将sra文件转化为fastq文件

下载的SRR2932830是一个PE测序结果,所以,需要 --split-files 参数将其分解为两个fastq文件。
如果不加该参数,则只有1个fastq文件(包含了两端测序的结果)

fastq-dump --split-3 SRR2932830   #将双端测序文件拆分为两个fastq文件
##或者
fastq-dump --gzip --split-files SRR2932831 #输出gz的压缩格式

(2)安装fastp或fastqc

安装与配置miniconda3时主要参考 安装fastqc_转录组启动:Miniconda安装|Aspera高速下载测序数据|Fastp质控过滤https://blog.csdn.net/weixin_30166691/article/details/112733596

conda install fastp
conda install fastqc

(3)质控&过滤

参考 RNA-Seq:从fastq到表达矩阵
https://www.jianshu.com/p/3352bfd404f3

fastp (single -end, SE)

fastp -I SRR******.fastq -O SRR******_clean.fastq

fastp (paired -end, PE)

fastp -i Sample1-1_R1.fq.gz -o Sample1-1_R1.clean.fq.gz -I Sample1-1_R2.fq.gz -O Sample1-1_R2.clean.fq.gz
##或者
fastp -i Sample1-1_R1.fq.gz -I Sample1-1_R2.fq.gz -o Sample1-1_R1.clean.fq.gz -O Sample1-1_R2.clean.fq.gz

根据质控结果决定是否需要去接头等

3.比对到参考基因组上——hisat2

(1)下载安装Hisat2

参考 生物软件(一):生物软件(Hisat2)的安装与运行https://www.jianshu.com/p/5caba78a55a4
进入网站https://daehwankimlab.github.io/hisat2/download/,复制地址

image.png
wget https://cloud.biohpc.swmed.edu/index.php/s/oTtGWbWjaxsQ2Ho/download
unzip hisat2-2.2.1-Linux_x86_64.zip
cd hisat2-2.2.1/
./hisat2
echo 'export PATH~/hisat2-2.2.1:$PATH' >> ~/.bashrc
source ~/.bashrc

(2)下载参考基因组和注释文件

使用了师兄自己组装的参考基因组,其他可参考 RNA-seq的处理流程https://zhuanlan.zhihu.com/p/261360251

(3)建立索引和对比到参考基因组

hisat2-build /public/home/st11/sequence/ReferenceData/hg38/hg38.fa genome #改成自己的.fa文件所在地址
hisat2 -x ./Reference_GRCH38/grch38_index/genome \
-1 ./trim_galore/3b-mc1_R1_val_1.fq.gz \
-2 ./trim_galore/3b-mc1_R2_val_2.fq.gz \
-S 3b-mc1.sam #这里的genome是上一步生成的genome文件位置

4.htseq工具计算count值

(1)下载安装samtools

参考 linux下samtools安装https://blog.csdn.net/Gentlezzx/article/details/121626879

##安装samtools
wget https://github.com/samtools/samtools/releases/download/1.9/samtools-1.9.tar.bz2
tar -xzvf samtools-1.9.tar.bz2
cd samtools-1.9
./configure --prefix=/home/用户名/.local
make
make install
##安装 HTSeq
conda install HTSeq

(2)samtools处理数据

samtools view -@8 -b 3b-mc1.sam > 3b-mc1.bam # sam 转为 bam
samtools sort -n 3b-mc1.bam > 3b-mc1_sort.bam #按照name排序

(3)htseq工具计算count值

htseq-count -f bam -r name -a 10 -t exon -i gene_id -m union\
3b-mc1_sort.bam  hg38_HPV16.gtf >30-mc1_counts.txt

(4)ENSG编号转为Symbol

参考 TCGA数据 ENSG编号转为Symbol(基因名称)https://blog.csdn.net/weixin_38987362/article/details/102900370

##打开30-mc1_counts.txt,加上列名,另存为genecounts.csv,在Rstudio中打开
##安装读取相关包
library(stats4)
library(BiocGenerics)
library(parallel)
library("AnnotationDbi")
library("org.Hs.eg.db")
c1g <- read.table("genecounts.csv",header = T,sep = ",",row.names = 1)
gene_up=rownames(c1g)
c1g$symbol <- mapIds(org.Hs.eg.db,keys=gene_up,column="SYMBOL",keytype="ENSEMBL",multiVals="first")
mdata<-rbind(c1g,c1g$symbol)
write.table(mdata,'./mgene.csv',sep=",")

完结撒花~

相关文章

  • 从序列到表达矩阵

    平台:Linux 服务器、Rstudio数据:NCBI数据库(SRR2932830) 1.下载序列 参考 菜鸟自学...

  • 一文了解自然语言处理神经史(下)

    摘要:越来越火的NLP到底经历了什么? 2014年-序列到序列模型 2014年,Sutskever等人提出序列到序...

  • 3D变换:模型,视图,投影与Viewport

    OpenGL 使用列主序矩阵,即列矩阵,因此我们总是倒过来算的(左乘矩阵,变换效果是按从右向左的顺序进行): 投影...

  • 矩阵乘法在python中的表示

    从数学表达上来说,矩阵乘法有: 矩阵的乘法(matmul product):这就是线性代数里面的矩阵乘法 內积/点...

  • OpenGL中矩阵的行主序与列主序

    行主序与列主序 OpenGL中使用的矩阵,都是数学意义上的标准矩阵。但是各个OpenGL应用在实现矩阵时,根据存储...

  • 多项式回归

    矩阵表达 多项式回归的矩阵表达就是 训练数据矩阵 与** 数据矩阵相乘**,得到 回归数据矩阵 求解公式 下图w的...

  • 深度学习笔记一: Seq2seq attention

    0 概述 Seq2seq模型是一种从序列到序列的模型。其他的很多模型是对于每个样本,对应特征矩阵的某一行,所有输入...

  • 「转录组」WGCNA实战原理两不误

    表达矩阵的处理 后续分析所用到的数据,均为FPKM标准化后的表达矩阵。 从流程上对WGCNA进行解读 1)当对芯片...

  • 图形学中矩阵的行主序和列主序

    矩阵的排列 矩阵在数学中的定义是 m行n列的数阵 而在图形学中,有行主序和列主序两种排列方式,行主序和标准矩阵是一...

  • GEOquery

    下载GSE 过滤表达矩阵 删除表达量低的探针,取最大表达量 探针名转为基因名 制作分组矩阵 制作差异比较矩阵 lm...

网友评论

      本文标题:从序列到表达矩阵

      本文链接:https://www.haomeiwen.com/subject/luipzrtx.html