Question: Organizing tools/ software
1
gravatar for shibl_a
12 weeks ago by
shibl_a10
shibl_a10 wrote:

I constantly download tools and programs to work with. I don't want to have to create a new PATH every time. How can I organize ALL my tools/ programs/ scripts (old and new) into one place so that I don't have to worry about running commands from anywhere on my terminal? any ideas?

software error • 266 views
ADD COMMENTlink modified 12 weeks ago by kloetzl990 • written 12 weeks ago by shibl_a10

How is this a software error? Please use logical tags.

ADD REPLYlink written 12 weeks ago by WouterDeCoster35k

Thank you for your suggestion. It was the closest I could find to describe my question. If there were other tags I would've used them.

ADD REPLYlink written 12 weeks ago by shibl_a10

You can just use whatever you want as a tag and don't have to use the suggestions.

ADD REPLYlink written 12 weeks ago by WouterDeCoster35k

I actually enjoy installing and organising these programs but I never store their location in my PATH (a few rare exceptions). I use them with the absolute paths in all scripts and rely on an initial well-organised file system to avoid headaches later down the line.

ADD REPLYlink written 12 weeks ago by Kevin Blighe33k
3
gravatar for kloetzl
12 weeks ago by
kloetzl990
European Union
kloetzl990 wrote:

Personally, I try to avoid make install from any software like the plague. Usually, I forget about the software so it just ends up filling my disk space and leading to other issues (not receiving any updates etc.). Instead these days I have a directory with a bunch of 3rd party software source files (commonly also git repo clones). There I build the tools and have a symbolic link from $HOME/bin to each tool with $HOME/bin being in my $PATH. That way uninstalling is easy, updating is easy (git pull && make), and I even have the source code at hand if I stumble upon a bug. This scheme is almost as good as making my own package via makepkg or smthn similar.

ADD COMMENTlink modified 12 weeks ago • written 12 weeks ago by kloetzl990

I use this slightly modified: $HOME/usr and ./configure --prefix=$HOME/usr or make --prefix=$HOME/usr. This way I can safely execute make install and keep source and binaries separated.

The advantage is that all (bin, lib, man, etc...) will end up in $HOME/usr. The disadvantage is that you'd still have to link each executable to one folder that you add to you're path. Or add each path in $HOME/usr/bin to your profile/bashrc

ADD REPLYlink written 12 weeks ago by Carambakaracho660
3
gravatar for Antonio R. Franco
12 weeks ago by
Spain. Universidad de Córdoba
Antonio R. Franco3.9k wrote:

If working with Linux, copy the binaries in a path included into your path. I use to use /usr/local/bin You need to be superuser to be able to do it

Another possibiity is to add the export PATH command in a file such as .bashrc that is read every time you initiate Linux.

ADD COMMENTlink modified 12 weeks ago • written 12 weeks ago by Antonio R. Franco3.9k
3
gravatar for cpad0112
12 weeks ago by
cpad011210k
India
cpad011210k wrote:

Use tools like conda, docker to manage software installations. Containerized software is better for version management and reproducibility of workflows

ADD COMMENTlink modified 12 weeks ago • written 12 weeks ago by cpad011210k

Hi- I'm not very familiar with docker and friends (they have been on my todo list for quite a while...). Are you suggesting that every time you start a new project you should create a docker instance with all the necessary tools in it (like bwa, bedtools, R & packages, custom scripts etc)? Then when the project is finished you distribute the docker container?

ADD REPLYlink written 12 weeks ago by dariober9.8k

I like the idea of being able to have everything I need for a project in one place. I'll check out docker. Thanks for the inspiration.

ADD REPLYlink written 12 weeks ago by shibl_a10

Containerized software is better for version management and reproducibility of workflows

That really depends on the person and how organised they are.

ADD REPLYlink written 12 weeks ago by Kevin Blighe33k
Please log in to add an answer.

Help
Access

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.
Powered by Biostar version 2.3.0
Traffic: 1750 users visited in the last hour