mapleforest / HaploMerger2

40 stars 6 forks source link

compilation on CentOS 7: faLowerToN required but cannot be installed #15

Open aechchiki opened 6 years ago

aechchiki commented 6 years ago

Hi,

I would like to run Haplomerger2 on server running CentOS 7.

At current status I can only get with Haplomerger2 code some precompiled binaries that are incompatible with our OS. So I took inspiration from the content of these pre-compiled binaries to check what is needed to make it work, so I could recompile my own.

For example, from chainNet (one of the requirements to Haplomerger) I need:

aechchik@dee-serv04:~/software/HaploMerger2_20161205/chainNet_jksrc20100603_centOS6$ ls
axtChain          axtSwap          chainNet       chainSwap   faFrag      faToTwoBit      netFilter
axtFilter         axtToMaf         chainPreNet    chainToAxt  faGapLocs   lavToAxt        netSplit
axtPretty         chainAntiRepeat  chainSort      faCat       faGapSizes  mafToAxt        netSyntenic
axtSort           chainFilter      chainSplit     faCount     faLowerToN  mafToFa         netToAxt
axtSplitByTarget  chainMergeSort   chainStitchId  faFilter    faRc        netChainSubset

All of these binaries were compiled for CentOS6 so of course they are not expected to work on our OS. But no problem so far - I managed to retrieve all of the source code and recompile the binaries could within the KentUtils suite. The compilation was succesful for them all, with exception of faLowerToN that is giving me compilation error that turned out to be unfixable for this particular instance. The developer answered that it is deprecated and I should use utility maskOutFa instead.

I tried to lookup where this binary is called in Haplomerger2 code from root directory (grep -rnw . -e 'faLowerToN'), in order to find a workaround and replace it with the new maskOutFa binary, but it gave me no results. I am not actually sure of when this binary faLowerToN is used in the code, so it's quite hard for me to find an alternative.

I think, but not sure, that is because of this missing binary that I get this output at step A3, retreived form log file _A3.pathFinder_preparation.log:


========== Start at Fri Mar 23 16:59:58 CET 2018
../bin/HM_pathFinder_preparation.pl --Species amphmasked amphmaskedx --scoreScheme=score --filter=
100000 --Force --Delete
[...]
Appending infomation of Ns and lowcases to nodes ...
[...]

========== Time used =  30       seconds or     0.00833333333333333      hours.

 <$gzFH> line 336.
substr outside of string at ../bin/HM_pathFinder_preparation.pl line 900, <$gzFH> line 336.
Use of uninitialized value $ss in transliteration (tr///) at ../bin/HM_pathFinder_preparation.pl line 901, <$gzFH> line 336.
[...]

I am particularly concerned by this Appending infomation of Ns and lowcases to nodes ... - is faLowerToN used internally in this step? I can of course share the whole log if needed. The other steps before this A3 run smoothly.

Many thanks in advance for your answer.

Best, Amina

aechchiki commented 6 years ago

ok, I could get binaries working for my OS from the latest update of the USCS git repo.