Schema for UniProt - UniProt SwissProt/TrEMBL Protein Annotations
  Database: droSec1    Primary Table: unipAliSwissprot Data last updated: 2024-02-27
Big Bed File Download: /gbdb/droSec1/uniprot/unipAliSwissprot.bb
Item Count: 303
The data is stored in the binary BigBed format.

Format description: bigPsl pairwise alignment
fieldexampledescription
chromsuper_0Reference sequence chromosome or scaffold
chromStart10914846Start position in chromosome
chromEnd10916800End position in chromosome
nameB4HE12UniProt isoform seq. ID
score1000Score (0-1000)
strand-+ or - indicates whether the query aligns to the + or - strand on the reference
thickStart10914846Start of where display should be thick (start codon)
thickEnd10916800End of where display should be thick (stop codon)
reserved12,12,120RGB value (use R,G,B string in input file)
blockCount2Number of blocks
blockSizes478,1418Comma separated list of block sizes
chromStarts0,536Start positions relative to chromStart
oChromStart0Start position in other chromosome
oChromEnd1896End position in other chromosome
oStrand++ or -, - means that psl was reversed into BED-compatible coordinates
oChromSize1896Size of other chromosome.
oChromStarts0,478,Start positions relative to oChromStart or from oChromStart+oChromSize depending on strand
oSequenceMSASTSTSTAASQDACYISLLGLAEYFRTSQPPNIKKCIQCLQALFTFMPPSKVEARTHLQMGQILMAYTKNIDLARQHLEKAWSISEPLPNFDVKFDTASLLAQLHLQTDRNSHQAKAMLRRAVELSQNNVYWHCKLLLQLSQIHASDREYSLASELLAVGAESADEASATYLKVLFLLSRAMILMIERKTNDVLALLNSAGQIIDNNIPNPHQKEYLKVFFLVLQVCYYLALGQVKTVKPSLKQLQMSIQTIMAPNWPSDEAIFGANQLEMFVWLPKEQLYVLVYLVTVSHSMMAGYMDKAQKYTEKALTQIEKLKQQEDKPILSVFKVILLEHIVMCRMVMGNRELAIREIAAARDVCMAAPQRSLLRRHSAQLHCLIGLYSMSTNLFEHAERQFVVCVSETSERDLKLFANLNLAIIYLRTKRDTDLKQILDAVSTENTHTYSSQALMGGFYYVQGLHAFHKNSFHEAKRFLRETLKMANAEDLNRLTSCSLVLLSHVFLSIGNSKESMNMVTPAMQLASKIPDIHVQLWGSAILKDLHRMSKDVQHEKDAYANHVKYSENLIADQRKCVQSAHHELVNWFQGDPPVTSGPPAVPVLLMPESSVTASVPVIASTSAAMQPAGQYGQFYSequence on other chrom (or edit list, or empty)
oCDSCDS in NCBI format
chromSize21120651Size of target chromosome
match1896Number of bases matched.
misMatch0 Number of bases that don't match
repMatch0 Number of bases that match but are part of repeats
nCount0 Number of 'N' bases
seqType20=empty, 1=nucleotide, 2=amino_acid
transListBest match(es) when aligning protein against all transcripts: g9441.t1Mapped to genome through these transcripts
accB4HE12UniProt record accession
uniprotNameSCC4_DROSEUniProt record name
statusManually reviewed (Swiss-Prot)UniProt status
accListB4HE12UniProt previous and alternative accessions
isoIdsAll UniProt sequence isoform accessions
protFullNamesMAU2 chromatid cohesion factor homologUniProt protein name
protShortNamesORFGM24202UniProt protein short name
protAltFullNamesCohesin loading complex subunit SCC4 homologUniProt alternative names
protAltShortNamesUniProt alternative short names
geneNameUniProt gene name
geneSynonymsORFGM24202UniProt gene synonyms
functionText
  • Required for association of the cohesin complex with chromatin during interphase. Plays a role in sister chromatid cohesion and normal progression through prometaphase (By similarity).
UniProt function
hgncSymHGNC Gene Symbol
hgncIdHGNC IDs
refSeqXM_002031082.1RefSeq Transcript IDs
refSeqProtXP_002031118.1RefSeq Protein IDs
entrezGene6606313NCBI Gene IDs
ensGeneEnsembl Gene IDs
ensProtEnsembl Protein IDs
ensTransEnsembl Transcript IDs
isMainprimary sequenceIs this sequence the primary isoform?

