这篇文章主要介绍“perl中如何输出指定ID对应的双端fastq文件”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“perl中如何输出指定ID对应的双端fastq文件”文章能帮助大家解决问题。
给一个fastqID列表,输出指定ID对应的双端fastq文件:
perl get_fq_by_id.pl <id><fq1><fq2><OUT1><OUT2>
die"perl$0<id><fq1><fq2><OUT1><OUT2>"unless(@ARGV==5);useBio::SeqIO;useBio::Seq;openmy$FQ1,"zcat$ARGV[1]|"ordie"$!";openmy$FQ2,"zcat$ARGV[2]|"ordie"$!";my$fq1=Bio::SeqIO->new(-fh=>$FQ1,-format=>'fastq');my$fq2=Bio::SeqIO->new(-fh=>$FQ2,-format=>'fastq');openmy$GZ1,"|gzip>$ARGV[3]"ordie$!;openmy$GZ2,"|gzip>$ARGV[4]"ordie$!;my$fqo1=Bio::SeqIO->new(-fh=>$GZ1,-format=>'fastq');my$fqo2=Bio::SeqIO->new(-fh=>$GZ2,-format=>'fastq');my%keep=();openIN,"$ARGV[0]"ordie"$!";while(<IN>){chomp;nextif/^#/;my@tmp=split(/\s+/);$keep{$tmp[0]}=1;}close(IN);my$i=0;while(my$obj1=$fq1->next_seq()andmy$obj2=$fq2->next_seq()){my$id1=$obj1->id;my$id2=$obj2->id;#print"$id1,$id2\n";#die;if(exists$keep{$id1}orexists$keep{$id2}){$fqo1->write_seq($obj1);$fqo2->write_seq($obj2);}}$fq1->close();$fq2->close();$GZ1->close();$GZ2->close();
关于“perl中如何输出指定ID对应的双端fastq文件”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注恰卡编程网行业资讯频道,小编每天都会为大家更新不同的知识点。
如何为非国区的apple(id 充值 苹果手机如何充值Q币)
苹果手机如何充值Q币?苹果应用商店又不能充值话费和,苹果手机可以不使用参与冲值,以iphone7手机为例,方法::1、先打开,如下...
appleid双重认证mac怎么登录(AIR3 apple id 密码如何找回)
AIR3appleid密码如何找回?方法一:双重认证假如你已为AppleID禁用了双重认证,则可受无条件的信任的正二十边形...
苹果手机无法退出登录apple(id 苹果12退出登录退不出去)
苹果退出登录退不出去?在iOS设置中中再次AppleID账户时,很可能会遇见难以都正常再次的问题。如果您打开系统到AppleI...
「Web安全」SQL注入的基石
含文件上传的form表单AJAX提交小结
php 的页面跳转
php的页面跳转前段时间用RewriteRule重定向到新页面,主要是为了原来旧版网站的老的网址跳转,但是内容正常显示了...
php如何实现秒杀功能?php+redis模拟简单抢购场景,快来看看吧
3分钟短文 | PHP多维数组搜索值,就只能for循环?这样写更高效
基础知识之SQL注入原理
3分钟短文 | PHP伪随机Token生成器,实地测试,效果感人
用户名
密码
记住登录状态 忘记密码?
邮箱
确认密码
我已阅读并同意 用户协议