コード例 #1
0
//JAVA TO C# CONVERTER WARNING: 'final' parameters are not allowed in .NET:
//ORIGINAL LINE: public static VCFHeader writeHeader(VCFHeader header, final Writer writer, final boolean doNotWriteGenotypes, final String versionLine, final String streamNameForError)
        public static VCFHeader writeHeader(VCFHeader header, Writer writer, bool doNotWriteGenotypes, string versionLine, string streamNameForError)
        {
            header = doNotWriteGenotypes ? new VCFHeader(header.MetaDataInSortedOrder) : header;

            try
            {
                // the file format field needs to be written first
                writer.write(versionLine + "\n");

                foreach (VCFHeaderLine line in header.MetaDataInSortedOrder)
                {
                    if (VCFHeaderVersion.isFormatString(line.Key))
                    {
                        continue;
                    }

                    writer.write(VCFHeader.METADATA_INDICATOR);
                    writer.write(line.ToString());
                    writer.write("\n");
                }

                // write out the column line
                writer.write(VCFHeader.HEADER_INDICATOR);
                bool isFirst = true;
                foreach (string field in VCFHeader.HEADER_FIELDS)
                {
                    if (isFirst)
                    {
                        isFirst = false;                         // don't write out a field separator
                    }
                    else
                    {
                        writer.write(VCFConstants.FIELD_SEPARATOR);
                    }
                    writer.write(field.ToString());
                }

                if (header.hasGenotypingData())
                {
                    writer.write(VCFConstants.FIELD_SEPARATOR);
                    writer.write("FORMAT");
                    foreach (string sample in header.GenotypeSampleNames)
                    {
                        writer.write(VCFConstants.FIELD_SEPARATOR);
                        writer.write(sample);
                    }
                }

                writer.write("\n");
                writer.flush();                 // necessary so that writing to an output stream will work
            }
            catch (IOException e)
            {
                throw new Exception("IOException writing the VCF header to " + streamNameForError, e);
            }

            return(header);
        }
コード例 #2
0
ファイル: VCFInfoHeaderLine.cs プロジェクト: w3he/Bio.VCF
		public VCFInfoHeaderLine(string line, VCFHeaderVersion version) : base(line, version, SupportedHeaderLineType.INFO)
		{
		}
コード例 #3
0
 /// <summary>
 /// create a VCF info header line
 /// </summary>
 /// <param name="line">      the header line </param>
 /// <param name="version">   the vcf header version </param>
 public VCFFilterHeaderLine(string line, VCFHeaderVersion version) : base(line, version, "FILTER", "ID", "Description")
 {
 }
コード例 #4
0
 public VCFFormatHeaderLine(string line, VCFHeaderVersion version)
     : base(line, version, SupportedHeaderLineType.FORMAT)
 {
 }
コード例 #5
0
ファイル: VCFFormatHeaderLine.cs プロジェクト: w3he/Bio.VCF
		public VCFFormatHeaderLine(string line, VCFHeaderVersion version)
            : base(line, version, SupportedHeaderLineType.FORMAT)
		{
		}
コード例 #6
0
 public VCFInfoHeaderLine(string line, VCFHeaderVersion version) : base(line, version, SupportedHeaderLineType.INFO)
 {
 }