LINCS

From Informatics

Jump to: navigation, search

TODO: we need to document the installation/deployment information of this service, especially the production deployment. Some of the relevant information is in mantis bug #3382, but not clearly organized.

lincswb is the user account to manage this service.

Contents

LINCS component in geWorkbench

This component does not take input data. It is a pure query interface similar to CUPID. However, this project includes the side-side development, namesly all the web services for all the necessary queries.

Client side development

1.Using eclipse or wsimport to generate web services client from Lincs wsdl url.

  import the generated web services client code to a jar file "lincs-wsclient.jar". The classes in the 
  jar file will be used by Lincs client project(for example, Lincs class).

2. Main entry point: Lincs Class.

  class Lincs { 
               public Lincs(String url, String username, String password);  
  }      
  Please notes: url is the lincs project wsdl location. Since web service authentication is not 
  implemented at this point. You can put “null” for username and password.

3. The following is the methods that support the basic queries interface in client side. Each of these methods corresponds to the web service method described in Server Side Development. But please note that in web service interface, there is no List<String> type or String[] type is used in parameters. Instead of that, all the parameters present for multiple values are using string as: "value1|value2|value3". The reason is that, if there are more than one parameter in a web interface method and array type parameter is null or empty, then web service/client does not handle the parameters properly.

 public List<String> getAllTissueNames()
 public List<String> getAllCellLineNamesForTissueTypes(List<String> tissueTypes)
 public List<String> getAllAssayTypeNames()
 public List<String> getAllMeasurementTypeNames()
 public List<String> getALLSimilarAlgorithmNames()
 public List<String> GetCompound1NamesFromExperimental(List<String> tyssueTypes, 
                     List<String> cellLines) 
 public List<String> GetCompound2NamesFromExperimental(List<String> tissueTypes, 
                     List<String> cellLines, List<String> drug1Names)  
 public List<String> getCompound1NamesFromComputational(List<String> tissueTypes, 
                     List<String> cellLines)  
 public List<String> getCompound2NamesFromComputational(List<String> tyssueTypes, 
                     List<String>cellLines, List<String> compound1Names)  	
 public List<ExperimentalData> getExperimentalData(List<String> tissueTypes, 
                               List<String> cellLineNames, List<String> compound1Names, 
                               List<String> compound2Names, List<String> measurementTypes,  
                               List<String> assayTypes)  
 public List<ExperimentalData> getExperimentalData(List<String> tissueTypes, 
                               List<String> cellLineNames, List<String> compound1Names, 
                               List<String> compound2Names, List<String> measurmentTypes,  
                               List<String> assayTypes, boolean onlyTitration, int rowLimit)  	 
 public List<ComputationalData> getComputationalData(List<String>tissueTypes, 
                                List<String> cellLineNames, List<String> compound1Names, 
                                List<String> compound2Names, List<String> similarityAlgorithms)  
 public List<ComputationalData> getComputationalData(List<String> tissueTypes, 
                                List<String> cellLineNames, List<String> compound1Names, 
                                List<String> compound2Names, List<String> similarityAlgorithms, 
                                int rowLimit)  
 public FmoaData getFmoaData(String compoundName, long fmoaId)
 public List<GeneRank> getGeneRankData(String geneIds, long compoundId, long differentialExpressionRunId) 
 public CnkbInteractionData getInteractionData(long geneId, String geneSymbol, long interactomeVersionId) 
 public HashMap<String, String> getInteractionTypeMap()
 public TitrationCurveData getTitrationCurveData(long titrationId)


4. various visualization of the query results

  The LincsInterface class implements various visualization of the query results

Server side development

1. The following are AXIS2 based web service. Please note that all the string parameters can be present multiple value as "value1|value2|value3"


 public String[] getAllTissueNames()
 public String[] getAllCellLineNamesForTissueTypes(String tissueTypes)
 public String[] getAllAssayTypeNames()
 public String[] getAllMeasurementTypeNames()
 public String[] getALLSimilarAlgorithmNames()
 public String[] GetCompound1NamesFromExperimental(String tyssueTypes, 
                     String cellLines) 
 public String[] GetCompound2NamesFromExperimental(String tissueTypes, 
                     String cellLines, String compound1Names)  
 public String[] getCompound1NamesFromComputational(String tissueTypes, 
                     String cellLines)  
 public String[] getCompound2NamesFromComputational(String tyssueTypes, 
                     String cellLines, String compound1Names)  	
 public ExperimentalData[] getExperimentalData(String tissueTypes, 
                               String cellLineNames, String compound1Names, 
                               String compound2Names, String measurementTypes,  
                               String assayTypes)  
 public ExperimentalData[] getExperimentalData(StringtissueTypes, 
                               String cellLineNames, String compound1Names, 
                               String compound2Names, String measurmentTypes,  
                               String assayTypes, boolean onlyTitration, int rowLimit)  	 
 public ComputationalData[] getComputationalData(String tissueTypes, 
                                String cellLineNames, String compound1Names, 
                                String compound2Names, String similarityAlgorithms)  
 public ComputationalData[] getComputationalData(String tissueTypes, 
                                String cellLineNames, String compound1Names, 
                                String compound2Names, String similarityAlgorithms, int rowLimit)  
 public FmoaData getFmoaData(String compoundName, "fmoaId")	
 public GeneRank[] getGeneRankData(String geneIds, long compoundId, long differentialExpressionRunId)
 public CnkbInteractionData getInteractionData(long geneId, String geneSymbol, long interactomeVersionId) 
 public  InteractionType[] getInteractionTypes()
 public TitrationCurveData getTitrationCurveData(long titrationId)


2. Data Type

 class CnkbInteractionData { 
       private long geneId; 
       private String geneSymbol; 
       private InteractionDetail[] interactionDetails;} 
  
 class InteractionDetail{
       private long geneId;
       private String geneSymbol;
       private String interactionType;
       private double confidenceValue;}
 class ExperimentalData{
       private long titrationId;
       private String tissueType;
       private String cellLineName;
       private String compound1;
       private String compound2;
       private String assayType;
       private String measurementType;
       private BigDecimal score;
       private BigDecimal scoreError;
       private BigDecimal pvalue;
       private long levelTwoTitrationId;}
 class ComputationalData{
       private long compSimilarityId;
       private String tissueType;
       private String cellLineName;
       private String compound1;
       private String compound2;
       private Long compound1FmoaRunId;
       private Long compound2FmoaRunId;
       private String similarityAlgorithm;
       private BigDecimal score;
       private BigDecimal pvalue;}
  class FmoaResult{	
       private long geneId;
       private String geneSymbol;
       private BigDecimal nes;
       private BigDecimal oddRatio;}
  Class FmoaData{	
       private String tissueType;
       private String cellLine;
       private String compound;
       private String fmoaAlgorithm;
       private String interactome;
       private int fmoaGenesNumber;
       private long interactomeVersionId;
       private long diffExpressionRunId;
       private long compoundId;
       private FmoaResult[] fmoaResult;}	 	 
  class GeneRank{
       private long geneId;  
       private BigDecimal rank;}
  class InteractionDetail{ 
       private long geneId;
       private String geneSymbol; 
       private String interactionType;	 
       private double confidenceValue;}
  class InteractionType{	
       private String interactionType;
       private String shortName;}
  class TitrationCurveData{	
       private String compound1Name;
       private String compound2Name;
       private float[] compound1ConcList;
       private float[] compound2ConcList;
       private float[][] compoundMeasMatrix;}


3. MySQL database LINCS Database

Notes on LINCS data

Mariano is providing the CMAP MCF7 cell line differential expression ranked data after some processing steps:

  1. The file was "mcf7_cmap2_lincs.txt.bz2" and was transferred to us 2/25/2013.
  2. Where there are repeated measurements for a gene, he has averaged (the rankings?).
  3. He has reversed the sense of the sorting by rank. 1 now represents the most underexpressed gene.
  4. He is dropping the 12 hour timepoint and only giving us the data for the 6 hour timepoint. 90-95% of data is at 6 hours.
Personal tools