Sample Rows
 
chromchromStartchromEndnamescorestrandthickStartthickEndreservedblockCountblockSizeschromStartsoChromStartoChromEndoStrandoChromSizeoChromStartsoSequenceoCDSchromSizematchmisMatchrepMatchnCountseqTypetransListaccuniprotNamestatusaccListisoIdsprotFullNamesprotShortNamesprotAltFullNamesprotAltShortNamesgeneNamegeneSynonymsfunctionTexthgncSymhgncIdrefSeqrefSeqProtentrezGeneensGeneensProtensTransisMain
super_01091484610916800B4HE121000-109148461091680012,12,1202478,14180,53601896+18960,478,MSASTSTSTAASQDACYISLLGLAEYFRTSQPPNIKKCIQCLQALFTFMPPSKVEARTHLQMGQILMAYTKNIDLARQHLEKAWSISEPLPNFDVKFDTASLLAQLHLQTDRNSHQAKAMLRRAVELS ...2112065118960002Best match(es) when aligning protein against all transcripts: g9441.t1B4HE12SCC4_DROSEManually reviewed (Swiss-Prot)B4HE12MAU2 chromatid cohesion factor homologORFGM24202Cohesin loading complex subunit SCC4 homologORFGM24202Required for association of the cohesin complex with chromatin during interphase. Plays a role in sister chromatid cohes ...XM_002031082.1XP_002031118.16606313primary sequence
super_01139933811408342B4HEJ61000+113993381140834212,12,120142,299,887,2,648,181,394,312,121,210,193,1,11,1080,4710,5289,6176,6272,6986,7237,7696,8072,8256,8526,8719,8885,88962583885+3885258,260,559,1539,1541,2189,2370,2764,3076,3197,3407,3657,3658,3777,MPNLQQTASQSQHHLHPHHLRPQQQQQQQQHHHQQQRQQQQHTHHQQQHHSDFPLPDGWDIAKDFDGKTYYIDHINKKTTWLDPRDCYTKPQTFEDCVGDELPMGWEESYDPNIGPYYINHLAQSTQL ...2112065133690002Best match(es) when aligning protein against all transcripts: g9477.t2B4HEJ6KIBRA_DROSEManually reviewed (Swiss-Prot)B4HEJ6Protein kibraKibraKibraORFGM25831Regulator of the Hippo/SWH (Sav/Wts/Hpo) signaling pathway, a signaling pathway that plays a pivotal role in organ size ...XM_002031131.1XP_002031167.1primary sequence
super_01158511811585491Q76FD91000-115851181158549112,12,1202129,1800,1930309+3090,129,MTGRGKGGKGLGKGGAKRHRKVLRDNIQGITKPAIRRLARRGGVKRISGLIYEETRGVLKVFLENVIRDAVTYTEHAKRKTVTAMDVVYALKRQGRTLYGFGG211206513090002Best match(es) when aligning protein against all transcripts: g9485.t1Q76FD9H4_DROSEManually reviewed (Swiss-Prot)Q76FD9, B4HEK9Histone H4His4His4H4; ORFGM11149; ORFGM11159; ORFGM11162; ORFGM11187; ORFGM11683; ORFGM11713; ORFGM11715; ORFGM11745; ORFGM11749; ORFGM11845; ORFG ...Core component of nucleosome. Nucleosomes wrap and compact DNA into chromatin, limiting DNA accessibility to the cellula ...XM_002045652.1, XM_002045844.1, XM_002045604.1, XM_002045324.1, XM_002045786.1, XM_002044733.1, XM_002044918.1, XM_002045860.1, ...XP_002044954.1, XP_002045957.1, XP_002046001.1, XP_002045028.1, XP_002045410.1, XP_002045836.1, XP_002045710.1, XP_002045976.1, ...6606375primary sequence
super_01168655311693206B4HEM41000+116865531169320612,12,1204651,265,246,2660,4328,6084,638701428+36150,651,916,1162,MTDVSSPAGGAASPVEMTTSSSPAATTSASSSKPLTNGANKTTISTTAGGVAPGDVPGTGSGAIPASSSSGNQVKLEHHHRQSNNNRPAATNRSSETKLRSPAGESDGASRLMTPAGSSSSPSQSPSQ ...2112065114280002Best match(es) when aligning protein against all transcripts: g9496.t1B4HEM4PDE6_DROSEManually reviewed (Swiss-Prot)B4HEM4cGMP-specific 3',5'-cyclic phosphodiesterasePde6Pde6ORFGM25848Has a role regulating cGMP transport in Malpighian tubule principal cells.XM_002031159.1XP_002031195.1primary sequence
super_01169745311698753B4HEM41000+116974531169875312,12,120581,288,244,92,3240,157,514,814,97614282457+36151428,1509,1797,2041,2133,MTDVSSPAGGAASPVEMTTSSSPAATTSASSSKPLTNGANKTTISTTAGGVAPGDVPGTGSGAIPASSSSGNQVKLEHHHRQSNNNRPAATNRSSETKLRSPAGESDGASRLMTPAGSSSSPSQSPSQ ...2112065110290002Best match(es) when aligning protein against all transcripts: g9498.t1B4HEM4PDE6_DROSEManually reviewed (Swiss-Prot)B4HEM4cGMP-specific 3',5'-cyclic phosphodiesterasePde6Pde6ORFGM25848Has a role regulating cGMP transport in Malpighian tubule principal cells.XM_002031159.1XP_002031195.1primary sequence
super_01170479611706214B4HEM81000+117047961170621412,12,1203588,515,1630,656,125501266+12660,588,1103,MALRGSHRLEVIFKRCIASPVLHSQAGNRRSSQLAIKGVDPNSNGNSGQYQQNGEHKEKGWRRLVRFFVPFSLGAAVSAAIIQREDLTPTIAASKMTGRRRDFNFIADVVAGCADSVVYIEIKDTRHF ...2112065112660002Best match(es) when aligning protein against all transcripts: g9501.t1B4HEM8HTRA2_DROSEManually reviewed (Swiss-Prot)B4HEM8Serine protease HTRA2, mitochondrialHtrA2High temperature requirement protein A2HtrA2ORFGM25850Serine protease that shows proteolytic activity against a non-specific substrate beta-casein. Promotes or induces cell d ...XM_002031163.1XP_002031199.16606394primary sequence
super_01183333411833778B4HEN51000+118333341183377812,12,120144400444+4440,MDVLHAHDLYDEQLIDRVGDAVNEDAGDDLDTLVDGQQQQQRVGFNRQMDILLDAPQEPPLGVFPAQGGPNGPPRLRKKRSFYTMTKPTPPCQSQEPEMCLLMASVTRAMRHVREDQRGEYFANYLVE ...211206514440002Best match(es) when aligning protein against all transcripts: g9505.t1B4HEN5SOTI_DROSEManually reviewed (Swiss-Prot)B4HEN5Male-specific protein scottisotisotiORFGM25856Post-meiotically transcribed gene that has a role in late spermiogenesis; required for actin cone progression during spe ...XM_002031170.1XP_002031206.16606401primary sequence
super_01210347912123504B4HF641000-121034791212350412,12,1201011,88,98,181,198,1,225,293,215,2170,5458,5611,5855,6170,6371,6613,7424,19519,1980801527+1827300,311,399,497,678,876,877,1102,1395,1610,MDGYAQEWPRLTHTDNGLAMDQLGGDLPLDVGFEPQTRARSNTWPCPRPENFVEPTDELDSTKASNQQLAPGDSQQAIQNANAAKKNSSRRNAWGNLSYADLITHAIGSAADKRLTLSQIYEWMVQNV ...2112065115270002Best match(es) when aligning protein against all transcripts: g9544.t1B4HF64FOXO_DROSEManually reviewed (Swiss-Prot)B4HF64Forkhead box protein OfoxofoxoORFGM24148Transcription factor involved in the regulation of the insulin signaling pathway. Consistently activates both the downst ...XM_002031216.1XP_002031252.1primary sequence
super_01320747213208589B4HGE01000-132074721320858912,12,1203322,218,300,805,108796666+6660,322,540,MAIIMTESSYERRVKALYEKQIRMEALEAKFIKKVYKFNSNLWDVKEAACRHQRKVGKLQKVIMERREELDKRVSFIEELDRELEATKLRSLAMKDRIKQQKMLARQRKNEIMESIHTLSKTTGTYIN ...211206515700002Best match(es) when aligning protein against all transcripts: g9642.t1B4HGE0SPC25_DROSEManually reviewed (Swiss-Prot)B4HGE0, Q64EW5Kinetochore protein Spc25Spc25Spc25mitch; ORFGM24067Acts as a component of the essential kinetochore-associated Ndc80 complex, which is required for chromosome segregation ...XM_002031366.1XP_002031402.1primary sequence
super_01375326413753891P301061000+137532641375389112,12,120162700627+6270,MADFYYLPGSSPCRSVIMTAKAVGVELNKKLLNLRAGEHLKPEFLKINPQHTIPTLVDNGFALWESRAIQVYLVEKYGKTDSLYPKCPKKRAVINQRLYFDMGTLYQSFANYYYPQVFAKAPADPEAF ...211206516270002Best match(es) when aligning protein against all transcripts: g9701.t1P30106GSTT1_DROSEManually reviewed (Swiss-Prot)P30106, B4HHD9Glutathione S-transferase 1-1GstD1DDT-dehydrochlorinase; GST class-thetaGstD1GST; Gst1; ORFGM26019Conjugation of reduced glutathione to a wide number of exogenous and endogenous hydrophobic electrophiles. Has DDT dehyd ...XM_002031456.1XP_002031492.16606692primary sequence

