import os
import platform
[docs]PACKAGE_PATH = os.path.dirname(__file__)
[docs]BINS_DIR = os.path.join(PACKAGE_PATH, 'bins')
[docs]MODELS_DIR = os.path.join(PACKAGE_PATH, 'models')
[docs]MODEL_PATH = os.path.join(MODELS_DIR, 'pi.stan')
[docs]RECOMMENDED_MEMORY = 16 * (1024**3) # 16 GB
# Common arguments for all STAR runs
[docs]STAR_ARGUMENTS = {
'--outSAMtype': ['BAM', 'SortedByCoordinate'],
'--outSAMattributes': ['NH', 'HI', 'AS', 'NM', 'nM', 'MD', 'GX', 'GN'],
# Defaults are 0.6, but we set a looser cutoff because we expect the
# reads to have conversions.
'--outFilterScoreMinOverLread': 0.3,
'--outFilterMatchNminOverLread': 0.3,
}
# Additional arguments for STARsolo runs
[docs]STAR_SOLO_ARGUMENTS = {
'--outSAMattributes': ['CR', 'CY', 'UR', 'UY', 'CB', 'UB', 'sS', 'sQ', 'sM'],
'--soloFeatures': 'Gene',
'--soloCBwhitelist': 'None',
}
[docs]NASC_ARGUMENTS = {
'--outSAMmultNmax': 1,
'--soloStrand': 'Forward',
'--alignSJoverhangMin': 1000,
'--alignSJDBoverhangMin': 1,
'--outFilterMismatchNoverReadLmax': 1,
'--outFilterMismatchNmax': 10,
'--outFilterMismatchNoverLmax': 0.1,
'--outFilterScoreMinOverLread': 0.66,
'--outFilterMatchNminOverLread': 0.66,
'--scoreDelOpen': -10000,
'--scoreInsOpen': -10000,
}
[docs]BAM_READGROUP_TAG = 'RG'
[docs]BAM_CONSENSUS_READ_COUNT_TAG = 'RN'
[docs]COUNTS_SPLIT_THRESHOLD = 50000
[docs]VELOCITY_BLACKLIST = ['unassigned', 'ambiguous']