#NEXUS
BEGIN DATA;
dimensions ntax=4 nchar=28;
format missing=?
interleave=yes datatype=DNA gap=- match=.;
matrix
ccsA1 ATGATATTTTCAACTTTAGAGCATATAT
ccsA2 ATGATATTTTCAACTTTAGAGCATATAT
ccsA3 ATGATATTTTCAACTTTAGAGCATATAT
ccsA4 ATGATATTTTCAACTTTAGAGCATATAT
;
end;
>ccsA1
ATGATATTTTCAACTTTAGAGCATATAT
>ccsA2
ATGATATTTTCAACTTTAGAGCATATAT
>ccsA3
ATGATATTTTCAACTTTAGAGCATATAT
>ccsA4
ATGATATTTTCAACTTTAGAGCATATAT
**
#NEXUS
BEGIN DATA;
dimensions ntax=4 nchar=28;
format missing=?
interleave=yes datatype=DNA gap=- match=.;
matrix
ccsA1 ATGATATTTTCAACTTTAGAGCATATAT
ccsA2 ATGATATTTTCAACTTTAGAGCATATAT
ccsA3 ATGATATTTTCAACTTTAGAGCATATAT
ccsA4 ATGATATTTTCAACTTTAGAGCATATAT
;
end;
>ccsA1
ATGATATTTTCAACTTTAGAGCATATAT
>ccsA2
ATGATATTTTCAACTTTAGAGCATATAT
>ccsA3
ATGATATTTTCAACTTTAGAGCATATAT
>ccsA4
ATGATATTTTCAACTTTAGAGCATATAT
**不同的比对软件会输出不一样的比对格式;比对后分析用到的软件对输入格式的要求也不一样。比如序列比对我习惯使用MAFFT。MAFFT输出结果默认为fasta格式,clustal可选;如果后续需要使用MrBayes构建贝叶斯树,需要将其转化为NEXUS格式。这里推荐 **ALTER来完成比对格式转化的任务。如果分析的序列不是很多,可以选择网页版;如果序列条数比较多可以选择安装本地版 https://github.com/sing-group/ALTER;按照安装步骤执行即可,自己的安装过程没有遇到报错;
如果是单个文件可以借助alter这个在线工具来完成。
如果需要转化的文件很多,可以借助python中的dendropy这个模块,然后写python脚本完成批量转化。
今天有人发邮件问批量转化nexus格式为fasta格式。下面以这个为例介绍
在电脑上安装python,可以直接安装Anaconda https://www.anaconda.com/products/individual
我自己是win10系统,按windows+R快捷键,然后输入cmd调出命令行窗口,直接输入
pip install -U dendropy
安装dendropy模块
import os
import sys
import dendropy
in_folder = sys.argv[1]
out_folder = sys.argv[2]
os.makedirs(out_folder)
file_num = len(os.listdir(in_folder))
print("Total ", file_num, " nexus files need to be converted")
print("Ready,go!")
for nex_file in os.listdir(in_folder):
file_path = in_folder + "/" + nex_file
file_pre = nex_file.split(".")[0]
nex = dendropy.DnaCharacterMatrix.get(path=file_path,schema='nexus')
out_file_path = out_folder + "/" + file_pre + ".fasta"
nex.write(path=out_file_path,schema='fasta')
print("OK")
将需要转化的nexus格式文件放到input_nexus文件夹中,然后运行脚本
python .\batch_convert_nex_to_fasta.py .\input_nexus\ output_fasta
fasta结果文件将会保存在 output_fasta文件夹中
#NEXUS
BEGIN DATA;
dimensions ntax=4 nchar=28;
format missing=?
interleave=yes datatype=DNA gap=- match=.;
matrix
ccsA1 ATGATATTTTCAACTTTAGAGCATATAT
ccsA2 ATGATATTTTCAACTTTAGAGCATATAT
ccsA3 ATGATATTTTCAACTTTAGAGCATATAT
ccsA4 ATGATATTTTCAACTTTAGAGCATATAT
;
end;
>ccsA1
ATGATATTTTCAACTTTAGAGCATATAT
>ccsA2
ATGATATTTTCAACTTTAGAGCATATAT
>ccsA3
ATGATATTTTCAACTTTAGAGCATATAT
>ccsA4
ATGATATTTTCAACTTTAGAGCATATAT
不同的比对软件会输出不一样的比对格式;比对后分析用到的软件对输入格式的要求也不一样。比如序列比对我习惯使用MAFFT。MAFFT输出结果默认为fasta格式,clustal可选;如果后续需要使用MrBayes构建贝叶斯树,需要将其转化为NEXUS格式。这里推荐 ALTER来完成比对格式转化的任务。如果分析的序列不是很多,可以选择网页版;如果序列条数比较多可以选择安装本地版 https://github.com/sing-group/ALTER;按照安装步骤执行即可,自己的安装过程没有遇到报错;
如果是单个文件可以借助alter这个在线工具来完成。
如果需要转化的文件很多,可以借助python中的dendropy这个模块,然后写python脚本完成批量转化。
今天有人发邮件问批量转化nexus格式为fasta格式。下面以这个为例介绍
在电脑上安装python,可以直接安装Anaconda https://www.anaconda.com/products/individual
我自己是win10系统,按windows+R快捷键,然后输入cmd调出命令行窗口,直接输入
pip install -U dendropy
安装dendropy模块
import os
import sys
import dendropy
in_folder = sys.argv[1]
out_folder = sys.argv[2]
os.makedirs(out_folder)
file_num = len(os.listdir(in_folder))
print("Total ", file_num, " nexus files need to be converted")
print("Ready,go!")
for nex_file in os.listdir(in_folder):
file_path = in_folder + "/" + nex_file
file_pre = nex_file.split(".")[0]
nex = dendropy.DnaCharacterMatrix.get(path=file_path,schema='nexus')
out_file_path = out_folder + "/" + file_pre + ".fasta"
nex.write(path=out_file_path,schema='fasta')
print("OK")
将需要转化的nexus格式文件放到input_nexus文件夹中,然后运行脚本
python .\batch_convert_nex_to_fasta.py .\input_nexus\ output_fasta
fasta结果文件将会保存在 output_fasta文件夹中
不同的比对软件会输出不一样的比对格式;比对后分析用到的软件对输入格式的要求也不一样。比如序列比对我习惯使用MAFFT。MAFFT输出结果默认为fasta格式,clustal可选;如果后续需要使用MrBayes构建贝叶斯树,需要将其转化为NEXUS格式。这里推荐 **ALTER来完成比对格式转化的任务。如果分析的序列不是很多,可以选择网页版;如果序列条数比较多可以选择安装本地版 https://github.com/sing-group/ALTER;按照安装步骤执行即可,自己的安装过程没有遇到报错;
如果是单个文件可以借助alter这个在线工具来完成。
如果需要转化的文件很多,可以借助python中的dendropy这个模块,然后写python脚本完成批量转化。
今天有人发邮件问批量转化nexus格式为fasta格式。下面以这个为例介绍
在电脑上安装python,可以直接安装Anaconda https://www.anaconda.com/products/individual
我自己是win10系统,按windows+R快捷键,然后输入cmd调出命令行窗口,直接输入
pip install -U dendropy
安装dendropy模块
import os
import sys
import dendropy
in_folder = sys.argv[1]
out_folder = sys.argv[2]
os.makedirs(out_folder)
file_num = len(os.listdir(in_folder))
print("Total ", file_num, " nexus files need to be converted")
print("Ready,go!")
for nex_file in os.listdir(in_folder):
file_path = in_folder + "/" + nex_file
file_pre = nex_file.split(".")[0]
nex = dendropy.DnaCharacterMatrix.get(path=file_path,schema='nexus')
out_file_path = out_folder + "/" + file_pre + ".fasta"
nex.write(path=out_file_path,schema='fasta')
print("OK")
将需要转化的nexus格式文件放到input_nexus文件夹中,然后运行脚本
python .\batch_convert_nex_to_fasta.py .\input_nexus\ output_fasta
fasta结果文件将会保存在 output_fasta文件夹中