使用pbsv的结果
提取序列
use strict;
use warnings;
if ($#ARGV!= 1) {
print "Usage: perl script.pl input_file output_fasta\n";
exit 1;
}
my $input_file = $ARGV[0];
my $output_fasta = $ARGV[1];
open(my $in_fh, '<', $input_file) or die "Can't open input file: $!";
open(my $out_fh, '>', $output_fasta) or die "Can't open output file: $!";
while (my $line = <$in_fh>) {
chomp $line;
my @columns = split(/\t/, $line);
if ($#columns >= 4) {
my $name = join("_", @columns[0..2]);
my $sequence = $columns[4];
print $out_fh ">$name\n$sequence\n";
}
}
close($in_fh);
close($out_fh);
blast
#makeblastdb -parse_seqids -dbtype nucl -in xxxx.fa
#blastn -db /public/home/fengting/work/wild—38/vcf/wild-109/wild109+38/virus.taxid2lineage.all.nt.fasta -query /public/home/fengting/work/wild—38/vcf/wild-109/38ins/INS/passed/SRR13434467.fasta -out out/SRR13434467.bl -num_threads 8 -evalue 1e-5
cat ../id|while read id
do
blastn -query fasta/$id.fasta \
-db /public/home/fengting/work/wild—38/vcf/wild-109/wild109+38/virus.taxid2lineage.all.nt.fasta \
-out out/$id.txt \
-outfmt 6 \
-evalue 1e-5 \
-num_threads 4
done
-evalue 参数
设置了期望阈值( E-value )为 1e-5, E-value 是衡量比对结果显著性的一个重要指标,它表示在随机情况下出现这样比对结果的概率,值越小说明比对结果越可靠,越不可能是随机产生的。通过设置这个阈值,可以筛选掉一些不太可靠、可能是随机比对上的结果,只保留那些更有意义的比对情况。
blast结果
blastn 是用于核酸序列比对的工具,当使用 -outfmt 6 参数时,输出结果为表格形式,每一行代表一次比对,各列的含义如下:
- qseqid
含义:查询序列的标识符,即输入的待比对核酸序列的名称或编号,用于唯一标识查询序列。
示例:如果查询序列文件中序列的标识符为 SRR13434467,则该列会显示 SRR13434467。 - sseqid
含义:比对上的数据库中主题序列的标识符,代表在数据库中找到的与查询序列具有相似性的序列的名称或编号,通过该标识符可以在数据库中找到对应的完整序列信息。
示例:若数据库中某条序列的标识符为 NC_001133.9,当查询序列与该条序列比对上时,此列会显示 NC_001133.9。 - pident
含义:比对的一致性百分比,即查询序列与主题序列在比对区域内相同碱基的比例,反映了两条序列之间的相似程度,取值范围为 0 到 100。
示例:若查询序列与主题序列在比对区域内有 80% 的碱基是相同的,则该列显示 80.00。 - length
含义:比对的长度,指查询序列与主题序列比对上的区域的长度,以碱基数量表示。
示例:如果比对区域的长度为 100 个碱基,则该列显示 100。 - mismatch
含义:比对中的错配数,即在比对区域内查询序列与主题序列不相同的碱基数量。
示例:若比对区域内有 10 个碱基不同,则该列显示 10。 - gapopen
含义:比对中的空位开启数,指在比对过程中为了使两条序列更好地比对而插入的空位数量。
示例:若在比对时插入了 2 个空位,则该列显示 2。 - qstart
含义:查询序列比对上的起始位置,从查询序列的 5' 端开始计数,表明比对区域在查询序列中的起始碱基位置。
示例:若比对从查询序列的第 10 个碱基开始,则该列显示 10。 - qend
含义:查询序列比对上的终止位置,同样从查询序列的 5' 端开始计数,代表比对区域在查询序列中的结束碱基位置。
示例:若比对到查询序列的第 100 个碱基结束,则该列显示 100。 - sstart
含义:主题序列比对上的起始位置,从主题序列的 5' 端开始计数,指出比对区域在主题序列中的起始碱基位置。
示例:若在主题序列中比对从第 20 个碱基开始,则该列显示 20。 - send
含义:主题序列比对上的终止位置,从主题序列的 5' 端开始计数,确定比对区域在主题序列中的结束碱基位置。
示例:若比对到主题序列的第 120 个碱基结束,则该列显示 120。 - evalue
含义:期望值,是衡量比对结果显著性的指标,表示在随机情况下出现这样比对结果的概率。E 值越小,说明比对结果越可靠,越不可能是随机产生的。
示例:若 E 值为 1e-10,则该列显示 1e-10,表示该比对结果随机出现的概率极低,比对结果较为可信。 - bitscore
含义:比对得分,是基于比对的一致性、长度等因素计算得到的一个得分值,用于评估比对结果的质量,得分越高说明比对结果越好。
示例:若比对得分是 100.5,则该列显示 100.5。
通过对 blastn 输出结果中各列含义的理解,可以更好地分析和评估查询序列与数据库中序列的比对情况,从而获取有价值的生物学信息。