#!/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