dataSRRID=(SRR8089897SRR8089896SRR8089895)for id in ${dataSRRID[@]};doj=`echo ${id:0:6}`wget-cftp://ftp-trace.ncbi.nih.gov/sra/sra-instant/reads/ByRun/sra/SRR/${j}/${id}/${id}.sra&done
检查数据大小
### 使用curl命令访问NCNI网页for i in`ls.|grepsra`; do j=`echo ${i:0:10}`; curlhttps://www.ncbi.nlm.nih.gov/sra/${j}|grep-E"<tbody><tr>.*</tr></tbody>">>1 ; done### 正则表达式将数据大小给匹配出来,之后网页内容可能会有所改变,正则表达式可能不固定sed's/.*<tbody><tr>\(.*\)<\/tr><\/tbody>/\1/g'1|sed's/.*align=\"right\">\(.*\)<\/td><td>.*/\1/g'>2### 与本地数据进行比较ls-lh|grepsra|paste-2|less
将sra文件转换成fastq文件
dataSRRID=(SRR8089897SRR8089896SRR8089895)for i in ${dataSRRID[@]};dofastq-dump--split-3./rawdata/${i}.sra-O./fast_dump/&done
for i in ${A2list[@]};do{A2b=${i/R1/R2}A2d=${i/R1/}java-jar~/software/Trimmomatic-0.39/trimmomatic-0.39.jarPE-threads10 ${c}/A2/${i} ${c}/A2/${A2b} -baseout ${c}/A2_Trimmomatic/${A2d} ILLUMINACLIP:/public/home/zpliu/software/Trimmomatic-0.39/adapters/TruSeq3-PE-2.fa:2:30:10LEADING:10TRAILING:10SLIDINGWINDOW:4:20MINLEN:50} &done
可以写成多个for循环进行跑
&作用是将for循环放入后台,进行并行计算,基本上100多G的数据 30分钟跑完
3.将数据比对到参考基因组
构建参考基因组索引'
接收基因组fasta序列文件,和索引生成路径及索引前称
echo"Ghirsutum_genome_HAU_v1 begin build"hisat2-build/public/home/zpliu/genome_data/genome_Ghitsutum_NAU/genome.Ghir.NAU.fa./genome_Ghitsutum_NAU/Ghitsutum
进行比对
--fr链特异性建库
--rf普通建库
Gh_indexfile='/public/home/zpliu/Hisat2Index/Ghirsutum_genome_HAU_v1.1/Ghirsutum_genome_HAU_v1'Gh_hisatout="./hisat2out/"all_fastq=`ls./Trimmomatic|grep "_1P"`for i in ${all_fastq[@]};doj=`echo ${i}|sed 's/_1P/_2P/g'`k=`echo ${i}|sed 's/_1P//g'`hisat2-x ${Gh_indexfile} -1./Trimmomatic/${i} -2./Trimmomatic/${j} -p10--known-splicesite-infile/public/home/zpliu/genome_data/Ghirsutum_genome_HAU_v1.1/hista_splice.txt-S./hisat2out/${k}.sam&&samtoolsview-S./hisat2out/${k}.sam-@10-b-o./hisat2out/${k}.bam&&samtoolssort-@10./hisat2out/${k}.bam-Obam-o./hisat2out/${k}_sort.bamdone
4.计算基因表达量
将比对好的sam文件按照染色体位置进行排序后,使用stringtie比对
Gh_gff="/public/home/zpliu/genome_data/Ghirsutum_genome_HAU_v1.1/Ghirsutum_gene_model.gff3"for i in`ls./hisat2out`;doj=`echo ${i}|sed 's/_.*//g'`stringtie./hisat2out/${i} -G ${Gh_gff} -e-p10-A./stringtie/${j}done
合并多个组织的表达量
# 构造字典文件sed's/^/[/g'111|sed's/$/]=/g'|paste-22|sed's/\t//g'>end/*[SRR8090044]=TM1_10DPA_Fiber_1[SRR8090041]=TM1_10DPA_Fiber_2[SRR8090042]=TM1_10DPA_Fiber_3[SRR8090046]=TM1_15DPA_Fiber_1[SRR8090049]=TM1_15DPA_Fiber_2[SRR8090050]=TM1_15DPA_Fiber_3[SRR8090004]=TM1_20DPA_Fiber_1[SRR8090007]=TM1_20DPA_Fiber_2[SRR8090006]=TM1_20DPA_Fiber_3[SRR8090010]=TM1_25DPA_Fiber_1*/declare-A samplesample=(end文件中的内容)# 对每个样本的数据盖头换面sortSRR8090089|cut-f8|sed'1d'|awk'BEGIN{print "'$a'"}{print $0}'|less#SRR数组可以按照一定顺序输出SRR=(SRR8090087SRR8090088)# 使用字典批量,这里由于每个生成文件中基因数目不一致,先提取共有的基因存进geneid里,并行运算for i in ${SRR[@]};do { catgeneid|xargs-I{}grep{} $i |cut-f8|awk'BEGIN{print "'${sample[$i]}'"}{print $0}'>${i}_tmp; } &done