Добавить строковые элементы в список - PullRequest
0 голосов
/ 08 октября 2019

Я хочу добавить строковые элементы из цикла for в список (для каждой итерации) и также сохранить уникальные строковые значения,

#Script will give an output in order to count occurence of BGC clusters per Bacteria Type

#!/usr/bin/env python
from Bio import SeqIO 
#Biopython package for input file (input and output assorted sequence file formats)
from Bio.SeqFeature import SeqFeature
import numpy as np
import sys
import pandas as pd

# Set the input file to be used and the output file to be written to
gbk_file = "E2N166_1.final.gbk" #example: "contig_1.final.gbk"
tsv_file = "cluster_count_file.txt"  #output file can be .csv, .txt etc...
cluster_output = open(tsv_file, "w")

#Extract the Cluster info from GBK file,
for seq_record in SeqIO.parse(gbk_file, "genbank"):
    cluster_list = []
    for seq_feat in seq_record.features:
        if seq_feat.type == "cluster":
            cluster_number = seq_feat.qualifiers["note"][0].replace(" ","_").replace(":","")
            cluster_type = seq_feat.qualifiers["product"][0]
            cluster_list.append(cluster_type)

            cluster_out.write("#" + cluster_number+ "\tCluster Type:" + cluster_type + "\n")

print("File Cluster Out")

Вывод выглядит следующим образом Terminal Output

1 Ответ

0 голосов
/ 08 октября 2019

Если вы хотите хранить уникальные элементы, я предлагаю вам использовать набор вместо списка. (Вы должны знать, что набор не упорядочен)

cluster_set = set()

Но если вы хотите сохранить список использования, вы можете сделать это:

if cluster_type not in cluster_list:
    cluster_list.append(cluster_type)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...