2017-08-10 14 views
-1

2つの異なるファイルがあります.1つはfastaファイル、もう1つはjsonの辞書から作成されたtxtファイルです。異なるファイルからデータを抽出してfastaファイルを作成する

file_Aはこのように見えます。

> { 
     "gene_1005 ['gene description_B']":2, 
     "gene_1009 ['gene description_C']":1, 
     "gene_104 ['gene description_D']":2, 
     "gene_1046 ['gene description_A']":1, 

} 

file_Bは次のようになります。

gene_1005 [ 'GEN description_B'] ATGTGGATCCGCCCGTTGCAGGCGGAACTGAGCGATAACACGCTGGCTTTGTATGCGCCAAACCGTTTTGTGCTCGA gene_2 [ '遺伝子description_C'] ATGAAATTTACCGTTGAACGTGAACATTTATTAAAACCGCTGCAACAGGTGAGTGGCCCATTAGGTGGCCGCCCAAC私が作りたいものを

が新しいですfastaファイルは、file_Aに値2を持つ遺伝子のみを含んでいます。私は以下のコードを試しましたが、私はかなり失われています。それは遺伝子の名前である単語[0]を表示しますが、ワード[1]は表示されません。これは数字でなければなりません。それはエラーに

'範囲外'

import json 

def readlines(): 
    input_file=open('file_A.txt') 
    lines=input_file.readlines() 
    print lines[1] 
    for line in lines: 

     words=lines.split(':') 

     print words[0] 
     print words[1] 


    #print line 
input_file.close() 

readlines()

を送信誰もが親切に、これで手をしてください与えてもらえますか? ありがとう

答えて

0

私は理由を説明せずに否定的な表現をしたり、提案をしている人がいます。これはこの投稿の提案です。しかし、否定的な有権者が提案を気にしていないことがわかったので、私は答えを投稿します。

input_file= open('file.fa', 'r') 
output_file= open(wanted_genes.fa', 'w') 
for line in input_file: 
if line[0]=='>': 
    geneID=line[1:-1] 

    if geneID in my_dict: 
    output_file.write(line) 
    skip=0 
    else: 
    skip=1 
else: 
    if not skip: 
    output_file.write(line) 
input_file.close() 
output_file.close() 
関連する問題