49 lines
1.7 KiB
Bash
49 lines
1.7 KiB
Bash
#!/bin/bash
|
|
|
|
set -euo pipefail
|
|
|
|
cd "$PROJECTHOME"/11.reference_v2
|
|
|
|
# HG sequences name should be changed.
|
|
cd raw
|
|
seqkit replace -k HG.map.txt -p "^(\S+).*$" -r "{kv}" GCA_030763125.1_ASM3076312v1_genomic.fna -o HG.fa -K --f-use-regexp
|
|
|
|
# MG & ZG use hapA genome
|
|
grep -Fwf MG.target.txt MG.gff > MG.target.gff
|
|
grep -Fwf ZG.target.txt ZG.gff > ZG.target.gff
|
|
cd ..
|
|
|
|
# Extract CDS sequences from GFF3 files using gffread
|
|
gffread -V -g raw/HN.fa -x HN.cds.fa -y HN.pep.fa raw/HN.gff3
|
|
gffread -V -g raw/HG.fa -x HG.cds.fa -y HG.pep.fa raw/Hippophae_gyantsensis.gff
|
|
gffread -V -g raw/HS.fa -x HS.cds.fa -y HS.pep.fa raw/HS.gff3
|
|
gffread -V -g raw/YN.genome.fa -x YN.cds.fa -y YN.pep.fa raw/YN.gff3
|
|
gffread -V -g raw/ZG.genome.fa -x ZG.cds.fa -y ZG.pep.fa raw/ZG.target.gff
|
|
gffread -V -g raw/ZJ.genome.fa -x ZJ.cds.fa -y ZJ.pep.fa raw/ZJ.gff
|
|
gffread -V -g raw/ZY.fa -x ZY.cds.fa -y ZY.pep.fa raw/ZY.gff3
|
|
gffread -V -g raw/Hippophae_tibetana.genomic.fasta -x HT.cds.fa -y HT.pep.fa raw/Hippophae_tibetana.mRNA.gff
|
|
gffread -V -g raw/MG.genome.fasta -x MG.cds.fa -y MG.pep.fa raw/MG.target.gff
|
|
cp raw/EA.gff3.cds EA.cds.fa
|
|
cp raw/EM.genome.cds.fasta EM.cds.fa
|
|
seqkit grep -s -v -r -p '[.*][A-Z]' raw/EA.gff3.pep > EA.pep.fa
|
|
seqkit grep -s -v -r -p '[.*][A-Z]' raw/EM.pep.fasta > EM.pep.fa
|
|
|
|
mkdir pep
|
|
mkdir cds
|
|
mv ./*.cds.fa cds
|
|
mv ./*.pep.fa pep
|
|
|
|
cd pep
|
|
# 保留主要转录本
|
|
primary_transcript ./ last_dot
|
|
# EM基因命名特殊性,导致直接使用primary_transcript会出现问题,直接复制即可
|
|
cp EM.pep.fa primary_transcripts/EM.pep.fa
|
|
# 移除终止密码子和序列描述
|
|
cd primary_transcripts
|
|
for i in *.pep.fa; do
|
|
base=$(basename "$i" .pep.fa)
|
|
echo "Processing $base"
|
|
sed -i "s/\.$//g" "$i"
|
|
sed -i "/^>/ s/[[:space:]].*//" "$i"
|
|
done
|