Seqanswers Leaderboard Ad

Collapse

Announcement

Collapse
No announcement yet.
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • cutadapt: A tool that removes adapter sequences

    I'm pleased to announce the tool 'cutadapt', which we have been using in our research group for adapter removal in high-throughput sequencing data. Removing adapter sequences from reads is necessary when the read length of the sequencing machine is longer than the molecule that is sequenced, for example when sequencing small RNAs.

    Since special code is included to handle color space data correctly, the tool may be especially useful for people who do not use Applied Biosystem's Corona pipeline.

    cutadapt is under the MIT license.

    Please see the web page for a feature list and a link to a downloadable package:

  • #2
    Originally posted by mmartin View Post
    I'm pleased to announce the tool 'cutadapt
    http://cutadapt.googlecode.com/
    It seems your code only runs under Python 2.6 ?

    For Centos 5.x, which is a bit behind, I had to install the "python26" packages and change the #!/usr/bin/python to #!/usr/bin/python26.

    Comment


    • #3
      Yes, Python 2.6 is needed, thanks for the pointer. It wouldn't be hard to support Python 2.5, but some 2.6 features make the transition to the Python 3 syntax easier, so I would like to stick to it. I have updated the homepage to reflect the requirement of Python 2.6.

      Comment


      • #4
        3'-end partial match of adapters

        Hi,

        I have a question about Cutadapt version 0.3.

        Does Cutadapt cut partial sequences of adapters?

        According to "Statistics for adapter" messages, Cutadapt seems to recognize 3'-end partial match of adapters. However, only full-matched adapter sequences are removed in output files.

        Comment


        • #5
          Yes, cutadapt recognizes partial adapters. That is, if your adapter is ADAPTER and your read is MYSEQUENCEADAP, then the resulting sequence is MYSEQUENCE. In fact, these are some examples of input sequences that will result in MYSEQUENCE:
          MYSEQUENCEADAPTER
          MYSEQUENCEADAP
          MYSEQUENCEADPAPTERSOMETHINGELSE

          Could you give an example of the problematic read you encounter and the output of cutadapt for that read?

          Comment


          • #6
            Originally posted by mmartin View Post
            Could you give an example of the problematic read you encounter and the output of cutadapt for that read?
            I found that I used two -a options and used adapter sequences were almost reverse complement each other. Probably I do not have to use two -a options in this case. Hopefully, these examples clarify the situation.

            sample.fastq:
            Code:
            @read1
            GATCCTCCTGGAGCTGGCTGATACCAGTATACCAGTGCTGATTGTTGAATTTCAGGAATTTCTCAAGCTCGGTAGC
            +
            hhhhhhhhhhahhhhhehhffhghhehdgghhheddggfhfhhgffhddhhfffhhffhfgggffddfdfffcdfb
            @read2
            CTCGAGAATTCTGGATCCTCTCTTCTGCTACCTTTGGGATTTGCTTGCTCTTGGTTCTCTAGTTCTTGTAGTGGTG
            +
            hhhhhhhhhhhhhhhhhhhhhhhhhhgghghhhhhhhhgaddeeadaa^dadaa_aaaaababca_aa__^[T^[Z
            And next result is OK:
            Code:
            $python cutadapt -a CTCGAGAATTCTGGATCCTC sample.fastq
            
            @read1
            CTGGAGCTGGCTGATACCAGTATACCAGTGCTGATTGTTGAATTTCAGGAATTTCTCAAGCTCGGTAGC
            +
            hhhahhhhhehhffhghhehdgghhheddggfhfhhgffhddhhfffhhffhfgggffddfdfffcdfb
            @read2
            TCTTCTGCTACCTTTGGGATTTGCTTGCTCTTGGTTCTCTAGTTCTTGTAGTGGTG
            +
            hhhhhhgghghhhhhhhhgaddeeadaa^dadaa_aaaaababca_aa__^[T^[Z
            However, in next results, read1 still contains "GATCCTC" in the 5' end:
            Code:
            $python cutadapt -a CTCGAGAATTCTGGATCCTC -a GAGGATCCAGAATTCTCGAGTT sample.fastq
            
            @read1
            GATCCTCCTGGAGCTGGCTGATACCAGTATACCAGTGCTGATTGTTGAATTTCAGGAATTTCTCAAGCTCGGTAGC
            +
            hhhhhhhhhhahhhhhehhffhghhehdgghhheddggfhfhhgffhddhhfffhhffhfgggffddfdfffcdfb
            @read2
            TCTTCTGCTACCTTTGGGATTTGCTTGCTCTTGGTTCTCTAGTTCTTGTAGTGGTG
            +
            hhhhhhgghghhhhhhhhgaddeeadaa^dadaa_aaaaababca_aa__^[T^[Z

            Comment


            • #7
              Hi, actually, you do have to use two -a options since currently reverse complements are not automatically searched for.

              I managed to reproduce the problem you encountered and I have prepared a new release that hopefully fixes it. You can download v0.4 from the homepage and see whether the bug is actually fixed. Thanks for reporting this!

              Comment


              • #8
                I haven't looked into the details of the program, but I wonder how straightforward it would be to use the program to filter out and discard the entire reads that match an adapter, rather just removing that part and re-using the trimmed read?

                Comment


                • #9
                  Since this isn't too hard, I just added that feature. cutadapt now has the option "--discard", which does exactly that: If an adapter is found in the read, then the read is discarded and not trimmed.

                  Comment


                  • #10
                    Originally posted by mmartin View Post
                    Hi, actually, you do have to use two -a options since currently reverse complements are not automatically searched for.

                    I managed to reproduce the problem you encountered and I have prepared a new release that hopefully fixes it. You can download v0.4 from the homepage and see whether the bug is actually fixed. Thanks for reporting this!
                    Everything's perfect! cutadapt 0.5.1 worked well with two -a options.

                    I believe that cutadapt is one of the best adopter sequence trimmer especially in term of simpleness and speed.

                    Thanks again for prompt update.

                    Comment


                    • #11
                      This looks a very useful tool. Could I suggest that you accept gzipped fastq files as an alternative input format as a simple convenience?

                      Comment


                      • #12
                        Good idea. Since this was on my to do list as well, I have just implemented this feature and released cutadapt 0.6.

                        Comment


                        • #13
                          cool, that was fast!
                          --
                          bioinfosm

                          Comment


                          • #14
                            can you please add an option to remove all N's or C's etc? I think this will be helpful. Also, can you describe in detail how error rate is calculated?

                            Comment


                            • #15
                              Originally posted by mmartin View Post
                              Since this isn't too hard, I just added that feature. cutadapt now has the option "--discard", which does exactly that: If an adapter is found in the read, then the read is discarded and not trimmed.
                              Fantastic!

                              Comment

                              Latest Articles

                              Collapse

                              • seqadmin
                                Techniques and Challenges in Conservation Genomics
                                by seqadmin



                                The field of conservation genomics centers on applying genomics technologies in support of conservation efforts and the preservation of biodiversity. This article features interviews with two researchers who showcase their innovative work and highlight the current state and future of conservation genomics.

                                Avian Conservation
                                Matthew DeSaix, a recent doctoral graduate from Kristen Ruegg’s lab at The University of Colorado, shared that most of his research...
                                03-08-2024, 10:41 AM
                              • seqadmin
                                The Impact of AI in Genomic Medicine
                                by seqadmin



                                Artificial intelligence (AI) has evolved from a futuristic vision to a mainstream technology, highlighted by the introduction of tools like OpenAI's ChatGPT and Google's Gemini. In recent years, AI has become increasingly integrated into the field of genomics. This integration has enabled new scientific discoveries while simultaneously raising important ethical questions1. Interviews with two researchers at the center of this intersection provide insightful perspectives into...
                                02-26-2024, 02:07 PM

                              ad_right_rmr

                              Collapse

                              News

                              Collapse

                              Topics Statistics Last Post
                              Started by seqadmin, 03-14-2024, 06:13 AM
                              0 responses
                              33 views
                              0 likes
                              Last Post seqadmin  
                              Started by seqadmin, 03-08-2024, 08:03 AM
                              0 responses
                              72 views
                              0 likes
                              Last Post seqadmin  
                              Started by seqadmin, 03-07-2024, 08:13 AM
                              0 responses
                              81 views
                              0 likes
                              Last Post seqadmin  
                              Started by seqadmin, 03-06-2024, 09:51 AM
                              0 responses
                              68 views
                              0 likes
                              Last Post seqadmin  
                              Working...
                              X