博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
vsearch 去除重复序列和singleton 序列
阅读量:7049 次
发布时间:2019-06-28

本文共 1444 字,大约阅读时间需要 4 分钟。

在16S数据分析中,为了减少聚类的时间,提高准确度,需要去除重复序列,而singleton序列因为没有其他的序列作为验证,可信度不是很高,也需要去除,通常情况下使用usearch 完成这2项任务,但是usearch 64位是收费的,而32为的usearch 在64位的red hat 上测试时,去除重复序列时报错了,libgomp: Thread creation failed: Resource temporarily unavailable

百度之后了解到是由于进程数达到上限,修改了上限后还是报错,就放弃使用usearch 来去除重复序列,使用vsearch 来去除重复序列

源代码:

  

安装:

  wget https://github.com/torognes/vsearch/archive/v1.11.1.tar.gz

      tar xzvf v1.11.1
      cd vsearch-1.11.1/
      ./autogen.sh
      ./configure
      make      
      make install
 
测试:
  # 去除重复序列
      vsearch --derep_fulllength raw.reads.fasta  --output test.fasta --sizeout        
            
      # 去除singleton序列
      vsearch --sortbysize test.fasta  --output desingleton.fasta --minsize 2
 
vsearch 和 mothur 去除重复序列的结果完全一致,其实去除重复序列就是就将那些序列完全一致的序列只取一条就可以了,去除singleton 序列就是将那些只出现一次的序列去除,为了加深理解,我写了个perl脚本
来完成这2个任务,经过测试和vsearch的结果一致,代码如下:
#!/usr/bin/perluse warnings;use strict;my ($fasta) = @ARGV;my %unique = ();local $/ = ">";open FASTA, $fasta or die "Can't open $fasta\n";while (
) { chomp; next if /^\s*$/; my ($id, $seq) = split /\n/, $_, 2; $seq =~ s/\s+//; push @{
$unique{
$seq}}, $id;}close FASTA;foreach my $x (keys %unique) { my $size = scalar @{
$unique{
$x}}; unshift @{
$unique{
$x}}, $size;}foreach my $x (sort {
$unique{
$b}->[0] <=> $unique{
$a}->[0] } keys %unique) { my $id = $unique{
$x}->[1]; my $size = $unique{
$x}->[0]; next if $size = 1; print qq{>$id;size=$size;\n$x\n};}

 

 

 

转载地址:http://hddol.baihongyu.com/

你可能感兴趣的文章
wince -- RS485半双工实现
查看>>
nginx 源码学习笔记(二)——nginx精粹-模块
查看>>
DirectX截图黑屏的解决办法
查看>>
Expanding Cat5e LAN segments over 100 metres using OUTREACH Ethernet LAN extenders
查看>>
关于Oracle冷备份与热备份的对比
查看>>
C#条件判断-嵌套if结构
查看>>
Selenium:Hello,World!
查看>>
HibernateTemplate 查询
查看>>
ListView控件的基本操作
查看>>
jQuery 参考手册 - 属性操作
查看>>
C–gcc命令行下的参数
查看>>
mysql 连接查询 和 子查询
查看>>
UploadFile控件,提交图片后,页面预览显示刚刚提交的图片
查看>>
调查:2013年十大急需的热门IT人才
查看>>
为什么memset的第二个参数不把int替换成char
查看>>
超级芯片电路板问世 比现有电脑快9000倍
查看>>
求幂算法
查看>>
使用asp.net调用谷歌地图api
查看>>
文件读取输入
查看>>
Mysql5.7初始化成空密码或随机密码的方式
查看>>