Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tools and Paths #18

Open
wmaguire-gladstone opened this issue Sep 26, 2019 · 4 comments
Open

Tools and Paths #18

wmaguire-gladstone opened this issue Sep 26, 2019 · 4 comments
Labels

Comments

@wmaguire-gladstone
Copy link

sub setupBin($) {
my ($cfg) = @_;
(scalar(@_) == 1) or confess "Wrong number of args to setupBin. The only argument must be the '$cfg' pointer to the hash where we store everything.";
# Anything in $cfg->{bin} gets checked to make sure it both EXISTS and also CAN BE EXECUTED by the current user.
# Do NOT put non-executables in $cfg->{bin}, or the automatic checking will fail!
defined($cfg->{monkeyPoo}) or confess "[ERROR in code]: 'monkeyPoo' directory must have already been set up in the 'checkConfig' function BEFORE the binary directories can be set up.";
my $binDir = $GLOBAL_BIN_DIR;
my $MONKEY_SUPPORT_SUBDIR = catfile($cfg->{monkeyPoo}, "support");
$cfg->{bin}->{basedir} = $binDir;
$cfg->{bin}->{convertToGenomeBrowserExe} = catfile($binDir,"convert_SAM_or_BAM_for_Genome_Browser.pl");
$cfg->{bin}->{qsub} = catfile($binDir,"qsub"); # queue submission utility
$cfg->{bin}->{qhold} = catfile($binDir,"qhold"); # queue 'hold' utility
$cfg->{bin}->{qrls} = catfile($binDir,"qrls"); # queue 'release' utility (opposite of qhold)
$cfg->{bin}->{bam2bed} = catfile($binDir,"bam2bed");
$cfg->{bin}->{bigWig} = catfile($binDir,"bedGraphToBigWig");
$cfg->{bin}->{bedmap} = catfile($binDir,"bedmap");
$cfg->{bin}->{bedops} = catfile($binDir,"bedops");
$cfg->{bin}->{bigBed} = catfile($binDir,"bedToBigBed");
$cfg->{bin}->{bedtools} = catfile($binDir,"bedtools");
$cfg->{bin}->{bowtie2} = catfile($binDir,"bowtie2");
$cfg->{bin}->{bwa} = catfile($binDir,"bwa");
$cfg->{bin}->{STAR} = $cfg->{bin}->{star}= catfile($binDir,"STAR"); # <== allow both upper AND lower case for the STAR aligner, which is officially capitalized.
# $cfg->{bin}->{hisat2_0_1} = catfile($binDir,"hisat_2_0_1"); # for requesting a specific version
# $cfg->{bin}->{hisat} = catfile($binDir,"hisat_current");
# $cfg->{bin}->{tophat2_1_1} = catfile($binDir,"tophat_2_1_1"); # for requesting a specific version
$cfg->{bin}->{tophat} = catfile($binDir,"tophat");
$cfg->{bin}->{cuffdiff} = catfile($binDir,"cuffdiff");
$cfg->{bin}->{fastqMcf} = catfile($binDir,"fastq-mcf");
$cfg->{bin}->{fastqc} = catfile($binDir,"fastqc");
$cfg->{bin}->{gem} = catfile($binDir,"gem.jar");
$cfg->{bin}->{bcp} = catfile($binDir,"BCP_HM");
$cfg->{bin}->{match} = catfile($binDir,"match");
$cfg->{bin}->{match2moa} = catfile($binDir,"match2moa");
$cfg->{bin}->{moaOverlaps} = catfile($binDir,"removeMoaOverlaps");
$cfg->{bin}->{samtools} = catfile($binDir,"samtools");
$cfg->{bin}->{sortBed} = catfile($binDir,"sort-bed");
$cfg->{bin}->{subreadFeatureCounts} = catfile($binDir,"featureCounts");
$cfg->{bin}->{featureCountsToPlainMatrix}= catfile($MONKEY_SUPPORT_SUBDIR, "featureCounts_to_plain_matrix.sh");
$cfg->{bin}->{alt_analyze_py} = catfile($binDir,"AltAnalyze.py");
$cfg->{bin}->{peakMotifs} = "/data/applications/rsat/rsat/perl-scripts/peak-motifs"; # must be hardcoded to work... dubious. Also requires Perl library "MIME::Lite"
$cfg->{bin}->{R_EXE} = "/usr/bin/R";
$cfg->{bin}->{RSCRIPT_EXE} = "/usr/bin/Rscript"; # Some sub-scripts (like 51c.cluster.R) need this, you but should not need to run it manually.
$cfg->{bin}->{python2_7_exe} = "/bin/python2.7"; # location of a python executable with version >= 2.7
$cfg->{bin}->{atacPython} = "/home/sthomas/envs/atac/bin/python";
$cfg->{bin}->{nucleoatac} = "/home/sthomas/envs/atac/bin/nucleoatac";
$cfg->{bin}->{step1Motif} = catfile($cfg->{monkeyPoo},"s1_getMotifRegex.pl"); # /home/sthomas/tools/utils/s1_getMotifRegex.pl
$cfg->{bin}->{step2Motif} = catfile($cfg->{monkeyPoo},"s2_findLocations.pl"); # /home/sthomas/tools/utils/s2_findLocations.pl
}

There's a list of tools/commands - we'll need to make sure to have these all installed.

Path on line 780, 786, 787

@AlexanderPico
Copy link

You may have done already, right?

@wmaguire-gladstone
Copy link
Author

On Rigel there's a directory /data/bin (that's a symbolic link to /data/applications/2015_06/bin/) that has all these tools, except in /data/bin they're symbolic links to /data/applications/APPLICATIONS_BASE/toolname.

Seems like it was work towards creating an area where you could update the apps without breaking everyones path. We should discuss this, my proposal is:
/wynton/group/gladstone/third_party/toolname/current/bin that is sym linked to /toolname/versionnumber/bin
Then add to the PATH variable as: /wynton/group/gladstone/third_party//current/bin
Then also create specified ones like /third_party/
/binf_current, or dev, binf_dev, and then just a quick PATH update to change toolsets.

@wmaguire-gladstone
Copy link
Author

Started an rsync of the tools from Rigel, on Monday Nov 4. Once in place, will go through each tool and make necessary changes and updates.

@wmaguire-gladstone
Copy link
Author

Updated line of peak-motifs.

The lines referring to atacPython and nucleoatac are referencing to an area that doesn't exist in Rigel, I've commented them out for now.

The rest of the tools should be called correctly if BINFBINROOT is set correctly - see issue #29

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants