Skip to content

Add 'extend' functionality#6

Open
gavinband wants to merge 7 commits intoJasonAHendry:masterfrom
gavinband:extend-functionality
Open

Add 'extend' functionality#6
gavinband wants to merge 7 commits intoJasonAHendry:masterfrom
gavinband:extend-functionality

Conversation

@gavinband
Copy link

Hi @JasonAHendry. Following our discussion I had a go at adding this 'extend' functionality to multiply - hope you don't mind!

I'm not sure if this is how you would want to do it, but the way this change works is to add a new optional [Extend] section to the design .ini file. To get this, you pass it a previously designed multiply output file, and it merges the primers with those from the generate step for all the downstream stuff.

Warning: it's not very thoroughly tested, though I tried a couple of designs. It does seem to work but of course there's a possibility I've missed something about the logic of the code.

The changes are:

  • parsing.py: make this understand the [Extend] section. You have to give it a design_file, and also a list of target_ids (which must be a subset of those in the design file). And also optionally target_names which , if you give them, must also match those in the design file. (Otherwise it gets the names from the design file.)

  • generate/main.py: if the [Extend] section is given, add the previously-designed primers to the table before saving the candidate primer list.

  • annotator.py: Note I also seemed to have to change one line of this to use a list rather than a dict as a data frame key, to get multiply to run. Please check this as I wasn't quite sure - could be a dependency version thing.

I couldn't resist so also updated the pipeline image and the README.md FYI.

What do you think? Please feel free to merge or let me know if you want any changes (or don't want this at all.)

Cheers,
g.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant