from Bio import SeqIO

# Open the GenBank file
genbank_file = "FILE-NAME.gb"  # Replace with your file path

# Create empty lists to store sequence data
nucleotide_sequences = []
protein_sequences = []

# Iterate through the GenBank file
for record in SeqIO.parse(genbank_file, "genbank"):
    accession = record.id if record.id else "Missing"
    organism = record.annotations.get('organism', 'Missing')
    
    # Extracting country information if available
    country = "Missing"
    for feature in record.features:
        if 'country' in feature.qualifiers:
            country = feature.qualifiers['country'][0]

    # Create a description for the sequence
    description = f"{accession}_{organism}_{country}"

    # Nucleotide sequence
    nucleotide_sequences.append((f">{description}\n{record.seq}\n"))

    # Protein sequence (if available)
    for feature in record.features:
        if feature.type == 'CDS' and 'protein_id' in feature.qualifiers and 'translation' in feature.qualifiers:
            protein_id = feature.qualifiers['protein_id'][0]
            protein_sequences.append((f">{protein_id}_{organism}_{country}\n{feature.qualifiers['translation'][0]}\n"))

# Write nucleotide sequences to a FASTA file
with open("nucleotide_sequences.fasta", "w") as nt_file:
    nt_file.write("".join(nucleotide_sequences))

# Write protein sequences to a FASTA file
with open("protein_sequences.fasta", "w") as aa_file:
    aa_file.write("".join(protein_sequences))
