Unconfigured Ad

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • mmartin
    Member
    • Aug 2009
    • 73

    #1

    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:
  • Torst
    Senior Member
    • Apr 2008
    • 275

    #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

    • mmartin
      Member
      • Aug 2009
      • 73

      #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

      • HiroMishima
        Member
        • Aug 2009
        • 15

        #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

        • mmartin
          Member
          • Aug 2009
          • 73

          #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

          • HiroMishima
            Member
            • Aug 2009
            • 15

            #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

            • mmartin
              Member
              • Aug 2009
              • 73

              #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

              • gaffa
                Member
                • Oct 2010
                • 82

                #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

                • mmartin
                  Member
                  • Aug 2009
                  • 73

                  #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

                  • HiroMishima
                    Member
                    • Aug 2009
                    • 15

                    #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

                    • sdavis
                      Member
                      • Jan 2010
                      • 14

                      #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

                      • mmartin
                        Member
                        • Aug 2009
                        • 73

                        #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

                        • bioinfosm
                          Senior Member
                          • Jan 2008
                          • 483

                          #13
                          cool, that was fast!
                          --
                          bioinfosm

                          Comment

                          • thinkRNA
                            Member
                            • Jan 2010
                            • 94

                            #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

                            • gaffa
                              Member
                              • Oct 2010
                              • 82

                              #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

                              • 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
                              • SEQadmin2
                                Advanced Sequencing Platforms Tackle Neuroscience’s Toughest Genomics Problems
                                by SEQadmin2



                                Genomics studies in neuroscience face a special challenge due to the brain’s complexity and scarcity of samples. Mapping changes in cell type and state using conventional next-generation sequencing methods remains challenging. Advances in technologies like single-cell sequencing, spatial transcriptomics, and long-read sequencing have opened the door to deeper studies of the brain and diseases like Alzheimer’s, amyotrophic lateral sclerosis (ALS), and schizophrenia.
                                ...
                                07-09-2026, 11:10 AM

                              ad_right_rmr

                              Collapse

                              News

                              Collapse

                              Topics Statistics Last Post
                              Started by SEQadmin2, 07-31-2026, 02:55 AM
                              0 responses
                              19 views
                              0 reactions
                              Last Post SEQadmin2  
                              Started by SEQadmin2, 07-24-2026, 12:17 PM
                              0 responses
                              16 views
                              0 reactions
                              Last Post SEQadmin2  
                              Started by SEQadmin2, 07-23-2026, 11:41 AM
                              0 responses
                              16 views
                              0 reactions
                              Last Post SEQadmin2  
                              Started by SEQadmin2, 07-20-2026, 11:10 AM
                              0 responses
                              26 views
                              0 reactions
                              Last Post SEQadmin2  
                              Working...