ampinzonv / BB2

BioBash UN official repository
Other
3 stars 1 forks source link

initial ideas for enhancements #16

Open koriege opened 4 months ago

koriege commented 4 months ago

Hi,

I appreciate the new impulse into your project I already stumbled across several years ago, of wrapping bioinformatics task that can be solved by samtools, seqtk and bbtools, blast, .. into bash functions for an ease of use.

May I suggest a small enhancement regarding the third-party software setup? Instead of shipping pre-compiled software which, unless statically compiled, still require shared libraries in the same minimum version to be present on the users system, you could think about switching to conda. Therefore, you might want to have a look into the setup routine and compile::* functions of my biobash library bashbone, which also follows google shell style guide. In there you can also find commander::* functions to craft and execute commands in a parallelized fashion to polish, as you commented in BBalign::run_blast "# SOOO dirty peace of code!" ;-)

Furthermore, please be careful when using bash-utility. For example, when executing file::make_temp*, these functions will set and even override their own or other EXIT traps, which will lead to leftovers not cleaned up properly.

Regards!

ampinzonv commented 4 months ago

Dear Konstantin,

Thank you very much for taking the time to go through this with me. I really appreciate your time and all the comments you have done to BB code. Actually I've been thinking on how to get the most out of BB through customized "mini-pipelines" (For instance "blast on the fly" where you just provide two FASTA files and it creates the DB, performs the alignments and plots the results) and my first option was Nextflow, since I was not aware of your library. Nevertheless, to be sincere with you I am still struggling trying to figure out how to incorporate it into BB though! :) Regarding the pre-compiled binaries Conda was something I considered at the very beginning of the project but at the time my intention was to provide an all in one package regardless of its size, with the intention of preventing users from running other environments or dependencies. I am aware that the zero dependencies policy is hard to achieve but my guess was that pre-packaging specific binaries could minimize the problem.

Again thank you very much for your time and kind advice.

I hope we can get in touch.

Best regards,

Andrés M. Pinzón Ph.D. Associate Professor Bioinformatics and Systems Biology Laboratory http://gibbs.unal.edu.co/ PLOS Computational Biology - Editorial Board member [ Research Gate https://www.researchgate.net/profile/Andres-Pinzon-13/research] [ ORCiD https://orcid.org/0000-0002-4133-810X ] [ GitHub https://github.com/gibbslab/ ]

Instituto de Genética https://genetica.unal.edu.co/ - Universidad Nacional de Colombia http://unal.edu.co/ +57 (1) 3165000 Ext. 11618 Office: 218

On Thu, May 23, 2024 at 7:05 AM Konstantin Riege @.***> wrote:

Hi,

I appreciate the new impulse into your project I already stumbled across several years ago, of wrapping bioinformatics task that can be solved by samtools, seqtk and bbtools, blast, .. into bash functions for an ease of use.

May I suggest a small enhancement regarding the third-party software setup? Instead of shipping pre-compiled software which, unless statically compiled, still require shared libraries in the same minimum version to be present on the users system, you could think about switching to conda. Therefore, you might want to have a look into the setup routine and compile:: functions of my biobash library bashbone https://github.com/Hoffmann-Lab/bashbone, which also follows google shell style guide. In there you can also find commander:: functions to craft and execute commands in a parallelized fashion to polish, as you commented in BBalign::run_blast "# SOOO dirty peace of code!" ;-)

Furthermore, please be careful when using bash-utility. For example, when executing file::make_temp*, these functions will set and even override their own or other EXIT traps, which will lead to leftovers not cleaned up properly.

Regards!

— Reply to this email directly, view it on GitHub https://github.com/ampinzonv/BB2/issues/16, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACX5NSC2KC5WPT2YNV7RAE3ZDXLP5AVCNFSM6AAAAABIFQFOV6VHI2DSMVQWIX3LMV43ASLTON2WKOZSGMYTENZUGY4TENQ . You are receiving this because you are subscribed to this thread.Message ID: @.***>

-- Aviso legal: El contenido de este mensaje y los archivos adjuntos son confidenciales y de uso exclusivo de la Universidad Nacional de Colombia. Se encuentran dirigidos sólo para el uso del destinatario al cual van enviados. La reproducción, lectura y/o copia se encuentran prohibidas a cualquier persona diferente a este y puede ser ilegal. Si usted lo ha recibido por error, infórmenos y elimínelo de su correo. Los Datos Personales serán tratados conforme a la Ley 1581 de 2012 y a nuestra Política de Datos Personales que podrá consultar en la página web  www.unal.edu.co http://www.unal.edu.co/. Las opiniones, informaciones, conclusiones y cualquier otro tipo de dato contenido en este correo electrónico, no relacionados con la actividad de la Universidad Nacional de Colombia, se entenderá como personales y de ninguna manera son avaladas por la Universidad.