marcelm / marcelm/cutadapt

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

Open
#856 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
587
Forks
144
Avg merge
2h 37m
Merged PRs (30d)
1

Description

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>;====GHISSES@6.---.CDLKJSENEGJ><<0-(

Thanks in advance

Courtney

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the failing call at cutadapt/steps.py line 203 and reproduce it using the reported --rest-file or -r commands with the provided Cutadapt, Python, and FASTQ details. Confirm that the commands no longer raise AttributeError and that rest_chimeras.fastq is produced as expected.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
bioinformatics, cli
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.