Bioinformatics analysis toolkit
Project description
jsrc
Bioinformatics analysis toolkit with modular subcommands.
Installation
pip install jsrc
Or install from source:
git clone https://github.com/imjiaoyuan/jsrc.git
cd jsrc
pip install -e .
Module Layout
src/jsrc/
seq/ # sequence module (core.py + command modules)
plot/ # plotting module (core.py + command modules)
analyze/ # analysis module (core.py + command modules)
grn/ # GRN module (core.py + command modules)
Each module is independently loadable by CLI, with optional hot-plug controls:
# Enable only specific modules
JSRC_MODULES=seq,plot jsrc --help
# Disable selected modules
JSRC_DISABLE_MODULES=grn jsrc --help
Commands
seq
# Extract feature sequences by IDs from genome+GFF (default: feature=CDS, match=Parent)
jsrc seq extract -fa genome.fa -gff genes.gff -ids ids.txt -feature CDS -match Parent -o cds.fa
# Extract full gene sequences by gene IDs
jsrc seq extract -fa genome.fa -gff genes.gff -ids genes.txt -feature gene -match ID -o genes.fa
# Rename FASTA IDs using CSV mapping old_id,new_id
jsrc seq rename -fa input.fa -mode csv -map mapping.csv -o output.fa
# Rename FASTA IDs using GFF mRNA->parent mapping
jsrc seq rename -fa transcripts.fa -mode gff -gff genes.gff -parent Parent -o output.fa
# Extract CDS from GFF and translate to proteins
jsrc seq translate -fa genome.fa -gff genes.gff -id ID -o proteins.fa
# Extract promoter sequences with configurable upstream/downstream bp
jsrc seq promoter -fa genome.fa -gff genes.gff -ids genes.txt -id ID -feature gene -up 2000 -down 200 -o promoters.fa
plot
# Plot CDS-based gene structure
jsrc plot gene -gff genes.gff -ids genes.txt -o gene_structure.png
# Plot exon-based structure
jsrc plot exon -gff genes.gff -ids genes.txt -o exon_structure.png
# Plot chromosome map with gene positions
jsrc plot chromosome -gff genes.gff -o chromosome_map.png
# Plot chromosome map only for genes in ID list
jsrc plot chromosome -gff genes.gff -ids genes.txt -o chromosome_map_selected.png
# Plot protein domain architecture from TSV
jsrc plot domain -tsv domains.tsv -o protein_domains.png
# Plot cis-regulatory elements from BED
jsrc plot cis -bed elements.bed -o cis_elements.png
analyze
# Build phylogenetic tree (default NJ)
jsrc analyze phylo -fa sequences.fa -o tree.nwk -a nj
# Build phylogenetic tree with UPGMA
jsrc analyze phylo -fa sequences.fa -o tree.nwk -a upgma
# Motif analysis with built-in pure-python k-mer method
jsrc analyze motif -fa promoters.fa -o motif_output -nmotifs 5
grn
# Convert GRN edge table to JSON links
jsrc grn to_json -i grn.tsv -o viewer/json/grn.json -t network
# Convert annotation table to JSON dictionary
jsrc grn to_json -i annotation.tsv -o viewer/json/annotation.json -t annotation
# Initialize empty local GRN viewer scaffold
jsrc grn init -o viewer
# Serve local GRN viewer through HTTP
jsrc grn serve -d viewer -p 8000
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file jsrc-0.1.1.tar.gz.
File metadata
- Download URL: jsrc-0.1.1.tar.gz
- Upload date:
- Size: 14.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
58f3cb88e6cb6100ff700a9113d7a134f284032ad9aa65975d5b0479e9904107
|
|
| MD5 |
de542c908d3a55bd933ccadcadeab5fe
|
|
| BLAKE2b-256 |
69e57ad4e009268b4688e31b961ab7e0e322ce386191af8830f6a9ff01874692
|
Provenance
The following attestation bundles were made for jsrc-0.1.1.tar.gz:
Publisher:
publish.yml on imjiaoyuan/jsrc
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
jsrc-0.1.1.tar.gz -
Subject digest:
58f3cb88e6cb6100ff700a9113d7a134f284032ad9aa65975d5b0479e9904107 - Sigstore transparency entry: 1338601625
- Sigstore integration time:
-
Permalink:
imjiaoyuan/jsrc@9dedfc0c0edb3a005b2407d60ce75beb991f8787 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/imjiaoyuan
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@9dedfc0c0edb3a005b2407d60ce75beb991f8787 -
Trigger Event:
push
-
Statement type:
File details
Details for the file jsrc-0.1.1-py3-none-any.whl.
File metadata
- Download URL: jsrc-0.1.1-py3-none-any.whl
- Upload date:
- Size: 21.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9e9e7f1241a8019bdb983f16cefb5d82e17cd94cf4bc48f32088081a767be92b
|
|
| MD5 |
4537f163974a05f105dd9254ead49276
|
|
| BLAKE2b-256 |
504fad05663d7fb9fd8924cae0ea0fe8c167558a328469cf768472d290a59829
|
Provenance
The following attestation bundles were made for jsrc-0.1.1-py3-none-any.whl:
Publisher:
publish.yml on imjiaoyuan/jsrc
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
jsrc-0.1.1-py3-none-any.whl -
Subject digest:
9e9e7f1241a8019bdb983f16cefb5d82e17cd94cf4bc48f32088081a767be92b - Sigstore transparency entry: 1338601628
- Sigstore integration time:
-
Permalink:
imjiaoyuan/jsrc@9dedfc0c0edb3a005b2407d60ce75beb991f8787 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/imjiaoyuan
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@9dedfc0c0edb3a005b2407d60ce75beb991f8787 -
Trigger Event:
push
-
Statement type: