aakechin / NGS-PrimerPlex

NGS-PrimerPlex is a high-throughput tool for mupltiplex primer design
GNU General Public License v3.0
51 stars 22 forks source link

cannot write to output #41

Open HandsYe opened 1 year ago

HandsYe commented 1 year ago

hi,how to resolve this problem ?

Writing to output... Primers combination number 1 Number of written amplicons: 272 Sorting amplicons to multiplexes 1_2 (contain 272 amplicons)... Number of designed multiplexes: 2 /software/NGS-PrimerPlex/NGS-PrimerPlex-1.3.3/NGS_primerplex.py:2655: DeprecationWarning: The 'warn' method is deprecated, use 'warning' instead logger.warn(' # Number of designed multiplexes: '+str(len(cls))) Number of amplicons in multiplex 1 78 software/NGS-PrimerPlex/NGS-PrimerPlex-1.3.3/NGS_primerplex.py:2658: DeprecationWarning: The 'warn' method is deprecated, use 'warning' instead logger.warn(' # Number of amplicons in multiplex '+mults[z]+': '+str(len(cl))) Number of amplicons in multiplex 2 80 Traceback (most recent call last): File "/software/NGS-PrimerPlex/NGS-PrimerPlex-1.3.3/NGS_primerplex.py", line 4047, in multiplexes=sortAmpliconsToMultiplexes(globalMultiplexesContainer,globalMultiplexNums,args,currentReadyMultiplexes) File "/software/NGS-PrimerPlex/NGS-PrimerPlex-1.3.3/NGS_primerplex.py", line 2660, in sortAmpliconsToMultiplexes leftNodesGraph.remove_nodes_from(allSortedAmpls) File "/software/python3/Python-3.10.4/lib/python3.10/site-packages/networkx/classes/function.py", line 158, in frozen raise nx.NetworkXError("Frozen graph can't be modified") networkx.exception.NetworkXError: Frozen graph can't be modified

aakechin commented 1 year ago

@HandsYe I think that the problem in the versions of Python and/or networkx. Networkx was significantly changed in the new version (since 2.0 version) and NGS-PrimerPlex Python code became incompatible. Therefore, you need to install networkx 1.1.1 version as it is described in the Manual (https://github.com/aakechin/NGS-PrimerPlex#requirements).

HandsYe commented 1 year ago

@HandsYe I think that the problem in the versions of Python and/or networkx. Networkx was significantly changed in the new version (since 2.0 version) and NGS-PrimerPlex Python code became incompatible. Therefore, you need to install networkx 1.1.1 version as it is described in the Manual (https://github.com/aakechin/NGS-PrimerPlex#requirements).

thx,i will try。

HandsYe commented 1 year ago

it can work when i changed the version of python and networkx.

HandsYe commented 1 year ago

Hi,I want to know this step(Joining primer pairs to amplified blocks...) is doing what. I found some problems When I saw the result.First, I found that 170 already included primer length. Then I looked at the "internal_amplicons.fa" file, and the length of the amplified fragment of this pair of primers was 372. I am puzzled and I hope you can answer it. Thank you very much. example: Amplicon_Start Amplicon_End Amplicon_Length Amplified_Block_Start Amplified_Block_End Left_Primer_Tm Right_Primer_Tm Left_Primer_Length Right_Primer_Length Left_GC Right_GC 5423 5592 170 5451 5572 60 60 28 20 29 50

@.***

From: aakechin Date: 2022-11-03 10:41 To: aakechin/NGS-PrimerPlex CC: Y,; Mention Subject: Re: [aakechin/NGS-PrimerPlex] cannot write to output (Issue #41) @HandsYe I think that the problem in the versions of Python and/or networkx. Networkx was significantly changed in the new version (since 2.0 version) and NGS-PrimerPlex Python code became incompatible. Therefore, you need to install networkx 1.1.1 version as it is described in the Manual (https://github.com/aakechin/NGS-PrimerPlex#requirements). — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.***>

aakechin commented 1 year ago

@HandsYe This step joins primer pairs that cover some region and can be located next to each other. For example, the following two primer pairs can not be joined to one amplified block _------>--------->__ ____<-------_<------- The "internal_amplicons.fa" file contains sequences of amplicons but plus and minus 100. This question was already answered: https://github.com/aakechin/NGS-PrimerPlex/issues/27 This allows users to open this sequence and move primers manually, if it is necessary.

HandsYe commented 1 year ago

Hi,This step is very slow, is there any way to speed it up?Looking forward to your reply!

@.***

From: aakechin Date: 2022-11-07 16:47 To: aakechin/NGS-PrimerPlex CC: Y,; Mention Subject: Re: [aakechin/NGS-PrimerPlex] cannot write to output (Issue #41) @HandsYe This step joins primer pairs that cover some region and can be located next to each other. For example, the following two primer pairs can not be joined to one amplified block ------>--------->_ ___<-------<------- The "internal_amplicons.fa" file contains sequences of amplicons but plus and minus 100. This question was already answered: #27 This allows users to open this sequence and move primers manually, if it is necessary. — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.***>

aakechin commented 1 year ago

Yes, it is the slowest step and now its duration is unpredictable because its done in the networkx via graphs. However, to speed up this process you can decrease the number of primers designed for each target (-primernum argument), increase -threads argument (if it is still not the maximal number of processor threads). However, the latter will work only for targets that are located on different chromosomes or far from each other. One more way is to split your target regions onto distinct files and run NGS-PrimerPlex in several distinct processes for each file. When primers are designed for each target distinctly, you will be able to join regions file into one file, join xls-files with designed primers into one file, and using the latter as draft primers run NGS-PrimerPlex to join all primers into multiplexes as you need. If some primers cannot be sorted to some multiplexes, they can be removed and the resulting file can be used again as draft primers.

HandsYe commented 1 year ago

Hi, what is algorithm this software uses to get the best combination of primers?