tanghaibao / jcvi

Python library to facilitate genome assembly, annotation, and comparative genomics
BSD 2-Clause "Simplified" License
760 stars 186 forks source link

--genelabels= won't work. #558

Open lczqd opened 1 year ago

lczqd commented 1 year ago

Hi @tanghaibao,

I run the following code successfully:

python -m jcvi.graphics.synteny pma.gar.i3.blocks.miR-126.pma1.vs.gar3.large.txt pma_gar_add_pre-miRNA.sorted.bed pma.gar.i3.blocks.miR-126.pma1.vs.gar3.layout.large.txt --glyphstyle=arrow --genelabelsize=3 ...... [08:53:59] DEBUG Figure saved to pma.gar.i3.blocks.miR-126.pma1.vs.gar3.large.pdf (2400px x 2100px)

But when I tried to display labels of selected genes using the following code, it failed:

python -m jcvi.graphics.synteny pma.gar.i3.blocks.miR-126.pma1.vs.gar3.large.txt pma_gar_add_pre-miRNA.sorted.bed pma.gar.i3.blocks.miR-126.pma1.vs.gar3.layout.large.txt --genelabels=Pma-Mir-126-P4,Loc-Mir-126

Usage: synteny.py mcscan.txt all.bed layout.csv

Illustrate MCscan multiple collinearity alignments. Use layout.csv to indicate the positions of tracks. For example:

x, y, rotation, ha, va, color, ratio

0.5, 0.6, 0, left, center, g 0.25, 0.7, 45, center, center, m

With the row ordering corresponding to the column ordering in the MCscan output.

For "ha" (horizontal alignment), accepted values are: left|right|leftalign|rightalign|center|""(empty) For "va" (vertical alignment), accepted values are: top|bottom|center|""(empty)

synteny.py: error: option --genelabelsize: invalid integer value: 'Pma-Mir-126-P4,Loc-Mir-126'

Would you please give me some suggestion?

Many thanks.

tanghaibao commented 1 year ago

@lczqd

You probably wanted to use --genelabels instead of --genelabelsize. Here are the description of options.

  --genelabels=GENELABELS
                        Show only these gene labels, separated by comma.
                        Example: "At1g12340,At5g54690" [default: none]
  --genelabelsize=GENELABELSIZE
                        Show gene labels at this font size, useful for
                        debugging. However, plot may appear visually crowded.
                        Reasonably good values are 2 to 6 [default: 0]

Haibao

lczqd commented 1 year ago

@tanghaibao

Thank you for the reply.

The problem is, --genelabels does not work. Its seems that mcscan tried to get --genelabelsize information from --genelabels command.

I did not use --genelabelsize in the following code:

python -m jcvi.graphics.synteny pma.gar.i3.blocks.miR-126.pma1.vs.gar3.large.txt pma_gar_add_pre-miRNA.sorted.bed pma.gar.i3.blocks.miR-126.pma1.vs.gar3.layout.large.txt --genelabels=Pma-Mir-126-P4,Loc-Mir-126

But it complains that:

synteny.py: error: option --genelabelsize: invalid integer value: 'Pma-Mir-126-P4,Loc-Mir-126'

I am baffled.

What could be the problem?

Thanks again.

lczqd commented 1 year ago

@tanghaibao

Hi,

Can you please give me some advice?

Thanks.

tanghaibao commented 1 year ago

@lczqd

I am not sure what is wrong. Can you add option --genelabelsize=12 as well?

cherrie-g commented 1 year ago

@lczqd I have met same issue. I think maybe the genelabelsize parameter did not transfer to the graphic/synteny.py.