4.Assign taxonomy to contigs by TAXAassign
The taxonomic assignment of contigs was resolved using NCBI’s Taxonomy and its nt database by TAXAassign(v0.4) with parameters ‘-p -c 20 -r 10 -m 98 -q 98 -t 95 -a “60,70,80,95,95,98” -f’.
If you want to use other softwares (e.g., mmseqs2) to generate the taxonomic assignment results, please make sure that
- Contigs should be assigned to species level with high confidence and accuracy (e.g., 95% ANI/Identity);
- Taxonomy file should be in CSV format, where contig name should be in the first column and the species name should be in the seventh column (you can fill in the middle five columns with the same string since they are not used).
这一步就是安装TAXAassign这个比对软件为contigs生成标签
我们找到这个软件的GITHUB
第一步是安装GNU并行依赖项,我直接使用conda安装了
conda install -c conda-forge parallel
第二步是安装blastn 2.28+和nt数据库
blastn 2.28+的安装使用以下指令
wget https://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/2.2.28/ncbi-blast-2.2.28+-x64-linux.tar.gz
tar -xzf ncbi-blast-2.2.28+-x64-linux.tar.gz
然后使用下面的命令进行nt数据库的下载(当然我建议先去Index of /blast/db这个网站上下载到本地然后再传到服务器上,除非你用的服务器是境外的,网络条件好)
perl update_blastdb.pl nt
下载
运行时遇到的问题集合
1.(TAXA) ubuntu@ubuntu-7920:/media/ubuntu/conda/vicent/TAXAassign$ bash TAXAassign.sh -p -c 10 -t 70 -m 60 -a "60,70,80,95,95,97" -f test.fasta
[2024-10-12 11:53:32] TAXAassign v0.4. Copyright (c) 2013 Computational Microbial Genomics Group, University of Glasgow, UK
[2024-10-12 11:53:32] Using /media/ubuntu/conda/vicent/blast/ncbi-blast-2.2.28+/bin/blastn
[2024-10-12 11:53:32] Using /media/ubuntu/conda/vicent/TAXAassign/scripts/blast_concat_taxon.py
[2024-10-12 11:53:32] Using /media/ubuntu/conda/vicent/TAXAassign/scripts/blast_gen_assignments.pl
[2024-10-12 11:53:32] Using parallel
[2024-10-12 11:53:32] Blast against NCBI's nt database with minimum percent ident of 60%, maximum of 10 reference sequences, and evalue of 0.0001 in blastn.
[2024-10-12 11:56:13] blastn using GNU parallel took 161 seconds for test.fasta.
[2024-10-12 11:56:13] test_B.out generated successfully!
[2024-10-12 11:56:13] Filter blastn hits with minimum query coverage of 97%.
[2024-10-12 11:56:13] test_BF.out generated successfully!
[2024-10-12 11:56:13] Annotate blastn hits with NCBI's taxonomy data.
TAXA卡在这里不动了
解决方案
检查一下test_BFT.out文件
里面要是有报错Error 2002: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
这个错误信息 `Error 2002: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)` 表示无法通过 socket 文件 `/tmp/mysql.sock` 连接到 MySQL 服务器。通常,这表明 MySQL 服务没有启动,或者 MySQL 配置文件指定的 socket 路径不正确。
### 解决方法
1. **检查 MySQL 服务是否正在运行**:
- 首先检查 MySQL 是否已启动。如果没有,可以启动 MySQL 服务。
- 使用以下命令查看 MySQL 服务状态:
```bash
sudo systemctl status mysql
```
- 如果服务没有启动,可以尝试启动它:
```bash
sudo systemctl start mysql
```
2. **确认 MySQL socket 文件的路径**:
- MySQL 的 socket 文件默认路径可能不是 `/tmp/mysql.sock`,而是在 `/var/run/mysqld/mysqld.sock`。
- 检查 MySQL 配置文件 `/etc/mysql/my.cnf` 或 `/etc/my.cnf`,找到 `socket` 设置项。可以使用以下命令来查看:
```bash
sudo cat /etc/mysql/my.cnf | grep socket
```
- 如果 socket 文件路径不同,可以在命令中指定正确的路径。例如:
```bash
mysql -u root -p --socket=/var/run/mysqld/mysqld.sock
```
3. **创建软链接**(如果路径不一致):
- 如果 socket 文件实际位于 `/var/run/mysqld/mysqld.sock`,但程序在查找 `/tmp/mysql.sock`,可以创建一个指向正确路径的软链接:
```bash
sudo ln -s /var/run/mysqld/mysqld.sock /tmp/mysql.sock
```
4. **重新启动 MySQL 服务**:
- 有时重新启动 MySQL 服务可以解决此类问题:
```bash
sudo systemctl restart mysql
```
### 检查日志文件(进一步排查问题)
如果 MySQL 仍然无法连接,可以查看 MySQL 的错误日志,通常位于 `/var/log/mysql/error.log` 或 `/var/log/mysqld.log` 中,这样可以获得更详细的错误信息。
通过上面的方法能够解决这个问题
二
Error 1045: Access denied for user 'root'@'localhost' (using password: NO)
这个情况是MySQL的root账户有密码
在
这个脚本里面把
密码加上就行
三。IOError: [Errno 2] No such file or directory: 'seq9\tOM049485.1\t100.00\t253\t0\t0\t1\t253\t492\t744\t2e-127\t 468\t100\tN/A'
遇到这个情况的原因未知,但是看代码感觉是.sh文件中的并行计算的功能的问题,所以我不使用并行计算就没报错