Chinaunix首页 | 论坛 | 博客
  • 博客访问: 225752
  • 博文数量: 36
  • 博客积分: 1188
  • 博客等级: 军士长
  • 技术积分: 802
  • 用 户 组: 普通用户
  • 注册时间: 2010-04-08 21:45
文章分类

全部博文(36)

文章存档

2020年(1)

2017年(2)

2015年(1)

2014年(1)

2013年(1)

2012年(3)

2011年(27)

分类: WINDOWS

2011-04-16 19:39:56

  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
阅读(6010) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~