Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
B
bigWig_visu
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
LBMC
ReGArDS
Projects_Analyzes
bigWig_visu
Commits
ccd2678b
Commit
ccd2678b
authored
4 years ago
by
nfontrod
Browse files
Options
Downloads
Patches
Plain Diff
src/visu/figure_maker.py: change style of the figure + add parameter ylim
parent
7f77571e
No related branches found
Branches containing commit
No related tags found
No related merge requests found
Pipeline
#146
passed with warnings
4 years ago
Stage: unittest
Stage: quality
Changes
1
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
src/visu/figure_maker.py
+23
-9
23 additions, 9 deletions
src/visu/figure_maker.py
with
23 additions
and
9 deletions
src/visu/figure_maker.py
+
23
−
9
View file @
ccd2678b
...
...
@@ -7,7 +7,7 @@ Description:
"""
from
pathlib
import
Path
from
typing
import
List
,
Union
,
Any
,
Tuple
from
typing
import
List
,
Union
,
Any
,
Tuple
,
Optional
from
doctest
import
testmod
from
..bed_handler.config
import
TestConfig
import
pandas
as
pd
...
...
@@ -16,6 +16,8 @@ import seaborn as sns
import
matplotlib.pyplot
as
plt
from
tqdm
import
tqdm
from
loguru
import
logger
import
matplotlib
as
mpl
import
matplotlib.font_manager
def
load_bed
(
bed
:
Path
,
bed_name
:
str
)
->
List
[
List
[
Union
[
int
,
str
]]]:
...
...
@@ -292,7 +294,7 @@ def figure_metagene(df_sum: pd.DataFrame, show_replicate: bool,
border_names
:
List
[
str
],
nb_bin
:
int
,
environment
:
List
[
int
],
bed_name
:
str
,
output
:
Path
,
norm
:
Union
[
int
,
Path
],
condition_col
:
str
)
->
None
:
condition_col
:
str
,
ylim
:
Optional
[
List
[
float
]]
)
->
None
:
"""
Create a metagene figure on the region of interest.
...
...
@@ -309,8 +311,15 @@ def figure_metagene(df_sum: pd.DataFrame, show_replicate: bool,
the samples or a file containing the normalisations to apply to
\
each samples
:param condition_col: The name of the condition columns
:param ylim: The range of the y axis
"""
sns
.
set
(
context
=
'
poster
'
,
style
=
'
white
'
)
font_files
=
matplotlib
.
font_manager
.
findSystemFonts
(
fontpaths
=
None
,
fontext
=
'
ttf
'
)
font_list
=
matplotlib
.
font_manager
.
createFontList
(
font_files
)
matplotlib
.
font_manager
.
fontManager
.
ttflist
.
extend
(
font_list
)
sns
.
set
(
context
=
'
poster
'
,
style
=
'
white
'
,
font_scale
=
1.4
)
mpl
.
rcParams
[
'
font.family
'
]
=
'
Arial
'
if
show_replicate
:
g
=
sns
.
relplot
(
'
bin
'
,
'
coverage
'
,
hue
=
condition_col
,
data
=
df_sum
,
kind
=
'
line
'
,
style
=
'
replicate
'
,
ci
=
None
,
...
...
@@ -332,8 +341,8 @@ def figure_metagene(df_sum: pd.DataFrame, show_replicate: bool,
tmp_bed_name
=
bed_name
.
replace
(
"
--
"
,
"
,
"
)
title
=
f
"
Average coverage in region
'
{
tmp_bed_name
}
'"
if
environment
[
0
]
!=
0
:
title
+=
f
"
\n
and in their surrounding regions of
{
environment
[
0
]
}
nt
"
g
.
fig
.
suptitle
(
title
)
title
+=
f
"
and in their surrounding regions of
{
environment
[
0
]
}
nt
"
g
.
fig
.
suptitle
(
title
,
fontsize
=
30
)
tmp_bed_name
=
bed_name
.
replace
(
"
--
"
,
"
-
"
)
outfile_title
=
f
"
metagene_
{
tmp_bed_name
}
_
{
nb_bin
}
bin_
"
\
f
"
{
environment
[
0
]
}
_nt-around-
{
environment
[
1
]
}
-bin
"
...
...
@@ -342,6 +351,9 @@ def figure_metagene(df_sum: pd.DataFrame, show_replicate: bool,
elif
isinstance
(
norm
,
Path
):
outfile_title
+=
f
"
_file_norm
"
outfile_title
+=
"
.pdf
"
if
ylim
[
0
]
is
not
None
:
g
.
ax
.
set_ylim
(
ylim
[
0
],
ylim
[
1
])
g
.
ax
.
tick_params
(
left
=
True
,
bottom
=
True
)
g
.
savefig
(
output
/
outfile_title
)
g
.
fig
.
clf
()
...
...
@@ -438,7 +450,8 @@ def create_figure(design: Path, bw_folder: Path, region_beds: List[Path],
norm
:
Union
[
int
,
Path
,
None
]
=
None
,
show_replicate
:
bool
=
True
,
environment
:
List
[
int
]
=
(
0
,
0
),
border_names
:
List
[
str
]
=
(
''
,
''
),
output
:
Path
=
Path
(
'
.
'
))
->
None
:
output
:
Path
=
Path
(
'
.
'
),
ylim
:
List
[
float
]
=
(
None
,
None
))
->
None
:
"""
Create A metagene or a barplot figure from bigwig file on regions defined
\
in the bed file provided with
'
region_bed
'
parameter.
...
...
@@ -464,14 +477,14 @@ def create_figure(design: Path, bw_folder: Path, region_beds: List[Path],
the number of bin used to represent those surrounding regions.
:param border_names: The name of the borders
:param output: Folder where the results will be created
:param ylim: The range of y-axis
"""
if
len
(
region_beds
)
!=
len
(
bed_names
):
raise
IndexError
(
"
Parameter region_beds and bed_names should
"
"
have the same length
"
)
df_exp
=
pd
.
read_csv
(
design
,
sep
=
"
\t
"
)
regions
=
load_beds
(
region_beds
,
bed_names
)
region_bed_name
=
"
-
"
.
join
([
b
.
name
.
replace
(
'
.bed
'
,
''
)
for
b
in
region_beds
])
region_bed_name
=
"
-
"
.
join
(
b
.
name
.
replace
(
'
.bed
'
,
''
)
for
b
in
region_beds
)
outfile
=
f
'
tmp_cov_table_
{
design
.
name
.
replace
(
"
.txt
"
,
""
)
}
'
\
f
'
_
{
region_bed_name
}
_
{
nb_bin
}
bin_
'
\
f
'
{
environment
[
0
]
}
_nt-around-
{
environment
[
1
]
}
-bin
'
...
...
@@ -495,7 +508,8 @@ def create_figure(design: Path, bw_folder: Path, region_beds: List[Path],
ordered_condition
,
bed_names
)
if
figure_type
==
"
metagene
"
:
figure_metagene
(
df_sum
,
show_replicate
,
border_names
,
nb_bin
,
environment
,
region_kind
,
output
,
norm
,
cond_col
)
environment
,
region_kind
,
output
,
norm
,
cond_col
,
ylim
)
else
:
if
'
location
'
in
df_sum
.
columns
:
for
cur_region
in
df_sum
[
'
location
'
].
unique
():
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment