diff --git a/cyto_proposal_draft.html b/cyto_proposal_draft.html index 3194087..b11526a 100644 --- a/cyto_proposal_draft.html +++ b/cyto_proposal_draft.html @@ -22,16 +22,16 @@ w\:* {behavior:url(#default#VML);} Abhas Bhattacharya Abhas Bhattacharya - 7 - 44 + 8 + 45 2013-04-23T21:30:00Z - 2013-04-30T21:31:00Z + 2013-04-30T22:41:00Z 5 - 1901 - 10836 + 1911 + 10899 90 25 - 12712 + 12785 14.00 @@ -43,6 +43,8 @@ w\:* {behavior:url(#default#VML);} href="cyto_proposal_draft_files/colorschememapping.xml">

Now, this is how I plan to deal with each of them.

@@ -1276,12 +1286,13 @@ v:shapes="Picture_x0020_2">

style='mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin'>1.       Xgmml: This is the top priority format and hence -will be dealt with first. Xml parsers available in native javascript and jquery -will be used for parsing the xgmml file. Then some JavaScript code (using -looping and if needed, regular expressions) will deal with the parsed xml file -to convert them correctly into javascript variables and objects. Finally, they -can be used to generate its json representation. (Maybe, take some inspiration -from this library in Gremlin (written in java): javascript +and jquery will be used for parsing the xgmml file. +Then some JavaScript code (using looping and if needed, regular expressions) +will deal with the parsed xml file to convert them correctly into javascript variables and objects. Finally, they can be used +to generate its json representation. (Maybe, take some inspiration from this +library in Gremlin (written in java): https://github.com/tinkerpop/blueprints/wiki/GraphSON-Reader-and-Writer-Library )

@@ -1319,8 +1330,9 @@ Symbol'> text-indent:-.25in;mso-list:l0 level2 lfo6'>1.       -Whether it is a “node” or a “edge” is -represented by “group” in json. All its data is stored in the “data” object.

+
Whether it is a “node” or a +“edge” is represented by “group” in json. All its data is stored in the “data” +object.

4.       The <att> tags without a “value” attribute -are considered as objects and its sub-tags and attributes are considered as properties -of that object. These sub-tags and attributes are then converted in accordance -with the previous rules.

+are considered as objects and its sub-tags and attributes are considered as +properties of that object. These sub-tags and attributes are then converted in +accordance with the previous rules.

    <graphics width="1" -fill="#fcfffd">

+fill="#fcfffd">

        <att -name="cytoscapeNodeGraphicsAttributes">

+style='mso-spacerun:yes'>        <att name="cytoscapeNodeGraphicsAttributes">

            <att -name="nodeTransparency" value="1.0"/>

+style='mso-spacerun:yes'>            <att name="nodeTransparency" value="1.0"/>

            <att -name="nodeLabelFont" value="Default-0-12"/>

+style='mso-spacerun:yes'>            <att name="nodeLabelFont" value="Default-0-12"/>

        </att>

@@ -1422,46 +1433,46 @@ style='font-size:14.0pt;line-height:115%;font-family:"Arial","sans-serif"'> )[

    { “data”: {

+style='mso-spacerun:yes'>    { “data”: {

                -"id":"YKR026C",

+style='mso-spacerun:yes'>                "id":"YKR026C",

                -"label":"YBR043C",

+style='mso-spacerun:yes'>                "label":"YBR043C",

                "gal1RGexp":0.454,

                "GO Cellular -Component":["cell", "cell part"],

+Component":["cell", "cell +part"],

                -"graphics":{"width":"1",

+style='mso-spacerun:yes'>                "graphics":{"width":"1",

                            -"fill":"#fcfffd",

+style='mso-spacerun:yes'>                            "fill":"#fcfffd",

                            "cytoscapeNodeGraphicsAttributes":{

+style='mso-spacerun:yes'>                            "cytoscapeNodeGraphicsAttributes":{

                                                                -"nodeTransparency":"1.0",

+"nodeTransparency":"1.0",

                                                                -"nodeLabelFont":"Default-0-12"

+style='mso-spacerun:yes'>                                                                "nodeLabelFont":"Default-0-12"

                                                              }

+style='mso-spacerun:yes'>                                                              +}

                            }

@@ -1470,7 +1481,8 @@ style='mso-spacerun:yes'> style='mso-spacerun:yes'>            },

      "group": "nodes"

+style='mso-spacerun:yes'>      "group": +"nodes"

    }

@@ -1483,9 +1495,9 @@ style='mso-spacerun:yes'> style='mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin'>2.       Graphml:  -Graphml is also a xml-based format, so the implementation process is -same as that of the previous one. Only the code will be different to take care -of the syntax difference of these formats.

+Graphml is also a xml-based format, so the +implementation process is same as that of the previous one. Only the code will +be different to take care of the syntax difference of these formats.

Conversion guideline:

@@ -1493,7 +1505,8 @@ of the syntax difference of these formats.

text-indent:-.25in;mso-list:l0 level2 lfo6'>1.       -Make use of the graphml – attribute values ( Make use of the graphml – attribute values ( http://graphml.graphdrawing.org/primer/graphml-primer.html#AttributesValues ) to know the attribute type and the default values, if present.

@@ -1503,13 +1516,14 @@ style='mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin'>2.       All the  “key” attributes in the <data> tags will be converted into json -data of type “attr.type” (which are provided as graphml – attribute values )

+data of type “attr.type” (which are provided as +graphml – attribute values )

3.       -Convert complex types ( Convert complex types ( http://graphml.graphdrawing.org/primer/graphml-primer.html#Complex ) into objects.

@@ -1525,7 +1539,7 @@ do-able.)

 

[Side-by-side examples are not provided for -this one, as they are pretty easy to understand. ]

+this one, as they are pretty easy to understand. ]

 

@@ -1535,12 +1549,12 @@ this one, as they are pretty easy to understand. ]

a small chart for reference:

 

@@ -1548,8 +1562,8 @@ v:shapes="Picture_x0020_3">

3.       -Sif and Nnf: Very simple jS code needs to be written -to take care of these file formats. There is already a python-based +Sif and Nnf: Very simple jS code needs to be +written to take care of these file formats. There is already a python-based implementation of these converters (written by me) available at https://github.com/bendtherules/GSOC_13/tree/master/nnf_and_sif_to_json_py  . 4.       GML:  A -custom-made parser needs to be built based on regular expressions (native js or -possibly using xregexp library http://xregexp.com/ -). The rest of the plan is the same as that of xgmml, only this new parser will +custom-made parser needs to be built based on regular expressions (native js or possibly using xregexp library http://xregexp.com/ ). The rest of the plan is +the same as that of xgmml, only this new parser will be used.  As XGMML is the successor of GML, the conversion guidelines used in xgmml should suffice (only the idea of tags are not present here, everything is separated by space/tab).

@@ -1573,37 +1588,40 @@ tags are not present here, everything is separated by space/tab).

GML ( ( https://github.com/bendtherules/GSOC_13/blob/master/Proposal/preview.gml )

-

node

+

node

[

            id         0

+style='mso-tab-count:1'>            id         0

            label     "YKR026C"

+style='mso-tab-count:1'>            label     "YKR026C"

            graphics

+style='mso-tab-count:1'>            graphics

            [

                        x          1916.0

+style='mso-tab-count:2'>                        x          1916.0

                        type                        type     "ellipse"

                        fill                        fill         "#E1E1E1"

)[

    { data: {

+style='mso-spacerun:yes'>    { data: {

                "id":0,

+style='mso-spacerun:yes'>                "id":0,

                -"label":"YKR026C",

+style='mso-spacerun:yes'>                "label":"YKR026C",

                -"graphics":{"x":1916.0,

+style='mso-spacerun:yes'>                "graphics":{"x":1916.0,

                            "type":"ellipse",

+style='mso-spacerun:yes'>                            "type":"ellipse",

                            -"fill":"#E1E1E1",

+style='mso-spacerun:yes'>                            "fill":"#E1E1E1",

                            }

@@ -1650,7 +1667,8 @@ style='mso-spacerun:yes'> style='mso-spacerun:yes'>            },

      "group": "nodes"

+style='mso-spacerun:yes'>      "group": +"nodes"

    }

@@ -1661,14 +1679,15 @@ style='mso-spacerun:yes'>

Few words on the extras:

-

These extras will be done only if there is ample time left after -the completion of the whole project, so there is no way that they will harm the -main project. I am aware that new GSOC applicants like me tend to propose a lot -more than they can actually complete, so I have tried not to fall in that trap. -But these extras are here, because I plan to do them in the future, within or -after GSOC.  Also, as a side note, in -future, I wish to release this codes as a separate jS library for converting -customized-xml formats into json (I hope my mentoring org will allow this).

+

These extras will be done only if there is ample time left +after the completion of the whole project, so there is no way that they will +harm the main project. I am aware that new GSOC applicants like me tend to +propose a lot more than they can actually complete, so I have tried not to fall +in that trap. But these extras are here, because I plan to do them in the +future, within or after GSOC.  Also, as a +side note, in future, I wish to release this codes as a separate jS library for +converting customized-xml formats into json (I hope my mentoring org will allow +this).

6.       Xlsx: **Potential License Issue** This is the most challenging part. I wouldn’t have -tried this if there was no cross-browser external library to read and write -xlsx format. But thankfully and quite surprisingly, there is one called Xlsx.js -https://github.com/stephen-hardy/xlsx.js +style='color:red'> This is the most challenging +part. I wouldn’t have tried this if there was no cross-browser external library +to read and write xlsx format. But thankfully and quite surprisingly, there is +one called Xlsx.js https://github.com/stephen-hardy/xlsx.js . I am not much sure if I can pull off this part, but I am still including this in the proposal mostly for my inspiration than anything else. Also, I know that the Cytoscape project originally supported .xls, but I think its best kept to -Microsoft Excel for converting .xls into .xlsx .

+Microsoft Excel for converting .xls into .xlsx .

 

@@ -1797,7 +1816,7 @@ mso-bidi-font-size:11.0pt;line-height:115%;mso-bidi-font-family:Calibri; mso-bidi-theme-font:minor-latin'>7.       July 30: Take a day off from coding and analyze what went right and wrong in the -first-term. (How about a blog post? :D)

+first-term. (How about a blog post? :D)

    -

(Feedback will be obtained for all the converters from the community -and they will be given more importance than the extras)

+

(Feedback will be obtained for all the converters from the +community and they will be given more importance than the extras)

Possible hurdles:

@@ -1874,8 +1893,8 @@ mso-bidi-font-size:11.0pt;line-height:115%;mso-bidi-font-family:Calibri; mso-bidi-theme-font:minor-latin'>3.       The input graph formats might not be well-formed (if manually created). (Maybe, add -a xml-checker and discard non well-formed files. Such a checker might not be -possible in case of non-xml based formats. )

+a xml-checker and discard non well-formed files. Such +a checker might not be possible in case of non-xml based formats. )

What can I bring to the team?

@@ -1901,8 +1920,8 @@ super-excited about it, can style='font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family: Symbol'>·         I wish to learn some more about the core -Cytoscape project but as I am not a Java developer, I wish to linger with the -Cytoscape.js project.

+Cytoscape project but as I am not a Java developer, I +wish to linger with the Cytoscape.js project.

 

@@ -1910,47 +1929,56 @@ Cytoscape.js project.

 

-

Name: Abhas -Bhattacharya

+

Name: Abhas Bhattacharya

-

Email:  abhasbhattacharya2@gmail.com

+

Email:  abhasbhattacharya2@gmail.com

Education: Passed High School, Ongoing B. Tech (1st year) in Aerospace engineering at -BESU ( www.becs.ac.in )

+BESU ( www.becs.ac.in +)

-

Programming Languages -of choice: Python, Javascript, C, C++, Java (little).

+

Programming +Languages of choice: Python, Javascript, C, C++, +Java (little).

+ +

Related programming +knowledge: Regular expressions, jQuery, Xml +Parsing.

Prior experience with open source development:

-

I have some experience in working with Git and playing -around with forked projects, but didn’t really contribute in them.

+

I have some experience in working with Git +and playing around with forked projects, but didn’t really contribute in them.

-

Mostly, I am into game development, with python , gamemaker -and javascript.

+

Mostly, I am into game development, with python +, gamemaker and javascript.

What do I want to learn this summer?

It will be a great opportunity for me to contribute to a -project like Cytoscape by developing these converters which should help end-users. -Being mostly a hobby developer, I want to learn how to collaborate and code on -real-life open-source projects.

+project like Cytoscape by developing these converters which should help +end-users. Being mostly a hobby developer, I want to learn how to collaborate +and code on real-life open-source projects.

-

Any prior exposure to -biology or bioinformatics?

+

Any +prior exposure to biology or bioinformatics?

-

Studied biology till the 10th grade.

+

Studied biology till the 10th +grade.

-

Any interest in -learning a bit of biology this summer?

+

Any +interest in learning a bit of biology this summer?

-

Sure. As I was asking around in the google groups, I would -like to know more about the working of the core Cytoscape project and also a -little biology, whenever required.

+

Sure. As I was asking around in the google +groups, I would like to know more about the working of the core Cytoscape +project and also a little biology, whenever required.

** End **