UniProt (uniprot) Track Description
 

Description

This track shows protein sequences and annotations on them from the UniProt/SwissProt database, mapped to genomic coordinates.

UniProt/SwissProt data has been curated from scientific publications by the UniProt staff, UniProt/TrEMBL data has been predicted by various computational algorithms. The annotations are divided into multiple subtracks, based on their "feature type" in UniProt. The first two subtracks below - one for SwissProt, one for TrEMBL - show the alignments of protein sequences to the genome, all other tracks below are the protein annotations mapped through these alignments to the genome.

Track Name Description
UCSC Alignment, SwissProt = curated protein sequences Protein sequences from SwissProt mapped to the genome. All other tracks are (start,end) SwissProt annotations on these sequences mapped through this alignment. Even protein sequences without a single curated annotation (splice isoforms) are visible in this track. Each UniProt protein has one main isoform, which is colored in dark. Alternative isoforms are sequences that do not have annotations on them and are colored in light-blue. They can be hidden with the TrEMBL/Isoform filter (see below).
UCSC Alignment, TrEMBL = predicted protein sequences Protein sequences from TrEMBL mapped to the genome. All other tracks below are (start,end) TrEMBL annotations mapped to the genome using this track. This track is hidden by default. To show it, click its checkbox on the track configuration page.
UniProt Signal Peptides Regions found in proteins destined to be secreted, generally cleaved from mature protein.
UniProt Extracellular Domains Protein domains with the comment "Extracellular".
UniProt Transmembrane Domains Protein domains of the type "Transmembrane".
UniProt Cytoplasmic Domains Protein domains with the comment "Cytoplasmic".
UniProt Polypeptide Chains Polypeptide chain in mature protein after post-processing.
UniProt Regions of Interest Regions that have been experimentally defined, such as the role of a region in mediating protein-protein interactions or some other biological process.
UniProt Domains Protein domains, zinc finger regions and topological domains.
UniProt Disulfide Bonds Disulfide bonds.
UniProt Amino Acid Modifications Glycosylation sites, modified residues and lipid moiety-binding regions.
UniProt Amino Acid Mutations Mutagenesis sites and sequence variants.
UniProt Protein Primary/Secondary Structure Annotations Beta strands, helices, coiled-coil regions and turns.
UniProt Sequence Conflicts Differences between Genbank sequences and the UniProt sequence.
UniProt Repeats Regions of repeated sequence motifs or repeated domains.
UniProt Other Annotations All other annotations, e.g. compositional bias

