GMOD / jbrowse

JBrowse 1, a full-featured genome browser built with JavaScript and HTML5. For JBrowse 2, see https://github.com/GMOD/jbrowse-components.
http://jbrowse.org
Other
464 stars 199 forks source link

Looking for a way to use a plugin which can design PCR primers #1301

Closed hchintalapudi closed 5 years ago

hchintalapudi commented 5 years ago

Creating an issue

If you are creating a new issue please report

Also consider submitting questions via email to gmod-ajax@lists.sourceforge.net as GitHub issues are primarily used for bugs and feature requests

Hi I'm working on a website update which uses Jbrowse and I want to create a plugin in JBrowse for some FST sequence features which when clicked creates PCR primers for the end user to download. I looked at some JBrowse blogs and wrote a plugin file which opens a primer design site when user right clicks and selects the primer design option. That's almost as far I could get. I want to know a way to either: 1) make the plugin paste the selected feature sequence into the opened primer design site in the new tab, so that the user can set all the parameters and get the desired primers OR 2) make the plugin spit out primers to be downloaded upon clicking the 'design primers' option. I am new to JBrowse and javascript and hence any help or suggestions are sincerely appreciated.

cmdcolin commented 5 years ago

You could try https://github.com/jimhu-tamu/hulab-jbrowse/ which contains a PrimerDesigner plugin

Just clone this repo and move the "PrimerDesigner" folder to your plugins directory

Then you can add "plugins": ["PrimerDesigner"] or similar to your config

This plugin is based on highlighting a region of interest

It would be very interesting to get a proper primer designer suite but this plugin could be a stepping stone? Let me know if it helps

cmdcolin commented 5 years ago

Note that this has a server side cgi component too so it's a little complex https://github.com/jimhu-tamu/hulab-jbrowse/blob/master/PrimerDesigner/bin/primer-designer.pl

hchintalapudi commented 5 years ago

Thanks for the reply. I installed the plugin and followed the server side instructions too. Every single step. But it does not work for some reason. The Jbrowse menu shows the option ‘PrimerDesigner’ but when I highlight a gene and click this option, there is no action. Nothing happening.

Himanshu Chintalapudi

On Jan 13, 2019, at 10:35 PM, Colin Diesh notifications@github.com wrote:

Note that this has a server side cgi component too so it's a little complex https://github.com/jimhu-tamu/hulab-jbrowse/blob/master/PrimerDesigner/bin/primer-designer.pl

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.

cmdcolin commented 5 years ago

I would imagine the server side is misconfigured if it is doing nothing.

I have not set it up before, but I think that's where I would look if it is not doing anything on click. It requests a specific URL path for one thing, so I'd check that that exists :)

hchintalapudi commented 5 years ago

I’m glad you are replying. Yes I made sure everything is correct in the primer-designer.pl file I made changes that the primer3 binary is in /usr/local/bin However my guess is the perl module Bio::PrimerDesigner.pm is not installed properly or the location of installation is different than what is required. I have never used CPAN shell before but I installed this perl module today in the morning. But primer-designer.pl file cannot locate this module. Where should this .pm module be installed? Also when I emailed the author of this plugin (Nathan Liles) he said this plugin is meant for GBrowse and he no longer provides support for this plugin.

ThAnk you.

Himanshu Chintalapudi

On Jan 16, 2019, at 2:58 PM, Colin Diesh notifications@github.com wrote:

I would imagine the server side is misconfigured if it is doing nothing.

I have not set it up before, but I think that's where I would look if it is not doing anything on click. It requests a specific URL path for one thing, so I'd check that that exists :)

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.

cmdcolin commented 5 years ago

Typically perl modules are installed using cpan e.g. sudo cpan Bio::PrimerDesigner

hchintalapudi commented 5 years ago

Actually I did that too. I'm surprised that JBrowse being so popular and there is nobody using such plugins for PrimerDesign. I

On Thu, Jan 17, 2019 at 11:56 AM Colin Diesh notifications@github.com wrote:

Typically perl modules are installed using cpan e.g. sudo cpan Bio::PrimerDesigner

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/GMOD/jbrowse/issues/1301#issuecomment-455267593, or mute the thread https://github.com/notifications/unsubscribe-auth/AZP5gQQmWoNs1e1G_bSeyYdzJQT18LtVks5vELligaJpZM4Z8QXv .

