Thank you so much for your advice and including information I did not even know to think about. I did not know there was a minimum ORF length. From my understanding the changes you made which didn't change the overall logic of the code were as follows. I think you just added minimum ORF length (which is nice, thank you!), used a built in reverse complement function and included and printed out the coordinates for the nucleotides in an ORF (which makes sense and is a nice touch, thanks!). However, I do not think this fixes the problem which I believe I can now better define. I believe neither of our codes are printing results from all the FASTA files. I can show this by examining file IDs. With the following code I can print all file IDs out.
from Bio import SeqIO
for file in SeqIO.parse("dna.example.fasta", "fasta"):
print(file.id)
This is the result:
gi|142022655|gb|EQ086233.1|43
gi|142022655|gb|EQ086233.1|160
gi|142022655|gb|EQ086233.1|41
gi|142022655|gb|EQ086233.1|221
gi|142022655|gb|EQ086233.1|294
gi|142022655|gb|EQ086233.1|323
gi|142022655|gb|EQ086233.1|564
gi|142022655|gb|EQ086233.1|521
gi|142022655|gb|EQ086233.1|455
gi|142022655|gb|EQ086233.1|229
gi|142022655|gb|EQ086233.1|422
gi|142022655|gb|EQ086233.1|384
gi|142022655|gb|EQ086233.1|280
gi|142022655|gb|EQ086233.1|158
gi|142022655|gb|EQ086233.1|59
gi|142022655|gb|EQ086233.1|319
gi|142022655|gb|EQ086233.1|438
gi|142022655|gb|EQ086233.1|210
gi|142022655|gb|EQ086233.1|237
gi|142022655|gb|EQ086233.1|507
gi|142022655|gb|EQ086233.1|350
gi|142022655|gb|EQ086233.1|245
gi|142022655|gb|EQ086233.1|279
gi|142022655|gb|EQ086233.1|378
gi|142022655|gb|EQ086233.1|101
However, when I run your code for example I see only the file IDs from 237 to 101, the last seven IDs shown above. Do you notice the same thing?
Can you show the error msg or the input and the expected output? That would be helpful. Is this homework?
I have no error message. For the following code i get the following printout and I cannot figure out what all the first lines are from:
Sequence is 'GATGATTTTCAGCGTCACGCCGCGCTTGTTCGCCAGCGTGTACCGGCTCACCGGCTGCCCGGCCGCGGTCGTTCCGTCATCCGCGCGGCTGATCGATACGTCGGGCGCCGCCGATGCGAAGTCTGCGTGCAGCGCGAGCGCCCCGAACGCGCAGATCGCGAGCAGCGGGCAGCGCGGCCGGATTCGTTTCATGGCAACCTCCGATACGGTGCGATCGGTACGCGTGCGCAAGCGGCATGCCTGCTCGCGGCCACGTTTGCTATGCTTCGCGCATCGCCCGCCTGAGCCGATCGCCGCCATGAACGCCCTCGATTCCGATATCGCGCGCACGCTGCGCGCCGCCTGCGACGCGTGCTTCGGCACGACGACCGTGTGGCCGCTCGTCGAGCGCGCGTACGGCGAGCCGCAGCGCTTCTATCACACGCTCGCGCATCTGGCGGAACTGTTCGCGCACCTCGCGCCGTATCGTGCGGACCGGCTATGGCCGGCCATCGAGCTCGCCGTGTGGGCGCACGATGTCGTCTATGCGACGACACTGCCGGATTATGCGGACAACGAAGCGCTCAGCGCGCAATGGCTCGCGCAGGTCGCGCACGAACATTGCGACGCAGCCTGGTTGCACGCGCATGCATCGCACGTGTCCGTTGCCCGCGACCTGGTGCTGGCGACGAAGTCGCACCGGCTGCCTGACGGGTTCGCCGACGATGCGGAATTGCAGCGCGCCGCGCAAATTTTCCTCGACGCCGATCTCGCGATCCTCGCGGCGGCACCCGACCGGCTCCGCGAATACGACCGCGCGATCGCGCGCGAGTGGGCGCAGGATCCCGATGCACCGTCGGCAGCCTTCCGCGCCGGCCGCAGGCAGGCGCTCGAGCATCTGCGCGCGCAGGCCCCGTTGTTTCGATCGGCGGAATTCGCGCCGCTCGAGCAGCACGCGCAACGCAATCTCGAGATGCTGATCGGCTTCTACGCATAAGCACCCTGCGCACGCCGCTTCCGCGCCCGCCTCGCACTCCGCCCAATCGCGCCGGTCAGGATGCATACGCTCCGATACCGAACGACGAAGCGAACCTCACCTACCCGGCCCCGCATCACGACGATCAGGTATTGTCGGCGCGCCAGCGGCGAGGGCTGACGCCGGTCAGGCGCGTGAAGGTCCGCGAGAAGTGGCTCTGATCGGCGAAACCGCACGCGTCGGCGATCATGCTCAACGGCAGGCCCGAATTGCGCATCCACTCCTTAGCCCGTTCGACGCGCTGCACGATGAGCCAGCGATGCGGCGGCAGCCCGGTCGTCTGATGAAACGCCTTCACGAAATAGCTGCGAGACAGACCGCAGGCGCTCGCCACGTCGGCCAGCCCGAGGTTGCCGTCGAGATGCTCGAGCAGGAGCTCCTTCGCCCGGCGCGCCTGCGACGGCGTGAGTTTCCCGTACGTCTTTTCCCGTCGCTC' Reading frame is 0 number of ORFs: 5 1: ATGCTTCGCGCATCGCCCGCCTGA 2: ATGGCCGGCCATCGAGCTCGCCGTGTGGGCGCACGATGTCGTCTATGCGACGACACTGCCGGATTATGCGGACAACGAAGCGCTCAGCGCGCAATGGCTCGCGCAGGTCGCGCACGAACATTGCGACGCAGCCTGGTTGCACGCGCATGCATCGCACGTGTCCGTTGCCCGCGACCTGGTGCTGGCGACGAAGTCGCACCGGCTGCCTGA 3: ATGGCTCGCGCAGGTCGCGCACGAACATTGCGACGCAGCCTGGTTGCACGCGCATGCATCGCACGTGTCCGTTGCCCGCGACCTGGTGCTGGCGACGAAGTCGCACCGGCTGCCTGA 4: ATGCTCAACGGCAGGCCCGAATTGCGCATCCACTCCTTAGCCCGTTCGACGCGCTGCACGATGAGCCAGCGATGCGGCGGCAGCCCGGTCGTCTGA 5: ATGAGCCAGCGATGCGGCGGCAGCCCGGTCGTCTGA Sequence is 'GATGATTTTCAGCGTCACGCCGCGCTTGTTCGCCAGCGTGTACCGGCTCACCGGCTGCCCGGCCGCGGTCGTTCCGTCATCCGCGCGGCTGATCGATACGTCGGGCGCCGCCGATGCGAAGTCTGCGTGCAGCGCGAGCGCCCCGAACGCGCAGATCGCGAGCAGCGGGCAGCGCGGCCGGATTCGTTTCATGGCAACCTCCGATACGGTGCGATCGGTACGCGTGCGCAAGCGGCATGCCTGCTCGCGGCCACGTTTGCTATGCTTCGCGCATCGCCCGCCTGAGCCGATCGCCGCCATGAACGCCCTCGATTCCGATATCGCGCGCACGCTGCGCGCCGCCTGCGACGCGTGCTTCGGCACGACGACCGTGTGGCCGCTCGTCGAGCGCGCGTACGGCGAGCCGCAGCGCTTCTATCACACGCTCGCGCATCTGGCGGAACTGTTCGCGCACCTCGCGCCGTATCGTGCGGACCGGCTATGGCCGGCCATCGAGCTCGCCGTGTGGGCGCACGATGTCGTCTATGCGACGACACTGCCGGATTATGCGGACAACGAAGCGCTCAGCGCGCAATGGCTCGCGCAGGTCGCGCACGAACATTGCGACGCAGCCTGGTTGCACGCGCATGCATCGCACGTGTCCGTTGCCCGCGACCTGGTGCTGGCGACGAAGTCGCACCGGCTGCCTGACGGGTTCGCCGACGATGCGGAATTGCAGCGCGCCGCGCAAATTTTCCTCGACGCCGATCTCGCGATCCTCGCGGCGGCACCCGACCGGCTCCGCGAATACGACCGCGCGATCGCGCGCGAGTGGGCGCAGGATCCCGATGCACCGTCGGCAGCCTTCCGCGCCGGCCGCAGGCAGGCGCTCGAGCATCTGCGCGCGCAGGCCCCGTTGTTTCGATCGGCGGAATTCGCGCCGCTCGAGCAGCACGCGCAACGCAATCTCGAGATGCTGATCGGCTTCTACGCATAAGCACCCTGCGCACGCCGCTTCCGCGCCCGCCTCGCACTCCGCCCAATCGCGCCGGTCAGGATGCATACGCTCCGATACCGAACGACGAAGCGAACCTCACCTACCCGGCCCCGCATCACGACGATCAGGTATTGTCGGCGCGCCAGCGGCGAGGGCTGACGCCGGTCAGGCGCGTGAAGGTCCGCGAGAAGTGGCTCTGATCGGCGAAACCGCACGCGTCGGCGATCATGCTCAACGGCAGGCCCGAATTGCGCATCCACTCCTTAGCCCGTTCGACGCGCTGCACGATGAGCCAGCGATGCGGCGGCAGCCCGGTCGTCTGATGAAACGCCTTCACGAAATAGCTGCGAGACAGACCGCAGGCGCTCGCCACGTCGGCCAGCCCGAGGTTGCCGTCGAGATGCTCGAGCAGGAGCTCCTTCGCCCGGCGCGCCTGCGACGGCGTGAGTTTCCCGTACGTCTTTTCCCGTCGCTC' Reading frame is 1 number of ORFs: 5 1: ATGATTTTCAGCGTCACGCCGCGCTTGTTCGCCAGCGTGTACCGGCTCACCGGCTGCCCGGCCGCGGTCGTTCCGTCATCCGCGCGGCTGATCGATACGTCGGGCGCCGCCGATGCGAAGTCTGCGTGCAGCGCGAGCGCCCCGAACGCGCAGATCGCGAGCAGCGGGCAGCGCGGCCGGATTCGTTTCATGGCAACCTCCGATACGGTGCGATCGGTACGCGTGCGCAAGCGGCATGCCTGCTCGCGGCCACGTTTGCTATGCTTCGCGCATCGCCCGCCTGAGCCGATCGCCGCCATGAACGCCCTCGATTCCGATATCGCGCGCACGCTGCGCGCCGCCTGCGACGCGTGCTTCGGCACGACGACCGTGTGGCCGCTCGTCGAGCGCGCGTACGGCGAGCCGCAGCGCTTCTATCACACGCTCGCGCATCTGGCGGAACTGTTCGCGCACCTCGCGCCGTATCGTGCGGACCGGCTATGGCCGGCCATCGAGCTCGCCGTGTGGGCGCACGATGTCGTCTATGCGACGACACTGCCGGATTATGCGGACAACGAAGCGCTCAGCGCGCAATGGCTCGCGCAGGTCGCGCACGAACATTGCGACGCAGCCTGGTTGCACGCGCATGCATCGCACGTGTCCGTTGCCCGCGACCTGGTGCTGGCGACGAAGTCGCACCGGCTGCCTGACGGGTTCGCCGACGATGCGGAATTGCAGCGCGCCGCGCAAATTTTCCTCGACGCCGATCTCGCGATCCTCGCGGCGGCACCCGACCGGCTCCGCGAATACGACCGCGCGATCGCGCGCGAGTGGGCGCAGGATCCCGATGCACCGTCGGCAGCCTTCCGCGCCGGCCGCAGGCAGGCGCTCGAGCATCTGCGCGCGCAGGCCCCGTTGTTTCGATCGGCGGAATTCGCGCCGCTCGAGCAGCACGCGCAACGCAATCTCGAGATGCTGATCGGCTTCTACGCATAA 2: ATGGCAACCTCCGATACGGTGCGATCGGTACGCGTGCGCAAGCGGCATGCCTGCTCGCGGCCACGTTTGCTATGCTTCGCGCATCGCCCGCCTGAGCCGATCGCCGCCATGAACGCCCTCGATTCCGATATCGCGCGCACGCTGCGCGCCGCCTGCGACGCGTGCTTCGGCACGACGACCGTGTGGCCGCTCGTCGAGCGCGCGTACGGCGAGCCGCAGCGCTTCTATCACACGCTCGCGCATCTGGCGGAACTGTTCGCGCACCTCGCGCCGTATCGTGCGGACCGGCTATGGCCGGCCATCGAGCTCGCCGTGTGGGCGCACGATGTCGTCTATGCGACGACACTGCCGGATTATGCGGACAACGAAGCGCTCAGCGCGCAATGGCTCGCGCAGGTCGCGCACGAACATTGCGACGCAGCCTGGTTGCACGCGCATGCATCGCACGTGTCCGTTGCCCGCGACCTGGTGCTGGCGACGAAGTCGCACCGGCTGCCTGACGGGTTCGCCGACGATGCGGAATTGCAGCGCGCCGCGCAAATTTTCCTCGACGCCGATCTCGCGATCCTCGCGGCGGCACCCGACCGGCTCCGCGAATACGACCGCGCGATCGCGCGCGAGTGGGCGCAGGATCCCGATGCACCGTCGGCAGCCTTCCGCGCCGGCCGCAGGCAGGCGCTCGAGCATCTGCGCGCGCAGGCCCCGTTGTTTCGATCGGCGGAATTCGCGCCGCTCGAGCAGCACGCGCAACGCAATCTCGAGATGCTGATCGGCTTCTACGCATAA 3: ATGAACGCCCTCGATTCCGATATCGCGCGCACGCTGCGCGCCGCCTGCGACGCGTGCTTCGGCACGACGACCGTGTGGCCGCTCGTCGAGCGCGCGTACGGCGAGCCGCAGCGCTTCTATCACACGCTCGCGCATCTGGCGGAACTGTTCGCGCACCTCGCGCCGTATCGTGCGGACCGGCTATGGCCGGCCATCGAGCTCGCCGTGTGGGCGCACGATGTCGTCTATGCGACGACACTGCCGGATTATGCGGACAACGAAGCGCTCAGCGCGCAATGGCTCGCGCAGGTCGCGCACGAACATTGCGACGCAGCCTGGTTGCACGCGCATGCATCGCACGTGTCCGTTGCCCGCGACCTGGTGCTGGCGACGAAGTCGCACCGGCTGCCTGACGGGTTCGCCGACGATGCGGAATTGCAGCGCGCCGCGCAAATTTTCCTCGACGCCGATCTCGCGATCCTCGCGGCGGCACCCGACCGGCTCCGCGAATACGACCGCGCGATCGCGCGCGAGTGGGCGCAGGATCCCGATGCACCGTCGGCAGCCTTCCGCGCCGGCCGCAGGCAGGCGCTCGAGCATCTGCGCGCGCAGGCCCCGTTGTTTCGATCGGCGGAATTCGCGCCGCTCGAGCAGCACGCGCAACGCAATCTCGAGATGCTGATCGGCTTCTACGCATAA 4: ATGCTGATCGGCTTCTACGCATAA 5: ATGCATACGCTCCGATACCGAACGACGAAGCGAACCTCACCTACCCGGCCCCGCATCACGACGATCAGGTATTGTCGGCGCGCCAGCGGCGAGGGCTGA
etc. etc.
I know I am not going through all the files because when I print seq.id I do not see all of them (which I can only do so far when I remove reverse complement).
I don't have an easy way to write an expected output. Is there a way to share FASTA files? It shouldn't really matter which ones I use. I wish this was homework. My school never had classes like this:( I am just trying to learn as a personal project but I took the files from a coursera site.
Thanks for sharing. Here is my small tip about Python.
Python naming styles
You don't have to follow the style guide offered by Python community but it would be nice to do that. If you stick to the camelCase naming then you may not want to use the snake_case naming. e.g.
rev_comp(args)Python f-string
This is an improved string formatting syntax.
Python type hint
This syntax would be useful when you debug/reread your code. Hope they are useful to you.