豆豆和花花用代码P了个K

豆豆和花花用代码P了个K

豆豆和花花写于19.11.7

问题&起因

给定一个fq文件,不论用什么方法,把它变成fa

上班路上,花花说能用R解决的事情就不会想用linux,比如以前线下培训会讲的:什么fastq转fasta,放进R里面最多五行代码。

豆豆就说:五行吗?来来来我用linux你用R我们各写一个答案,今天推文有了。

我去,好主意。

以前也不是没打过,比如这两篇:

花花:linux不会,不如用R吧

豆豆:批量重命名:如果会linux呢?

具体规则,花花来定

下周四是豆豆和花花恋爱7周年纪念日,大家投票谁的代码好,规则太难写了,改了好几遍,总之就是我要赢啊啊啊啊。

tip:关于fq和fa格式的区别

生信小白第5天-聊下数据格式

目前给定的fq节选如下

@A00204:437:HMHMLDSXX:2:1101:1524:1000 
AGAAAGTTTGCCTATCTGGGGTGCCTGGCTCACGAGGTTGGCTGGAAGTACCAGGCAGTGACAGCCACCCTGGAGGAGAAGAGGAAAGAGAAAGCCAAGATCCACTACCGGAAGAAGAAACAGCTCATGAGGCTACGGAAACAGGCCGAG
+
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF:FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
@A00204:437:HMHMLDSXX:2:1101:1868:1000 
ATAGCCCTGGCCGTACGCCTAACCGCTAACATTACTGCAGGCCACCTACTCATGCACCTAATTGGAAGCGCCACCCTAGCAATATCAACCATTAACCTTCCCTCTACACTTATCATCTTCACAATTCTAATTCTACTGACTATCCTAGAA
+
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF:FFF:F,FFFFFF:FF:FFFFFF,FFFFFFFF,FFFFFFF:FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF:FF:FF,FFFFFFFFFFF:FF,FFF:FFFFFF

要变成=》

>A00204:437:HMHMLDSXX:2:1101:1524:1000 
AGAAAGTTTGCCTATCTGGGGTGCCTGGCTCACGAGGTTGGCTGGAAGTACCAGGCAGTGACAGCCACCCTGGAGGAGAAGAGGAAAGAGAAAGCCAAGATCCACTACCGGAAGAAGAAACAGCTCATGAGGCTACGGAAACAGGCCGAG
>A00204:437:HMHMLDSXX:2:1101:1868:1000 2:N:0:CACTCGGA+TCTTTCCC
ATAGCCCTGGCCGTACGCCTAACCGCTAACATTACTGCAGGCCACCTACTCATGCACCTAATTGGAAGCGCCACCCTAGCAATATCAACCATTAACCTTCCCTCTACACTTATCATCTTCACAATTCTAATTCTACTGACTATCCTAGAA

花花解答

方法一: 向量配stringr啊

image-20191107092718416
test = readLines("test.fq")
test1 = test[seq(1,length(test),4)]
test2 = test[seq(2,length(test),4)]
result = paste(stringr::str_replace(test1,"@",">"),test2 ,sep = "\n")
writeLines(result)
# >A00204:437:HMHMLDSXX:2:1101:1524:1000  AGAAAGTTTGCCTATCTGGGGTGCCTGGCTCACGAGGTTGGCTGGAAGTACCAGGCAGTGACAGCCACCCTGGAGGAGAAGAGGAAAGAGAAAGCCAAGATCCACTACCGGAAGAAGAAACAGCTCATGAGGCTACGGAAACAGGCCGAG
# >A00204:437:HMHMLDSXX:2:1101:1868:1000 ATAGCCCTGGCCGTACGCCTAACCGCTAACATTACTGCAGGCCACCTACTCATGCACCTAATTGGAAGCGCCACCCTAGCAATATCAACCATTAACCTTCCCTCTACACTTATCATCTTCACAATTCTAATTCTACTGACTATCCTAGAA
# >A00204:437:HMHMLDSXX:2:1101:2193:1000 TAGTTATTATCGAAACCATCAGCCTACTCATTCAACCAATAGCCCTGGCCGTACGCCTAACCGCTAACATTACTGCAGGCCACCTACTCATGCACCTAATTGGAAGCGCCACCCTAGCAATATCAACCATTAACCTTCCCTCTACACTTA

