Fuente abierta
Registros del proceso de ensamblaje y control de calidad del transcriptoma
#!/bin/bash
#PBS -N kissplice
#PBS -l nodes=zhangxclab002:ppn=12
#PBS -q batch
#PBS -V
#PBS -S /bin/bash
myPATH="/home/usr/transnp/ncbiraw"
rawdata="/home/usr/transnp/ncbiraw/raw"
fastqdump(){
#注意解压格式:有时候fasterq-dump 不行,必须使用fastq-dump --defline-seq,必须变成下列格式才能放入trinity,不然报错终止:
#@FCC0AWEACXX:6:1101:1424:2187/2
#CCTCTACTTCCCATAAAATCCCATTCTGGATTTCGTTGTAAACAAAAGAGTCGGACAGAAGCTCGTCTCCTGAGAGCAGATCCTGGTAGA
#+URCP.fa.1 FCC0AWEACXX:6:1101:1424:2187 length=90
#CCCFFFFFHHHHHJJJJIJJJJJJJJJJJJJJJJJHJJHJIJJJIJJIJJJIJJJJJJIJIJIJJHHHFFFFFEEEDCEDCDDDDDCCCC
#所以需要使用以下命令
nohup fastq-dump --defline-seq '@$sn[_$rn]/$ri' --split-files URCP.fa &
nohup fastq-dump --defline-seq '@$sn[_$rn]/$ri' --split-files YJJY.fa &
}
fastqc(){
nohup fastqc -t 4 -o ./ URCP.fa_1.fastq URCP.fa_2.fastq &
}
rcorrector(){
nohup ~/miniconda3/envs/py2/bin/run_rcorrector.pl -1 $rawdata/URCP.fa_1.fastq -2 $rawdata/URCP.fa_2.fastq -od ./recorrector &
nohup ~/miniconda3/envs/py2/bin/run_rcorrector.pl -1 $rawdata/YJJY.fa_1.fastq -2 $rawdata/YJJY.fa_2.fastq -od ./recorrector &
}
trimmomatic(){
cd $myPATH
#mkdir ../Trimmomatic
trimmomatic PE -phred33 $myPATH/recorrector/URCP.fa_1.cor.fq $myPATH/recorrector/URCP.fa_2.cor.fq -baseout $myPATH/Trimmomatic/URCP_trim.fq SLIDINGWINDOW:4:15 LEADING:3 TRAILING:3 MINLEN:36 &
wait
trimmomatic PE -phred33 $myPATH/recorrector/YJJY.fa_1.cor.fq $myPATH/recorrector/YJJY.fa_2.cor.fq -baseout $myPATH/Trimmomatic/YJJY_trim.fq SLIDINGWINDOW:4:15 LEADING:3 TRAILING:3 MINLEN:36 &
wait
}
FastUniq(){
cd $myPATH/trimmomatic
#URCP_trim_1P.fq
#URCP_trim_1P.fq
fastuniq -i $myPATH/trimmomatic/inputU -o $myPATH/fastuniq/URCP_uniq_1.fastq -p ../fastuniq/URCP_uniq_2.fastq &
#YJJY_trim_1P.fq
#YJJY_trim_2P.fq
fastuniq -i $myPATH/trimmomatic/inputY -o $myPATH/fastuniq/YJJY_uniq_1.fastq -p ../fastuniq/YJJY_uniq_2.fastq &
}
fastqc2(){
nohup fastqc -t 4 -o ./ URCP_uniq_1.fastq URCP_uniq_2.fastq &
nohup fastqc -t 4 -o ./ YJJY_uniq_1.fastq YJJY_uniq_2.fastq &
}
trinity(){
cd $myPATH
##conda activate trinity
#nohup Trinity --seqType fq --max_memory 20G --left URCP_uniq_1.fastq --right URCP_uniq_2.fastq --CPU 5 &
nohup /home/usr/miniconda3/envs/trinity/bin/Trinity --seqType fq --max_memory 15G --left $myPATH/fastuniq/URCP_uniq_1.fastq --right $myPATH/fastuniq/URCP_uniq_2.fastq --CPU 5 &
nohup /home/usr/miniconda3/envs/trinity/bin/Trinity --seqType fq --max_memory 15G --left $myPATH/fastuniq/YJJY_uniq_1.fastq --right $myPATH/fastuniq/YJJY_uniq_2.fastq --CPU 5 &
}
wait=`trimmomatic`
wait
FastUniq
Nota del editor:
esperar = trimmomatic
esperar
es el toque final para todo el artículo, que implementa el control de proceso que comienza function2 después de que se implementa function1; la primera espera es una variable y la segunda espera es una función incorporada de shell; específicamente si el la variable de asignación funciona o espera ¿Funciona la función? Creo que el seguro de doble (bu) comparación (zhi) (dao).
Actualizar al día siguiente: debido al tamaño incorrecto de una carpeta, la espera ha estado ocupando el sistema y el sistema se volvió particularmente lento hasta que el administrador me dio una muerte. Por lo tanto, asegúrese de que el programa no tenga errores antes de usar ¡espere! O pruebe un nuevo control de proceso, hermano sugirió que use snakemake.