I'm using CRCmapper on my data. There are several modules in the tool. I've used exactly instructed in the usage.

Commands used:

python CRCmapper.py -e MB12_noEncBlack_AllEnhancers.table.txt -b MB12.bam -g HG19 -f hg19-stdChr/ -s MB12_peaks.bed -n MB12 -o MB12/

Here is the error I got:

Warning: text mode turns off computation of q-values
Traceback (most recent call last):
  File "CRCmapper.py", line 605, in <module>
  File "CRCmapper.py", line 593, in main
    graph = buildNetwork(projectFolder, projectName, candidateGenes, refseqToNameDict, motifConvertFile)
  File "CRCmapper.py", line 381, in buildNetwork
    target = refseqToNameDict[region[0]]
KeyError: 'AP1'

My expertise in python is very basic. I would be grateful if someone take a look at this error and suggest how to fix.

P.S. I contacted authors a long back, I didn't get any response.

Thank you.

  • $\begingroup$ It seems that the problem is within the files, are you sure that AP1 is in all your files? It could also be a bug on the software $\endgroup$
    – llrs
    Sep 28 '17 at 10:55
  • $\begingroup$ Yeah, it exists. For other samples, it is a different motif for different sample. It seems to be a bug in the software but I've no idea. Hope someone here will be able to understand. $\endgroup$
    – user1545
    Sep 28 '17 at 13:33
  • $\begingroup$ Could you paste the minimal files that reproduce the bug? Maybe you can even propose a change in the repository to fix it $\endgroup$
    – llrs
    Sep 28 '17 at 13:47
  • $\begingroup$ Yeah, I will prepare an example to reproduce. They haven't enabled the issue creator for their repo. $\endgroup$
    – user1545
    Sep 28 '17 at 13:59
  • $\begingroup$ Well you can do directly a pull request $\endgroup$
    – llrs
    Sep 28 '17 at 14:52

It seems that the author of CRCmapper.py wants to extract sequence_name, start, stop columns from fimo.txt file. But the code extract motif_alt_id, sequence_name, start columns. So the index of the code should be changed.

fimo.txt looks like this:

motif_id    motif_alt_id    sequence_name   start   stop    strand  score   p-value q-value matched_sequence
Transfac.V$AP1_02   AP1 NM_003046931|3|95762|152118 2332    3118    -   11.9802 6.49e-05        TGACTCA

In line 377-382 of the code:

line[1] should be changed to line[2].

for line in fimoTable[1:]:
    source = motifDatabaseDict[line[0]]
    region = line[1].split('|')
    target = refseqToNameDict[region[0]]
    location = (region[1], int(region[2]), int(region[3]))

In line 391-394 of the code:

line[2] should be changed to line[3], line[3] should be changed to line[4].

    # Count unique motifs
    if (region[1], int(region[2]) + int(line[2]), int(region[2]) + int(line[3])) not in motifDictSE[source]:
        edgeCountDictSE[(source, target)] += 1
        motifDictSE[source].append((region[1], int(region[2]) + int(line[2]), int(region[2]) + int(line[3])))

This error came from the fact that the output of the new fimo version has an additional 'motif_alt_id' column in second position.

CRCmapper has been modified to take this into account. You can find the updated version here: https://bitbucket.org/young_computation/crcmapper/src/master/

P.S.: sorry if we missed you request user1545 and thanks for using CRCmapper!


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.