切割fasta的几种方法

1.samtools:

samtools faidx mm10.fa chr1 > chr1.fa

2.awk:

awk '/^>/ { gsub(">","",$1)

            FILE=$1 ".fa"

            print ">" $1 >> FILE

            next}

          { print >> FILE }' hg38.fa

3.csplit and sed:

csplit -s -z mm10.fa '/>/' '{*}'

for i in xx* ; do \

  n=$(sed 's/>// ; s/ .*// ; 1q' "$i") ; \

  mv "$i" "$n.fa" ; \

done

4.我的理论上可行的使用sed:

sed -n '/>chr1/,/>chr2/p' mm10.fa | sed '$d' > chr1.fa

理由:

但是!用这个命令并没切出来……

希望大家有知道原因的评论里指点下呦,蟹蟹啦!


ref: Spliting a fasta file to chromosomes (BioInfo Unix Tricks) - Crash Course By Assaf Gordon

ref2: SED单行脚本快速参考

你可能感兴趣的:(切割fasta的几种方法)