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
                                Choosing Between NGS and qPCR
                                by seqadmin



                                Next-generation sequencing (NGS) and quantitative polymerase chain reaction (qPCR) are essential techniques for investigating the genome, transcriptome, and epigenome. In many cases, choosing the appropriate technique is straightforward, but in others, it can be more challenging to determine the most effective option. A simple distinction is that smaller, more focused projects are typically better suited for qPCR, while larger, more complex datasets benefit from NGS. However,...
                                10-18-2024, 07:11 AM
                              • seqadmin
                                Non-Coding RNA Research and Technologies
                                by seqadmin




                                Non-coding RNAs (ncRNAs) do not code for proteins but play important roles in numerous cellular processes including gene silencing, developmental pathways, and more. There are numerous types including microRNA (miRNA), long ncRNA (lncRNA), circular RNA (circRNA), and more. In this article, we discuss innovative ncRNA research and explore recent technological advancements that improve the study of ncRNAs.

                                Nobel Prize for MicroRNA Discovery
                                This week,...
                                10-07-2024, 08:07 AM

                              ad_right_rmr

                              Collapse

                              News

                              Collapse

                              Topics Statistics Last Post
                              Started by seqadmin, Yesterday, 05:31 AM
                              0 responses
                              10 views
                              0 likes
                              Last Post seqadmin  
                              Started by seqadmin, 10-24-2024, 06:58 AM
                              0 responses
                              20 views
                              0 likes
                              Last Post seqadmin  
                              Started by seqadmin, 10-23-2024, 08:43 AM
                              0 responses
                              48 views
                              0 likes
                              Last Post seqadmin  
                              Started by seqadmin, 10-17-2024, 07:29 AM
                              0 responses
                              58 views
                              0 likes
                              Last Post seqadmin  
                              Working...
                              X