Skip to content

Commit

Permalink
v1.0.0a2
Browse files Browse the repository at this point in the history
project folders change
  • Loading branch information
shitohana committed Feb 5, 2024
1 parent e0e1e4c commit 97b7fb9
Show file tree
Hide file tree
Showing 22 changed files with 56 additions and 31 deletions.
2 changes: 1 addition & 1 deletion docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
project = 'BSXplorer'
copyright = '2023, shitohana'
author = 'shitohana'
release = '1.0.0a1'
release = '1.0.0a2'
sys.path.insert(0, os.path.abspath('../src'))
sys.path.append(os.path.abspath('.'))

Expand Down
5 changes: 2 additions & 3 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ build-backend = "hatchling.build"

[project]
name = "bsxplorer"
version = "1.0.0a1"
version = "1.0.0a2"
authors = [
{ name="shitohana", email="kyudytskiy@gmail.com" },
]
Expand Down Expand Up @@ -48,8 +48,7 @@ Documentation = "https://shitohana.github.io/BSXplorer/"
exclude = ["/venv", "/dist", "/test", "/docs"]

[tool.hatch.build.targets.wheel]
packages = ["src/bsxplorer"]
include = ["src/templates"]
packages = ["src"]

[project.scripts]
bsxplorer-metagene = "bsxplorer.templates.cons_MetageneReport:main"
Expand Down
7 changes: 7 additions & 0 deletions src/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
from .source.MetageneClasses import Metagene, MetageneFiles
from .source.Plots import LinePlot, LinePlotFiles, HeatMap, HeatMapFiles, PCA
from .source.Binom import BinomialData, RegionStat
from .source.GenomeClass import Genome
from .source.ChrLevels import ChrLevels

__version__ = '1.0.0a2'
7 changes: 0 additions & 7 deletions src/bsxplorer/__init__.py

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,12 @@
import polars as pl
from matplotlib import pyplot as plt

from cons_MetageneReport import get_metagene_parser, parse_config, ReportRow, render_metagene_report
from src.bsxplorer import Genome, Metagene, MetageneFiles, BinomialData
from src.bsxplorer.utils import merge_replicates, decompress
from cons_MetageneReport import get_metagene_parser, parse_config, ReportRow

from source.GenomeClass import Genome
from source.MetageneClasses import Metagene, MetageneFiles
from source.Binom import BinomialData
from source.utils import merge_replicates, decompress
from cons_utils import render_template, TemplateMetagenePlot, TemplateMetageneContext, TemplateMetageneBody


Expand Down Expand Up @@ -216,3 +219,6 @@ def main():
render_template(Path.cwd() / "src/templates/html/CategoryTemplate.html", rendered, out)

pass

if __name__ == "__main__":
main()
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@
import polars as pl
from plotly.express.colors import qualitative as PALETTE

from src.bsxplorer import ChrLevels
from source.ChrLevels import ChrLevels
from cons_utils import render_template, TemplateMetagenePlot, TemplateMetageneContext, TemplateMetageneBody
from src.bsxplorer.utils import merge_replicates
from source.utils import merge_replicates


def get_chr_parser():
Expand Down Expand Up @@ -172,3 +172,7 @@ def main():
out = Path(args.dir) / (args.out + ".html")
# render_template(Path.cwd() / "html/ChrLevelsTemplate.html", rendered, out)
render_template(Path.cwd() / "src/templates/html/MetageneTemplate.html", rendered, out)


if __name__ == "__main__":
main()
44 changes: 30 additions & 14 deletions src/templates/cons_MetageneReport.py → src/cons_MetageneReport.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@
import polars as pl
from matplotlib import pyplot as plt

sys.path.insert(0, os.getcwd())
from src.bsxplorer import Genome, Metagene, MetageneFiles
from src.bsxplorer.Plots import PCA
from source.GenomeClass import Genome
from source.MetageneClasses import Metagene, MetageneFiles
from source.Plots import PCA
from cons_utils import render_template, TemplateMetagenePlot, TemplateMetageneContext, TemplateMetageneBody

# TODO add plot data export option
Expand All @@ -28,6 +28,7 @@
"report_type"]
)


def get_metagene_parser():
parser = argparse.ArgumentParser(
prog='BSXplorer',
Expand All @@ -36,24 +37,35 @@ def get_metagene_parser():
)