cmdcolin commented 5 years ago

It is certainly quite a useful to design primers but it does look like that plugin is pretty hard to setup and unsupported.

In the absence of such a solution, I might manually copy a sequence from a highlighted region and paste it into the primer3 webserver http://primer3.ut.ee/

You can get sequence from a highlighted region by highlighting an area and then using "Save track data" on the reference sequence track.

hchintalapudi commented 5 years ago

Yes. I agree. I am aware of that. I in fact tried NCBI Primer blast and Primer3 and liked them very much. I also recognize the save data feature on JBrowse. But I am talking about the end users’ experience as I am working on a website that researches of different backgrounds may access. So I was instructed to come up with a solution of a plugin which returns the primers on the same screen rather than saving the sequence and opening another website in another tab and then optimizing the settings to design the primers. I know its just one extra step and not much of a hassle, but I’m talking about a work related task and I have to do what I was told to do. This has been frustrating me for weeks now. And I’m totally challenged in javascript and know nothing in RESTful APIs.

Himanshu Chintalapudi

On Jan 20, 2019, at 1:14 PM, Colin Diesh notifications@github.com wrote:

It is certainly quite a useful to design primers but it does look like that plugin is pretty hard to setup and unsupported.

In the absence of such a solution, I might manually copy a sequence from a highlighted region and paste it into the primer3 webserver http://primer3.ut.ee/

You can get sequence from a highlighted region by highlighting an area and then using "Save track data" on the reference sequence track.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.

cmdcolin commented 5 years ago

If there was a REST API, that would make this easier, but the NCBI Primer Blast and the Primer3 web app do not have a REST API so we cannot automatically query them.

The JBrowse_PrimerDesigner plugin is actually a pretty nice despite it's complex setup. It is unfortunate that it is unsupported but I have gotten it to work with a couple small changes

51446997-588a6a00-1ce7-11e9-9c26-979028cde4a8

I could possibly try to fork the codebase with my changes if you're interested or I can let you know what to change

hchintalapudi commented 5 years ago

What? Really? I would SINCERELY appreciate it Sir. I am dying to get this done. Please send me the code. Thank you so much.

Himanshu Chintalapudi

On Jan 20, 2019, at 6:23 PM, Colin Diesh notifications@github.com wrote:

If there was a REST API, that would make this easier, but the NCBI Primer Blast and the Primer3 web app do not have a REST API so we cannot automatically query them.

The JBrowse_PrimerDesigner plugin is actually a pretty nice despite it's complex setup. It is unfortunate that it is unsupported but I have gotten it to work with a couple small changes

I could possibly try to fork the codebase with my changes if you're interested or I can let you know what to change

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.

cmdcolin commented 5 years ago

Here is a list of instructions with my code modifications included on the fork

https://github.com/cmdcolin/JBrowse-PrimerDesigner

As you can see, this was not extremely straightforward but I think it can be done. Download the modified plugin and cgi script from there and try it out. Hope this helps

hchintalapudi commented 5 years ago

Sure. I will try it as soon as I reach work tomorrow. I’m working on a virtual machine for this project. So cannot try it right now. Thank you so much for the help.

Himanshu Chintalapudi

On Jan 20, 2019, at 9:10 PM, Colin Diesh notifications@github.com wrote:

Here is a list of instructions with my code modifications included on the fork

https://github.com/cmdcolin/JBrowse-PrimerDesigner

As you can see, this was not extremely straightforward but I think it can be done. Download the modified plugin and cgi script from there and try it out. Hope this helps

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.

hchintalapudi commented 5 years ago

Hi. I was just looking at your code and I do not have: /etc/apache2/sites-enabled/000-default.conf on my server. Should I make the changes to the httpd.conf file?

On Sun, Jan 20, 2019 at 10:17 PM Himanshu Chintalapudi < himanshuchintalapudi@gmail.com> wrote:

Sure. I will try it as soon as I reach work tomorrow. I’m working on a virtual machine for this project. So cannot try it right now. Thank you so much for the help.

Himanshu Chintalapudi

On Jan 20, 2019, at 9:10 PM, Colin Diesh notifications@github.com wrote:

Here is a list of instructions with my code modifications included on the fork

