无参转录组起步

作者: 刘小泽 | 来源:发表于2019-02-01 23:05 被阅读42次

刘小泽写于19.2.1

😂发觉好久没写了,果然临近过年事情比较多,最近重新开始无参转录组。这次先从数据下载做到得到组装的转录本

数据来源

Defining the transcriptomic landscape of Candida glabrata by RNA-Seq.

http://www.ncbi.nlm.nih.gov/pubmed/?term=25586221

这里只下载GSNO和wt的数据SRR1582646-SRR1582651

需要注意的是,如果用自己的数据没有问题,要是使用公共数据的sra再转换,就需要注意一个问题:不要使用平时默认的参数--gzip --split-3
这样会产生这种header:@SRR1582646.224153461 ,而这种是不被软件识别的

我们要使用参数:--defline-seq '@$sn[_$rn]/$ri' --split-files ,这样得到正确的header结果:@HWI-ST1363:114:D1H5CACXX:3:1101:1196:2196/1

数据下载转换

SRR_Acc_List.txt中放入SRR的ID号

SRR1582646
SRR1582647
SRR1582648
SRR1582649
SRR1582650
SRR1582651

wkd=~/rna-denovo-test

source activate rna-seq
mkdir $wkd/raw && cd $wkd/raw
cat $wkd/raw/SRR_Acc_List.txt |while read i
do
ascp -v -i ~/.aspera/connect/etc/asperaweb_id_dsa.openssh -k 1 -T \
     -l200m anonftp@ftp-private.ncbi.nlm.nih.gov:/sra/sra-instant/reads/ByRun/sra/SRR/SRR158/$i/${i}.sra ./
time fastq-dump --defline-seq '@$sn[_$rn]/$ri' --split-files -A $i ${i}.sra && echo "** ${i}.sra to fastq done **"
done 
source deactivate 

预处理(质控+过滤)

因为是测试数据,因此我们可以只选择其中10k行,但是为了选取的随机性,可以使用seqtk软件