parser.add_argument('config', help='Path to config file')
parser.add_argument('-o', '--out', help='Output filename', default=f"Metagene_Report_{time.strftime('%d-%m-%y_%H-%M-%S')}", metavar='NAME')
parser.add_argument('-o', '--out', help='Output filename',
default=f"Metagene_Report_{time.strftime('%d-%m-%y_%H-%M-%S')}", metavar='NAME')
parser.add_argument('--dir', help='Output and working dir', default=os.path.abspath(os.getcwd()), metavar='DIR')
parser.add_argument('-m', '--block_mb', help='Block size for reading. (Block size ≠ amount of RAM used. Reader allocates approx. Block size * 20 memory for reading.)', type=int, default=50)
parser.add_argument('-t', '--threads', help='Do multi-threaded or single-threaded reading. If multi-threaded option is used, number of threads is defined by `multiprocessing.cpu_count()`', type=int, default=True)
parser.add_argument('-s', '--sumfunc', help='Summary function to calculate density for window with.', type=str, default="wmean")
parser.add_argument('-m', '--block_mb',
help='Block size for reading. (Block size ≠ amount of RAM used. Reader allocates approx. Block size * 20 memory for reading.)',
type=int, default=50)
parser.add_argument('-t', '--threads',
help='Do multi-threaded or single-threaded reading. If multi-threaded option is used, number of threads is defined by `multiprocessing.cpu_count()`',
type=int, default=True)
parser.add_argument('-s', '--sumfunc', help='Summary function to calculate density for window with.', type=str,
default="wmean")
parser.add_argument('-u', '--ubin', help='Number of windows for upstream region', type=int, default=50)
parser.add_argument('-d', '--dbin', help='Number of windows for downstream downstream', type=int, default=50)
parser.add_argument('-b', '--bbin', help='Number of windows for body region', type=int, default=100)
parser.add_argument('-q', '--quantile', help='Quantile of most varying genes to draw on clustermap', type=float, default=.75)
parser.add_argument('-q', '--quantile', help='Quantile of most varying genes to draw on clustermap', type=float,
default=.75)

parser.add_argument('-S', '--smooth', help='Windows for SavGol function.', type=float, default=10)
parser.add_argument('-C', '--confidence', help='Probability for confidence bands for line-plot. 0 if disabled', type=float, default=.95)
parser.add_argument('-C', '--confidence', help='Probability for confidence bands for line-plot. 0 if disabled',
type=float, default=.95)
parser.add_argument('-H', help='Vertical resolution for heat-map', type=int, default=100, dest="vresolution")
parser.add_argument('-V', help='Vertical resolution for heat-map', type=int, default=100, dest="hresolution")

parser.add_argument('--separate_strands', help='Do strands need to be processed separately', type=bool, default=False, action=argparse.BooleanOptionalAction)
parser.add_argument('--export', help='Export format for plots (set none to disable)', type=str, default='pdf', choices=['pdf', 'svg', 'none'])
parser.add_argument('--ticks', help='Names of ticks (5 labels with ; separator in " brackets)', type=lambda val: str(val).replace("\\", ""), nargs=5)
parser.add_argument('--separate_strands', help='Do strands need to be processed separately', type=bool,
default=False, action=argparse.BooleanOptionalAction)
parser.add_argument('--export', help='Export format for plots (set none to disable)', type=str, default='pdf',
choices=['pdf', 'svg', 'none'])
parser.add_argument('--ticks', help='Names of ticks (5 labels with ; separator in " brackets)',
type=lambda val: str(val).replace("\\", ""), nargs=5)

return parser

Expand Down Expand Up @@ -157,7 +169,8 @@ def render_metagene_report(metagene_files: MetageneFiles, args: argparse.Namespa
cm().savefig(
Path(args.dir) / "plots" / (base_name + "_cm" + f".{args.export}")
)
lp.draw_mpl(smooth=args.smooth, confidence=args.confidence, major_labels=major_ticks, minor_labels=minor_ticks).savefig(
lp.draw_mpl(smooth=args.smooth, confidence=args.confidence, major_labels=major_ticks,
minor_labels=minor_ticks).savefig(
Path(args.dir) / "plots" / (base_name + "_lp" + f".{args.export}")
)
hm.draw_mpl(major_labels=major_ticks, minor_labels=minor_ticks).savefig(
Expand Down Expand Up @@ -278,7 +291,8 @@ def main():
pca.append_metagene(metagene, Path(report.report_file).stem, sample)

sample_metagenes.append(metagene)
metagenes.append((MetageneFiles(sample_metagenes, list(map(str, range(len(sample_metagenes))))).merge(), sample))
metagenes.append(
(MetageneFiles(sample_metagenes, list(map(str, range(len(sample_metagenes))))).merge(), sample))

sample_metagenes = None
collect()
Expand All @@ -292,3 +306,5 @@ def main():
# render_template(Path.cwd() / "html/MetageneTemplate.html", rendered, out)
render_template(Path.cwd() / "src/templates/html/MetageneTemplate.html", rendered, out)

if __name__ == "__main__":
main()
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
2 changes: 1 addition & 1 deletion src/bsxplorer/Binom.py → src/source/Binom.py
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,7 @@ def region_pvalue(
--------
If there no preprocessed file:
>>> import bsxplorer as bp
>>> import source as bp
>>> report_path = "/path/to/report.txt"
>>> genome_path = "/path/to/genome.gff"
>>> c_binom = bp.BinomialData.preprocess(report_path, report_type="bismark")
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Empty file added src/source/__init__.py
Empty file.
File renamed without changes.

0 comments on commit 97b7fb9

Please sign in to comment.