1. 程式人生 > >fasta文件中DNA to RNA

fasta文件中DNA to RNA

class read odin tcc clas pat red pla tag

同樣的名為read_1.fa 的fasta文件,裏面有若幹序列,如:

>@r1
TGAATGCGAACTCCGGGACGCTCAGTAATGTGACGATAGCTGAAAACTGTACGATAAACNGTACGCTGAGGGCAGAAAAAATCGTCGGGGACATTNTAAAGGCGGCGAGCGCGGCTTTTCCG
>@r2
NTTNTGATGCGGGCTTGTGGAGTTCAGCCGATCTGACTTATGTCATTACCTATGAAATGTGAGGACGCTATGCCTGTACCAAATCCTACAATGCCGGTGAAAGGTGCCGGGATCACCCTGTGGGTTTAT
>@r3
ATCGCCCGCAGACACCTTCACGCTGGACTGTTTCGGCTTTTACAGCGTCGCTTCATAATCCTTTTTCGCCGCCGCCATCAGCGTGTTGTAATCCGCCTGCAGGATTTTCCCGTCTTTCNGTGCCTTGNT
..........等等

第一種,利用replace(),dna_2_rna.py 代碼如下:

 1 #encoding = utf-8
 2 
 3 """
 4 簡介:fasta文件中dna to rna
 5 作者:劉自軍
 6 date:2017年5月12日 20:59
 7 """
 8 
 9 import sys
10 from collections import OrderedDict
11 
12 args = sys.argv
13 
14 tmp_dit = OrderedDict()
15 
16 with open(args[1]) as f:
17     for line in f:
18
19 line = line.upper().strip(\n) 20 21 if line.startswith(>): 22 seq_id = line 23 tmp_dit[seq_id] = ‘‘ 24 else: 25 tmp_dit[seq_id] = line.replace(T,U) 26 #replace的用法為string.replace(old,new) 27 28 for seq_id,seq in tmp_dit.items():
29 print (%s\n%s %(seq_id,seq))

第二種,利用re.sub(),dna_2_rna.py 代碼如下:

 1 #encoding = utf-8
 2 
 3 """
 4 簡介:fasta文件中dna to rna 使用sub
 5 作者:劉自軍
 6 date:2017年5月12日 20:59
 7 """
 8 
 9 import sys
10 import re
11 from collections import OrderedDict
12 
13 args = sys.argv
14 
15 tmp_dit = OrderedDict()
16 
17 with open(args[1]) as f:
18     for line in f:
19 
20         line = line.upper().strip(\n)
21 
22         if line.startswith(>):
23             seq_id = line
24             tmp_dit[seq_id] = ‘‘
25         else:
26             tmp_dit[seq_id] = re.sub(T,U,line)
27             #re.sub(pattern,repl,string)
28             #即re.sub(old,new,string)
29 
30 for seq_id,seq in tmp_dit.items():
31     print (%s\n%s %(seq_id,seq))

fasta文件中DNA to RNA