欢迎光临散文网 会员登陆 & 注册

宏基因组上游分析流程

2023-03-30 10:54 作者:熊兰莽原  | 我要投稿

kneaddata去除宿主基因组和质控

for i in $(ls /home/yzhang/workspace/wanglx/KM_MOUSE/6M_WR/*/*/*_1.fq.gz); do j=`basename $i`;

echo "/home/ywwang/miniconda3/bin/kneaddata -i1 ${i} -i2 ${i%%_1.fq.gz}_2.fq.gz \

-o /home/yzhang/workspace/wanglx/KM_MOUSE/Data/CRC_human/kneaddata/output3/ -v -t 40 --remove-intermediate-output \

--trimmomatic /home/ywwang/software/Trimmomatic-0.38 \

--trimmomatic-options 'ILLUMINACLIP:/home/ywwang/software/Trimmomatic-0.38/adapters/TruSeq2-PE.fa:2:40:15 \

SLIDINGWINDOW:4:20 MINLEN:50' \

--bowtie2-options '--very-sensitive --dovetail' \

-db /home/ywwang/Publicdata/genome/mouse/mouse_GRCm39 \

" > /home/yzhang/workspace/wanglx/KM_MOUSE/pbs/white_test/${j%%_1.fastq.gz}.pbs;done


###上面这一步注意换行符,一定要有,不然跑不了



cd /home/yzhang/workspace/wanglx/KM_MOUSE/Data/CRC_human/kneaddata/output3


qsub -q batch -V -l nodes=2:ppn=4 

"/home/yzhang/workspace/wanglx/KM_MOUSE/Data/CRC_human/kneaddata/output3/DP845001358BR_L01_195_1.fq.gz.pbs"


