Skip to content

Deciding when to exclude primers #99

@martinghunt

Description

@martinghunt

We have examples where there is a choice of two primers for the end of a given amplicon. Only one primer of the two primers has support from the reads.

Observed behaviour: Both primers are kept, instead of excluding the primer that isn't supported by reads. Cylon is given amplicon coords as if both primers are present (and presumably everything downstream also thinks both primers there)
Expected behaviour: The primer not supported by reads is excluded.

Details are below for one sample.

Path on codon: /nfs/research/zi/mhunt/Viridian/Debug_sims_lily_20220930/Samples/1441/vwf.20220926.ccf5ef4676.ont.frs0.6/.
Current working directory was /nfs/research/zi/mhunt/Viridian/Debug_sims_lily_20220930/Samples/1441/ when running it.

Version of viridian workflow: ccf5ef4

The primer scheme is ARTIC 4.1. The run is using simulated Nanopore reads.

Amplicon SARS-CoV-2_76 is present at around 380X depth.
The next amplicon SARS-CoV-2_77 is not present - it has zero reads.

Amplicon SARS-CoV-2_76 has two right primers:

  1. SARS-CoV-2_76_RIGHT at coords 23029-23057.
  2. SARS-CoV-2_76_RIGHT_alt1 at coords 23121-23141.

Read mapping shows that:

  1. the reads for amplicon SARS-CoV-2_76 all come from the primer SARS-CoV-2_76_RIGHT.
  2. there is zero depth for primer SARS-CoV-2_76_RIGHT_alt1.

Excerpt from samtools depth -aa on the BAM made by viridian (after coordinate sorting it):

MN908947        23024   391
MN908947        23025   389
MN908947        23026   382
MN908947        23027   395
MN908947        23028   392
MN908947        23029   384
MN908947        23030   372
MN908947        23031   386
MN908947        23032   381
MN908947        23033   364
MN908947        23034   376
MN908947        23035   351
MN908947        23036   379
MN908947        23037   386
MN908947        23038   384
MN908947        23039   384
MN908947        23040   388
MN908947        23041   390
MN908947        23042   386
MN908947        23043   389
MN908947        23044   384
MN908947        23045   383
MN908947        23046   388
MN908947        23047   384
MN908947        23048   375
MN908947        23049   386
MN908947        23050   374
MN908947        23051   385
MN908947        23052   376
MN908947        23053   367
MN908947        23054   336
MN908947        23055   325
MN908947        23056   304
MN908947        23057   288
MN908947        23058   2
MN908947        23059   1
MN908947        23060   1
MN908947        23061   1
MN908947        23062   0
MN908947        23063   0
MN908947        23064   0
MN908947        23065   0
MN908947        23066   0
MN908947        23067   0
MN908947        23068   0
MN908947        23069   0

and continues at zero depth until around the start of amplicon 78:

MN908947        23211   0
MN908947        23212   0
MN908947        23213   0
MN908947        23214   0
MN908947        23215   0
MN908947        23216   1
MN908947        23217   1
MN908947        23218   1
MN908947        23219   1
MN908947        23220   302
MN908947        23221   314
MN908947        23222   337
MN908947        23223   343
MN908947        23224   352
MN908947        23225   355
MN908947        23226   360
MN908947        23227   354
MN908947        23228   357

cylon is given this in the file ampicons.json for SARS-CoV-2_76:

    "SARS-CoV-2_76": {
      "start": 22648,
      "end": 23140,
      "left_primer_end": 22773,
      "right_primer_start": 23028
    },

This means that primers SARS-CoV-2_76_RIGHT and SARS-CoV-2_76_RIGHT_alt1 have been counted as present in the reads. Expected behaviour is that only SARS-CoV-2_76_RIGHT is present.

Screenshot attached showing the mapped reads in this region. Amplicon SARS-CoV-2_76 is highlighted (it also has two left primers. The highlighted part is using the "inner" of the two primers at each end of the amplicon).

image (2)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions