cutadapt icon indicating copy to clipboard operation
cutadapt copied to clipboard

error with --rest-file or -r flags: AttributeError: 'LinkedMatch' object has no attribute 'rest'

Open clmattson opened this issue 4 months ago • 1 comments

Cutadapt version Please provide enough information so that the issue can be reproduced.

Include this information:

  • Cutadapt 5.1, installed via conda (as the only package installed in a brand new conda environment on my university HPC)
  • Python 3.12.11 | packaged by conda-forge | (main, Jun 4 2025, 14:45:31) [GCC 13.3.0] on linux

Here is the code I ran: cutadapt -a TTGGTGCTGATATTGC...GAAGATAGAGCGACAG -r rest_chimeras.fastq --discard-untrimmed --revcomp -o subset_landing_pad.fastq subset.fastq

and

cutadapt -a TTGGTGCTGATATTGC...GAAGATAGAGCGACAG --rest-file rest_chimeras.fastq --discard-untrimmed --revcomp -o subset_landing_pad.fastq subset.fastq

and

cutadapt -a TTGGTGCTGATATTGC...GAAGATAGAGCGACAG --rest-file rest_chimeras.fastq --revcomp -o subset_landing_pad.fastq subset.fastq

The following output is produced:

This is cutadapt 5.1 with Python 3.12.11
Command line parameters: -a TTGGTGCTGATATTGC...GAAGATAGAGCGACAG -r rest_chimeras.fastq --discard-untrimmed --revcomp -o subset_landing_pad.fastq subset.fastq
Processing single-end reads on 1 core ...
Traceback (most recent call last):
  File "/home/cmatt5/.conda/envs/cutadapt/bin/cutadapt", line 10, in <module>
    sys.exit(main_cli())
             ^^^^^^^^^^
  File "/home/cmatt5/.conda/envs/cutadapt/lib/python3.12/site-packages/cutadapt/cli.py", line 1166, in main_cli
    main(sys.argv[1:])
  File "/home/cmatt5/.conda/envs/cutadapt/lib/python3.12/site-packages/cutadapt/cli.py", line 1261, in main
    stats = runner.run(pipeline, progress, outfiles)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/cmatt5/.conda/envs/cutadapt/lib/python3.12/site-packages/cutadapt/runners.py", line 430, in run
    (n, total1_bp, total2_bp) = pipeline.process_reads(
                                ^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/cmatt5/.conda/envs/cutadapt/lib/python3.12/site-packages/cutadapt/pipeline.py", line 67, in process_reads
    read = step(read, info)
           ^^^^^^^^^^^^^^^^
  File "/home/cmatt5/.conda/envs/cutadapt/lib/python3.12/site-packages/cutadapt/steps.py", line 203, in __call__
    rest = info.matches[-1].rest()
           ^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'LinkedMatch' object has no attribute 'rest'

The code works just fine without the --rest-file flag. However, I'd like to use it to detect chimeric reads in my oxford nanopore data.

subset.fastq, is my input file with oxford nanopore long reads oxford nanopore.

Here is the output of `head -n 16 subset.fastq' :

@f8d4c96e-5959-4f21-a5a7-ad83cb981d0c   qs:f:22.4043    st:Z:2025-08-01T14:14:55.727+00:00      RG:Z:d5fa85e0-e7ad-4b87-859a-af009f66771e_dna_r10.4.1_e8.2_400bps_sup@v5.2.0     DS:Z:NVIDIA GeForce RTX 3080
TTGTTCTGTACTTCGTTCAGTTACGTATTGCTCTGTCGCTCTATCTTCTCTGTTATATCTCTCAATATACTACACCTTACTTGGTGAGCAGCAGACCGCCAACCAGGCCGACCAACGCGTACACAACCGCTACTTTGGCAACGGTGGTTTTCGCGGCGGCTTCCGAAGAAAACGGAGCCTTAAGGGGATCGAGGATGTTGTCCATTGAATGGATCTCTTATTATGGGTTGAGGAATGTCCACCTGCGGGAAGCGTCAACTCGAGGAAACGAATGAGCGCGTAAGCAGAAGAGCGGTACTGACACTGATGCGAGATCATGGTTAGATCAAGCGCGGCATTCAGAGGAGGGAAATCCAGGGTAGGAATATCACTCGTAGGACCTCATACGTCAGGTTCCGCCATCACGGTTTCCCGTGTTTAGGTGCTGCACACCGAGACGCCGGTCACCTGTAAGCTTGAGAGCAGCAGGTGTTTAATGTCGCCGGATAGACAATACCGCCGTAGCGAAGGTTACACAAACCCTTAGAACA
+
"#######$)/123:=CDDEDCCBCHEJNIFEFGESOMHIJHEIGFFSSISSSSSSOSOJNSKSKGMSSKHSSSSIIE==HGCAB2...088CFFBCCBHCBAACLSSSSSSQORSCCBCBEESSSSSRSSHAAA@@FFKNSKLSSSSSLSNSSOSSSSPKQOJSSQSSSSSSLSSKJSSSLMSKSSSSOMSSSNKOISE?@IFIHJMPMSSMIQKQSSJKLMSLSSSSKRLIOSSLISSSSLIIJSSHOSSSNJKKIGHHMIJPKSSSJLSSKSLIOSSSSSLIKIFFBABBBJPOGA;::::;BBAJSLSSSSLSSIMJFHMSSCDDCDSSMSSSKHKJPHJNJNLPKSQSNSFCGEB55555777=5443/000BBHG@222ADEEEMRSSSKSSLIKILSSMIJLIIJGGCEDRSJSSSIHHJKEFJRMSSSSSMPSSMINRSSSSSKSSSSSMJNSLISOLSSSSKSSSFSSLHJJISNSLIILLS<;;;;SLKSNSSSSKSHHSSSIG@@@?@E?;9+)&%%%&
@1a6d9818-77d3-4ab6-956b-bca937d929dd   qs:f:20.5368    st:Z:2025-08-01T14:14:55.574+00:00      RG:Z:d5fa85e0-e7ad-4b87-859a-af009f66771e_dna_r10.4.1_e8.2_400bps_sup@v5.2.0     DS:Z:NVIDIA GeForce RTX 3080
TCTGAACCTACTCGTTCAGTTACGTATTGCTCTGTCGCTCTATCTTCGTGGCGAAGGTCGTGAATATACTACACCTTACTTGGTGAGCAGCAGACCGCCAACCAGACCGACCAACGCGTATACCACAGCGATTTTGGCAGCGGTGGTTTTCGCGGCGGCTTCCGAAGAAAACGGAGCCTTAAGGGGATCGAGGATGTTGTCCATTGAATGGATCTCTTATTATGGGTTGAGGAGGTGTCCACCTGCTTGAAGCGTCAACTCGAGGGAACGAATGAGCGCGTAGGCAGAAGAGCGACACTCTCAAAGAGACCGCGCTCATGGTTAGAGCGCGAGTGGCCGAAATGGGAGGGAACTCCTGGGGAGGAATATCACCACTATAAGCCCTCAGCAGAGGGTGTCACCACCACGGTTTCCCGTGTTTAGGCGCTGCACGCCGAGACTCCGGTCAACTGTAAGCTTGTAAGCAGCAGCTGTTTATTGTCGCCGGTTAGACAATACCGCCGTAGCGCCCAAGTCTGAAGTGATGGAAATGCGGATG
+
"####"""##$%(()04667788899:;;=@ABCFGFGGGFEB?<98777889<?BBCIIIHGECFJH;83333334225658><<==<EEFFFFFHJKSJOLSSSMISSSSILSPSLSNSQKGHHFHJKHLSJI=FGKQSIMSSKISSSKJLLSSRQLGFHH?@HQKLSNIHGGCDSEB>;992(.('((**..;;;;<;:89656777OSSOSSSSPPSLSGKJJSMMSSSSOLLSLSLSSSSSMJSSSSSQSSSSMHS6/--GELFJFHSBJHHAAAA=??SQHKG@@@SSSSSPLC?J<999==SSFILJMILRMLSSQNJSJGKLNGGILGC=>>>>PSSLOSSSSSSSSPL;<<<SSICCCBDBBBGHLSMHSSA@SLH@?@@A???GA@@?@@AB>==>>LNJGHGE?@@D@@?>?A@JKSSSIFFIQGFHGHKKKSLJSSSSSJHNQSSSSJIKSOLIKSGFSSSOLKCERHHILLSJIOMEEDCCCDIFFIJHSSHFD???>?BCDCGEGHEEDDDHHGGDC43'%$$$
@c06376f6-40d0-4707-9594-89ab9ac50748   qs:f:25.3042    st:Z:2025-08-01T14:14:54.537+00:00      RG:Z:d5fa85e0-e7ad-4b87-859a-af009f66771e_dna_r10.4.1_e8.2_400bps_sup@v5.2.0     DS:Z:NVIDIA GeForce RTX 3080
CTGTAACCTCTTCGTTCAGTTACGTATTGCTCTGTCGCTCTATCTTCGAATGAGCCGCTTGAGGTGCAAAGCGAGTCTCGCCTTAGAAATCTAAGGACTTATTAAATTACAGCAGAAGGTTTGAAAGAGCTTCTGAGGATTACAGGGATGGATCGATATCGGTTGTCGCGACAACCATGCCGAGGGCGTTGCTATCACCAAGAACTTTGGTGAGAGCTTCAGCTTGGGCGCCGCGGCTGAGCAGACCCATCATCTGAAGCACGGCGAGGCCGGCCCAGATGCGGATACGATGACGGTTGATACCCACATGGAGATCAGAACTATCATCGATCAAACCGCGGCCGGCCATCTGATCCACAATACGCGATTGCGCCAAGTGGACAGCGGAGGCACCGATTCCGGTTGTGCCGATCATCTCGATCTTGCGAAGGAGCGTGACCGCATTTTGCATACGACGACCGTCGATGGCAAGCTTCTCGGCGTCGTCGCGCGACGAGCGACGAGCAGCGGCCAGGGTGCGATCGTCTTCGAGAACCACGAGTACCACATCTGGATGATAGCGTGAGCTACCGTAGGCTTGAGAATACGCACTCGCTCGCGGCGCTGACCGAGGCCAAGGAGTTCGAATTCCTTGACCTCAGCGGTATAGCGCTTGTTACGAATGGTCACAGAGTACGCATCCCCATACGCGAACTCGGTGGACGCCTCGTGCCATGGCCAGATATGGATAGAGGTGGTGTGGCTGGCCAGGTCCAGCACCTTGGCTTGCAACACCTCTGACGGCTGAATCGGCTTGTTGTAAGCGATTGCTTCCAACGGCTCAGGGGTGCGGATCGAACCGCCCTCAATTGCGTTGTAGCCGACCGGGATGCGCAGTTCAGTGCGCACGTTCCAGACAAGGTACAGCGAGCCTTGCTCGGCCGCGACACCCTGGTGCTCAGAGACAACGACTTCTGGGTTGTGCGCTACAGCGTAGTGCATAACGGCGGCGTAGTAGTTGAACATCGATCCGACTTTAGCAATAC
+
#####$$%&$%%%&+--.1236::<=AGFIKSSSSISSOSSNLSMJKSSKHSSSLIKPSNPNSLHSSHFIEENGGFGDHABC@A::ISKHFFKIEHKSSSSGGJOSSSOSONKGKSSSSSHHIGFIJSSMKHKSSSSSKJOSSSLKKKSMSJGOSSSRSSSJSSSSSSSMSSMSSSSSRSSPSSSSSSOLSQKSSIECC=8<:;F=;999<>SQSSJNJHFF@:<69::=>>999::F33333;;@AFCISJSLJJSSSSQSSSSSLHSSSMPSSSKNSSSSNSSSOSKJJSSSNSSSSKSHMNSFEEFESSSPLSSLEEEFFFKSSPSSSGSSSSSSSFEECEGEDBH.-,--KHSSLRPFESS:::::SJKOJKFFGSSIMPSQSSRSSIJIHHJOMLGKISSSQSGLSSSSSLSSILSMSSPSKSSSSSLHSSSRRSHGFFFSSSSHHMSMLHSSSSMISSSSSSSSSSSSSLSSKSSNSSSSSIISS?????SSSSSSSSSMSSSSLISSSSSSSKNSPSPIJNHIQE><<DDD97888DDC9999SOSSSPSSMMIJSSSSSSMSSLISSSSSSKSSSQNOSSSJOSSSSSSSSSSSNMLSSJIPSSSSSMMGSSSSQJPJFFSSLLPHIJNSJSNKRSSSSSSSJSSSRSSKNSLLSOSSRSSSSSSSKSIILJPKLSSSSSKSSSSSSSSSSSSSSIGIGHOSONJOJOSSSJSLISSSSSSKSSSSSSLIRSSSSSMSSSKSSSSSJNSOSSSSSSSSSSSMSSSSSSPSSSSSSSSRSSSSSSSSSQSSSSLSSSPSPGSMKHJJPSSMSSSOSOSSSSSHMSMNKPMKJSJKOSSJMIKISSLSSLSSSSRQOSSNNKOISSKSQSMKOSSSMSSSPSSNSNSSSSSSSSSSQSNRSSSSSNKMMJFGCDDSSSNLSIKMIFSSSNSSNSSSSSSQSSLSSSSSSSSSSSSSKSMOLPMKOSSSOSSJIISSSSSSSSSSSSSKH;;;;;KSSAA=55555/+((((((**+,)'
@abd67c4d-7e24-404e-ac21-c3948d0cf9b1   qs:f:18.9977    st:Z:2025-08-01T14:14:55.917+00:00      RG:Z:d5fa85e0-e7ad-4b87-859a-af009f66771e_dna_r10.4.1_e8.2_400bps_sup@v5.2.0     DS:Z:NVIDIA GeForce RTX 3080
ATGTACCTGTATTTCGTTCAGTTACGTATTGCTTATTGCAAGAAAGTTGTCGGTGTCTTTGTGCGCTACGGCGGTATTGTCTAACCGGCGACAATAAACAGCTGCTGCTTACAAGCTTACAGTTGACCGGAGTCTCGGCGTGCAGCGCCTAAACACGGGAAACCGTGGTGGTGACACCCTCTGCTGAGGGCTTATAGTGGTGATATTCCTCCCCAGGAGTTCCCTCCCATTTCGGCCACTCGCGCTCTAACCATGAGCGCGGTCTCTTTGAGAGTGTCGCTCTTCTGCCTACGCGCTCATTCGTTCCCTCGAGTTGACGCTTCAAGCAGGTGGACACCTCCTCAACCCATAATAAGAGATCCATTCAATGGACAACATCCTCGATCCCCTTAAGGCTCCGTTTTCTTCGGAAGCCGCCGCGAAAACCACCGCTGCCAAAATCGCTGTGGTATACGCGTTGGTCGGTCTGGTTGGCGGTCTGCTGCTCACCAAGTAAGGTGTAGTATATTGAGAGATATAACAGAGAAGATAGAGCGACAGAGCAATACGA
+
######"#$%%%%&&);?>====>>=<;;;;;<<<=@@@ABCDDCBEFFDEEIKGFGJSSLSSSLISHGIGGPISIIIISKMGSMJSSSNSPGGGJGSSGJLLFSSPSLISSJSSSSSQSKSSSMI>>>CBFEFGDGGGSSSSLSSSMJNDCCDFSKSSSSSSSMSSSSSSSSSSINSLHSSJHSFLHHORSSLKOFFBCEDBCEOMNSS@=:5)CHIKPSED=56GD;?MSOSSSSHKSSJSSSSLSSSORKIJJIIHGSKHDEDSIHGHJSSSNJPSSNIJISSSSNSSSSSNSSGHHHIGHIHSJIJSSSSSNSSLSRSKQSSSKSSSIMMJGFFGHIGHJSPSSKRJJSKKSLKSRGFISSSKHSSSSSKJGHLIHJS=;:994-(,))*,5?-----GHSSSSNSSSSCC///++====>SSSRMJRSSSSHLSJSMLLILM@@@@@SSSSNOSLSSJBBB<:8,))(%%%&+++./.--2433459:;<EISSKMHKSRQFEH....KSSMGJILG?E@GIHFD>9:889:953110++**))$
@5e1347db-ea22-4713-a88c-d96e3b64f8d5   qs:f:31.0198    st:Z:2025-08-01T14:14:54.149+00:00      RG:Z:d5fa85e0-e7ad-4b87-859a-af009f66771e_dna_r10.4.1_e8.2_400bps_sup@v5.2.0     DS:Z:NVIDIA GeForce RTX 3080
GTTATGTACCTGCTGCTTCGTTCAGTTACGTATTGCTCTGTCGCTCTATCTTCTCCACTTAGAGAGATGTTGCAAAGCGAGTCTCGCCTTAGAAATCTAAGGACTTATGGAATTATAACGAAAGGTCTATGAGAGCTTACGAGAGTTACAGGGATGGATCAATGTCGGTTGTGGCGACAACCATGCCCAGAGCGTTGCTATCACCAAGGACCTTGGTGAGAGCTTCGCTTCGGAGCGGCTGAAGAAGACCCATCATCTGGAGAACGGCGAGGCCGGCCCAGATGCGGATACGGTGACGGTTGATACCGACATGGAGATCGGAGCTGTCGTCGATGAGACCTCGACCGGCCATCTGATCCACGATGCGCGACTGCGCGAGGTGGACGGCAGACGCACCGATACCGGTTGTCCCAATCATCTCGATCTTGCGAAGCAAGGTCACAGCGTTTTGCATACGACGACCGTCGATGGCAAGCTTCTCGGCGTCATCGCGAGACGTGCGACGGGCAGCTGCCAAAGTGCGGTCGTCCTCGACGAACCAGGAATACCACATCTGGATGATAGCGTGGGCTACCGTAGGCTTGAGGATCCGTACACGTTCGCGACGTTGACCGAGACCGAGGAGTTCGAACTCCTTGACTTCGGCGGTGTAGCGTTTGTTGCGGATGGTGACAGAGTAGGCGTCTTCGTACGCGAACTCGGTCGAAGCCTCATGCCGCGGCCAGATGTGAATCGAGGTTGTGTGGTTAGCCAAATCCAGTACCTTGGCTTGCAGCACCTCGGACGGTTGGATCGGCTTGTTGTAGGCGATCGCCTCCAACGGCTCAGGGGTACGGATCGAACCGCCCTCGATGGCGTTGTAACCAACAGGGATTCGCAGCTCAGTGCGGACGTTCCACACCAGGTAGAGCGAACCTTGTTCGGCGGCAACACCTTGGTGCTCCGAAACAACAACTTCAGGATTGTGAGCAACAGCGTAATGCATCACAGCCGCGTAGTAGTTGAACATCGATTCGACCTTACAGCAATACG
+
(*20/.,''%%$&%%%%&%)+20011166667ACBBBJFSSISISSSOSNLINSMSMOKGGCJGJSSSSSSKKLLLSSSMNSEDFGFIHHNSSSSSKSMSSSSSSSLKSSSOSSPSSOKDDDECSSNSKSMSSSNKMHHH:D;>GIS;BFOHHFSSMSSSLSSKSSSSSSSSRSSJLSSJSHSSIHSS>>>??SSSPKHPSSSSSMSSSSSSSSSSQSSSSSSNNN<;<EDEFSSSMK?777879;9::>??ASGGISSSSKNSSILSPSSSSSLSSSSLQKHMSPSSSCB@A@ARSOSSSPPKSSSHKSOSMSSSSSSLOSSSSSSMSSJNSSNSSSSSSNLIKOSISSSSSSMSSSSOSSSSLSMSSSQNSSOSNSSRNILSSJRSJPSSSSSSSLOSLSSMSOLPSSNISSSINSQSPSSSSSSNSLSSSSSSSSSSSSSSSKHSSSOSSSNLLSMJSSSISNMQINLJLJISHHHHBCCEDSSSSSSSQSSSSRSSSSSSSSSSSSSMHLSKPSSSSSSMISSSSSSPSSSMSSSSSSSSSSQSSMSSSOSPSSSSSSSKLNSSSSMJRSSOJMSSOOLHQISNINSSSSSSSSSSSSSSSSNSSMSSSLSSSSSSLISSSROSSSSSSSSSSNSSSSMSSSMSSLSHLSOSSSNSSLSSSSSKSSSSSMSSSSNSSSRSSMSKSSPSQSLSKSSSGGGFKKSSSSSIJNSSSLSSSSSSSSSSSSSSSRSMJSSSSSSSSSLIIJHISSSSKSOMSSKSMSSLMSSSSSNKNSSRSSSMJKKMSMSSSSSSSSSLSSLSMNSSSNSM88888SKKSLJ;9BDDGEESLSNLHFLSRSSSSSSSSSSNJSSSRSSSSSSSSKSSSSSSSSSSSSNLIHHAFKSSLLJJILKISLJSSSIGSSNIHSSQPLISSSNJKLSNJPSSGHEIFNQK==SSOKOSSLSSSNKHDCCDDLKISSSSLSNSSSMSSRLISSKSSLINJLNPSPEB=:9>;[email protected]><<0-(

Thanks in advance

Courtney

clmattson avatar Aug 14 '25 03:08 clmattson

The problem with the rest file option in combination with linked adapters is that there are two "rests": The part before the 5' adapter and the part after the 3' adapter.

Note that the rest file is not in FASTQ format. It is a simple text file. All of this is a bit annoying, which is why I have considered removing the option.

What is your intention here, that is, which part would you be interested in?

marcelm avatar Sep 09 '25 08:09 marcelm