一代测序序列数据批量聚类处理

 

首先我们将所有一代测序的序列文件都保存在同一个文件夹下,然后用cat命令合并成一个fasta文件。

在每条序列第一行插入>

for file in .fas; do sed -i “s/>./{file%%.*}/file” ; done

将序列第一和第二行合并

awk ‘{tmp=0;getline;print tmp0}’ C1.fas

vsearch —cluster_size all_fungi.fa \ —id 0.99 —centroids otus.fa

blastn -max_target_seqs 5 -db /data/PubDatabase/ncbi/db20150119/nt -out Isolated_fungiNCBI.blast \ -query otus.fa -num_threads 50 \ -outfmt “6 qseqid qlen qstart qend sseqid stitle slen sstart send qcovs bitscore score evalue pident”

blastn -max_target_seqs 20 -db /public/PubDatabase/ncbi/nt/nt -out Isolated_fungi.blast \ -query otus.fa -num_threads 8 \ -outfmt “6 qseqid qlen qstart qend salltitles sseqid slen sstart send qcovs bitscore evalue pident”

5.1 生成OTU表 Creat OTUs table

vsearch —usearch_global temp/all_ITS_nonchimera.fa —db result/otus.fa \ —otutabout result/otutab.txt —id 0.97

批量将fasta文件中所有序列名字改成对应文件夹名

使用Python小命令

更改之前的序列名,其文件夹名为C67
>7_ITS1_W81010381
TGTGACATACCTATACGTTGCCTCGGCGGATCAGCCCGCGCCCCGTAAAACGGGACGGCCCGCCCGAGGACCCCTAAACTCTGTTTTTAGTGGAACTTCTGAGTAAAACAAACAAATAAATCAAAACTTTCAACAACGGATCTCTTGGTTCTGGCATCGATGAAGAACGCAGCAAAATGCGATAAGTAATGTGAATTGCAGAATTCAGTGAATCATCGAATCTTTGAACGCACATTGCGCCCGCCAGTATTCTGGCGGGCATGCCTGTTCGAGCGTCATTTCAACCCTCAAGCTCAGCTTGGTGTTGGGACTCGCGGTAACCCGCGTTCCCCAAATCGATTGGCGGTCACGTCGAGCTTCCATAGCGTAGTAATCATACACCTCGTTACTGGTAATCGTCGCGGCCACGCCGTTAAACCCCAACTTCTGAATGTTGACCTCGGATCAGGTAGGAATACCCGCTGAACTTAAGCATATCAATAAGGCGGAGGAA
更改之后的序列名,其文件夹名为C67
>C67
TGTGACATACCTATACGTTGCCTCGGCGGATCAGCCCGCGCCCCGTAAAACGGGACGGCCCGCCCGAGGACCCCTAAACTCTGTTTTTAGTGGAACTTCTGAGTAAAACAAACAAATAAATCAAAACTTTCAACAACGGATCTCTTGGTTCTGGCATCGATGAAGAACGCAGCAAAATGCGATAAGTAATGTGAATTGCAGAATTCAGTGAATCATCGAATCTTTGAACGCACATTGCGCCCGCCAGTATTCTGGCGGGCATGCCTGTTCGAGCGTCATTTCAACCCTCAAGCTCAGCTTGGTGTTGGGACTCGCGGTAACCCGCGTTCCCCAAATCGATTGGCGGTCACGTCGAGCTTCCATAGCGTAGTAATCATACACCTCGTTACTGGTAATCGTCGCGGCCACGCCGTTAAACCCCAACTTCTGAATGTTGACCTCGGATCAGGTAGGAATACCCGCTGAACTTAAGCATATCAATAAGGCGGAGGAA

首先将我们的python小脚本放置在需要改名字的所有序列的同一个文件夹下,双击完成批量改名字后会自动生成一个名为ACT的文件夹,里面包含了所有已经改好名字的序列

import os
import sys
import re
try:
    os.mkdir("ACT")
except Exception as e:
    print("")
listfile=os.listdir(".")
for line in listfile:  
    if line.endswith("fas") :
        oldfile = open(line,"r")
        newfile = open("ACT/"+line, "w")
        newfile.write(">"+line.split(".")[0]+"\n")

        content=oldfile.readline()
        content=oldfile.read()
        newfile.write(content)

        newfile.close()
        oldfile.close()

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值