Unconfigured Ad

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • sadiexiaoyu
    Member
    • Apr 2013
    • 57

    #1

    help about the following python script

    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
  • finswimmer
    Member
    • Oct 2016
    • 60

    #2
    Hello,

    Originally posted by sadiexiaoyu View Post
    File "try", line 7, in <module>
    out.write(id,a,"fasta")
    TypeError: function takes exactly 1 argument (3 given)
    write() expected only one string as parameter. So if you like to write these 3 arguments seperated with comma to the file you can do something like this:

    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()
    The "\n" at the end is neccessary for linebreak, otherwise you would have all entrys in one line.

    fin swimmer

    Comment

    • wdecoster
      Member
      • Oct 2015
      • 97

      #3
      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()
      Note that I changed the "w" in open() to "a" (for append) because you don't want to overwrite the previous record every time again in the loop, right?

      Comment

      • sadiexiaoyu
        Member
        • Apr 2013
        • 57

        #4
        hey, there

        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

        Comment

        • wdecoster
          Member
          • Oct 2015
          • 97

          #5
          That's not how you should write fasta output...

          Comment

          Latest Articles

          Collapse

          • SEQadmin2
            Beyond CRISPR/Cas9: Understand, Choose, and Use the Right Genome Editing Tool
            by SEQadmin2



            CRISPR/Cas9 sparked the gene editing revolution for both research and therapeutics.1 But this system still showed severe issues that limited its applications. The most prominent were the heavy reliance on PAM sequences, delivery limitations, double-stranded breaks that prompt unintended edits and cell death, and editing inefficiency (both in targeting and in knock-in reliability).

            Despite this, “CRISPR helped turn genome editing from a specialized technique into
            ...
            07-31-2026, 11:01 AM
          • SEQadmin2
            Proteomic Platforms: How to Choose the Right Analytical Strategy to Improve Detection and Clinical Applications
            by SEQadmin2


            Proteomics platforms are evolving rapidly, with advances in mass spectrometry and affinity-based approaches expanding what researchers can detect and at what scale. As the field moves toward deeper proteome coverage and clinical applications, scientists face an increasingly complex landscape of tools. This article will explore how researchers are navigating these choices to find the right platform for their work.

            The systematic characterization of the human proteome has
            ...
            07-20-2026, 11:48 AM

          ad_right_rmr

          Collapse

          News

          Collapse

          Topics Statistics Last Post
          Started by SEQadmin2, Today, 10:35 AM
          0 responses
          7 views
          0 reactions
          Last Post SEQadmin2  
          Started by SEQadmin2, 08-06-2026, 07:41 AM
          0 responses
          24 views
          0 reactions
          Last Post SEQadmin2  
          Started by SEQadmin2, 08-03-2026, 10:13 AM
          0 responses
          43 views
          0 reactions
          Last Post SEQadmin2  
          Started by SEQadmin2, 07-31-2026, 02:55 AM
          0 responses
          47 views
          0 reactions
          Last Post SEQadmin2  
          Working...