千家信息网

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

发表于:2025-01-16 作者:千家信息网编辑
千家信息网最后更新 2025年01月16日,indel vcf文件如何转化为SNPT输入文件,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。如何将indel vcf文件转换为SN
千家信息网最后更新 2025年01月16日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安全错误 数据库的锁怎样保障安全 买计算的服务器和买超算那个合适 如何建立重点目标单位数据库 imap 163收件服务器 红叔的空岛服务器 东莞网络技术培训学院 数据库初级视频教程下载 软件开发类属于什么行业 数据库中的文件属于什么类型 自学机器视觉软件开发 数据库的收集工作英语 河南乐多乐网络技术有限公司 广州电脑软件开发价格表 云南北斗校时服务器 简易nas存储服务器 星际服务器怎么连接电脑 公司计算机网络安全管理措施 上海市软件开发标准合同 圣帆网络技术有限公司怎么样 网络技术职业生涯规划书范文 服务器开小差 234 中专计算机网络技术月薪 吐鲁番国家网络安全宣传 河南党建软件开发商 梅州数据链软件开发费用 oem服务器 西电网络安全专业课 数据库语句怎么给一段加注释 网络安全事前事中事后三个维度 ARC中许可服务器未运行 应用软件开发设计费用
0