如何将fasta格式转换为fastq格式?
新手入门,如何将fasta格式转换为fastq格式,求perl具体编程,非常感谢!希望有好心人多多指点,这个问题已困恼了本人很久,都失去了学习perl的信心了!
例如,一段序列
">NG-5065_R-0-18_1_1_1_5_743/1
AACAAACCAACAAACNCTAACAAACCCTTTCCGNTTCCANAAANTNTNCNNNNAANNCNNNNGNCANNNCNAANAN
>NG-5065_R-0-18_1_1_1_5_1184/1
TTCGAAGGCCTTCCCGGCACGACGAACGGATGTCCAATTGGTTTCGTAGTAGTGTCANNNNNNNNTCGATCANGACA";
该序列存放在一个文件example中,
其对应的序列质量为
+NG-5065_R-0-18_1_1_1_5_743/1
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
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
+NG-5065_R-0-18_1_1_1_5_1184/1
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
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
以上存放在另外一个文件example2中,
我该如何用perl编程,实现fasta到fastq格式转换?拜谢!!{:3_199:}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
能说明一下example2的格式吗?
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
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
这里是一行数据(quality values)还是两行数据?
Bio::Seq::Quality与Bio::SeqIO两个模块合并使用应该能解决你的问题,但我对fastq格式不熟。
回复 2# aef25u
能不用模块么?我在网上找了很多,都是用模块的,可是作为新手,还没有学习模块的使用
本帖最后由 aef25u 于 2011-04-16 16:37 编辑
回复 3# 一抹茶123
还是学一下模块吧,不用模块能解决吗?能解释一下example2的格式吗?
问楼主也不帮解释下,我把example2当一行的quality values数据处理了。
复制代码
不懂,不过给你个网址 你可以作为 参考。里面有高手写的代码
http://club.topsage.com/thread-2229946-1-1.html
楼主,请注意你的fasta格式文件和Phred格式文件,他们的序列ID是一样的。
>NG-5065_R-0-18_1_1_1_5_743/1
>NG-5065_R-0-18_1_1_1_5_1184/1
+NG-5065_R-0-18_1_1_1_5_743/1
+NG-5065_R-0-18_1_1_1_5_1184/1
所不同的只是一个一个用>,一个用+
这些ID应该是不重复的,你只需要用这个做ID,建两个hash,然后print就好了..
fastq格式的文件,他们的quality score格式很多,楼主需要注意软件支持的格式,记得我做tophat还是什么的时候就没注意.....囧
回复 2# aef25u
猜测就是一行的,因为对应的fasta文件就是一行:)
http://maq.sourceforge.net/fq_all2std.pl
这里有一个小程序:
http://yixf.name/2011/02/22/%E6% ... %E6%96%87%E4%BB%B6/