![]() |
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
How would I go about calling BWA from a python script? | prs321 | Bioinformatics | 7 | 07-07-2019 06:20 AM |
python error in cuffdiff script | bvk | Bioinformatics | 4 | 07-07-2019 06:14 AM |
Calling Quiver from within a Python script | verheytb | Pacific Biosciences | 2 | 05-28-2015 09:39 AM |
R script to Python conversion | bvk | Bioinformatics | 9 | 05-18-2015 02:35 AM |
gatk python script | m_elena_bioinfo | Bioinformatics | 7 | 11-20-2011 07:40 AM |
![]() |
|
Thread Tools |
![]() |
#1 |
Member
Location: Switzerland Join Date: Apr 2013
Posts: 55
|
![]()
Hello, everybody,
I would like to run the following python script, but it gives me back error report. from Bio import SeqIO out=open("try_out.fasta","w") for seq_record in SeqIO.parse ("try.fasta","fasta"): a=seq_record.seq a=a[5:-6] id=seq_record.id out.write(id,a,"fasta") out.close() File "try", line 7, in <module> out.write(id,a,"fasta") TypeError: function takes exactly 1 argument (3 given) Could anyone help me about it? I think there might be something wrong with the output file, but I cannot find the solution. Thanks! All the best, Sadiexiaoyu |
![]() |
![]() |
![]() |
#2 | |
Member
Location: Europe Join Date: Oct 2016
Posts: 60
|
![]()
Hello,
Quote:
Code:
from Bio import SeqIO out = open("try_out.fasta", "w") for seq_record in SeqIO.parse("try.fasta", "fasta"): a = seq_record.seq a = a[5:-6] id = seq_record.id out.write(id+","+a+","+"fasta"+"\n") out.close() fin swimmer |
|
![]() |
![]() |
![]() |
#3 |
Member
Location: Antwerp, Belgium Join Date: Oct 2015
Posts: 97
|
![]()
Now you are writing here a literal "fasta" string on the end of every line. I doubt whether that's what you have in mind. What about this?
Code:
from Bio import SeqIO out = open("try_out.fasta", "a") for seq_record in SeqIO.parse("try.fasta", "fasta"): out.write(seq_record[5:-6].format("fasta")) out.close() |
![]() |
![]() |
![]() |
#4 |
Member
Location: Switzerland Join Date: Apr 2013
Posts: 55
|
![]()
Hello,
thanks a lot for the reply! I do it like this now, and it works! from Bio import SeqIO out = open('out.fa','w') for seq_record in SeqIO.parse('original.fa','fasta'): id = seq_record.id seq= str(seq_record.seq)[0:-1] out.write('>'+id+"\n"+seq+'\n') out.close() I think the problem is that the seq have to be string instead of characters. Thanks for the help anyway! Cheers, Sadiexiaoyu |
![]() |
![]() |
![]() |
#5 |
Member
Location: Antwerp, Belgium Join Date: Oct 2015
Posts: 97
|
![]()
That's not how you should write fasta output...
|
![]() |
![]() |
![]() |
#6 |
Member
Location: Bhopal Join Date: Jul 2019
Posts: 19
|
![]()
This is something that I have been looking for so long. Thanks for asking it here on this forum. I got my answer as well.
|
![]() |
![]() |
![]() |
Thread Tools | |
|
|