source activate rna-seq
# 选择一部分10000条,用seqtk sample随机选10000条
ls $wkd/raw/*_1.fastq.gz >1 
ls $wkd/raw/*_2.fastq.gz >2 
paste 1 2 > sample-conf
cat conf1 | while read i;do
    fqs=($i)
    fq1=${fqs[1]}
    fq2=${fqs[2]}
    surname=${fq1%%_*}
    #echo $fq1 $surname
    seqtk sample $fq1 10000 >test.${surname}_1.fastq
    seqtk sample $fq2 10000 >test.${surname}_2.fastq
done

第一次质控

mkdir $wkd/qc && cd $wkd/qc
fastqc -o ./ -t 10 $wkd/raw/*.fastq
multiqc ./
source deactivate 

过滤

source activate rna-seq
mkdir $wkd/clean && cd $wkd/clean
ls $wkd/raw/*_1.fastq >1 
ls $wkd/raw/*_2.fastq >2 
paste 1 2 > filter_conf
cat filter_conf | while read i;do
    fqs=($i)
    fq1=${fqs[0]}
    fq2=${fqs[1]}
    trim_galore -q 25 --phred33 --length 50 -e 0.1 --stringency 3 \
        --paired -o $wkd/clean $fq1 $fq2
done
source deactivate

再一次质控

cd $wkd/clean
source activate rna-seq
fastqc -o ./ -t 10 $wkd/clean/*.fq
multiqc ./
source deactivate

Trinity拼接

如果分析的数据多,就可以做个表格;数据少的话,直接指定--left,--right

这里在正式分析前,先做一个样本表格samples.txt,其中包含了处理、重复、左端数据、右端数据

# cond_A    cond_A_rep1    A_rep1_left.fq    A_rep1_right.fq
# cond_A    cond_A_rep2    A_rep2_left.fq    A_rep2_right.fq
# cond_B    cond_B_rep1    B_rep1_left.fq    B_rep1_right.fq
# cond_B    cond_B_rep2    B_rep2_left.fq    B_rep2_right.fq
mkdir $wkd/assembly && cd $wkd/assembly
echo -e "GSNO\nGSNO\nGSNO\nwt\nwt\nwt" >1
echo -e "GSNO_SRR1582646\nGSNO_SRR1582647\nGSNO_SRR1582648\nwt_SRR1582649\nwt_SRR1582650\nwt_SRR1582651" >2
ls $wkd/clean/*1_val_1.fq >3
ls $wkd/clean/*2_val_2.fq >4
paste 1 2 3 4 >samples.txt

跑程序很简单,需要指定样本文件、CPU、内存、min_contig_length(minimum assembled contig length)【指定拼接最小长度,默认200bp,低于这个长度的contig就被丢弃】

Trinity --seqType fq  --samples_file $wkd/assembly/samples.txt \
      --CPU 10 --max_memory 10G --min_contig_length 150

运行Trinity中间会用到samtools,但是有时候安装它会失败,会遇到动态库的问题(就是某些lib缺失)。最简单的办法就是降级,如最新版1.9,我们安装1.8 ,例如conda install samtools=1.8

剩下的运行过程中 ~1 hour and ~1G RAM per ~1 million PE reads

首先运行第一个程序:seqtk-trinity ,目的是将fq转为fa,并生成both.fa

第二个程序:Jellyfish ,中间过程jellyfish count + histo + dump,starting with Jellyfish to generate the k-mer catalog

第三个程序:Inchworm, assemble 'draft' contigs

第四个程序:Chrysalis,cluster the contigs and build de Bruijn graphs

第五个程序:Butterfly,tracing paths through the graphs and reconstructing the final isoform sequences

最后的结果就是得到了Trinity.fasta,如

>TRINITY_DN506_c0_g1_i1 len=171 path=[149:0-170] [-1, 149, -2]
TGAGTATGGTTTTGCCGGTTTGGCTGTTGGTGCAGCTTTGAAGGGCCTAAAGCCAATTGT
TGAATTCATGTCATTCAACTTCTCCATGCAAGCCATTGACCATGTCGTTAACTCGGCAGC
AAAGACACATTATATGTCTGGTGGTACCCAAAAATGTCAAATCGTGTTCAG
>TRINITY_DN512_c0_g1_i1 len=168 path=[291:0-167] [-1, 291, -2]
ATATCAGCATTAGACAAAAGATTGTAAAGGATGGCATTAGGTGGTCGAAGTTTCAGGTCT
AAGAAACAGCAACTAGCATATGACAGGAGTTTTGCAGGCCGGTATCAGAAATTGCTGAGT
AAGAACCCATTCATATTCTTTGGACTCCCGTTTTGTGGAATGGTGGTG

其中header信息中包含了:转录本名称 、长度、 de Bruijn图重构路径,其中g表示gene,i表示isoform转录本,多个转录本可以重构成一个基因,在下游差异分析中,可以基于基因或转录本两种层次进行分析


欢迎关注我们的公众号~_~  
我们是两个农转生信的小硕,打造生信星球,想让它成为一个不拽术语、通俗易懂的生信知识平台。需要帮助或提出意见请后台留言或发送邮件到Bioplanet520@outlook.com

Welcome to our bioinfoplanet!

相关文章

  • 转录组测序技术和结果解读(五)——参考基因组mapping

    转录组测序根据目标物种是否存在基因组信息分为有参转录组和无参转录组。 有参转录组通过将测序数据与参考基因组进行ma...

  • RNA-seq名词解释(8)

    (十)、分析流程及软件列表 有参转录组:针对有参考基因组序列的物种进行 mRNA 的分析。 无参转录组:针对尚无参...

  • 无参转录组起步

    刘小泽写于19.2.1?发觉好久没写了,果然临近过年事情比较多,最近重新开始无参转录组。这次先从数据下载做到得到组...

  • 无参转录组

    无参转录组测序:利用高通量测序技术进行cDNA测序,全面快速地获取某一种特定器官或组织在某一状态下的几乎所有转录本...

  • 2018-12-10

    2018.12.10 课堂笔记: 建库 方式 ,质控 ; 定量,发现新的基因; ⁉ 有参 转录组 ? 无参...

  • 无参转录组序列组装 — Trinity

    转录组分析策略 转录组分析策略根据有无参考转录组可以分为两类: 有参比对—定量—差异分析—功能富集分析等 无参组装...

  • 2021-06-29:Go注释的相关操作记录

    主要参考:(4条消息) 无参转录组GO、KEGG富集分析——diamond+idmapping+GOstats_y...

  • 转录组入门学习(四)

    今天进行序列比对课程的学习 序列比对 1. 无参转录组 1.1 使用拼接工具组装转录本trinity 1.2 tr...

  • 无参转录组之转录本质控

    刘小泽写于19.2.2今天主要看看转录本拼接质量评估 前言 我们利用trinity简单的命令拼接好转录本后,想要知...

  • 转录组样本间表达标准化

    刘小泽写于19.2.13做无参真的需要比有参更多的耐心啊 假设现在对两组样本进行转录组测序,得到5个基因(每条基因...

网友评论

    本文标题:无参转录组起步

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