https://github.com/cmdcolin/JBrowse-PrimerDesigner

As you can see, this was not extremely straightforward but I think it can be done. Download the modified plugin and cgi script from there and try it out. Hope this helps

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/GMOD/jbrowse/issues/1301#issuecomment-455935403, or mute the thread https://github.com/notifications/unsubscribe-auth/AZP5gWqLj8IflEP5EzBiIbsM2lUqRkqWks5vFS-ugaJpZM4Z8QXv .

cmdcolin commented 5 years ago

Yes that is fine

hchintalapudi commented 5 years ago

Also, one more thing. I created the cgi-bin in /usr/lib using sudo mkdir and gave root permissions to that directory. So should I copy the primer-designer.pl file to cgi-bin directory or /cgi-bin/bin/ ? I did not understand Step 7 in your readme file. Sorry if I'm asking too many questions. Thanks.

On Mon, Jan 21, 2019 at 10:30 AM Colin Diesh notifications@github.com wrote:

Yes that is fine

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/GMOD/jbrowse/issues/1301#issuecomment-456131363, or mute the thread https://github.com/notifications/unsubscribe-auth/AZP5gQlxW3mc7sja_4ycdKz1302dvkDyks5vFesRgaJpZM4Z8QXv .

cmdcolin commented 5 years ago

In my setup I put it in /usr/lib/cgi-bin/bin/primer-designer.pl and then also created a tmp directory in /usr/lib/cgi-bin/tmp

hchintalapudi commented 5 years ago

ok. I did the same. I think you mentioned /usr/bin/cgi-bin/tmp instead of /usr/lib/cgi-bin/tmp in Step 8. That's why I got confused.

On Mon, Jan 21, 2019 at 11:20 AM Colin Diesh notifications@github.com wrote:

In my setup I put it in /usr/lib/cgi-bin/bin/primer-designer.pl and then also created a tmp directory in /usr/lib/cgi-bin/tmp

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/GMOD/jbrowse/issues/1301#issuecomment-456146432, or mute the thread https://github.com/notifications/unsubscribe-auth/AZP5geXi-77Pfy2bEtshIA2aVOqpB8xuks5vFfbNgaJpZM4Z8QXv .

hchintalapudi commented 5 years ago

It does not work. When I added the code to httpd.conf and tried to reboot apache using apachectl restart command, I get the following error:

Job for httpd.service failed because the control process exited with error code. See "systemctl status httpd.service" and "journalctl -xe" for details.

On Mon, Jan 21, 2019 at 11:22 AM Himanshu Chintalapudi < himanshuchintalapudi@gmail.com> wrote:

ok. I did the same. I think you mentioned /usr/bin/cgi-bin/tmp instead of /usr/lib/cgi-bin/tmp in Step 8. That's why I got confused.

On Mon, Jan 21, 2019 at 11:20 AM Colin Diesh notifications@github.com wrote:

In my setup I put it in /usr/lib/cgi-bin/bin/primer-designer.pl and then also created a tmp directory in /usr/lib/cgi-bin/tmp

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/GMOD/jbrowse/issues/1301#issuecomment-456146432, or mute the thread https://github.com/notifications/unsubscribe-auth/AZP5geXi-77Pfy2bEtshIA2aVOqpB8xuks5vFfbNgaJpZM4Z8QXv .

cmdcolin commented 5 years ago

Are you able to look at the error messages? You could also try sudo a2enmod cgi in case mod_cgi wasn''t enabled and then restart server

hchintalapudi commented 5 years ago

Ok. I think the problem is that my httpd.conf file has:

ScriptAlias /cgi-bin/ "/var/www/cgi-bin/" #

"/var/www/cgi-bin" should be changed to whatever your ScriptAliased

CGI directory exists, if you have that configured.

# <Directory "/var/www/cgi-bin"> AllowOverride None Options None Require all granted

So should I erase this and write your piece of code? Or should I change these parameters to us/lib/cgi-bin? On Mon, Jan 21, 2019 at 12:26 PM Colin Diesh wrote: > Are you able to look at the error messages? You could also try sudo > a2enmod cgi in case mod_cgi wasn''t enabled and then restart server > > — > You are receiving this because you authored the thread. > Reply to this email directly, view it on GitHub > , or mute > the thread > > . >
cmdcolin commented 5 years ago

