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
                                Exploring the Dynamics of the Tumor Microenvironment
                                by seqadmin




                                The complexity of cancer is clearly demonstrated in the diverse ecosystem of the tumor microenvironment (TME). The TME is made up of numerous cell types and its development begins with the changes that happen during oncogenesis. “Genomic mutations, copy number changes, epigenetic alterations, and alternative gene expression occur to varying degrees within the affected tumor cells,” explained Andrea O’Hara, Ph.D., Strategic Technical Specialist at Azenta. “As...
                                07-08-2024, 03:19 PM
                              • seqadmin
                                Exploring Human Diversity Through Large-Scale Omics
                                by seqadmin


                                In 2003, researchers from the Human Genome Project (HGP) announced the most comprehensive genome to date1. Although the genome wasn’t fully completed until nearly 20 years later2, numerous large-scale projects, such as the International HapMap Project and 1000 Genomes Project, continued the HGP's work, capturing extensive variation and genomic diversity within humans. Recently, newer initiatives have significantly increased in scale and expanded beyond genomics, offering a more detailed...
                                06-25-2024, 06:43 AM

                              ad_right_rmr

                              Collapse

                              News

                              Collapse

                              Topics Statistics Last Post
                              Started by seqadmin, Today, 06:53 AM
                              0 responses
                              4 views
                              0 likes
                              Last Post seqadmin  
                              Started by seqadmin, 07-10-2024, 07:30 AM
                              0 responses
                              30 views
                              0 likes
                              Last Post seqadmin  
                              Started by seqadmin, 07-03-2024, 09:45 AM
                              0 responses
                              202 views
                              0 likes
                              Last Post seqadmin  
                              Started by seqadmin, 07-03-2024, 08:54 AM
                              0 responses
                              212 views
                              0 likes
                              Last Post seqadmin  
                              Working...
                              X