千家信息网

indel vcf文件如何转化为SNPT输入文件

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,indel vcf文件如何转化为SNPT输入文件,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。如何将indel vcf文件转换为SN
千家信息网最后更新 2026年11月01日indel vcf文件如何转化为SNPT输入文件

indel vcf文件如何转化为SNPT输入文件,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

如何将indel vcf文件转换为SNPT软件的输入文件。

SNP指纹图谱软件SNPT ,这里记录一下如何将indel vcf文件转换为SNPT软件的输入文件。

命令如下:

perl /share/work/wangq/script/vcf/vcf_SNPT.indel.pl -vcf clean.vcf -o SNPT.input.txt

vcf_SNPT.indel.pl脚本如下:

#!/share/nas2/genome/bin/perl -w#use strict;#use warnings;use Getopt::Long;use List::Util qw(shuffle);use Data::Dumper;use FindBin qw($Bin $Script);use File::Basename qw(basename dirname);use Cwd qw(abs_path);my $version="1.0.0";my $BEGIN_TIME=time();my @Original_ARGV=@ARGV;# ==============================================================# Get Options# ==============================================================my ($infile, $indexOut, $p);GetOptions(                                "help|?" =>\&USAGE,                                "vcf:s"=>\$infile,                                "o:s"=>\$out                                ) or &USAGE;&USAGE unless ($infile and $out);sub USAGE {#        my $usage=<<"USAGE";Program: $0Version: $version==================================================================================================Discription:        This script is used to calculate thresold for BSA using SNP-INDEX method==================================================================================================Usage:  Options:  -vcf             required        vcf list file  -o             required        output fileUSAGE        print $usage;        exit;}#===============================================================# Default optional value#===============================================================open (IN, "<$infile") || die "$infile: $!\n";open (OUT, ">$out") || die "$out: $!\n";my @sample;my %snp;my @indel;while(){        chomp;        next if(/^##/);        my ($chr,$pos,$id,$ref,$alt,$qual,$filter,$info,$format,@line) = split(/\t/,$_);        if(/^#/){                @sample = @line;                next;        }        my @array = $_=~/\t([\.0123][\/\|][\.0123])/g;        if(@array != @sample ){                print "SNP $chr,$pos length not eq.\n";                next;        }        my $chr_indel= "$chr-$pos";        push(@indel,$chr_indel);        for(my$i =0; $i<@line ;$i++){                my $str;                if($array[$i] eq "0/0" || $array[$i] eq "0|0" ){                        $str = "A";                }elsif($array[$i] eq "0/1" || $array[$i] eq "0|1" ){                        $str = "C";                }elsif($array[$i] eq "1/1" || $array[$i] eq "1|1" ){                        $str = "G";                }else{                        $str = "T";                }                $snp{$chr_indel}{$sample[$i]} = $str;        }}close(IN);print OUT join("\t","Strain",@indel)."\t";for($i=0; $i < @sample ; $i++){        print OUT "$sample[$i]";        for($j=0; $j < @indel ; $j++){                #print "1";                print OUT "\t$snp{$indel[$j]}{$sample[$i]}";        }        print OUT "\n";}close(OUT);

关于indel vcf文件如何转化为SNPT输入文件问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。

文件 输入 软件 问题 更多 帮助 解答 易行 简单易行 内容 命令 图谱 小伙 小伙伴 指纹 方法 知识 篇文章 脚本 行业 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技 保险科技 互联网保险 华服互联网科技靠谱吗 上海睿民互联网科技有限公司 西安纸贵互联网科技有限公司 中国互联网科技股 互联网科技战争 九亚互联网科技 广州善班互联网科技 四个字互联网科技公司取名 常德市电业局互联网科技部 岳阳华臻互联网科技有限公司 华夏互联网科技业 如何创新互联网科技 上海钢联属于互联网科技股吗 上海创道互联网络科技有限公司 互联网与数字科技关系 中国科技和美国互联网 易租星互联网科技有限公司 美国五大互联网科技公司市值多少 苏州找大状互联网科技有限公司 科技类互联网 关于新基建和互联网科技 无线互联网科技 贵州叶脉互联网科技有限公司所属行业 互联网和黑科技的看法 健康食品互联网创新科技园项目 互联网科技企业商标注意事项 云南互联网科技学费 北京天晋互联网科技有限公司
0