A Python package for processing, analyzing and visualizing MAF files.
Project description
mafViper
A Python package for processing, analyzing and visualizing Mutation Annotation Format (MAF) files in genomic research.
Installation
pip install mafviper
Modules and Functions
1. MAF File Reading (read_maf)
from mafviper import read_maf
maf_dataframe = read_maf(
maf_file='path/to/your/file.maf',
skip_rows_until='Hugo_Symbol',
sep='\t',
use_all=True
)
Parameters:
maf_file(str): Path to the MAF fileskip_rows_until(str, optional): Column name to start reading from. Default is 'Hugo_Symbol'sep(str, optional): Delimiter used in the MAF file. Default is tab ('\t')use_all(bool, optional):- If
True(default): Includes all mutation types - If
False: Only keeps variants with 'Mutation_Status' as 'Somatic'
- If
Returns:
- Pandas DataFrame containing validated MAF data
2. MAF Processing (classify_variants, merge_mafs, get_titv)
from mafviper import classify_variants, merge_mafs, get_titv
# Classify variants
non_synonymous_maf = classify_variants(
maf,
discard_synonymous=True
)
# Merge multiple MAF files
merged_maf = merge_mafs(
maf_list=[maf1, maf2, maf3],
discard_synonymous=False
)
# Generate Ti/Tv classification
titv_summary = get_titv(maf_df)
classify_variants
maf: Input MAF DataFramediscard_synonymous(bool, optional):- If
True: Removes synonymous mutations - If
False: Keeps all mutation types
- If
merge_mafs
maf_list: List of MAF DataFrames to mergediscard_synonymous(bool, optional):- If
True: Removes synonymous mutations after merging - If
False: Keeps all mutation types
- If
get_titv
maf_df: MAF DataFrame with SNP variants- Returns a summary DataFrame of Transition/Transversion (Ti/Tv) classifications
3. Visualization (get_maf_summary)
from mafviper import get_maf_summary
get_maf_summary(
maf_df,
output_pdf='MAF_Summary_Dashboard.pdf',
add_stat=None,
show_barcodes=False,
top_genes=10,
raw_count=True,
nonsyn_titv=False,
use_nonsyn=True
)
Parameters:
maf_df: Input MAF DataFrameoutput_pdf(str, optional): Output PDF filename. Default is 'MAF_Summary_Dashboard.pdf'add_stat(str, optional): Default is median'mean': Add mean mutation count line'median': Add median mutation count line
show_barcodes(bool, optional): Display sample barcodestop_genes(int, optional): Number of top mutated genes to display. Default is 10raw_count(bool, optional):- If
True: Display raw mutation counts - If
False: Display mutation proportions
- If
nonsyn_titv(bool, optional):- If
True: Calculate Ti/Tv using non-synonymous mutations - If
False: Calculate Ti/Tv using all mutations
- If
use_nonsyn(bool, optional):- If
True: Use only non-synonymous mutations for summary - If
False: Use all mutations for summary
- If
Example Workflow
from mafviper import read_maf, merge_mafs, get_maf_summary
# Read MAF files
maf1 = read_maf('sample1.maf')
maf2 = read_maf('sample2.maf')
# Merge MAF files
merged_maf = merge_mafs([maf1, maf2])
# Generate visualization
get_maf_summary(
merged_maf,
output_pdf='my_maf_summary.pdf',
top_genes=15,
add_stat='mean'
)
Requirements
- pandas
- seaborn
- matplotlib
License
Apache 2.0
Author
Joseph Rosen
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
mafViper-0.2.tar.gz
(10.9 kB
view details)
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
mafViper-0.2-py3-none-any.whl
(11.1 kB
view details)
File details
Details for the file mafViper-0.2.tar.gz.
File metadata
- Download URL: mafViper-0.2.tar.gz
- Upload date:
- Size: 10.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0729c763840c45e0383e21bdca96159e817e21ba5976127fdde9b0d7f85ade9c
|
|
| MD5 |
34cbfb85f11d092e54cfbdf8a4084d40
|
|
| BLAKE2b-256 |
55a64245eab11484598c9a224634f545b9d3230b168cccb96859453c797897c7
|
File details
Details for the file mafViper-0.2-py3-none-any.whl.
File metadata
- Download URL: mafViper-0.2-py3-none-any.whl
- Upload date:
- Size: 11.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
02695efd5990aea03550c0cfdf474f93e268976d91d393b22a1ef4d7c37d11a8
|
|
| MD5 |
42826eed934e75a88c85a6886b22df2b
|
|
| BLAKE2b-256 |
0b88ca8cc960eb7c801523653fc1ee72d0c7ef3222aa2f75a6227249071c268c
|