for i in $(ls /home/yzhang/workspace/wanglx/KM_MOUSE/pbs/test/*.pbs); do qsub -q batch -V -l nodes=2:ppn=10 $i;done



##把上一步比对到宿主参考基因组的序列移除到contam_seq文件夹下

nohup kneaddata_read_count_table --input /home/yzhang/workspace/wanglx/KM_MOUSE/Data/CRC_human/kneaddata/output3 --output /home/yzhang/workspace/wanglx/KM_MOUSE/Data/CRC_human/kneaddata/kneaddata_read_counts.txt &\

mkdir /home/yzhang/workspace/wanglx/KM_MOUSE/Data/CRC_human/kneaddata/contam_seq/

mv /home/yzhang/workspace/wanglx/KM_MOUSE/Data/CRC_human/kneaddata/output3/*_contam*fastq /home/yzhang/workspace/wanglx/KM_MOUSE/Data/CRC_human/kneaddata/contam_seq



##合并reads

mkdir /home/yzhang/workspace/wanglx/KM_MOUSE/Data/CRC_human/kneaddata/merge/

for i in $(ls /home/yzhang/workspace/wanglx/KM_MOUSE/Data/CRC_human/kneaddata/output3/*_paired_1.fastq); do j=`basename $i`;

echo "cat  ${i} ${i%%_paired_1.fastq}_paired_2.fastq ${i%%_paired_1.fastq}_unmatched_1.fastq ${i%%_paired_1.fastq}_unmatched_2.fastq  | awk '{if(NR%4==1) print \"@\"NR; else print \$0}'> /home/yzhang/workspace/wanglx/KM_MOUSE/Data/CRC_human/kneaddata/merge/${j%%_paired_1.fastq}.fastq" >/home/yzhang/workspace/wanglx/KM_MOUSE/Data/CRC_human/kneaddata/merge/${j%%_paired_1.fastq}.pbs;done

## 运行merge文件夹下的合并reads任务

cd /home/yzhang/workspace/wanglx/KM_MOUSE/Data/CRC_human/kneaddata/merge/

for i in $(ls /home/yzhang/workspace/wanglx/KM_MOUSE/Data/CRC_human/kneaddata/merge/*.pbs); do qsub -q batch -V -l nodes=4:ppn=12 $i;done



## 计算count reads

## 放置count的目录

mkdir /home/yzhang/workspace/wanglx/KM_MOUSE/Data/CRC_human/kneaddata/count/

##生成脚本

for i in $(ls /home/yzhang/workspace/wanglx/KM_MOUSE/Data/CRC_human/kneaddata/merge/*.fastq); do j=`basename $i`;

echo "/home/yxtu/miniconda3/envs/metaphlan/bin/metaphlan ${i} --nproc 5 --input_type fastq -t rel_ab_w_read_stats --bowtie2db /home/yxtu/miniconda3/envs/metaphlan/lib/python3.7/site-packages/metaphlan/metaphlan_databases/ -x mpa_v30_CHOCOPhlAn_201901 -o /home/yzhang/workspace/wanglx/KM_MOUSE/Data/CRC_human/kneaddata/count/${j%%.fastq}_counts.txt" > /home/yzhang/workspace/wanglx/KM_MOUSE/Data/CRC_human/kneaddata/count/counts_${j%%.fastq}.pbs;done



## 运行count文件夹下的计算count任务

cd /home/yzhang/workspace/wanglx/KM_MOUSE/Data/CRC_human/kneaddata/count/

for i in $(ls /home/yzhang/workspace/wanglx/KM_MOUSE/Data/CRC_human/kneaddata/count/counts_*.pbs); do qsub -q batch -V -l nodes=2:ppn=16 $i;done




## 计算相对丰度

## 相对丰度的存放文件夹

mkdir /home/yzhang/workspace/wanglx/KM_MOUSE/Data/CRC_human/kneaddata/relat_abundance/


## 旧方法:

for i in $(ls /home/yzhang/workspace/wanglx/KM_MOUSE/Data/CRC_human/kneaddata/merge/*.fastq); do j=`basename $i`;

echo "metaphlan ${i} --input_type fastq -o /home/yzhang/workspace/wanglx/KM_MOUSE/Data/CRC_human/kneaddata/relat_abundance/${j%%.fastq}_metaphlan.txt" > /home/yzhang/workspace/wanglx/KM_MOUSE/Data/CRC_human/kneaddata/relat_abundance/${j%%.fastq}_metaphlan.pbs;done


## 新方法:

for i in $(ls /home/yzhang/workspace/wanglx/KM_MOUSE/Data/CRC_human/kneaddata/merge/*.fastq.bowtie2out.txt); do j=`basename $i`;

echo "/home/yxtu/miniconda3/envs/metaphlan/bin/metaphlan ${i} --nproc 5 --input_type bowtie2out --bowtie2db /home/yxtu/miniconda3/envs/metaphlan/lib/python3.7/site-packages/metaphlan/metaphlan_databases/ -x mpa_v30_CHOCOPhlAn_201901 -o /home/yzhang/workspace/wanglx/KM_MOUSE/Data/CRC_human/kneaddata/relat_abundance/${j%%.fastq}_metaphlan.txt" > /home/yzhang/workspace/wanglx/KM_MOUSE/Data/CRC_human/kneaddata/relat_abundance/${j%%.fastq}_metaphlan.pbs;done





## 运行relat_abundance文件夹下的计算相对丰度任务

cd /home/yzhang/workspace/wanglx/KM_MOUSE/Data/CRC_human/kneaddata/relat_abundance/

for i in $(ls /home/yzhang/workspace/wanglx/KM_MOUSE/Data/CRC_human/kneaddata/relat_abundance/*_metaphlan.pbs); do qsub -q batch -V -l nodes=2:ppn=16 $i;done




## 合并相对丰度

/home/yxtu/miniconda3/envs/metaphlan/bin/merge_metaphlan_tables.py /home/yzhang/workspace/wanglx/KM_MOUSE/Data/CRC_human/kneaddata/relat_abundance/*metaphlan.txt >/home/yzhang/workspace/wanglx/KM_MOUSE/Data/CRC_human/kneaddata/relat_abundance/merged_abundance_table.txt 



把微生物的种类分开,依次是种,属、门、纲、目、科

mkdir /home/yzhang/workspace/wanglx/KM_MOUSE/Data/CRC_human/kneaddata/Micro_kind/

grep -E '(s__)|(clade_name)' /home/yzhang/workspace/wanglx/KM_MOUSE/Data/CRC_human/kneaddata/relat_abundance/merged_abundance_table.txt |grep -v 't__'|sed 's/^.*s__//g'|awk '{$2=null;print}'|sed 's/\ \ /\ /g'|sed 's/\ /\t/g' > /home/yzhang/workspace/wanglx/KM_MOUSE/Data/CRC_human/kneaddata/Micro_kind/merged_abundance_table_species.txt


grep -E '(g__)|(clade_name)' /home/yzhang/workspace/wanglx/KM_MOUSE/Data/CRC_human/kneaddata/relat_abundance/merged_abundance_table.txt |grep -v 's__'|sed 's/^.*g__//g'|awk '{$2=null;print}'|sed 's/\ \ /\ /g'|sed 's/\ /\t/g' > /home/yzhang/workspace/wanglx/KM_MOUSE/Data/CRC_human/kneaddata/Micro_kind/merged_abundance_table_genus.txt


grep -E '(f__)|(clade_name)' /home/yzhang/workspace/wanglx/KM_MOUSE/Data/CRC_human/kneaddata/relat_abundance/merged_abundance_table.txt |grep -v 'g__'|sed 's/^.*f__//g'|awk '{$2=null;print}'|sed 's/\ \ /\ /g'|sed 's/\ /\t/g' > /home/yzhang/workspace/wanglx/KM_MOUSE/Data/CRC_human/kneaddata/Micro_kind/merged_abundance_table_family.txt


grep -E '(o__)|(clade_name)' /home/yzhang/workspace/wanglx/KM_MOUSE/Data/CRC_human/kneaddata/relat_abundance/merged_abundance_table.txt |grep -v 'f__'|sed 's/^.*o__//g'|awk '{$2=null;print}'|sed 's/\ \ /\ /g'|sed 's/\ /\t/g' > /home/yzhang/workspace/wanglx/KM_MOUSE/Data/CRC_human/kneaddata/Micro_kind/merged_abundance_table_order.txt


grep -E '(c__)|(clade_name)' /home/yzhang/workspace/wanglx/KM_MOUSE/Data/CRC_human/kneaddata/relat_abundance/merged_abundance_table.txt |grep -v 'o__'|sed 's/^.*c__//g'|awk '{$2=null;print}'|sed 's/\ \ /\ /g'|sed 's/\ /\t/g' > /home/yzhang/workspace/wanglx/KM_MOUSE/Data/CRC_human/kneaddata/Micro_kind/merged_abundance_table_class.txt


grep -E '(p__)|(clade_name)' /home/yzhang/workspace/wanglx/KM_MOUSE/Data/CRC_human/kneaddata/relat_abundance/merged_abundance_table.txt |grep -v 'c__'|sed 's/^.*p__//g'|awk '{$2=null;print}'|sed 's/\ \ /\ /g'|sed 's/\ /\t/g' > /home/yzhang/workspace/wanglx/KM_MOUSE/Data/CRC_human/kneaddata/Micro_kind/merged_abundance_table_phylum.txt




### merge原始Count文件整理,提取第1,2,5列

cd /home/yzhang/workspace/wanglx/KM_MOUSE/Data/CRC_human/kneaddata/count/

for i in $(ls /home/yzhang/workspace/wanglx/KM_MOUSE/Data/CRC_human/kneaddata/count/*_kneaddata_counts.txt);do cut -f1,2,5 ${i} >${i%%_kneaddata_counts.txt}_modify_counts.txt;done


for i in $(ls /home/yzhang/workspace/wanglx/KM_MOUSE/Data/CRC_human/kneaddata/count/*_modify_counts.txt);do sed -e '4d' ${i} > ${i%%_modify_counts.txt}_modify2_counts.txt;done

宏基因组上游分析流程的评论 (共 条)

分享到微博请遵守国家法律