Commit 73726db7 authored by Andreas Tille's avatar Andreas Tille

New upstream version 1.5.2

parent 85eeccb3
.DS_Store
...@@ -41,13 +41,27 @@ else (PROTOBUF_FOUND) ...@@ -41,13 +41,27 @@ else (PROTOBUF_FOUND)
endif(PROTOBUF_FOUND) endif(PROTOBUF_FOUND)
if(WIN32) if(WIN32)
if (EXISTS "${PROJECT_SOURCE_DIR}/bamtools/lib/libbamtools.lib")
set(BAMTOOLS_LIBRARIES "${PROJECT_SOURCE_DIR}/bamtools/lib/libbamtools.lib")
else()
find_library(BAMTOOLS_LIBRARIES libbamtools.lib)
endif()
set(CMAKE_CXX_FLAGS "/EHsc") set(CMAKE_CXX_FLAGS "/EHsc")
set(WIN32_INT 1) set(WIN32_INT 1)
else(WIN32) else(WIN32)
if (EXISTS "${PROJECT_SOURCE_DIR}/bamtools/lib/libbamtools.a")
set(BAMTOOLS_LIBRARIES "${PROJECT_SOURCE_DIR}/bamtools/lib/libbamtools.a")
else()
find_library(BAMTOOLS_LIBRARIES libbamtools.a)
endif()
find_package(ZLIB REQUIRED) find_package(ZLIB REQUIRED)
set(WIN32_INT 0) set(WIN32_INT 0)
endif(WIN32) endif(WIN32)
if (NOT BAMTOOLS_LIBRARIES)
message(FATAL_ERROR "Could not find libbamtools")
endif(NOT BAMTOOLS_LIBRARIES)
configure_file ( configure_file (
"${PROJECT_SOURCE_DIR}/src/config.h.in" "${PROJECT_SOURCE_DIR}/src/config.h.in"
"${PROJECT_SOURCE_DIR}/src/config.h" "${PROJECT_SOURCE_DIR}/src/config.h"
......
This diff is collapsed.
#+TITLE: Developer's Guide
#+AUTHOR: Harold Pimentel
* The build System
** Running CMake
- You should almost always make a separate build tree outside of the main
tree. For example, if you have directory 'project' with 'project/src' etc.,
you should make a directory outside of project called 'project\_build'. You
should change to the new directory and run CMake there.
mkdir project\_build
cd project\_build
cmake ../project
** Making projects
*** Making an Xcode project
- Change to your build directory and run:
cmake -G Xcode ../project
Your new Xcode project should be in 'project\_build/project.xcodeproj'
*** Making an Eclipse CDT project
- Change to your build directory and run:
cmake -G "Eclipse CDT4 - Unix Makefiles" -D CMAKE_BUILD_TYPE=Debug ../project
Your new Eclipse CDT project is stored in 'project\_build/.project'. In
Eclipse, go to Import -> General -> Existng Projects into Workspace ->
Select root directory and choose the 'project\_build' directory.
This diff is collapsed.
This diff is collapsed.
// !$*UTF8*$!
{
0A4DC484140AC6BA0091CA28 /* version.h */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {1651, 180}}";
sepNavSelRange = "{0, 0}";
sepNavVisRange = "{0, 37}";
};
};
0A4DC487140ACC640091CA28 /* update_check.h */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {1651, 1573}}";
sepNavSelRange = "{0, 0}";
sepNavVisRange = "{0, 302}";
sepNavWindowFrame = "{{15, 615}, {750, 558}}";
};
};
0A5C75FF136F2E850095365C /* Project object */ = {
activeBuildConfigurationName = Debug;
activeExecutable = 0A7BAE75140C5A93001283A2 /* express */;
activeTarget = 0A5C7607136F2E850095365C /* express */;
breakpoints = (
0A7BAF1D140DC34A001283A2 /* biascorrection.cpp:65 */,
);
codeSenseManager = 0A7BAE7F140C5A9A001283A2 /* Code sense */;
executables = (
0A7BAE75140C5A93001283A2 /* express */,
);
perUserDictionary = {
PBXConfiguration.PBXFileTableDataSource3.PBXExecutablesDataSource = {
PBXFileTableDataSourceColumnSortingDirectionKey = "-1";
PBXFileTableDataSourceColumnSortingKey = PBXExecutablesDataSource_NameID;
PBXFileTableDataSourceColumnWidthsKey = (
22,
300,
1361,
);
PBXFileTableDataSourceColumnsKey = (
PBXExecutablesDataSource_ActiveFlagID,
PBXExecutablesDataSource_NameID,
PBXExecutablesDataSource_CommentsID,
);
};
PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = {
PBXFileTableDataSourceColumnSortingDirectionKey = "-1";
PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
PBXFileTableDataSourceColumnWidthsKey = (
20,
1473,
20,
48,
43,
43,
20,
);
PBXFileTableDataSourceColumnsKey = (
PBXFileDataSource_FiletypeID,
PBXFileDataSource_Filename_ColumnID,
PBXFileDataSource_Built_ColumnID,
PBXFileDataSource_ObjectSize_ColumnID,
PBXFileDataSource_Errors_ColumnID,
PBXFileDataSource_Warnings_ColumnID,
PBXFileDataSource_Target_ColumnID,
);
};
PBXConfiguration.PBXTargetDataSource.PBXTargetDataSource = {
PBXFileTableDataSourceColumnSortingDirectionKey = "-1";
PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
PBXFileTableDataSourceColumnWidthsKey = (
20,
1433,
60,
20,
48,
43,
43,
);
PBXFileTableDataSourceColumnsKey = (
PBXFileDataSource_FiletypeID,
PBXFileDataSource_Filename_ColumnID,
PBXTargetDataSource_PrimaryAttribute,
PBXFileDataSource_Built_ColumnID,
PBXFileDataSource_ObjectSize_ColumnID,
PBXFileDataSource_Errors_ColumnID,
PBXFileDataSource_Warnings_ColumnID,
);
};
PBXPerProjectTemplateStateSaveDate = 336368500;
PBXWorkspaceStateSaveDate = 336368500;
};
perUserProjectItems = {
0A7BAF34140DD6B5001283A2 /* PBXTextBookmark */ = 0A7BAF34140DD6B5001283A2 /* PBXTextBookmark */;
0A7BAF35140DD6B5001283A2 /* PBXTextBookmark */ = 0A7BAF35140DD6B5001283A2 /* PBXTextBookmark */;
0A7BAF36140DD6B5001283A2 /* PBXTextBookmark */ = 0A7BAF36140DD6B5001283A2 /* PBXTextBookmark */;
0A7BAF37140DD6B5001283A2 /* XCBuildMessageTextBookmark */ = 0A7BAF37140DD6B5001283A2 /* XCBuildMessageTextBookmark */;
0A7BAF38140DD6B5001283A2 /* PBXTextBookmark */ = 0A7BAF38140DD6B5001283A2 /* PBXTextBookmark */;
};
sourceControlManager = 0A7BAE7E140C5A9A001283A2 /* Source Control */;
userBuildSettings = {
};
};
0A5C7607136F2E850095365C /* express */ = {
activeExec = 0;
executables = (
0A7BAE75140C5A93001283A2 /* express */,
);
};
0A5C762A136F2EF10095365C /* biascorrection.cpp */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {1386, 3250}}";
sepNavSelRange = "{7234, 0}";
sepNavVisRange = "{1232, 1011}";
};
};
0A5C762B136F2EF10095365C /* biascorrection.h */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {915, 3328}}";
sepNavSelRange = "{2625, 10}";
sepNavVisRange = "{2677, 575}";
};
};
0A5C7632136F2EF10095365C /* main.cpp */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {1651, 5499}}";
sepNavSelRange = "{10404, 0}";
sepNavVisRange = "{9894, 1534}";
};
};
0A5C7633136F2EF10095365C /* main.h */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {720, 1872}}";
sepNavSelRange = "{1596, 4}";
sepNavVisRange = "{1578, 251}";
};
};
0A5C7634136F2EF10095365C /* mismatchmodel.cpp */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {1651, 2223}}";
sepNavSelRange = "{0, 0}";
sepNavVisRange = "{0, 1308}";
};
};
0A5C7635136F2EF10095365C /* mismatchmodel.h */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {1651, 1027}}";
sepNavSelRange = "{0, 0}";
sepNavVisRange = "{0, 237}";
};
};
0A5C7636136F2EF10095365C /* transcripts.cpp */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {1386, 5486}}";
sepNavSelRange = "{3269, 0}";
sepNavVisRange = "{2784, 1040}";
};
};
0A5C7637136F2EF10095365C /* transcripts.h */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {1859, 5382}}";
sepNavSelRange = "{587, 0}";
sepNavVisRange = "{0, 1384}";
};
};
0A7BAE75140C5A93001283A2 /* express */ = {
isa = PBXExecutable;
activeArgIndices = (
YES,
);
argumentStrings = (
"-o /Volumes/scratch/adams_maps/illumina-brain/mtg_out/init_x /Volumes/scratch/adams_maps/illumina-brain/mtg_out/mtg_out.fa /Volumes/scratch/adams_maps/illumina-brain/mtg_out/hits_10M.sam",
);
autoAttachOnCrash = 1;
breakpointsEnabled = 1;
configStateDict = {
};
customDataFormattersEnabled = 1;
dataTipCustomDataFormattersEnabled = 1;
dataTipShowTypeColumn = 1;
dataTipSortType = 0;
debuggerPlugin = GDBDebugging;
disassemblyDisplayState = 0;
dylibVariantSuffix = "";
enableDebugStr = 1;
environmentEntries = (
);
executableSystemSymbolLevel = 0;
executableUserSymbolLevel = 0;
libgmallocEnabled = 0;
name = express;
savedGlobals = {
};
showTypeColumn = 0;
sourceDirectories = (
);
startupPath = "<<ProjectDirectory>>";
variableFormatDictionary = {
};
};
0A7BAE7E140C5A9A001283A2 /* Source Control */ = {
isa = PBXSourceControlManager;
fallbackIsa = XCSourceControlManager;
isSCMEnabled = 0;
scmConfiguration = {
repositoryNamesForRoots = {
"" = "";
};
};
};
0A7BAE7F140C5A9A001283A2 /* Code sense */ = {
isa = PBXCodeSenseManager;
indexTemplatePath = "";
};
0A7BAF1D140DC34A001283A2 /* biascorrection.cpp:65 */ = {
isa = PBXFileBreakpoint;
actions = (
);
breakpointStyle = 0;
continueAfterActions = 0;
countType = 0;
delayBeforeContinue = 0;
fileReference = 0A5C762A136F2EF10095365C /* biascorrection.cpp */;
functionName = "SeqWeightTable::get_weight(const string& seq, int i)";
hitCount = 0;
ignoreCount = 0;
lineNumber = 65;
location = express;
modificationTime = 336451240.036175;
originalNumberOfMultipleMatches = 1;
state = 1;
};
0A7BAF34140DD6B5001283A2 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 0A5C7634136F2EF10095365C /* mismatchmodel.cpp */;
name = "mismatchmodel.cpp: 1";
rLen = 0;
rLoc = 0;
rType = 0;
vrLen = 1308;
vrLoc = 0;
};
0A7BAF35140DD6B5001283A2 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 0A5C7636136F2EF10095365C /* transcripts.cpp */;
name = "transcripts.cpp: 42";
rLen = 0;
rLoc = 963;
rType = 0;
vrLen = 1263;
vrLoc = 603;
};
0A7BAF36140DD6B5001283A2 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 0A5C7632136F2EF10095365C /* main.cpp */;
name = "main.cpp: 333";
rLen = 0;
rLoc = 10404;
rType = 0;
vrLen = 1534;
vrLoc = 9894;
};
0A7BAF37140DD6B5001283A2 /* XCBuildMessageTextBookmark */ = {
isa = PBXTextBookmark;
comments = "No matching function for call to 'max(int, long unsigned int)'";
fRef = 0A5C762A136F2EF10095365C /* biascorrection.cpp */;
fallbackIsa = XCBuildMessageTextBookmark;
rLen = 1;
rLoc = 61;
rType = 1;
};
0A7BAF38140DD6B5001283A2 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 0A5C762A136F2EF10095365C /* biascorrection.cpp */;
name = "biascorrection.cpp: 235";
rLen = 0;
rLoc = 7234;
rType = 0;
vrLen = 1544;
vrLoc = 1232;
};
0AD5968713FF20B900EEBDD7 /* mapparser.h */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {1386, 2392}}";
sepNavSelRange = "{3291, 0}";
sepNavVisRange = "{2678, 1116}";
};
};
0AD5968813FF20C700EEBDD7 /* mapparser.cpp */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {1651, 3575}}";
sepNavSelRange = "{2280, 0}";
sepNavVisRange = "{1718, 1249}";
};
};
}
This diff is collapsed.
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:cuffexpress.xcodeproj">
</FileRef>
</Workspace>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDEWorkspaceUserSettings_BuildLocationStyle</key>
<integer>0</integer>
<key>IDEWorkspaceUserSettings_BuildSubfolderNameStyle</key>
<integer>0</integer>
<key>IDEWorkspaceUserSettings_DerivedDataLocationStyle</key>
<integer>0</integer>
<key>IDEWorkspaceUserSettings_HasAskedToTakeAutomaticSnapshotBeforeSignificantChanges</key>
<true/>
<key>IDEWorkspaceUserSettings_LiveSourceIssuesEnabled</key>
<true/>
<key>IDEWorkspaceUserSettings_SnapshotAutomaticallyBeforeSignificantChanges</key>
<true/>
<key>IDEWorkspaceUserSettings_SnapshotLocationStyle</key>
<integer>0</integer>
</dict>
</plist>
<?xml version="1.0" encoding="UTF-8"?>
<Bucket
type = "1"
version = "1.0">
</Bucket>
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0500"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "0A5C7607136F2E850095365C"
BuildableName = "express"
BlueprintName = "express"
ReferencedContainer = "container:express.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES"
buildConfiguration = "Debug">
<Testables>
</Testables>
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "0A5C7607136F2E850095365C"
BuildableName = "express"
BlueprintName = "express"
ReferencedContainer = "container:express.xcodeproj">
</BuildableReference>
</MacroExpansion>
</TestAction>
<LaunchAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
buildConfiguration = "Debug"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
allowLocationSimulation = "YES">
<BuildableProductRunnable>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "0A5C7607136F2E850095365C"
BuildableName = "express"
BlueprintName = "express"
ReferencedContainer = "container:express.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
<CommandLineArguments>
<CommandLineArgument
argument = "--no-bias-correct -o /Users/adarob/Downloads/trunc/out /Users/adarob/Downloads/trunc/trans2.fa /Users/adarob/Downloads/trunc/test_hits.bam"
isEnabled = "NO">
</CommandLineArgument>
<CommandLineArgument
argument = "--stop-at 10000 --no-bias-correct --haplotype-file=/Volumes/math.mcb.berkeley.edu/experiments/express/simulation/ugt3a2/haplotypes.csv -o /Volumes/math.mcb.berkeley.edu/experiments/express/simulation/ugt3a2/hap_out /Volumes/math.mcb.berkeley.edu/experiments/express/simulation/ugt3a2/ugt3a2_hap.fa /Volumes/math.mcb.berkeley.edu/experiments/express/simulation/ugt3a2/hits.hap.bam"
isEnabled = "YES">
</CommandLineArgument>
<CommandLineArgument
argument = "-o $(SRCROOT)/sample_data1/out $(SRCROOT)/sample_data1/transcripts.fasta $(SRCROOT)/sample_data1/hits2.sam"
isEnabled = "NO">
</CommandLineArgument>
<CommandLineArgument
argument = "--no-bias-correct -o hap -H /Volumes/math.mcb.berkeley.edu/experiments/ase/t1s1b0/hap.csv /Volumes/math.mcb.berkeley.edu/experiments/ase/t1s1b0/ugt3a2.fa /Volumes/math.mcb.berkeley.edu/experiments/ase/t1s1b0/hits.bam"
isEnabled = "NO">
</CommandLineArgument>
<CommandLineArgument
argument = "-B 2 -f 0.75 --no-bias-correct --output-running-reads -o $(SRCROOT)/sample_data2/out $(SRCROOT)/sample_data2/hg19-ucsc_transcripts.fa /Volumes/math.mcb.berkeley.edu/experiments/express/simulation/hg19_ucsc_bias_33/hits.bam"
isEnabled = "NO">
</CommandLineArgument>
<CommandLineArgument
argument = "-f 0.65 -o $(SRCROOT)/sample_data3/out --output-running-reads --no-bias-correct $(SRCROOT)/sample_data2/hg19-ucsc_transcripts.fa /Volumes/math.mcb.berkeley.edu/experiments/express/simulation/hg19_ucsc_err/hits.bam"
isEnabled = "NO">
</CommandLineArgument>
</CommandLineArguments>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
buildConfiguration = "Release"
debugDocumentVersioning = "YES">
<BuildableProductRunnable>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "0A5C7607136F2E850095365C"
BuildableName = "express"
BlueprintName = "express"
ReferencedContainer = "container:express.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>SchemeUserState</key>
<dict>
<key>express-spark.xcscheme</key>
<dict>
<key>orderHint</key>
<integer>1</integer>
</dict>
<key>express.xcscheme</key>
<dict>
<key>orderHint</key>
<integer>0</integer>
</dict>
</dict>
<key>SuppressBuildableAutocreation</key>
<dict>
<key>0A5C7607136F2E850095365C</key>
<dict>
<key>primary</key>
<true/>
</dict>
<key>0AC83E47162C293000DE4074</key>
<dict>
<key>primary</key>
<true/>
</dict>
</dict>
</dict>
</plist>
/**
* Default theme
*
*/
/* Slight reset to make the preview have ample padding. */
.cse .gsc-control-cse,
.gsc-control-cse {
padding: 2%;
width: 96%;
}
.cse .gsc-branding,
.gsc-branding {
display: none;
}
.cse .gsc-control-cse div,
.gsc-control-cse div {
position: normal;
}
/* Selector for entire element. */
.cse .gsc-control-cse,
.gsc-control-cse {
background-color: #ffffff;
border: 1px solid;
border-color: #ffffff;
}
.cse .gsc-control-cse:after,
.gsc-control-cse:after {
content:".";
display:block;
height:0;
clear:both;
visibility:hidden;
}
.cse .gsc-resultsHeader,
.gsc-resultsHeader {
border: block;
}
/* Search button */
.cse input.gsc-search-button,
input.gsc-search-button {width:4.5em; height:1.5em; background-color:rgb(240,240,240); border:solid 1px rgb(150,150,150); text-align:center; color:rgb(100,100,100); font-size:110% !important /*Non-IE6*/; font-size:100% /*IE6*/;}
/* input */
input.gsc-input {height:1.2em; padding:1px !important /*Non-IE6*/; padding:2px /*IE6*/; border:solid 1px rgb(200,200,200); background-color:rgb(255,255,255); font-size:110% !important /*Non-IE6*/; font-size:100% /*IE6*/;}
/* Inactive tab */
.cse .gsc-tabHeader.gsc-tabhInactive,
.gsc-tabHeader.gsc-tabhInactive {
border-bottom: none;
color: #666666;
background-color: #e9e9e9;
border: 1px solid;
border-color: #e9e9e9;
border-bottom: none;
}
/* Active tab */
.cse .gsc-tabHeader.gsc-tabhActive,
.gsc-tabHeader.gsc-tabhActive {
background-color: #FFFFFF;
border: 1px solid;
border-top: 2px solid;
border-color: #e9e9e9;
border-top-color: #FF9900;
border-bottom: none;
}
/* This is the tab bar bottom border. */
.cse .gsc-tabsArea,
.gsc-tabsArea {
margin-top: 1em;
border-bottom: 1px solid #e9e9e9;
}
/* Inner wrapper for a result */
.cse .gsc-webResult.gsc-result,
.gsc-webResult.gsc-result,
.gsc-imageResult-column,
.gsc-imageResult-classic {
padding: .25em;
border: 1px solid;
border-color: #ffffff;
margin-bottom: 1em;
}
/* Result hover event styling */
.cse .gsc-webResult.gsc-result:hover,
.gsc-webResult.gsc-result:hover,
.gsc-results .gsc-imageResult-classic:hover,
.gsc-results .gsc-imageResult-column:hover {
border: 1px solid;
border-color: #FFFFFF;
}
/*Promotion Settings*/
/* The entire promo */
.cse .gs-promotion,
.gs-promotion {
background-color: #FFFFFF;
border: 1px solid;
border-color: #336699;
}
/* Promotion image */
.cse .gs-promotion .gs-promotion-image,
.gs-promotion .gs-promotion-image {}
/* Promotion links */
.cse .gs-promotion a.gs-title:link,
.gs-promotion a.gs-title:link,
.cse .gs-promotion a.gs-title:link *,
.gs-promotion a.gs-title:link *,
.cse .gs-promotion .gs-snippet a:link,
.gs-promotion .gs-snippet a:link {
color: #0000CC;
}
.cse .gs-promotion a.gs-title:visited,
.gs-promotion a.gs-title:visited,
.cse .gs-promotion a.gs-title:visited *,
.gs-promotion a.gs-title:visited *,
.cse .gs-promotion .gs-snippet a:visited,
.gs-promotion .gs-snippet a:visited {
color: #0000CC;
}
.cse .gs-promotion a.gs-title:hover,
.gs-promotion a.gs-title:hover,
.cse .gs-promotion a.gs-title:hover *,
.gs-promotion a.gs-title:hover *,
.cse .gs-promotion .gs-snippet a:hover,
.gs-promotion .gs-snippet a:hover {
color: #0000CC;
}
.cse .gs-promotion a.gs-title:active,
.gs-promotion a.gs-title:active,
.cse .gs-promotion a.gs-title:active *,
.gs-promotion a.gs-title:active *,
.cse .gs-promotion .gs-snippet a:active,
.gs-promotion .gs-snippet a:active {
color: #0000CC;
}
/* Promotion snippet */
.cse .gs-promotion .gs-snippet,
.gs-promotion .gs-snippet,
.cse .gs-promotion .gs-title .gs-promotion-title-right,
.gs-promotion .gs-title .gs-promotion-title-right,