https://github.com/bojarlab/glycorender
Bespoke renderer for GlycoDraw .svg into .pdf/.png
Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (11.4%) to scientific vocabulary
Keywords
Repository
Bespoke renderer for GlycoDraw .svg into .pdf/.png
Basic Info
Statistics
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 0
Topics
Metadata Files
README.md
glycorender
A bespoke SVG to PDF/PNG renderer for the GlycoDraw platform, specialized in accurately rendering glycan structures with support for chemical notations and path-based text positioning.
Features
- Accurate SVG to PDF and PNG conversion for glycan structures
- Support for text on paths with proper positioning and orientation
- Special handling for monosaccharide properties like "Df" with proper styling
- Gradient fills for circles and shapes
- Precise connection path rendering between glycan elements
- Support for various SVG path commands
Installation
bash
pip install glycorender
Quick Start
```python from glycorender import convertsvgtopdf, convertsvgtopng
Convert SVG file to PDF
with open('glycanstructure.svg', 'r') as f: svgdata = f.read()
convertsvgtopdf(svgdata, 'output.pdf')
Convert SVG file to PNG
convertsvgtopng(svgdata, 'output.png')
Or directly from SVG data
svgdata = """...""" convertsvgtopdf(svgdata, 'output.pdf') convertsvgtopng(svg_data, 'output.png') ```
Use Cases
GlycoRender is specifically designed for:
- Converting glycan structure diagrams from GlycoDraw to publication-quality PDFs or PNGs
- Preserving the exact layout and styling of complex carbohydrate representations
- Ensuring chemical notations are properly formatted in the output
- Maintaining the correct connections between monosaccharide units
API Reference
convert_svg_to_pdf(svg_data, pdf_file_path)
Converts SVG data to a PDF file.
Parameters:
- svg_data (str or bytes): SVG content either as a string or bytes
- pdf_file_path (str): Path where the output PDF should be saved
convert_svg_to_png(svg_data, png_file_path)
Converts SVG data to a PNG file.
Parameters:
- svg_data (str or bytes): SVG content either as a string or bytes
- png_file_path (str): Path where the output PNG should be saved
Supported SVG Elements
<path>: Full support for path commands (M, L, H, V, Z, etc.)<circle>: Support for basic circles and gradient-filled circles<rect>: Support for rectangles with stroke and fill<text>and<textPath>: Support for text placement along paths with proper orientation<defs>: Support for path and gradient definitions<radialGradient>: Support for radial gradients with stops
Dependencies
- ReportLab: For PDF generation
- PyMuPDF: For PNG conversion
- Pillow: For PNG metadata injection
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Owner
- Name: BojarLab
- Login: BojarLab
- Kind: organization
- Email: daniel.bojar@gu.se
- Location: Gothenburg, Sweden
- Website: https://dbojar.com/bojar-lab/
- Twitter: daniel_bojar
- Repositories: 4
- Profile: https://github.com/BojarLab
Machine Learning in Glycobiology and Systems Biology
GitHub Events
Total
- Release event: 6
- Push event: 13
- Create event: 9
Last Year
- Release event: 6
- Push event: 13
- Create event: 9
Packages
- Total packages: 1
-
Total downloads:
- pypi 581 last-month
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 8
- Total maintainers: 1
pypi.org: glycorender
A bespoke SVG to PDF/PNG renderer for the GlycoDraw platform
- Homepage: https://github.com/BojarLab/glycorender
- Documentation: https://glycorender.readthedocs.io/
- License: MIT
-
Latest release: 0.2.1
published 9 months ago
Rankings
Maintainers (1)
Dependencies
- actions/checkout v3 composite
- actions/setup-python v4 composite
- reportlab >=3.6.0