For consistency and convenience for users of mutation-related tracks, the subtrack "UniProt/SwissProt Variants" is a copy of the track "UniProt Variants" in the track group "Phenotype and Literature", or "Variation and Repeats", depending on the assembly.

Display Conventions and Configuration

Genomic locations of UniProt/SwissProt annotations are labeled with a short name for the type of annotation (e.g. "glyco", "disulf bond", "Signal peptide" etc.). A click on them shows the full annotation and provides a link to the UniProt/SwissProt record for more details. TrEMBL annotations are always shown in light blue, except in the Signal Peptides, Extracellular Domains, Transmembrane Domains, and Cytoplamsic domains subtracks.

Mouse over a feature to see the full UniProt annotation comment. For variants, the mouse over will show the full name of the UniProt disease acronym.

The subtracks for domains related to subcellular location are sorted from outside to inside of the cell: Signal peptide, extracellular, transmembrane, and cytoplasmic.

In the "UniProt Modifications" track, lipoification sites are highlighted in dark blue, glycosylation sites in dark green, and phosphorylation in light green.

Duplicate annotations are removed as far as possible: if a TrEMBL annotation has the same genome position and same feature type, comment, disease and mutated amino acids as a SwissProt annotation, it is not shown again. Two annotations mapped through different protein sequence alignments but with the same genome coordinates are only shown once.

On the configuration page of this track, you can choose to hide any TrEMBL annotations. This filter will also hide the UniProt alternative isoform protein sequences because both types of information are less relevant to most users. Please contact us if you want more detailed filtering features.

Note that for the human hg38 assembly and SwissProt annotations, there also is a public track hub prepared by UniProt itself, with genome annotations maintained by UniProt using their own mapping method based on those Gencode/Ensembl gene models that are annotated in UniProt for a given protein. For proteins that differ from the genome, UniProt's mapping method will, in most cases, map a protein and its annotations to an unexpected location (see below for details on UCSC's mapping method).

Methods

Briefly, UniProt protein sequences were aligned to the transcripts associated with the protein, the top-scoring alignments were retained, and the result was projected to the genome through a transcript-to-genome alignment. Depending on the genome, the transcript-genome alignments was either provided by the source database (NBCI RefSeq), created at UCSC (UCSC RefSeq) or derived from the transcripts (Ensembl/Augustus). The transcript set is NCBI RefSeq for hg38, UCSC RefSeq for hg19 (due to alt/fix haplotype misplacements in the NCBI RefSeq set on hg19). For other genomes, RefSeq, Ensembl and Augustus are tried, in this order. The resulting protein-genome alignments of this process are available in the file formats for liftOver or pslMap from our data archive (see "Data Access" section below).

An important step of the mapping process protein -> transcript -> genome is filtering the alignment from protein to transcript. Due to differences between the UniProt proteins and the transcripts (proteins were made many years before the transcripts were made, and human genomes have variants), the transcript with the highest BLAST score when aligning the protein to all transcripts is not always the correct transcript for a protein sequence. Therefore, the protein sequence is aligned to only a very short list of one or sometimes more transcripts, selected by a three-step procedure:

  1. Use transcripts directly annotated by UniProt: for organisms that have a RefSeq transcript track, proteins are aligned to the RefSeq transcripts that are annotated by UniProt for this particular protein.
  2. Use transcripts for NCBI Gene ID annotated by UniProt: If no transcripts are annotated on the protein, or the annotated ones have been deprecated by NCBI, but a NCBI Gene ID is annotated, the RefSeq transcripts for this Gene ID are used. This can result in multiple matching transcripts for a protein.
  3. Use best matching transcript: If no NCBI Gene is annotated, then BLAST scores are used to pick the transcripts. There can be multiple transcripts for one protein, as their coding sequences can be identical. All transcripts within 1% of the highest observed BLAST score are used.

For strategy 2 and 3, many of the transcripts found do not differ in coding sequence, so the resulting alignments on the genome will be identical. Therefore, any identical alignments are removed in a final filtering step. The details page of these alignments will contain a list of all transcripts that result in the same protein-genome alignment. On hg38, only a handful of edge cases (pseudogenes, very recently added proteins) remain in 2023 where strategy 3 has to be used.

In other words, when an NCBI or UCSC RefSeq track is used for the mapping and to align a protein sequence to the correct transcript, we use a three stage process:

  1. If UniProt has annotated a given RefSeq transcript for a given protein sequence, the protein is aligned to this transcript. Any difference in the version suffix is tolerated in this comparison.
  2. If no transcript is annotated or the transcript cannot be found in the NCBI/UCSC RefSeq track, the UniProt-annotated NCBI Gene ID is resolved to a set of NCBI RefSeq transcript IDs via the most current version of NCBI genes tables. Only the top match of the resulting alignments and all others within 1% of its score are used for the mapping.
  3. If no transcript can be found after step (2), the protein is aligned to all transcripts, the top match, and all others within 1% of its score are used.

