帮其他人做的一个尝试,本身不太了解这一块,要是做错了请多多包涵
Home · GDKO/AvP Wiki · GitHub
安装AvP
数据库准备
git clone https://github.com/GDKO/AvP.git
conda create --name avp
conda activate avp
conda install -y -c bioconda mafft blast trimal fasttree iqtree diamond=2.1.9 python=3.10
pip install numpy networkx pyyaml ete3 six biopython docopt pybedtools##选择可以参考https://github.com/GDKO/AvP/wiki/Setting-up,这里使用本来就下好的NR
wget -c https://ftp.ncbi.nlm.nih.gov/pub/taxonomy/accession2taxid/prot.accession2taxid.FULL.gz
nohup diamond makedb --in nr.fa --taxonmap prot.accession2taxid.FULL.gz --db NR_2023_07_23.dmnd --taxonnodes taxdump/nodes.dmp --taxonnames taxdump/names.dmp &
AVP输入文件准备
还要创建groups.yaml文件
https://github.com/GDKO/AvP/wiki/Config-files#groupsyaml
如果你想找的是所有细菌的生物类群的水平基因转移(HGT),你可以将内群(Ingroup)设置为细菌界(Bacteria)的taxid。在NCBI的分类学数据库中,细菌界(Bacteria)的taxid是2。所以,你可以在config.yaml文件中设置Ingroup=2,同时设置EGP=1903258。这样,你就可以找到那些可能是由其他细菌转移给你的细菌菌株的基因了
和config.yaml文件
Config files · GDKO/AvP Wiki · GitHub
#准备基因组的NR比对文件
diamond blastp -q [proteins.fa] -d [db.fasta.dmnd] --evalue 1e-5 --max-target-seqs 500 --outfmt 6 qseqid sseqid pident length mismatch gapopen qstart qend sstart send evalue bitscore staxids --out [similarity.out]
#用AvP的代码处理一下,生成 ai.out 文件
~/AvP/aux_scriptscalculate_ai.py -i [similarity.out] -x groups.yaml
AvP准备
avp prepare -a [ai.out] -o [output_dir] -f [protein.fasta] -b [blast.out|diamond.out] -x groups.yaml -c config.yaml
AvP进行
avp detect -i [output_dir]/mafftgroups/ -o [output_dir] -g [output_dir]/groups.tsv -t [output_dir]/tmp/taxonomy_nexus.txt -c config.yaml
下游分析
AvP分类
创建classification.txt
文件
https://github.com/GDKO/AvP/wiki/Config-files#classificationtxt
avp classify -i [output_dir]/fasttree_nexus/ -t [output_dir]/fasttree_tree_results.txt -f [classification.txt] -c config.yaml -o [output_dir]
AvP 评估
avp evaluate -i [output_dir]/mafftgroups/ -t [output_dir]/fasttree_tree_results.txt -o [output_dir] -c config.yaml
AvP hgt 本地得分
hgt_local_score.py -f [gff_file|bed_file] -a [ai.out] -t [output_dir]/fasttree_tree_results.txt -m [0|1]