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

首先我们将所有一代测序的序列文件都保存在同一个文件夹下,然后用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()

猜你喜欢

转载自blog.csdn.net/zhouxin518/article/details/83615951