FeatureInput
类是 GATK(Genome Analysis Toolkit)中的一个重要组件,用于处理和管理额外的功能数据(例如变异注释或其它遗传信息),以便在基因组数据分析过程中提供更多的上下文信息。以下是 FeatureInput
类的一些关键点:
目的和功能:
FeatureInput
主要用于传递外部功能数据(如变异注释、基因组特征等)给 GATK 工具进行处理。- 它允许在分析中整合额外的注释信息,以增强变异调用的准确性或提供更多的生物学上下文。
使用场景:
-
- 在变异调用过程中,
FeatureInput
可以用于加载与变异相关的注释数据(例如基因组特征、已知的变异位点等)。 - 可以用来指定额外的 VCF 文件、BED 文件、GFF 文件等,这些文件提供了对变异位点的更多注释信息。
- 在变异调用过程中,
源码:
package org.broadinstitute.hellbender.engine;
import com.google.common.annotations.VisibleForTesting;
import htsjdk.tribble.Feature;
import htsjdk.tribble.FeatureCodec;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.broadinstitute.hellbender.utils.Utils;
import org.broadinstitute.hellbender.utils.io.IOUtils;
import java.io.Serializable;
import java.util.*;
/**
* Class to represent a Feature-containing input file. Tools should declare @Argument-annotated fields of
* this type (or Collections of this type), and the Feature management system will automatically discover
* them at runtime (provided that they are declared in the tool itself, a superclass of the tool, or an
* ArgumentCollection of the tool).
*
* DO NOT ATTEMPT TO INSTANTIATE THIS CLASS DIRECTLY! FeatureInputs must be instantiated by the argument-parsing
* system only in order to be recognized by the Feature management system. This is why the constructor is
* marked as protected.
*
* If you still want to instantiate this class directly, you will have to call {@link GATKTool#addFeatureInputsAfterInitialization(String, String, Class, int)}
* in order to register the FeatureInput with the engine.
*
* FeatureInputs can be assigned logical names on the command line using the syntax:
*
* --argument_name:logical_name f