GithubHelp home page GithubHelp logo

sanjaynagi / anoprimer Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 4.0 14.04 MB

Primer Design in Anopheles gambiae and funestus considering genetic variation

Home Page: https://sanjaynagi.github.io/AnoPrimer/

License: MIT License

Jupyter Notebook 89.52% Python 10.48%
anopheles cloud primer-design primer3-py vector-control malaria-genomics

anoprimer's Introduction

Hello there ๐Ÿ‘‹

I'm Sanjay Curtis Nagi, a researcher studying the major malaria mosquito Anopheles gambiae ๐ŸฆŸ

anoprimer's People

Contributors

alimanfoo avatar sanjaynagi avatar

Stargazers

 avatar  avatar

Watchers

 avatar

anoprimer's Issues

Change target argument to region string

so target either is '2L:28545767' or 'AGAP006227-RA'

Remove the need to provide contig, which is unnecessary anyway for cDNA primers in which the transcript is provided.

add funestus support

Through malariagen_data.Af1.

  • At which point we should rename to AnoPrimer
  • does gget BLAT database have funestus?

add support for CNVs

Need to figure out the possible CNV orientations. this would possibly require manually providing the cnv sequence and breakpoints

Cannot install on Python 3.10

Currently AgamPrimer cannot be installed on Python 3.10 or above because of the pinning of the Python dependency.

This is particularly a problem for colab users because colab has recently been upgraded to Python 3.10.

support for probes

Support to design internal oligos (for example, the base sequence for designing LNA probes)

rename qPCR to cDNA

'qPCR primers' is misleading, because qPCR assays can be done on genomic DNA, as well as cDNA.

We really mean cDNA primers here, as one primer is targeting an exon-exon junction, it will only amplify cDNA. This will also align with gDNA primers.

make a faq on the documentation

how do I design a primer to target different loci of the gene?
For gDNA primers, you specify the exact genomic location in base pairs - ie. 2L:2,000,000
Is it possible to specify the exon or intergenic region when designing the primer?
for gDNA primers, yes, for cDNA primers, they will target exon-exon junctions
How can I check the primer's dimerisation probality if I have designed several primers?
Primer 3 will do this internally within AgamPrimer. If you want to see dimerisation results, you have to use the long AgamPrimer notebook, and look at the 'primer_dict' otherwise i recommend tools on IDT website
how can I specify the primers binding regions for example exon 1 to exon 4 with a single pair primer?
you cant but you can play around with the amplicon preferred size and target until it does so
In one of the exercises, SNPs were found only on the probe sequence, could this affect the efficiency of the qpcr?
It depends where in the probe and what kind of assay you are doing. you havent mentioned?

report exact alternate alleles

Report exact alternate bases for A,C, G, T, rather than summing the frequency of all alts.

And suggest degenerate bases for those primers

Declare dependencies in package metadata

AgamPrimer currently depends on several packages:

import pandas as pd 
import allel 
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
from matplotlib import patches
import malariagen_data
from plotly.subplots import make_subplots
import plotly.graph_objects as go
import gget
import primer3

It would be good to express these dependencies in the package metadata so that they get installed automatically when AgamPrimer is installed via pip.

Not all of these would need to be stated directly, as several will get brought in as transitive dependencies via malariagen_data. However, not all will, e.g., at least seaborn, gget and primer3 would need to be stated explicitly.

There are several different ways to state dependencies.

If using poetry, these can be declared in the pyproject.toml file, see an example.

The old-school way to do it is by adding an install_requires into setup.py.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.