20251125
This commit is contained in:
@@ -0,0 +1,8 @@
|
||||
#! /usr/bin/env bash
|
||||
mkdir -p msa
|
||||
echo -n > mafft.cmds
|
||||
for i in ogs/*.fa ; do
|
||||
j=$(basename "$i")
|
||||
echo "linsi --quiet $i > msa/$j" >> mafft.cmds
|
||||
done
|
||||
xargs -t -P 8 -I cmd -a mafft.cmds bash -c "cmd"
|
||||
@@ -0,0 +1,8 @@
|
||||
#! /usr/bin/env bash
|
||||
mkdir -p hmms
|
||||
echo -n > hmmbuild.cmds
|
||||
for i in msa/*.fa ; do
|
||||
j=$(basename "$i")
|
||||
echo "hmmbuild -o hmms/${j}.hmmbuild.out --amino hmms/${j}.hmm $i" >> hmmbuild.cmds
|
||||
done
|
||||
xargs -t -P 8 -I cmd -a hmmbuild.cmds bash -c "cmd"
|
||||
@@ -0,0 +1,8 @@
|
||||
#! /usr/bin/env bash
|
||||
mkdir -p hmmsearch
|
||||
echo -n > hmmsearch.cmds
|
||||
for i in hmms/*.hmm ; do
|
||||
j=$(basename "$i")
|
||||
echo "hmmsearch --tblout hmmsearch/${j}search.tblout $i ../../01.reference/Zju.pep.fa > hmmsearch/${j}search.rawout" >> hmmsearch.cmds
|
||||
done
|
||||
xargs -t -P 8 -I cmd -a hmmsearch.cmds bash -c "cmd"
|
||||
@@ -0,0 +1,8 @@
|
||||
#! /usr/bin/env bash
|
||||
mkdir -p pep_aln
|
||||
echo -n > mafft.cmds
|
||||
for i in raw_ogs/pep/*.fa; do
|
||||
j=$(basename "$i")
|
||||
echo "linsi --quiet $i > pep_aln/${j/.fa/.pal}" >> mafft.cmds
|
||||
done
|
||||
xargs -t -P 8 -I cmd -a mafft.cmds bash -c "cmd"
|
||||
@@ -0,0 +1,8 @@
|
||||
#! /usr/bin/env bash
|
||||
mkdir -p cds_aln
|
||||
echo -n > pal2nal.cmds
|
||||
for i in pep_aln/*.pal; do
|
||||
j=$(basename "$i")
|
||||
echo "pal2nal.pl $i raw_ogs/cds/${j/.pal/.fa} -output fasta > cds_aln/${j/.pal/.nal}" >> pal2nal.cmds
|
||||
done
|
||||
xargs -t -P 8 -I cmd -a pal2nal.cmds bash -c "cmd"
|
||||
@@ -0,0 +1,8 @@
|
||||
#! /usr/bin/env bash
|
||||
mkdir -p trimed_nal
|
||||
echo -n > trimal.cmds
|
||||
for i in cds_aln/*.nal ;do
|
||||
j=$(basename "$i")
|
||||
echo "trimal -in $i -out trimed_nal/${j/.nal/.trimed.fa} -automated1 -resoverlap 0.5 -seqoverlap 50" >> trimal.cmds
|
||||
done
|
||||
xargs -t -P 4 -I cmd -a trimal.cmds bash -c "cmd"
|
||||
@@ -0,0 +1,8 @@
|
||||
#! /usr/bin/env bash
|
||||
mkdir -p fasttree
|
||||
echo -n > fasttree.cmds
|
||||
for i in trimed_nal/*.trimed.fa ;do
|
||||
j=$(basename "$i")
|
||||
echo "FastTree -nt -gtr -quiet $i > fasttree/${j/.trimed.fa/.tree}" >> fasttree.cmds
|
||||
done
|
||||
xargs -t -P 8 -I cmd -a fasttree.cmds bash -c "cmd"
|
||||
@@ -0,0 +1,11 @@
|
||||
#! /usr/bin/env bash
|
||||
mkdir -p treeshrink
|
||||
for i in trimed_nal/*.trimed.fa; do
|
||||
j=$(basename "$i")
|
||||
mkdir -p treeshrink/"${j/.trimed.fa/}"
|
||||
cd treeshrink/"${j/.trimed.fa/}" || exit 1
|
||||
ln -s ../../fasttree/"${j/.trimed.fa/.tree}" input.tree
|
||||
ln -s ../../"$i" input.fasta
|
||||
cd ../../
|
||||
done
|
||||
run_treeshrink.py -i treeshrink/ -t input.tree -a input.fasta > treeshrink.log
|
||||
@@ -0,0 +1,12 @@
|
||||
#! /usr/bin/env bash
|
||||
total_taxon=11
|
||||
min_seq_length=300
|
||||
mkdir -p final_ogs
|
||||
for i in treeshrink/* ; do
|
||||
j=$(basename "$i")
|
||||
seqlen=$(seqkit fx2tab -C ATCG "$i"/output.fasta | awk '{print $3}' | sort -n | head -n 1)
|
||||
seqnum=$(grep -c ">" "$i"/output.fasta)
|
||||
if [[ $seqnum -eq $total_taxon && $seqlen -ge $min_seq_length ]]; then
|
||||
cp -l "$i"/output.fasta final_ogs/"${j}.fa"
|
||||
fi
|
||||
done
|
||||
Reference in New Issue
Block a user