This system was designed to resolve the problem of incorrect mappings of proteins, mostly on hg38, due to differences between the SwissProt sequences and the genome reference sequence, which has changed since the proteins were defined. The problem is most pronounced for gene families composed of either very repetitive or very similar proteins. To make sure that the alignments always go to the best chromosome location, all _alt and _fix reference patch sequences are ignored for the alignment, so the patches are entirely free of UniProt annotations. Please contact us if you have feedback on this process or example edge cases. We are not aware of a way to evaluate the results completely and in an automated manner.

Proteins were aligned to transcripts with TBLASTN, converted to PSL, filtered with pslReps (93% query coverage, keep alignments within top 1% score), lifted to genome positions with pslMap and filtered again with pslReps. UniProt annotations were obtained from the UniProt XML file. The UniProt annotations were then mapped to the genome through the alignment described above using the pslMap program. This approach draws heavily on the LS-SNP pipeline by Mark Diekhans. Like all Genome Browser source code, the main script used to build this track can be found on Github.

Older releases

This track is automatically updated on an ongoing basis, every 2-3 months. The current version name is always shown on the track details page, it includes the release of UniProt, the version of the transcript set and a unique MD5 that is based on the protein sequences, the transcript sequences, the mapping file between both and the transcript-genome alignment. The exact transcript that was used for the alignment is shown when clicking a protein alignment in one of the two alignment tracks.

For reproducibility of older analysis results and for manual inspection, previous versions of this track are available for browsing in the form of the UCSC UniProt Archive Track Hub (click this link to connect the hub now). The underlying data of all releases of this track (past and current) can be obtained from our downloads server, including the UniProt protein-to-genome alignment.

Data Access

The raw data of the current track can be explored interactively with the Table Browser, or the Data Integrator. For automated analysis, the genome annotation is stored in a bigBed file that can be downloaded from the download server. The exact filenames can be found in the track configuration file. Annotations can be converted to ASCII text by our tool bigBedToBed which can be compiled from the source code or downloaded as a precompiled binary for your system. Instructions for downloading source code and binaries can be found here. The tool can also be used to obtain only features within a given range, for example:

bigBedToBed http://hgdownload.soe.ucsc.edu/gbdb/droSec1/uniprot/unipStruct.bb -chrom=chr6 -start=0 -end=1000000 stdout

Please refer to our mailing list archives for questions, or our Data Access FAQ for more information.

Lifting from UniProt to genome coordinates in pipelines

To facilitate mapping protein coordinates to the genome, we provide the alignment files in formats that are suitable for our command line tools. Our command line programs liftOver or pslMap can be used to map coordinates on protein sequences to genome coordinates. The filenames are unipToGenome.over.chain.gz (liftOver) and unipToGenomeLift.psl.gz (pslMap).

Example commands:

wget -q https://hgdownload.soe.ucsc.edu/goldenPath/archive/hg38/uniprot/2022_03/unipToGenome.over.chain.gz
wget -q https://hgdownload.soe.ucsc.edu/admin/exe/linux.x86_64/liftOver
chmod a+x liftOver
echo 'Q99697 1 10 annotationOnProtein' > prot.bed
liftOver prot.bed unipToGenome.over.chain.gz genome.bed
cat genome.bed

Credits

This track was created by Maximilian Haeussler at UCSC, with a lot of input from Chris Lee, Mark Diekhans and Brian Raney, feedback from the UniProt staff, Alejo Mujica, Regeneron Pharmaceuticals and Pia Riestra, GeneDx. Thanks to UniProt for making all data available for download.

References

UniProt Consortium. Reorganizing the protein space at the Universal Protein Resource (UniProt). Nucleic Acids Res. 2012 Jan;40(Database issue):D71-5. PMID: 22102590; PMC: PMC3245120

Yip YL, Scheib H, Diemand AV, Gattiker A, Famiglietti LM, Gasteiger E, Bairoch A. The Swiss-Prot variant page and the ModSNP database: a resource for sequence and structure information on human protein variants. Hum Mutat. 2004 May;23(5):464-70. PMID: 15108278