所以你想使用 clustal 来进行这些有间隙的对齐?我用的是Perl,我看你用的是Python,但是逻辑基本一样。我使用对 clustal 可执行文件的系统调用,而不是使用 BioPerl/Biopython。我相信 clustalw2 可执行文件可以处理间隙对齐,而无需调用字母表。不是 100% 肯定,但这是我使用的适合我的脚本。创建一个包含所有对齐文件的目录(我使用 .fasta 但您可以更改系统调用上的标志以接受其他文件)。这是我的 Perl 脚本,您必须修改最后一行中的可执行路径以匹配您计算机上 clustal 的位置。希望这个对你有帮助。作为旁注,这对于非常快速地进行许多对齐很有用,这就是我使用它的目的,但如果您只想对齐几个文件,
#!/usr/bin/perl
use warnings;
print "Please type the list file name of protein fasta files to align (end the directory path with a / or this will fail!): ";
$directory = <STDIN>;
chomp $directory;
opendir (DIR,$directory) or die $!;
my @file = readdir DIR;
closedir DIR;
my $add="_align.fasta";
foreach $file (@file) {
my $infile = "$directory$file";
(my $fileprefix = $infile) =~ s/\.[^.]+$//;
my $outfile="$fileprefix$add";
system "/Users/Wes/Desktop/eggNOG_files/clustalw-2.1-macosx/clustalw2 -INFILE=$infile -OUTFILE=$outfile -OUTPUT=FASTA -tree";
}
干杯,韦斯