求fasta文件中互补序列

Posted Bio-Liu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求fasta文件中互补序列相关的知识,希望对你有一定的参考价值。

一个名为read_1.fa 的fasta文件,里面有若干序列,如:

>@r1
TGAATGCGAACTCCGGGACGCTCAGTAATGTGACGATAGCTGAAAACTGTACGATAAACNGTACGCTGAGGGCAGAAAAAATCGTCGGGGACATTNTAAAGGCGGCGAGCGCGGCTTTTCCG
>@r2
NTTNTGATGCGGGCTTGTGGAGTTCAGCCGATCTGACTTATGTCATTACCTATGAAATGTGAGGACGCTATGCCTGTACCAAATCCTACAATGCCGGTGAAAGGTGCCGGGATCACCCTGTGGGTTTAT
>@r3
ATCGCCCGCAGACACCTTCACGCTGGACTGTTTCGGCTTTTACAGCGTCGCTTCATAATCCTTTTTCGCCGCCGCCATCAGCGTGTTGTAATCCGCCTGCAGGATTTTCCCGTCTTTCNGTGCCTTGNT
>@r4
GGGCCAATGCGCTTACTGATGCGGAATTACGCCGTAAGGCCGCAGATGAGCTTGTCCATATGACTGCGAGAATTAACNGTGGTGAGGCGATCCCTGAACCAGTAAAACAACTTCCTGTCATGGGCGGTA
>@r5
GTCAGGAAAGTGGTAAAACTGCAACTCAATTACTGCAATGCCCTCGTAATTAAGTGAATTTACAATATCGTCCTGTTCGGAGGGAAGAACGCGGGATGTTCATTCTTCATCACTTTTAATTGATGTATA
>@r6
AGCGACATTCTTCCTCGGTACATAATCTCCTTTGGCGTTTCCCGATGNCCGTCACGCACATGGNATCCCGTGATGACCTCATTAAAAACACGCTGCAATCCCTCCTCATCTTTGCAGGCGTCCGATTTT
>@r7
CCCCGCCACCATCCCGCCGGGCNTGTCCATATCGAGCAGAATGCTGTCCACCATCGGATCGCTGGCAGCCTGTTGCAGACGGGCGATAATGCCGTTGTAACCGGTCATCCCCGAGTACGGCTGCAGCGC
>@r8
NTGAACAGTAAACGTCTGTTGAGCACATCCTTTAATAAGCAGGGCCAGCGCAGTATCNAGTAGCATATTTTTCATGGTGTTATTCCCGATGCTTTTTG
>@r9
CCCGATGCTTTTTGAAGTTCGCAGAATCGTATGTGTAGANAATTAAACAAANCCT
..........等等

complement_seq.py代码如下:

#encoding = utf-8

"""
简介:求fasta文件中每个序列的互补序列
作者:刘自军
date:2017年5月18:54
"""
import sys
from collections import OrderedDict

args = sys.argv

seq = OrderedDict()
tmp_dit = {A:T,G:C,C:G,T:A,N:N}

with open(args[1]) as f:

    for line in f:
        
        line = line.strip(\n)
        if line.startswith(>):
            seq_id = line
            seq[seq_id] = ‘‘
        else:
            for i in line:
                seq[seq_id] += tmp_dit[i]

for id,com_seq in seq.items():
    print (%s\n%s %(id,com_seq))

python complement_seq.py read_1.fa

或者python complement_seq.py read_1.fa > com_read.fa

 

以上是关于求fasta文件中互补序列的主要内容,如果未能解决你的问题,请参考以下文章

perl实战-fasta多序列文件GC含量的计算

从文件中提取特定范围的 fasta 序列

如何在 fasta 文件中并行化计算,其中每个处理器采用一个序列

perl处理fasta文件

关于重叠PCR加的那20bp,求大虾解答!在线等!

如何从大fasta文件中找出自己想要的序列