Skip to content
Snippets Groups Projects
Commit aee17e84 authored by Thomas Weber's avatar Thomas Weber
Browse files

Split into files ; define modes & associated conda envs ; run on a single...

Split into files ; define modes & associated conda envs ; run on a single chromosome by keeping full initial BAM  ; functionnal until strandphaser
parent b9d78e43
No related branches found
No related tags found
No related merge requests found
Showing
with 2314 additions and 50 deletions
...@@ -13,3 +13,4 @@ sv_probabilities/ ...@@ -13,3 +13,4 @@ sv_probabilities/
*.png *.png
*.pdf *.pdf
*.svg *.svg
workflow/.snakemake
\ No newline at end of file
File added
...@@ -73,6 +73,8 @@ exclude_list = ['BM510x3PE20490'] ...@@ -73,6 +73,8 @@ exclude_list = ['BM510x3PE20490']
SAMPLES, BAM_PER_SAMPLE, CELL_PER_SAMPLE, ALLBAMS_PER_SAMPLE, df_config_files = handle_input_data(thisdir=config["input_bam_location"], exclude_list=exclude_list) SAMPLES, BAM_PER_SAMPLE, CELL_PER_SAMPLE, ALLBAMS_PER_SAMPLE, df_config_files = handle_input_data(thisdir=config["input_bam_location"], exclude_list=exclude_list)
print(df_config_files) print(df_config_files)
print(df_config_files['Full_path'][0])
tqdm.pandas(desc="Checking if BAM SM tags correspond to folder names") tqdm.pandas(desc="Checking if BAM SM tags correspond to folder names")
df_config_files["Full_path"].progress_apply(check_bam_header, ) df_config_files["Full_path"].progress_apply(check_bam_header, )
...@@ -82,20 +84,21 @@ for s in SAMPLES: ...@@ -82,20 +84,21 @@ for s in SAMPLES:
# METHODS = [ METHODS = [
# "simpleCalls_llr4_poppriorsTRUE_haplotagsTRUE_gtcutoff0_regfactor6_filterFALSE", "simpleCalls_llr4_poppriorsTRUE_haplotagsTRUE_gtcutoff0_regfactor6_filterFALSE",
# "simpleCalls_llr4_poppriorsTRUE_haplotagsFALSE_gtcutoff0.05_regfactor6_filterTRUE", "simpleCalls_llr4_poppriorsTRUE_haplotagsFALSE_gtcutoff0.05_regfactor6_filterTRUE",
# ] ]
# # FIXME : move to yaml/json settings or to something else # # FIXME : move to yaml/json settings or to something else
# BPDENS = [ BPDENS = [
# "selected_j{}_s{}_scedist{}".format(joint, single, scedist) for joint in [0.1] for single in [0.5] for scedist in [20] "selected_j{}_s{}_scedist{}".format(joint, single, scedist) for joint in [0.1] for single in [0.5] for scedist in [20]
# ] ]
rule all: rule all:
input: input:
expand(config["output_location"] + "counts/{sample}/{window}.txt.gz", sample=SAMPLES, window=[100000]), # expand(config["output_location"] + "counts/{sample}/{window}.txt.gz", sample=SAMPLES, window=[100000]),
expand(config["output_location"] + "counts/{sample}.txt.gz", sample=SAMPLES),
...@@ -110,36 +113,32 @@ rule all: ...@@ -110,36 +113,32 @@ rule all:
# Read counting # # Read counting #
################################################################################ ################################################################################
# CHECKME : exclude file rule useful ? rule generate_exclude_file_for_mosaic_count:
rule generate_exclude_file_1: """
rule fct:
input: input:
bam = expand(config["input_bam_location"] + "{sample}/selected/{bam}.bam", sample = SAMPLES[0], bam = BAM_PER_SAMPLE[SAMPLES[0]][0])
output: output:
config["output_location"] + "log/exclude_file.temp" """
log:
config["output_location"] + "log/generate_exclude_file_1.log"
params:
samtools = config["samtools"]
shell:
"""
{params.samtools} view -H {input.bam} | awk "/^@SQ/" > {output}
"""
rule generate_exclude_file_2:
input: input:
config["output_location"] + "log/exclude_file.temp" bam = df_config_files['Full_path'][0]
output: output:
config["output_location"] + "log/exclude_file" config["output_location"] + "log/exclude_file"
params: params:
chroms = config["chromosomes"] chroms = config["chromosomes"]
run: run:
with open(input[0]) as f: # READ BAM FILE HEADER OF FIRST BAM IN THE PANDAS DF
with open(output[0],"w") as out: h = pysam.view("-H", input[0])
for line in f: h = [e.split("\t") for e in h.split("\n") if "@SQ" in e]
contig = line.strip().split()[1]
contig = contig[3:] # CONVERT TO PANDAS DF
# if contig not in params.chroms: df_h = pd.DataFrame(h, columns=["TAG", "Contig", "LN"])
# print(contig, file = out)
# PROCESS CONTIGS
output_h = pd.DataFrame(df_h["Contig"].str.replace("SN:", ""))
output_h = output_h.loc[~output_h["Contig"].isin(params.chroms)]
# EXPORT
output_h["Contig"].to_csv(output[0], index=False, sep='\t', header=False)
# CHECKME : same as above for input ??? # CHECKME : same as above for input ???
...@@ -154,15 +153,15 @@ rule mosaic_count: ...@@ -154,15 +153,15 @@ rule mosaic_count:
input: input:
bam = lambda wc: expand(config["input_bam_location"] + wc.sample + "/selected/{bam}.bam", bam = BAM_PER_SAMPLE[wc.sample]) if wc.sample in BAM_PER_SAMPLE else "FOOBAR", bam = lambda wc: expand(config["input_bam_location"] + wc.sample + "/selected/{bam}.bam", bam = BAM_PER_SAMPLE[wc.sample]) if wc.sample in BAM_PER_SAMPLE else "FOOBAR",
bai = lambda wc: expand(config["input_bam_location"] + wc.sample + "/selected/{bam}.bam.bai", bam = BAM_PER_SAMPLE[wc.sample]) if wc.sample in BAM_PER_SAMPLE else "FOOBAR", bai = lambda wc: expand(config["input_bam_location"] + wc.sample + "/selected/{bam}.bam.bai", bam = BAM_PER_SAMPLE[wc.sample]) if wc.sample in BAM_PER_SAMPLE else "FOOBAR",
excl = config["output_location"] + "log/exclude_file"
# excl = config["output_location"] + "log/exclude_file"
output: output:
counts = config["output_location"] + "counts/{sample}/{window}.txt.fixme.gz", counts = config["output_location"] + "counts/{sample}.txt.gz",
info = config["output_location"] + "counts/{sample}/{window}.info" info = config["output_location"] + "counts/{sample}.info"
log: log:
config["output_location"] + "log/{sample}/mosaic_count.{window}.log" config["output_location"] + "log/{sample}/mosaic_count.log"
params: params:
mc_command = config["mosaicatcher"] mc_command = config["mosaicatcher"],
window = config["window"]
shell: shell:
""" """
{params.mc_command} count \ {params.mc_command} count \
...@@ -170,24 +169,12 @@ rule mosaic_count: ...@@ -170,24 +169,12 @@ rule mosaic_count:
--do-not-blacklist-hmm \ --do-not-blacklist-hmm \
-o {output.counts} \ -o {output.counts} \
-i {output.info} \ -i {output.info} \
-w {wildcards.window} \ -w {params.window} \
-x {input.excl} \
{input.bam} {input.bam}
> {log} 2>&1 > {log} 2>&1
""" """
rule tmp_filter_mosaic_count_by_chr:
input:
config["output_location"] + "counts/{sample}/{window}.txt.fixme.gz"
output:
config["output_location"] + "counts/{sample}/{window}.txt.gz"
run:
df = pd.read_csv(input[0], compression='gzip', sep='\t')
df = df.loc[df['chrom'].isin(wildcards.chromosomes)]
df.to_csv(output[0], compression='gzip', sep='\t', index=False)
################################################################################ ################################################################################
......
import pandas as pd
import sys
df_counts = pd.read_csv(sys.argv[1], compression="gzip", sep="\t")
sample_cells = df_counts["cell"].unique().tolist()[:2]
df_counts_lite = df_counts.loc[df_counts["cell"].isin(sample_cells)]
df_counts_lite.to_csv(sys.argv[3], sep="\t", compression="gzip", index=False)
info_header = "".join([line for line in open(sys.argv[2], "r").readlines() if line[0] == "#"])
with open(sys.argv[4], "w") as w:
w.write(info_header)
df_info = pd.read_csv(sys.argv[2], sep="\t", skiprows=13)
df_info_lite = df_info.loc[df_info["cell"].isin(sample_cells)]
df_info_lite.to_csv(sys.argv[4], sep="\t", mode="a", index=False)
import pysam
import sys, os
import pandas as pd
bam_file_path = "/g/korbel2/weber/MosaiCatcher_files/bam_KG_full/RPE1-WT/all/RPE1WTPE20401.sort.mdup.bam"
# bam_file_path = sys.argv[1]
# def check_bam_header(bam_file_path):
# # GET BAM FILE HEADER WITH PYSAM
# h = pysam.view("-H", bam_file_path)
# h = [e.split("\t") for e in h.split("\n")]
# sm_tag_list = list(set([sub_e.replace("SM:", "") for e in h for sub_e in e if "SM:" in sub_e]))
# # FOLDER NAME BASED ON PATH
# folder_name = bam_file_path.split("/")[-3]
# # CHECKS
# assert len(sm_tag_list) == 1, "Two different SM tags in the header of BAM file {}".format(bam_file_path)
# assert sm_tag_list[0] == folder_name, "SM tag in BAM file {} do not correspond to folder name {}".format(bam_file_path, folder_name)
# check_bam_header(bam_file_path=bam_file_path)
print(df_h)
import math
from collections import defaultdict
configfile: "config/Snake.config_embl.yaml"
import pandas as pd
import os, sys
from pprint import pprint
import pysam
from tqdm import tqdm
# TODO I/O : Function to define inputs ; simplify list/dict system // SOLVED
# TODO Use remote file system to download example files
def handle_input_data(thisdir, exclude_list=list):
""" """
# Parsing folder and retrieve only files with .bam extension
data = [(r, file.replace(".bam", "")) for r, d, f in os.walk(thisdir) for file in f if ".bam" in file and ".bai" not in file]
# Building pandas df based on folder structure
df = pd.DataFrame(data, columns=["Folder", "File"])
# Defining cols
df["all/selected"] = df["Folder"].apply(lambda r: r.split("/")[-1])
df["Sample"] = df["Folder"].apply(lambda r: r.split("/")[-2])
df["Cell"] = df["File"].apply(lambda r: r.split(".")[0])
df["Full_path"] = df["Folder"] + "/" + df["File"] + ".bam"
# Filtering based on exclude list defined
df_config_files = df.loc[~df["Cell"].isin(exclude_list)]
# Export dicts
SAMPLES = sorted(df_config_files.Sample.unique().tolist())
BAM_PER_SAMPLE = df_config_files.loc[df_config_files["all/selected"] == "selected"].groupby("Sample")["File"].apply(list).to_dict()
CELL_PER_SAMPLE = df_config_files.loc[df_config_files["all/selected"] == "selected"].groupby("Sample")["Cell"].apply(list).to_dict()
ALLBAMS_PER_SAMPLE = df_config_files.loc[df_config_files["all/selected"] == "all"].groupby("Sample")["File"].apply(list).to_dict()
return SAMPLES, BAM_PER_SAMPLE, CELL_PER_SAMPLE, ALLBAMS_PER_SAMPLE, df_config_files
def check_bam_header(bam_file_path):
""" """
# Get BAM file header with pysam
h = pysam.view("-H", bam_file_path)
h = [e.split("\t") for e in h.split("\n")]
sm_tag_list = list(set([sub_e.replace("SM:", "") for e in h for sub_e in e if "SM:" in sub_e]))
# Folder name based on path
folder_name = bam_file_path.split("/")[-3]
# Assertions
assert len(sm_tag_list) == 1, "Two different SM tags in the header of BAM file {}".format(bam_file_path)
assert sm_tag_list[0] == folder_name, 'Folder name "{}" must correspond to SM tag in BAM file "{}"'.format(folder_name, bam_file_path)
# FIXME : tmp solution to remove bad cells => need to fix this with combination of ASHLEYS ?
# TODO : other solution by giving in config file, CLI input ?
exclude_list = ["BM510x3PE20490"]
SAMPLES, BAM_PER_SAMPLE, CELL_PER_SAMPLE, ALLBAMS_PER_SAMPLE, df_config_files = handle_input_data(
thisdir="/g/korbel2/weber/MosaiCatcher_files/bam_KG_full/", exclude_list=exclude_list
)
# print(df_config_files)
# print(df_config_files["Full_path"][0])
tqdm.pandas(desc="Checking if BAM SM tags correspond to folder names")
df_config_files["Full_path"].progress_apply(
check_bam_header,
)
all_dict = df_config_files.loc[df_config_files["all/selected"] == "all"].groupby("Sample")["Cell"].nunique().to_dict()
selected_dict = df_config_files.loc[df_config_files["all/selected"] == "selected"].groupby("Sample")["Cell"].nunique().to_dict()
print("Detected {} samples:".format(df_config_files.Sample.nunique()))
[print(" {}:\t{} cells\t {} selected cells".format(s, all_dict[s], selected_dict[s])) for s in SAMPLES]
This diff is collapsed.
set(CMAKE_CXX_COMPILER "/usr/bin/c++")
set(CMAKE_CXX_COMPILER_ARG1 "")
set(CMAKE_CXX_COMPILER_ID "GNU")
set(CMAKE_CXX_COMPILER_VERSION "4.8.5")
set(CMAKE_CXX_COMPILER_VERSION_INTERNAL "")
set(CMAKE_CXX_COMPILER_WRAPPER "")
set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "98")
set(CMAKE_CXX_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters;cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_std_14;cxx_template_template_parameters")
set(CMAKE_CXX98_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters")
set(CMAKE_CXX11_COMPILE_FEATURES "cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates")
set(CMAKE_CXX14_COMPILE_FEATURES "cxx_std_14;cxx_template_template_parameters")
set(CMAKE_CXX17_COMPILE_FEATURES "")
set(CMAKE_CXX20_COMPILE_FEATURES "")
set(CMAKE_CXX_PLATFORM_ID "Linux")
set(CMAKE_CXX_SIMULATE_ID "")
set(CMAKE_CXX_COMPILER_FRONTEND_VARIANT "")
set(CMAKE_CXX_SIMULATE_VERSION "")
set(CMAKE_AR "/usr/bin/ar")
set(CMAKE_CXX_COMPILER_AR "/usr/bin/gcc-ar")
set(CMAKE_RANLIB "/usr/bin/ranlib")
set(CMAKE_CXX_COMPILER_RANLIB "/usr/bin/gcc-ranlib")
set(CMAKE_LINKER "/usr/bin/ld")
set(CMAKE_MT "")
set(CMAKE_COMPILER_IS_GNUCXX 1)
set(CMAKE_CXX_COMPILER_LOADED 1)
set(CMAKE_CXX_COMPILER_WORKS TRUE)
set(CMAKE_CXX_ABI_COMPILED TRUE)
set(CMAKE_COMPILER_IS_MINGW )
set(CMAKE_COMPILER_IS_CYGWIN )
if(CMAKE_COMPILER_IS_CYGWIN)
set(CYGWIN 1)
set(UNIX 1)
endif()
set(CMAKE_CXX_COMPILER_ENV_VAR "CXX")
if(CMAKE_COMPILER_IS_MINGW)
set(MINGW 1)
endif()
set(CMAKE_CXX_COMPILER_ID_RUN 1)
set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm;CPP)
set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC)
foreach (lang C OBJC OBJCXX)
if (CMAKE_${lang}_COMPILER_ID_RUN)
foreach(extension IN LISTS CMAKE_${lang}_SOURCE_FILE_EXTENSIONS)
list(REMOVE_ITEM CMAKE_CXX_SOURCE_FILE_EXTENSIONS ${extension})
endforeach()
endif()
endforeach()
set(CMAKE_CXX_LINKER_PREFERENCE 30)
set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1)
# Save compiler ABI information.
set(CMAKE_CXX_SIZEOF_DATA_PTR "8")
set(CMAKE_CXX_COMPILER_ABI "ELF")
set(CMAKE_CXX_LIBRARY_ARCHITECTURE "")
if(CMAKE_CXX_SIZEOF_DATA_PTR)
set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}")
endif()
if(CMAKE_CXX_COMPILER_ABI)
set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}")
endif()
if(CMAKE_CXX_LIBRARY_ARCHITECTURE)
set(CMAKE_LIBRARY_ARCHITECTURE "")
endif()
set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "")
if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX)
set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}")
endif()
set(CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES "/usr/include/c++/4.8.5;/usr/include/c++/4.8.5/x86_64-redhat-linux;/usr/include/c++/4.8.5/backward;/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include;/usr/local/include;/usr/include")
set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "stdc++;m;gcc_s;gcc;c;gcc_s;gcc")
set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-redhat-linux/4.8.5;/usr/lib64;/lib64;/usr/lib")
set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")
File added
set(CMAKE_HOST_SYSTEM "Linux-3.10.0-957.1.3.el7.x86_64")
set(CMAKE_HOST_SYSTEM_NAME "Linux")
set(CMAKE_HOST_SYSTEM_VERSION "3.10.0-957.1.3.el7.x86_64")
set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64")
set(CMAKE_SYSTEM "Linux-3.10.0-957.1.3.el7.x86_64")
set(CMAKE_SYSTEM_NAME "Linux")
set(CMAKE_SYSTEM_VERSION "3.10.0-957.1.3.el7.x86_64")
set(CMAKE_SYSTEM_PROCESSOR "x86_64")
set(CMAKE_CROSSCOMPILING "FALSE")
set(CMAKE_SYSTEM_LOADED 1)
This diff is collapsed.
File added
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 3.16
# Relative path conversion top directories.
set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/g/korbel2/weber/workspace/mosaicatcher-update/src")
set(CMAKE_RELATIVE_PATH_TOP_BINARY "/g/korbel2/weber/workspace/mosaicatcher-update/build")
# Force unix paths in dependencies.
set(CMAKE_FORCE_UNIX_PATHS 1)
# The C and CXX include file regular expressions for this directory.
set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$")
set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$")
set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN})
set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN})
This diff is collapsed.
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 3.16
# The generator used is:
set(CMAKE_DEPENDS_GENERATOR "Unix Makefiles")
# The top level Makefile was generated from the following files:
set(CMAKE_MAKEFILE_DEPENDS
"CMakeCache.txt"
"CMakeFiles/3.16.4/CMakeCXXCompiler.cmake"
"CMakeFiles/3.16.4/CMakeSystem.cmake"
"/g/korbel2/weber/workspace/mosaicatcher-update/src/CMakeLists.txt"
"/g/korbel2/weber/workspace/mosaicatcher-update/src/version.hpp.in"
"/g/korbel2/weber/workspace/mosaicatcher-update/workflow/.snakemake/conda/cfff53210303d09b4a065113892c2e55/lib/cmake/Boost-1.78.0/BoostConfig.cmake"
"/g/korbel2/weber/workspace/mosaicatcher-update/workflow/.snakemake/conda/cfff53210303d09b4a065113892c2e55/lib/cmake/Boost-1.78.0/BoostConfigVersion.cmake"
"/g/korbel2/weber/workspace/mosaicatcher-update/workflow/.snakemake/conda/cfff53210303d09b4a065113892c2e55/lib/cmake/BoostDetectToolset-1.78.0.cmake"
"/g/korbel2/weber/workspace/mosaicatcher-update/workflow/.snakemake/conda/cfff53210303d09b4a065113892c2e55/lib/cmake/boost_atomic-1.78.0/boost_atomic-config-version.cmake"
"/g/korbel2/weber/workspace/mosaicatcher-update/workflow/.snakemake/conda/cfff53210303d09b4a065113892c2e55/lib/cmake/boost_atomic-1.78.0/boost_atomic-config.cmake"
"/g/korbel2/weber/workspace/mosaicatcher-update/workflow/.snakemake/conda/cfff53210303d09b4a065113892c2e55/lib/cmake/boost_atomic-1.78.0/libboost_atomic-variant-shared.cmake"
"/g/korbel2/weber/workspace/mosaicatcher-update/workflow/.snakemake/conda/cfff53210303d09b4a065113892c2e55/lib/cmake/boost_date_time-1.78.0/boost_date_time-config-version.cmake"
"/g/korbel2/weber/workspace/mosaicatcher-update/workflow/.snakemake/conda/cfff53210303d09b4a065113892c2e55/lib/cmake/boost_date_time-1.78.0/boost_date_time-config.cmake"
"/g/korbel2/weber/workspace/mosaicatcher-update/workflow/.snakemake/conda/cfff53210303d09b4a065113892c2e55/lib/cmake/boost_date_time-1.78.0/libboost_date_time-variant-shared.cmake"
"/g/korbel2/weber/workspace/mosaicatcher-update/workflow/.snakemake/conda/cfff53210303d09b4a065113892c2e55/lib/cmake/boost_filesystem-1.78.0/boost_filesystem-config-version.cmake"
"/g/korbel2/weber/workspace/mosaicatcher-update/workflow/.snakemake/conda/cfff53210303d09b4a065113892c2e55/lib/cmake/boost_filesystem-1.78.0/boost_filesystem-config.cmake"
"/g/korbel2/weber/workspace/mosaicatcher-update/workflow/.snakemake/conda/cfff53210303d09b4a065113892c2e55/lib/cmake/boost_filesystem-1.78.0/libboost_filesystem-variant-shared.cmake"
"/g/korbel2/weber/workspace/mosaicatcher-update/workflow/.snakemake/conda/cfff53210303d09b4a065113892c2e55/lib/cmake/boost_headers-1.78.0/boost_headers-config-version.cmake"
"/g/korbel2/weber/workspace/mosaicatcher-update/workflow/.snakemake/conda/cfff53210303d09b4a065113892c2e55/lib/cmake/boost_headers-1.78.0/boost_headers-config.cmake"
"/g/korbel2/weber/workspace/mosaicatcher-update/workflow/.snakemake/conda/cfff53210303d09b4a065113892c2e55/lib/cmake/boost_iostreams-1.78.0/boost_iostreams-config-version.cmake"
"/g/korbel2/weber/workspace/mosaicatcher-update/workflow/.snakemake/conda/cfff53210303d09b4a065113892c2e55/lib/cmake/boost_iostreams-1.78.0/boost_iostreams-config.cmake"
"/g/korbel2/weber/workspace/mosaicatcher-update/workflow/.snakemake/conda/cfff53210303d09b4a065113892c2e55/lib/cmake/boost_iostreams-1.78.0/libboost_iostreams-variant-shared.cmake"
"/g/korbel2/weber/workspace/mosaicatcher-update/workflow/.snakemake/conda/cfff53210303d09b4a065113892c2e55/lib/cmake/boost_program_options-1.78.0/boost_program_options-config-version.cmake"
"/g/korbel2/weber/workspace/mosaicatcher-update/workflow/.snakemake/conda/cfff53210303d09b4a065113892c2e55/lib/cmake/boost_program_options-1.78.0/boost_program_options-config.cmake"
"/g/korbel2/weber/workspace/mosaicatcher-update/workflow/.snakemake/conda/cfff53210303d09b4a065113892c2e55/lib/cmake/boost_program_options-1.78.0/libboost_program_options-variant-shared.cmake"
"/g/korbel2/weber/workspace/mosaicatcher-update/workflow/.snakemake/conda/cfff53210303d09b4a065113892c2e55/lib/cmake/boost_system-1.78.0/boost_system-config-version.cmake"
"/g/korbel2/weber/workspace/mosaicatcher-update/workflow/.snakemake/conda/cfff53210303d09b4a065113892c2e55/lib/cmake/boost_system-1.78.0/boost_system-config.cmake"
"/g/korbel2/weber/workspace/mosaicatcher-update/workflow/.snakemake/conda/cfff53210303d09b4a065113892c2e55/lib/cmake/boost_system-1.78.0/libboost_system-variant-shared.cmake"
"/home/tweber/.conda/envs/strandseqnation/share/cmake-3.16/Modules/CMakeCXXInformation.cmake"
"/home/tweber/.conda/envs/strandseqnation/share/cmake-3.16/Modules/CMakeCheckCompilerFlagCommonPatterns.cmake"
"/home/tweber/.conda/envs/strandseqnation/share/cmake-3.16/Modules/CMakeCommonLanguageInclude.cmake"
"/home/tweber/.conda/envs/strandseqnation/share/cmake-3.16/Modules/CMakeGenericSystem.cmake"
"/home/tweber/.conda/envs/strandseqnation/share/cmake-3.16/Modules/CMakeInitializeConfigs.cmake"
"/home/tweber/.conda/envs/strandseqnation/share/cmake-3.16/Modules/CMakeLanguageInformation.cmake"
"/home/tweber/.conda/envs/strandseqnation/share/cmake-3.16/Modules/CMakeSystemSpecificInformation.cmake"
"/home/tweber/.conda/envs/strandseqnation/share/cmake-3.16/Modules/CMakeSystemSpecificInitialize.cmake"
"/home/tweber/.conda/envs/strandseqnation/share/cmake-3.16/Modules/Compiler/CMakeCommonCompilerMacros.cmake"
"/home/tweber/.conda/envs/strandseqnation/share/cmake-3.16/Modules/Compiler/GNU-CXX.cmake"
"/home/tweber/.conda/envs/strandseqnation/share/cmake-3.16/Modules/Compiler/GNU.cmake"
"/home/tweber/.conda/envs/strandseqnation/share/cmake-3.16/Modules/ExternalProject.cmake"
"/home/tweber/.conda/envs/strandseqnation/share/cmake-3.16/Modules/FindBoost.cmake"
"/home/tweber/.conda/envs/strandseqnation/share/cmake-3.16/Modules/FindDoxygen.cmake"
"/home/tweber/.conda/envs/strandseqnation/share/cmake-3.16/Modules/FindPackageHandleStandardArgs.cmake"
"/home/tweber/.conda/envs/strandseqnation/share/cmake-3.16/Modules/FindPackageMessage.cmake"
"/home/tweber/.conda/envs/strandseqnation/share/cmake-3.16/Modules/FindPkgConfig.cmake"
"/home/tweber/.conda/envs/strandseqnation/share/cmake-3.16/Modules/Internal/CMakeCheckCompilerFlag.cmake"
"/home/tweber/.conda/envs/strandseqnation/share/cmake-3.16/Modules/Platform/Linux-GNU-CXX.cmake"
"/home/tweber/.conda/envs/strandseqnation/share/cmake-3.16/Modules/Platform/Linux-GNU.cmake"
"/home/tweber/.conda/envs/strandseqnation/share/cmake-3.16/Modules/Platform/Linux.cmake"
"/home/tweber/.conda/envs/strandseqnation/share/cmake-3.16/Modules/Platform/UnixPaths.cmake"
)
# The corresponding makefile is:
set(CMAKE_MAKEFILE_OUTPUTS
"Makefile"
"CMakeFiles/cmake.check_cache"
)
# Byproducts of CMake generate step:
set(CMAKE_MAKEFILE_PRODUCTS
"version.hpp"
"CMakeFiles/CMakeDirectoryInformation.cmake"
)
# Dependency information for all targets:
set(CMAKE_DEPEND_INFO_FILES
"CMakeFiles/mosaic.dir/DependInfo.cmake"
)
# CMAKE generated file: DO NOT EDIT!
# Generated by "Unix Makefiles" Generator, CMake Version 3.16
# Default target executed when no arguments are given to make.
default_target: all
.PHONY : default_target
#=============================================================================
# Special targets provided by cmake.
# Disable implicit rules so canonical targets will work.
.SUFFIXES:
# Remove some rules from gmake that .SUFFIXES does not remove.
SUFFIXES =
.SUFFIXES: .hpux_make_needs_suffix_list
# Suppress display of executed commands.
$(VERBOSE).SILENT:
# A target that is always out of date.
cmake_force:
.PHONY : cmake_force
#=============================================================================
# Set environment variables for the build.
# The shell in which to execute make rules.
SHELL = /bin/sh
# The CMake executable.
CMAKE_COMMAND = /home/tweber/.conda/envs/strandseqnation/bin/cmake
# The command to remove a file.
RM = /home/tweber/.conda/envs/strandseqnation/bin/cmake -E remove -f
# Escaping for special characters.
EQUALS = =
# The top-level source directory on which CMake was run.
CMAKE_SOURCE_DIR = /g/korbel2/weber/workspace/mosaicatcher-update/src
# The top-level build directory on which CMake was run.
CMAKE_BINARY_DIR = /g/korbel2/weber/workspace/mosaicatcher-update/build
#=============================================================================
# Directory level rules for the build root directory
# The main recursive "all" target.
all: CMakeFiles/mosaic.dir/all
.PHONY : all
# The main recursive "preinstall" target.
preinstall:
.PHONY : preinstall
# The main recursive "clean" target.
clean: CMakeFiles/mosaic.dir/clean
.PHONY : clean
#=============================================================================
# Target rules for target CMakeFiles/mosaic.dir
# All Build rule for target.
CMakeFiles/mosaic.dir/all:
$(MAKE) -f CMakeFiles/mosaic.dir/build.make CMakeFiles/mosaic.dir/depend
$(MAKE) -f CMakeFiles/mosaic.dir/build.make CMakeFiles/mosaic.dir/build
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/g/korbel2/weber/workspace/mosaicatcher-update/build/CMakeFiles --progress-num=1,2 "Built target mosaic"
.PHONY : CMakeFiles/mosaic.dir/all
# Build rule for subdir invocation for target.
CMakeFiles/mosaic.dir/rule: cmake_check_build_system
$(CMAKE_COMMAND) -E cmake_progress_start /g/korbel2/weber/workspace/mosaicatcher-update/build/CMakeFiles 2
$(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/mosaic.dir/all
$(CMAKE_COMMAND) -E cmake_progress_start /g/korbel2/weber/workspace/mosaicatcher-update/build/CMakeFiles 0
.PHONY : CMakeFiles/mosaic.dir/rule
# Convenience name for target.
mosaic: CMakeFiles/mosaic.dir/rule
.PHONY : mosaic
# clean rule for target.
CMakeFiles/mosaic.dir/clean:
$(MAKE) -f CMakeFiles/mosaic.dir/build.make CMakeFiles/mosaic.dir/clean
.PHONY : CMakeFiles/mosaic.dir/clean
#=============================================================================
# Special targets to cleanup operation of make.
# Special rule to run CMake to check the build system integrity.
# No rule that depends on this can have commands that come from listfiles
# because they might be regenerated.
cmake_check_build_system:
$(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
.PHONY : cmake_check_build_system
/g/korbel2/weber/workspace/mosaicatcher-update/build/CMakeFiles/rebuild_cache.dir
/g/korbel2/weber/workspace/mosaicatcher-update/build/CMakeFiles/mosaic.dir
/g/korbel2/weber/workspace/mosaicatcher-update/build/CMakeFiles/edit_cache.dir
# This file is generated by cmake for dependency checking of the CMakeCache.txt file
File added
const char features[] = {"\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && __cplusplus
"1"
#else
"0"
#endif
"cxx_template_template_parameters\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L
"1"
#else
"0"
#endif
"cxx_alias_templates\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L
"1"
#else
"0"
#endif
"cxx_alignas\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L
"1"
#else
"0"
#endif
"cxx_alignof\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L
"1"
#else
"0"
#endif
"cxx_attributes\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_auto_type\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_constexpr\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_decltype\n"
"CXX_FEATURE:"
#if ((__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) >= 40801) && __cplusplus >= 201103L
"1"
#else
"0"
#endif
"cxx_decltype_incomplete_return_types\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_default_function_template_args\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_defaulted_functions\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_defaulted_move_initializers\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L
"1"
#else
"0"
#endif
"cxx_delegating_constructors\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_deleted_functions\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_enum_forward_declarations\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 405 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_explicit_conversions\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L
"1"
#else
"0"
#endif
"cxx_extended_friend_declarations\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_extern_templates\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L
"1"
#else
"0"
#endif
"cxx_final\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_func_identifier\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_generalized_initializers\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L
"1"
#else
"0"
#endif
"cxx_inheriting_constructors\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_inline_namespaces\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 405 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_lambdas\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 405 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_local_type_template_args\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_long_long_type\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_noexcept\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L
"1"
#else
"0"
#endif
"cxx_nonstatic_member_init\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_nullptr\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L
"1"
#else
"0"
#endif
"cxx_override\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_range_for\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 405 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_raw_string_literals\n"
"CXX_FEATURE:"
#if ((__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) >= 40801) && __cplusplus >= 201103L
"1"
#else
"0"
#endif
"cxx_reference_qualified_functions\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_right_angle_brackets\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_rvalue_references\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_sizeof_member\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_static_assert\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_strong_enums\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L
"1"
#else
"0"
#endif
"cxx_thread_local\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_trailing_return_types\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_unicode_literals\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_uniform_initialization\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_unrestricted_unions\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L
"1"
#else
"0"
#endif
"cxx_user_literals\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_variadic_macros\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
"1"
#else
"0"
#endif
"cxx_variadic_templates\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 500 && __cplusplus >= 201402L
"1"
#else
"0"
#endif
"cxx_aggregate_default_initializers\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L
"1"
#else
"0"
#endif
"cxx_attribute_deprecated\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L
"1"
#else
"0"
#endif
"cxx_binary_literals\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L
"1"
#else
"0"
#endif
"cxx_contextual_conversions\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L
"1"
#else
"0"
#endif
"cxx_decltype_auto\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L
"1"
#else
"0"
#endif
"cxx_digit_separators\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L
"1"
#else
"0"
#endif
"cxx_generic_lambdas\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L
"1"
#else
"0"
#endif
"cxx_lambda_init_captures\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 500 && __cplusplus >= 201402L
"1"
#else
"0"
#endif
"cxx_relaxed_constexpr\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L
"1"
#else
"0"
#endif
"cxx_return_type_deduction\n"
"CXX_FEATURE:"
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 500 && __cplusplus >= 201402L
"1"
#else
"0"
#endif
"cxx_variable_templates\n"
};
int main(int argc, char** argv) { (void)argv; return features[argc]; }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment