Esempio n. 1
0
        private void WriteProteinDetails( TextWriter w, Protein p )
        {
            Tag tr = new Tag( "tr", true );
            Tag td = new Tag( "td", "colspan" );
            Tag th = new Tag( "th", "rowspan" );
            Tag a = new Tag( "a", "href" );
            int i;

            w.WriteLine( "<table>\n<caption><a name=\""+p.Accession+"\"/>Protein "+p.Accession+"</caption>" );
            //w.WriteLine( "<col width=\"10%\"/><col width=\"5%\"/><col width=\"10%\"/><col width=\"75%\"/>" );
            w.WriteLine( tr.Render(th.Render("Name")+td.Render("3",p.EntryEx)) );
            w.WriteLine( tr.Render(th.Render("Description")+td.Render("3",p.Desc)) );
            w.WriteLine( tr.Render(th.Render("Sequence")+td.Render("3","<pre>"+p.ParseSeq(10)+"</pre>")) );
            w.WriteLine( tr.Render(th.Render("Evidence")+td.Render("3",p.Evidence.ToString())) );
            w.Write( tr+th.Render("Peptide list")+"<td colspan=\"3\">" );
            if( p.Peptides.Count > 0 ) {
            for( i = 0; i < p.Peptides.Count-1; i++ )
                w.Write( a.Render("#"+p.Accession+"__"+p.Peptides[i].ID,p.Peptides[i].ToString()) + ", " );
            w.Write( a.Render("#"+p.Accession+"__"+p.Peptides[i].ID,p.Peptides[i].ToString()) );
            }
            w.WriteLine( "</td>"+tr );
            if( p.Peptides.Count == 0 ) {
            w.WriteLine( "</table><br/>" );
            return;
            }
            int rows = 8;
            if( Spectra.Count != 0 )
            rows++;
            w.Write( tr+th.Render((p.Peptides.Count*rows).ToString(),"Peptides") );
            bool first = true;
            foreach( Peptide f in p.Peptides ) {
            if( first )
                first = false;
            else
                w.Write( tr.ToString() );
            w.Write( th.Render(rows.ToString(),f.ToString()) );
            w.WriteLine( th.Render("<a name=\""+p.Accession+"__"+f.ID+"\"/>Confidence")+td.Render(f.Confidence.ToString())+tr );
            tr.Hold = true;
            w.WriteLine( tr.Render(th.Render("Decoy")+td.Render(f.Decoy.ToString())) );
            w.Write( tr+th.Render("Runs")+td );
            for( i = 0; i < f.Runs.Count-1; i++ )
                w.Write( f.Runs[i].ToString() + ", " );
            w.WriteLine( f.Runs[i].ToString()+td+tr );
            w.WriteLine( tr.Render(th.Render("Relation")+td.Render(f.Relation.ToString())) );
            w.Write( tr+th.Render("Proteins")+td );
            for( i = 0; i < f.Proteins.Count-1; i++ )
                w.Write( a.Render("#"+f.Proteins[i].Accession,f.Proteins[i].EntryEx) + ", " );
            w.WriteLine( a.Render("#"+f.Proteins[i].Accession,f.Proteins[i].EntryEx)+td.ToString()+tr );
            w.WriteLine( tr.Render(th.Render("Sequence")+td.Render("<pre>"+f.Sequence+"</pre>")) );
            w.WriteLine( tr.Render(th.Render("Position")+td.Render(f.GetPositions(p))) );
            w.Write( tr+th.Render("PTMs")+td );
            if( f.Variants.Count == 1 )
                w.Write( Peptide.Variant2Str(f.LastVariant) );
            else {
                i = 1;
                foreach( List<PTM> v in f.Variants )
                    w.Write( "Variant #"+(i++)+": "+Peptide.Variant2Str(v)+"<br/>" );
            }
            w.WriteLine( td.ToString()+tr );
            if( Spectra.Count != 0 ) {
                w.Write( tr+th.Render("PSMs")+td );
                if( f.Psm != null ) {
                    for( i = 0; i < f.Psm.Count-1; i++ )
                        w.Write( a.Render("#PSM"+f.Psm[i].ID,f.Psm[i].ID.ToString()) + ", " );
                    w.WriteLine( a.Render("#PSM"+f.Psm[i].ID,f.Psm[i].ID.ToString()) );
                }
                w.WriteLine( td.ToString()+tr );
            }
            tr.Hold = false;
            }
            w.WriteLine( "</table><br/>" );
        }
Esempio n. 2
0
        private void WriteSpectraDetails( TextWriter w, Spectrum s )
        {
            Tag tr = new Tag( "tr", true );
            Tag td = new Tag( "td", "colspan" );
            Tag th = new Tag( "th", "rowspan" );
            Tag a = new Tag( "a", "href" );
            int i;

            w.WriteLine( "<table>\n<caption><a name=\"Spectrum"+s.ID+"\"/>Spectrum "+s.SpectrumID+"</caption>" );
            w.WriteLine( tr.Render(th.Render("ID")+td.Render("3",s.SpectrumID)) );
            w.WriteLine( tr.Render(th.Render("Location")+td.Render("3",s.File)) );
            w.Write( tr+th.Render("PSM list")+"<td colspan=\"3\">" );
            if( s.Psm.Count > 0 ) {
            for( i = 0; i < s.Psm.Count-1; i++ )
                w.Write( a.Render("#PSM"+s.Psm[i].ID,s.Psm[i].ID.ToString()) + ", " );
            w.Write( a.Render("#PSM"+s.Psm[i].ID,s.Psm[i].ID.ToString()) );
            }
            w.WriteLine( "</td>"+tr );
            if( s.Psm.Count == 0 ) {
            w.WriteLine( "</table><br/>" );
            return;
            }
            w.Write( tr+th.Render((s.Psm.Count*8).ToString(),"PSMs") );
            bool first = true;
            foreach( PSM psm in s.Psm ) {
            if( first )
                first = false;
            else
                w.Write( tr.ToString() );
            w.Write( th.Render("8",psm.ID.ToString()) );
            w.WriteLine( th.Render("<a name=\"PSM"+psm.ID+"\"/>Charge")+td.Render(psm.Charge.ToString())+tr );
            tr.Hold = true;
            w.WriteLine( tr+th.Render("M/Z")+td.Render(psm.Mz.ToString())+tr );
            w.WriteLine( tr+th.Render("Rank")+td.Render(psm.Rank.ToString())+tr );
            w.WriteLine( tr+th.Render("Score")+td.Render(psm.Score<0.0?"N/A":psm.Score.ToString())+tr );
            w.WriteLine( tr+th.Render("Score type")+td.Render(psm.ScoreType)+tr );
            w.WriteLine( tr+th.Render("Confidence")+td.Render(psm.Confidence.ToString())+tr );
            w.WriteLine( tr+th.Render("PassThreshold")+td.Render(psm.passThreshold.ToString())+tr );
            w.Write( tr+th.Render("Peptide")+td );
            if( psm.Peptide != null ) {
                w.Write( psm.Peptide.ToString() );
                if( psm.Peptide.Proteins.Count > 0 ) {
                    w.Write( " (" );
                    for( i = 0; i < psm.Peptide.Proteins.Count - 1; i++ )
                        w.Write( a.Render("#"+psm.Peptide.Proteins[i].Accession+"__"+psm.Peptide.ID,psm.Peptide.Proteins[i].EntryEx) + ", " );
                    w.Write( a.Render("#"+psm.Peptide.Proteins[i].Accession+"__"+psm.Peptide.ID,psm.Peptide.Proteins[i].EntryEx) + ")" );
                }
            } else
                w.Write( "N/A (ProCon duplicate?)" );
            w.WriteLine( td.ToString()+tr);
            tr.Hold = false;
            }
            w.WriteLine( "</table><br/>" );
            w.Flush();
        }