方法二

有R包呢,从谷歌找到R包和函数的名字,安装,加载,看帮助文档示例部分,你就会膨胀起来。

对不起,暴露了,我是一个有故事的人,可能是我的课程和笔记都写得太过保姆,剥夺了学员自己思考和搜索的能力,我改还不行吗?

豆豆解答

方法一: linux "paste + tr"

cat test.fq | paste - - - - | cut -f 1-2 | awk -F ' ' '{print $1,$3}' | tr ' ' '\n' | tr '@' '>' >dou1.fa

head -n4 dou1.fa
>A00204:437:HMHMLDSXX:2:1101:1524:1000 
AGAAAGTTTGCCTATCTGGGGTGCCTGGCTCACGAGGTTGGCTGGAAGTACCAGGCAGTGACAGCCACCCTGGAGGAGAAGAGGAAAGAGAAAGCCAAGATCCACTACCGGAAGAAGAAACAGCTCATGAGGCTACGGAAACAGGCCGAG
>A00204:437:HMHMLDSXX:2:1101:1868:1000 
ATAGCCCTGGCCGTACGCCTAACCGCTAACATTACTGCAGGCCACCTACTCATGCACCTAATTGGAAGCGCCACCCTAGCAATATCAACCATTAACCTTCCCTCTACACTTATCATCTTCACAATTCTAATTCTACTGACTATCCTAGAA

方法二:bioawk

一个神奇的小软件bioawk

这个软件好像保留的ID行更精炼一些

conda install -c bioconda bioawk
bioawk -c fastx '{print ">"$name; print $seq}' test.fq >dou2.fa

head -n4 dou2.fa
>A00204:437:HMHMLDSXX:2:1101:1524:1000
AGAAAGTTTGCCTATCTGGGGTGCCTGGCTCACGAGGTTGGCTGGAAGTACCAGGCAGTGACAGCCACCCTGGAGGAGAAGAGGAAAGAGAAAGCCAAGATCCACTACCGGAAGAAGAAACAGCTCATGAGGCTACGGAAACAGGCCGAG
>A00204:437:HMHMLDSXX:2:1101:1868:1000
ATAGCCCTGGCCGTACGCCTAACCGCTAACATTACTGCAGGCCACCTACTCATGCACCTAATTGGAAGCGCCACCCTAGCAATATCAACCATTAACCTTCCCTCTACACTTATCATCTTCACAATTCTAATTCTACTGACTATCCTAGAA

投票通道在公众号~

微信公众号生信星球同步更新我的文章,欢迎大家扫码关注!


我们有为生信初学者准备的学习小组,点击查看◀️
想要参加我的线上线下课程,也可加好友咨询🔼
如果需要提问,请先看生信星球答疑公告

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 最近跑通了一遍GWAS分析,全程在linux操作,虽然具体还有好多需要微调的地方,先把代码整理分享出来mark一下...
    rapunzel0103阅读 35,837评论 45 170
  • 1.描述计算机的组成及其功能 (一)计算机的组成 1.CPU 2.CPU风扇 3.BIOS 4.内存 5.硬盘 6...
    whamai阅读 5,405评论 0 1
  • 第一章 1.Linux是一套免费使用和自由传播的类UNIX操作系统,它可以基于Intel x86系列处理器以及Cy...
    yansicing阅读 10,795评论 0 9
  • 孤独的沉浸在风中,冷是闭上眼的感觉。 在公园休憩,突然冷如冬的天气里穿着单薄的坐在椅子一头。不宽广...
    我的名字不是我阅读 975评论 0 0
  • 圣人在陈绝粮,七日未曾见米,弦歌总是不辍,饿死不能乱意,至今流传万世,儒教千古第一,余辈亦是一人,未难已早乱意,有...
    三千淼阅读 1,209评论 0 1