Entering edit mode
                    3.4 years ago
        Robert
        
    
        •
    
    0
    I am facing the error below when I try to read a FASTA File in my Streamlit App, please Assist
StreamModeError: Fasta files must be opened in text mode.
Traceback:
File "C:\Users\Sir Roberto\AppData\Local\Programs\Python\Python310\lib\site-packages\streamlit\scriptrunner\script_runner.py", line 475, in _run_script
    exec(code, module.__dict__)
File "C:\Users\Sir Roberto\PycharmProjects\SARS_CoV_2_Mutation_Forecasting_GUI\SARS_CoV_2_Mutation_Forecasting_GUI.py", line 43, in <module>
    main()
File "C:\Users\Sir Roberto\PycharmProjects\SARS_CoV_2_Mutation_Forecasting_GUI\SARS_CoV_2_Mutation_Forecasting_GUI.py", line 19, in main
    protein_sample = SeqIO.read(seq_file, 'fasta',)
File "C:\Users\Sir Roberto\AppData\Local\Programs\Python\Python310\lib\site-packages\Bio\SeqIO\__init__.py", line 652, in read
    iterator = parse(handle, format, alphabet)
File "C:\Users\Sir Roberto\AppData\Local\Programs\Python\Python310\lib\site-packages\Bio\SeqIO\__init__.py", line 605, in parse
    return iterator_generator(handle)
File "C:\Users\Sir Roberto\AppData\Local\Programs\Python\Python310\lib\site-packages\Bio\SeqIO\FastaIO.py", line 183, in __init__
    super().__init__(source, mode="t", fmt="Fasta")
File "C:\Users\Sir Roberto\AppData\Local\Programs\Python\Python310\lib\site-packages\Bio\SeqIO\Interfaces.py", line 53, in __init__
    raise StreamModeError(
MY CODE:
import streamlit as st
import tensorflow as tf
import tensorflow_io as tfio
from Bio import SeqIO
def main():
    st.title('Covid-19 Mutation Forecasting App')
    menu = ['Forecast Mutation', 'About The App']
    choice = st.sidebar.selectbox('Select Activity', menu)
    if choice == 'Forecast Mutation':
        st.subheader('Mutation Forecasting Workspace')
        seq_file = st.file_uploader('Upload a Sequence File:', type=['fasta',])
        if seq_file is not None:
            protein_sample = SeqIO.read(seq_file, 'fasta',)
            st.write(protein_sample)
            loaded_model = tf.keras.models.load_model("")
            next_step = st.checkbox('Forecast')
            if next_step:
                states = None
                next_char = tfio.genome.read_fastaq(protein_sample)
                result = [next_char]
                for n in range(100):
                    next_char, states = one_step_reloaded.generate_one_step(next_char, states=states)
                    result.append(next_char)
                print(tf.strings.join(result)[0].numpy().decode("utf-8"))
    else:
        st.subheader('About The App')
        st.caption('Given the first few codons of a SARS-CoV-2 Spike Protein, '
                   'the App forecasts and display the complete sequence of the mutant')
if __name__ == '__main__':
    main()
Please use the formatting bar (especially the

codeoption) to present your post better. You can use backticks for inline code (`text` becomestext), or select a chunk of text and use the highlighted button to format it as a code block. If your code has long lines with a single command, break those lines into multiple lines with proper escape sequences so they're easier to read and still run when copy-pasted. I've done it for you this time.Thank you so much
Why did you delete your posts, Robert ?