Chinaunix首页 | 论坛 | 博客
  • 博客访问: 54122
  • 博文数量: 13
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 150
  • 用 户 组: 普通用户
  • 注册时间: 2014-03-12 22:36
文章分类

全部博文(13)

文章存档

2014年(13)

我的朋友

分类: PERL

2014-09-18 16:51:54

  1. #!/usr/bin/perl
  2. use Bio::SeqIO;
  3. $in = Bio::SeqIO->new( -format => 'fasta', -file => 'example.ta' );
  4. $out = Bio::SeqIO->new( -format => 'fastq', -file => '>out' );
  5. while ( my $seq = $in->next_seq ) {
  6.     my $id_ta = $seq->id;
  7.     my $seq_ta = $seq->seq;
  8.     my $hash = Qual('example2.txt');
  9.     my $seq_tq = Bio::Seq::Quality->new(
  10.         -qual => $hash->{$id_ta},
  11.         -seq => $seq_ta,
  12.         -id => $id_ta,

  13.         #-trace_indices => $trace,
  14.         #-accession_number => '',
  15.         #-verbose => -1 # to silence deprecated methods
  16.     );
  17.     $out->write_seq($seq_tq);
  18. }

  19. sub Qual {
  20.     my $file = shift;
  21.     local $/ = '+';
  22.     open my $FH, "<$file";
  23.     my %hash;
  24.     while ( my $line = <$FH> ) {
  25.         my ( $id, $q1, $q2 ) = split( "\n", $line );
  26.         my $qual = $q1 . ' ' . $q2;
  27.         $hash{$id} = $qual;
  28.     }
  29.     close $FH;
  30.     return \%hash;
  31. }
  32. __END__
  33. 转换fasta到fastq格式:
  34. 1、序列:(example.ta)
  35. ">NG-5065_R-0-18_1_1_1_5_743/1
  36. AACAAACCAACAAACNCTAACAAACCCTTTCCGNTTCCANAAANTNTNCNNNNAANNCNNNNGNCANNNCNAANAN
  37. >NG-5065_R-0-18_1_1_1_5_1184/1
  38. TTCGAAGGCCTTCCCGGCACGACGAACGGATGTCCAATTGGTTTCGTAGTAGTGTCANNNNNNNNTCGATCANGACA";

  39. 2、其对应的序列质量为:(example2.txt)
  40. +NG-5065_R-0-18_1_1_1_5_743/1
  41. 22 34 32 32 28 32 32 32 30 32 32 31 26 33 30 4 29 34 34 34 32 29 32 25 33 33 30 33 34 34 31 28 29 4 29 34 33 34 2 2 2 2 2 2 2 2 2 2 2 
  42. 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
  43. +NG-5065_R-0-18_1_1_1_5_1184/1
  44. 33 23 29 21 32 32 32 32 25 31 33 28 26 31 14 4 19 33 33 32 30 25 28 32 22 10 11 9 28 32 22 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
  45. 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
阅读(3159) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~