代码如下:

#!/usr/bin/perl -wuse strict;die "perl $0 <vcf> <genome>" if(@ARGV == 0);#Author:yueyao@genomics.cnmy $vcf=shift;
my $genome=shift;my%hash;
my $id;
open GENOME,$genome or die $!;
while(<GENOME>){chomp;if(/^>/){$id=$_;$id=~s/>//;$id=~s/ //g;}else{$hash{$id} .= $_;}
}
close GENOME;my@temp;
my$pos;
my$start;
my$end;
my$len;
my$seq;
my$fetchseq;
my($refindelseq,$altindelseq,$upseq,$downseq,$downstart,$refindellen,$upend,$upstart);
open VCF,$vcf or die $!;
while(<VCF>){chomp;next if(/^Chr/);@temp=split/\t/;if(exists $hash{$temp[0]}){$seq=$hash{$temp[0]};$pos=$temp[1];$refindelseq=$temp[3];$altindelseq=$temp[4];$refindellen=length($refindelseq);$upstart=$pos-1-100;$upend=$pos-1;$upseq=substr($seq,$upstart,100);$downstart=$pos+$refindellen-1;$downseq=substr($seq,$downstart,100);$end=$pos+100+$refindellen-1;print "$_\t>$temp[0]_$upstart\_$end\t$upseq\[$refindelseq/$altindelseq\]$downseq\n"}
}
close VCF;

  

转载于:https://www.cnblogs.com/raisok/p/11457083.html

根据SNP的位置从基因组提取上下游序列相关推荐

  1. R语言丨根据VCF文件设计引物,自动识别两样本差异SNP位点,调用samtools获取上下游参考序列

    根据变异位点设计引物序列 今天碰到一个新问题:假如有一个vcf文件储存了两个样品的变异位点基因型数据,每行代表一个位点,我现在想找出两样本差异的SNP位点,再把差异位点用[REF/ALT]的形式表示, ...

  2. 根据 基因名、bed 文件的基因位置,提取 DNA 序列 bedtools

    根据 基因名.bed 文件的基因位置,提取 DNA 序列 bedtools 1.根据 Gene Symbol 查找在序列上的位置 2.根据 基因位置 提取参考上的序列 1.根据 Gene Symbol ...

  3. 2022.03.24【基因组组装】|获取比对到参考基因组的contig序列

    文章目录 摘要 工具与方法 操作方法 step.1 构建参考基因组数据库 step.2 比对序列 step.3 获取query_id step.4 获取比对序列 结果展示 摘要 很久没有整理工作笔记了 ...

  4. 全基因组多位点序列分型

    简介 多位点序列分型(multilocus sequence typing, MLST)是一种基于核酸序列测定的细菌分型方法.这种方法通过PCR扩增多个管家基因内部片段并测定其序列,分析菌株的变异.M ...

  5. 利用Bio.SeqIO提取基因组中特定序列时注意事项

    例如: from Bio import SeqIO # 读取基因组文件 fa_seq = SeqIO.read(fasta_t_path+'\\genome.fasta', "fasta&q ...

  6. SNP位点上下游序列查找1.0 2020-9-27

    换账号重新发布orz /** Author:Henriette-L(luanxito@163.com)* Date: 2020-9-27* Introduction: (等我有空补)简单来说给定SNP ...

  7. python按位置从字符串提取子串的操作是_Python基础-字符串操作和“容器”的操作...

    星火:Python基础-IF和循环​zhuanlan.zhihu.com星火:Python基础-函数​zhuanlan.zhihu.com星火:Python基础-模块​zhuanlan.zhihu.c ...

  8. databasemetadata获取表注释_宏基因组测序中短序列的注释

    宏基因组中短序列的注释是理解测序微生物群落潜在功能的重要步骤之一.单纯利用局部匹配的注释容易混淆那些蛋白同源性且局部序列非常相似的序列,进而不能真实准确反映复杂蛋白质家族中多变的结构和功能域. 今天我 ...

  9. BWA比对及Samtools提取目标序列

    今天想看一下自己的序列里面会不会有某细菌基因组存在,主要使用BWA和Samtools: bwa主要用于将低差异度的短序列与参考基因组进行比对.主要包含三种比对算法:backtrack.SW和MEM,第 ...

最新文章

  1. shell脚本的命令行传参
  2. 比特币挖矿——区块链技术
  3. SmartNIC/DPU — 技术方向
  4. cannot be registered to your development team. Change your bundle identifier to a unique string to t
  5. Java—接口与抽象类
  6. MyBatis-学习笔记11【11.Mybatis的缓存】
  7. 嵌入式Linux系统中的.lds链接脚本基础
  8. oracle asm 异机挂载,oracle 异机恢复 从asm到文件系统成功实例
  9. 电脑睡眠快捷键_电脑快速进入睡眠的快捷键是什么?
  10. 硬盘序列号查询软件_【西数硬盘购买指南】干货——西数移动硬从购买到验证体会心得...
  11. 1.Echarts的坑:切换tab时,echart显示默认的100px
  12. 函数头模板_Python新手爬虫,爬取PPT模板
  13. hdu1403(后缀数组模板)
  14. authware_在yonohub上轻松使用autoware auto
  15. 使用Unified Communications Managed API获取Lync在线会议的链接地址
  16. python 密码输入显示星号_[145]python实现控制台密码星号输入
  17. linux系统部署ffmpeg视频转码环境及使用方法
  18. C++中UTF-8, Unicode, GB2312转换及有无BOM相关问题
  19. 瑞萨linux编译环境,瑞萨RZ/A2M Linux4.19系统构建与驱动移植纪实之一:BSP环境搭建...
  20. fMRI脑影像特征提取——Pearson相关与低阶功能连接LOFC(dpabi+nilearn)

热门文章

  1. 开发那些坑之使用百川趣拍sd集成真实项目
  2. 闲话云计算(二) 什么是云计算?
  3. MobaXterm Xwindows打开应用程序模糊、缩放比例不对
  4. php发送邮件教程,支持发送有附件的电子邮件-PHPMailer使用教程
  5. 什么是MBTI,16种人格类型详解
  6. 什么是e人,MBTI中的E型人格是怎么样的
  7. TFASR 开源语音识别项目解构
  8. java发送信息到通知栏
  9. 宏基因组分析-基于binning
  10. SAGAN: Self-attention GAN