It doesn't really matter that much where the cgi-bin directory is located. Just make sure that cgi is working with something like "Your first CGI program" from these docs https://httpd.apache.org/docs/2.4/howto/cgi.html#page-header

hchintalapudi commented 5 years ago

I tried the cgi perl script (first.pl). On cmd line it gives the output, but not on the browser.

Himanshu Chintalapudi

On Jan 21, 2019, at 1:10 PM, Colin Diesh notifications@github.com wrote:

It doesn't really matter that much where the cgi-bin directory is located. Just make sure that cgi is working with something like "Your first CGI program" from these docs https://httpd.apache.org/docs/2.4/howto/cgi.html#page-header

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.

cmdcolin commented 5 years ago

@hchintalapudi I can't really help setting up CGI on your server, sorry. I documented how I did it but it shouldn't be that hard to find a tutorial for your environment

hchintalapudi commented 5 years ago

I understand. Thank you for your support. And Sorry for the inconvenience.

Himanshu Chintalapudi

On Jan 21, 2019, at 4:07 PM, Colin Diesh notifications@github.com wrote:

@hchintalapudi I can't really help setting up CGI on your server, sorry. I documented how I did it but it shouldn't be that hard to find a tutorial for your environment

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.

hchintalapudi commented 5 years ago

Hi. I hope I'm not bugging you too much. I figured out that my cgi is up and running. But I was having problems with Bio::PrimerDesigner plugin from the beginning. I tried to install with sudo yum and CPAN (no apt since my Linux is CentOS, not Ubuntu) and I am getting errors when running the ./Build test. Same error with CPAN installation (sudo cpan Bio::PrimerDesigner) too. The error looks something like this:

Failed test 'Call to remote server' at t/remote.t line 20. Looks like you failed 1 test of 5.

Test Summary Report

t/remote.t (Wstat: 256 Tests: 5 Failed: 1) Failed test: 5 Non-zero exit status: 1 Files=8, Tests=72, 1 wallclock secs ( 0.04 usr 0.02 sys + 0.64 cusr 0.11 csy s = 0.81 CPU) Result: FAIL Failed 1/8 test programs. 1/72 subtests failed.

I just want to know if you faced any similar errors while installing Bio:PrimerDesigner.pm module. Because, I think in my case this could be the reason why PrimerDesigner is not working on JBrowse.

Thank you.

On Mon, Jan 21, 2019 at 4:21 PM Himanshu Chintalapudi < himanshuchintalapudi@gmail.com> wrote:

I understand. Thank you for your support. And Sorry for the inconvenience.

Himanshu Chintalapudi

On Jan 21, 2019, at 4:07 PM, Colin Diesh notifications@github.com wrote:

@hchintalapudi https://github.com/hchintalapudi I can't really help setting up CGI on your server, sorry. I documented how I did it but it shouldn't be that hard to find a tutorial for your environment

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/GMOD/jbrowse/issues/1301#issuecomment-456210950, or mute the thread https://github.com/notifications/unsubscribe-auth/AZP5ga9hkfdn8hwucpxG018Uoneo2HZQks5vFjolgaJpZM4Z8QXv .

cmdcolin commented 5 years ago

Sorry I'll close this for now. If there are questions please refer to the plugin issues

hchintalapudi commented 5 years ago

Hi Colin. I talked to my supervisor and have the official access to share my screen to show my issues via go to meeting. I am supposed to talk via conference where one or two members of my team are also present just to monitor my activity. I’m just waiting to co-ordinate a perfect time.

Thanks.

Himanshu Chintalapudi

On Jan 25, 2019, at 10:50 AM, Colin Diesh notifications@github.com wrote:

Sorry I'll close this for now. If there are questions please refer to the plugin issues

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.

cmdcolin commented 5 years ago

Ok, follow up with me via email and we'll see if that can be arranged. As I said above, this forum for jbrowse is closed because it is not a core jbrowse issue

cmdcolin commented 5 years ago

Sorry to triage issues like this, just trying to move the project along :)

hchintalapudi commented 5 years ago

Sure. Thanks

Himanshu Chintalapudi

On Jan 25, 2019, at 11:28 AM, Colin Diesh notifications@github.com wrote:

Sorry to triage issues like this, just trying to move the project along :)

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.