-
Notifications
You must be signed in to change notification settings - Fork 3
Description
The installation instructions provided do not work with RHEL/CentOS 7.9. We were able to install the dependancies by altering the instructions.
Environment
# OS $ cat /etc/redhat-release CentOS Linux release 7.9.2009 (Core) # KERNEL $ uname -a Linux n521 3.10.0-1160.71.1.el7.x86_64 #1 SMP Tue Jun 28 15:37:28 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux # PYTHON $ yum list installed|grep python3 python3.x86_64 3.6.8-18.el7 @updates python3-libs.x86_64 3.6.8-18.el7 @updates python3-pip.noarch 9.0.3-8.el7 @base python3-setuptools.noarch 39.2.0-10.el7 @base
SMuRF Installation
$ git clone https://github.com/ToolsVanBox/SMuRF.git $ cd SMuRF $ virtualenv venv_3.6 -p /usr/bin/python3.6 $ . venv_3.6/bin/activate
Downgrade setuptools (2to3 support)
The setuptools package 58.0.0 removed support for 2to3 during builds. PyVCF 0.6.8 requires 2to3 support to build from source, and there is no prebuilt PyVCF 0.6.8 for Python 3.6.
$ pip3 install "setuptools<58.0"
Install PyVCF from source
There are compatibility issues with all other options we tried, like using PyVCF.
$ pip3 install requirements/PyVCF-0.6.8.tar.gz
Modify requirements.txt
We tried to build the specified version of all package requirements we could not install following SMuRF installation procedure. We could not, details below.
$ cp -p requirements.txt requirements.txt.original $ cat <>requirements.txt cycler==0.10.0 #joblib==1.2.0 # Require Python >= 3.7, https://pypi.org/project/joblib joblib==1.1.1 kiwisolver==1.1.0 matplotlib==3.1.1 #numpy==1.22.0 # Require Python >= 3.8, https://numpy.org/devdocs/release/1.22.0-notes.html numpy==1.19.5 # Latest Prebuilt available for Python 3.6 pandas==0.25.1 pyparsing==2.4.2 #pysam==0.15.3 # Prebuilt not available for python 3.6, not able to build from source, even after downgrading pip3 #pysam==0.21.0 # Latest Prebuilt available for Python 3.6 pysam==0.15.4 # Prebuilt available for Python 3.6 python-dateutil==2.8.0 pytz==2019.2 #PyVCF==0.6.8 # Requires Python <= 3.4, https://pypi.org/project/PyVCF, BUT we were able to build from source scikit-learn==0.21.3 scipy==1.3.1 six==1.12.0 sklearn==0.0 EOF
Install remaining requirements
$ pip3 install -r requirements.txt
Run SMuRF
We tried both the config.ini provided in this repo and a modified version from PTATO v1.2.1's. Please update your /path/to in the ptato_smurf_config.ini below.
$ cat <>ptato_smurf_config.ini [SMuRF] threads = 8 blacklist = /path/to/ptato/1.2.1/resources/hg38/smurf/Mutational_blacklists/MSC_healthyBM_raw_variants_hg38.bed,/path/to/ptato/1.2.1/resources/hg38/smurf/Mutational_blacklists/Fetal_15x_raw_variants_hg38.bed qual = 100 mq = 55 sample_gq_homozygous = 10 sample_gq_heterozygous = 99 sample_gq_homref = 10 control_gq_homozygous = 10 control_gq_heterozygous = 99 control_gq_homref = 10 indel_gq_homozygous = 99 indel_gq_heterozygous = 99 indel_gq_homref = 20 coverage = 5 clonal_threshold = 0.15 absent_threshold = 0.0 mapq = 0 base_phred_quality = 0 min_components = 2 max_components = 3 indel = True indel_flank = 100 known_variant_flag_ids = dbNSFP_ExAC_AF dbNSFP_1000Gp3_AF GoNLv5AF know_variant_flag_values = 0.1 0.1 0.1 [Driver] threads = 8 effect = MODERATE|HIGH genes = /path/to/ptato/1.2.1/resources/hg38/smurf/hotspot_genes/cosmic_cancer_gene_census_09052019.txt qual = 60 mq = 30 clonal_threshold = 0.15 absent_threshold = 0.0 sample_gq_homozygous = 10 sample_gq_heterozygous = 20 sample_gq_homref = 20 control_gq_homozygous = 10 control_gq_heterozygous = 10 control_gq_homref = 20 indel_gq_homozygous = 60 indel_gq_heterozygous = 60 indel_gq_homref = 20 coverage = 5 mapq = 0 base_phred_quality = 0 indel = True EOF $ cat <>run_demo.sh #!/bin/bash # Activate python 3.6.8 environment . venv_3.6/bin/activate python $SMURFPATH/SMuRF.py \ -i $SMURFPATH/demo/[file.vcf.gz] \ -b $SMURFPATH/demo/*.bam \ -n [NAME_OF_NORMAL] \ -c $SMURFPATH/ptato_smurf_config.ini > "$(date +%Y-%m-%d_%H-%M-%S.smurf-demo.out)" 2> "$(date +%Y-%m-%d_%H-%M-%S.smurf-demo.err)" EOF