Naming Conventions

Throughout the Mars API we have attempted to adhere to a strict set of naming conventions. We hope this will simplify downstream usage and the development of Mars workflows that involve multiple environments. If you notice a place where names do not adhere to the conventions outlined below please let us know. That is a bug.

We attempt to strictly enforce the same naming conventions for user specified field, however, this is not always possible. Therefore, it if up to the user whether they also adhere to the conventions. We strongly urge users to use the same naming scheme for consistency.

Consistent naming conventions were introduced in mars-core-1.0.0-beta-18. Previously, some colum headers were capialized and others not and snake case was not used throughout. Therefore, a converter was also introduced in mars-core-1.0.0-beta-18, so that all archives are converted to the new format when they are opened to ensure backward compatibility. Unfortunately, these changes break any scripts written using previous versions. The columns headers just need to be updated to the new names. We are sorry for the disruption.

Table column naming patterns

All table column header names generated by Mars commands should be written in Snake_case with the first letter capitalized. Creatively named Cobra case by Nadia. As described in the specification, underscores are used for all spaces. Single letter column headers should be capitalized, e.g. X, Y, T. If the column header has several words, usually only the first letter of the first word is capitalized with the remaining words starting with a lowercase letter. The one exception to this rule are DnaArchive column header names, which will start with user specified names for each archive that is merged, and end with the column names that already existed in the merged archive. In this case, the first letter after the user specified prefix remain capitalized reflecting the original column naming convention.

We chose snake case for clearer recognition of full titles and to allow for direct references in other platforms, such as Python dataframes in which a simple period and the column header can then be used to access the column directly without the need for brackets and quotes.

Output column names for some core Mars commands are listed below.

Peak Finder Peak Tracker
T T
X X
Y Y
Height Height
Baseline Baseline
Sigma Sigma
R2 R2
Median_background Median_background
Intensity Intensity

Java coding conventions

All variable names and method names should be in Camel case. Exactly as described in the specification. Variable names start with a lower case letter with all following words having a capital letter with no spaces in between, e.g. camelCase.